You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@impala.apache.org by ta...@apache.org on 2018/10/30 22:18:00 UTC

impala git commit: IMPALA-6374: fix handling of commas in .test files

Repository: impala
Updated Branches:
  refs/heads/master 35c0e4416 -> 85166afa8


IMPALA-6374: fix handling of commas in .test files

The .test file parser implemented an unconventional method for parsing
single-quoted strings in comma-separated value format. This didn't handle
trailing commas in the string correctly.

This commit switches to using a conventional method for parsing
comma-separated value format:
* Commas enclosed by single quotes are not treated as field separators
* Single quotes can be escaped within a string by doubling them.

I looked into using Python's .csv module for this, but it wouldn't
work without modifying the test file format more because it
automatically discards the quotes during parsing, which are actually
semantically important in .test files. E.g. without the quotes we can't
distinguish between the literal string 'regex:...' and the regex
regex:....

Testing:
Ran exhaustive tests and fixed .test files that required modifications.
Will rerun before merging.

Added a couple of tests to exercise edge cases in the test file parser.

Change-Id: I18ddcb0440490ddf8184be66d3681038a1615dd9
Reviewed-on: http://gerrit.cloudera.org:8080/11800
Reviewed-by: Impala Public Jenkins <im...@cloudera.com>
Tested-by: Tim Armstrong <ta...@cloudera.com>


Project: http://git-wip-us.apache.org/repos/asf/impala/repo
Commit: http://git-wip-us.apache.org/repos/asf/impala/commit/85166afa
Tree: http://git-wip-us.apache.org/repos/asf/impala/tree/85166afa
Diff: http://git-wip-us.apache.org/repos/asf/impala/diff/85166afa

Branch: refs/heads/master
Commit: 85166afa8a884d6b1430a773f8877e2dfc2eb9f5
Parents: 35c0e44
Author: Tim Armstrong <ta...@cloudera.com>
Authored: Thu Oct 25 10:01:56 2018 -0700
Committer: Tim Armstrong <ta...@cloudera.com>
Committed: Tue Oct 30 22:17:49 2018 +0000

----------------------------------------------------------------------
 .../queries/QueryTest/functions-ddl.test        | 68 ++++++++++----------
 .../queries/QueryTest/grant_revoke.test         |  8 +--
 .../queries/QueryTest/hbase-inserts.test        |  6 +-
 .../queries/QueryTest/misc.test                 |  2 +-
 .../queries/QueryTest/special-strings.test      | 26 ++++++++
 .../queries/QueryTest/stats-extrapolation.test  |  4 +-
 .../tpcds/queries/tpcds-decimal_v2-q98.test     | 50 +++++++-------
 testdata/workloads/tpcds/queries/tpcds-q98.test | 48 +++++++-------
 tests/common/test_result_verifier.py            | 51 +++++++++------
 tests/query_test/test_exprs.py                  |  6 ++
 10 files changed, 157 insertions(+), 112 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/impala/blob/85166afa/testdata/workloads/functional-query/queries/QueryTest/functions-ddl.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/functional-query/queries/QueryTest/functions-ddl.test b/testdata/workloads/functional-query/queries/QueryTest/functions-ddl.test
index a097c61..16372e7 100644
--- a/testdata/workloads/functional-query/queries/QueryTest/functions-ddl.test
+++ b/testdata/workloads/functional-query/queries/QueryTest/functions-ddl.test
@@ -80,8 +80,8 @@ show create function $DATABASE.fn_var_arg
 ---- RESULTS: MULTI_LINE
 ['CREATE FUNCTION $DATABASE.fn_var_arg(INT...)
  RETURNS INT
- LOCATION '$NAMENODE/test-warehouse/libTestUdfs.so'
- SYMBOL='_Z6VarSumPN10impala_udf15FunctionContextEiPKNS_6IntValE'
+ LOCATION ''$NAMENODE/test-warehouse/libTestUdfs.so''
+ SYMBOL=''_Z6VarSumPN10impala_udf15FunctionContextEiPKNS_6IntValE''
 ']
 ---- TYPES
 STRING
@@ -91,17 +91,17 @@ show create aggregate function $DATABASE.agg_fn
 ---- RESULTS: MULTI_LINE
 ['CREATE AGGREGATE FUNCTION $DATABASE.agg_fn(INT)
  RETURNS BIGINT
- LOCATION '$NAMENODE/test-warehouse/libudasample.so'
- UPDATE_FN='_Z11CountUpdatePN10impala_udf15FunctionContextERKNS_6IntValEPNS_9BigIntValE'
- INIT_FN='_Z9CountInitPN10impala_udf15FunctionContextEPNS_9BigIntValE'
- MERGE_FN='_Z10CountMergePN10impala_udf15FunctionContextERKNS_9BigIntValEPS2_'
- FINALIZE_FN='_Z13CountFinalizePN10impala_udf15FunctionContextERKNS_9BigIntValE'
+ LOCATION ''$NAMENODE/test-warehouse/libudasample.so''
+ UPDATE_FN=''_Z11CountUpdatePN10impala_udf15FunctionContextERKNS_6IntValEPNS_9BigIntValE''
+ INIT_FN=''_Z9CountInitPN10impala_udf15FunctionContextEPNS_9BigIntValE''
+ MERGE_FN=''_Z10CountMergePN10impala_udf15FunctionContextERKNS_9BigIntValEPS2_''
+ FINALIZE_FN=''_Z13CountFinalizePN10impala_udf15FunctionContextERKNS_9BigIntValE''
 CREATE AGGREGATE FUNCTION $DATABASE.agg_fn(INT, STRING)
  RETURNS INT
- LOCATION '$NAMENODE/test-warehouse/libTestUdas.so'
- UPDATE_FN='_Z12TwoArgUpdatePN10impala_udf15FunctionContextERKNS_6IntValERKNS_9StringValEPS2_'
- INIT_FN='_Z10TwoArgInitPN10impala_udf15FunctionContextEPNS_6IntValE'
- MERGE_FN='_Z11TwoArgMergePN10impala_udf15FunctionContextERKNS_6IntValEPS2_'
+ LOCATION ''$NAMENODE/test-warehouse/libTestUdas.so''
+ UPDATE_FN=''_Z12TwoArgUpdatePN10impala_udf15FunctionContextERKNS_6IntValERKNS_9StringValEPS2_''
+ INIT_FN=''_Z10TwoArgInitPN10impala_udf15FunctionContextEPNS_6IntValE''
+ MERGE_FN=''_Z11TwoArgMergePN10impala_udf15FunctionContextERKNS_6IntValEPS2_''
 ']
 ---- TYPES
 STRING
@@ -111,8 +111,8 @@ show create function _impala_builtins.sin
 ---- RESULTS: MULTI_LINE
 ['CREATE FUNCTION _impala_builtins.sin(DOUBLE)
  RETURNS DOUBLE
- LOCATION 'null'
- SYMBOL='_ZN6impala13MathFunctions3SinEPN10impala_udf15FunctionContextERKNS1_9DoubleValE'
+ LOCATION ''null''
+ SYMBOL=''_ZN6impala13MathFunctions3SinEPN10impala_udf15FunctionContextERKNS1_9DoubleValE''
 ']
 ---- TYPES
 STRING
@@ -123,35 +123,35 @@ show create aggregate function _impala_builtins.avg
 ['CREATE AGGREGATE FUNCTION _impala_builtins.avg(BIGINT)
  RETURNS DOUBLE
  INTERMEDIATE FIXED_UDA_INTERMEDIATE(16)
- LOCATION 'null'
- UPDATE_FN='_ZN6impala18AggregateFunctions9AvgUpdateIN10impala_udf9BigIntValEEEvPNS2_15FunctionContextERKT_PNS2_9StringValE'
- INIT_FN='_ZN6impala18AggregateFunctions7AvgInitEPN10impala_udf15FunctionContextEPNS1_9StringValE'
- MERGE_FN='_ZN6impala18AggregateFunctions8AvgMergeEPN10impala_udf15FunctionContextERKNS1_9StringValEPS4_'
- FINALIZE_FN='_ZN6impala18AggregateFunctions11AvgFinalizeEPN10impala_udf15FunctionContextERKNS1_9StringValE'
+ LOCATION ''null''
+ UPDATE_FN=''_ZN6impala18AggregateFunctions9AvgUpdateIN10impala_udf9BigIntValEEEvPNS2_15FunctionContextERKT_PNS2_9StringValE''
+ INIT_FN=''_ZN6impala18AggregateFunctions7AvgInitEPN10impala_udf15FunctionContextEPNS1_9StringValE''
+ MERGE_FN=''_ZN6impala18AggregateFunctions8AvgMergeEPN10impala_udf15FunctionContextERKNS1_9StringValEPS4_''
+ FINALIZE_FN=''_ZN6impala18AggregateFunctions11AvgFinalizeEPN10impala_udf15FunctionContextERKNS1_9StringValE''
 CREATE AGGREGATE FUNCTION _impala_builtins.avg(DECIMAL(*,*))
  RETURNS DECIMAL(*,*)
  INTERMEDIATE FIXED_UDA_INTERMEDIATE(24)
- LOCATION 'null'
- UPDATE_FN='_ZN6impala18AggregateFunctions16DecimalAvgUpdateEPN10impala_udf15FunctionContextERKNS1_10DecimalValEPNS1_9StringValE'
- INIT_FN='_ZN6impala18AggregateFunctions14DecimalAvgInitEPN10impala_udf15FunctionContextEPNS1_9StringValE'
- MERGE_FN='_ZN6impala18AggregateFunctions15DecimalAvgMergeEPN10impala_udf15FunctionContextERKNS1_9StringValEPS4_'
- FINALIZE_FN='_ZN6impala18AggregateFunctions18DecimalAvgFinalizeEPN10impala_udf15FunctionContextERKNS1_9StringValE'
+ LOCATION ''null''
+ UPDATE_FN=''_ZN6impala18AggregateFunctions16DecimalAvgUpdateEPN10impala_udf15FunctionContextERKNS1_10DecimalValEPNS1_9StringValE''
+ INIT_FN=''_ZN6impala18AggregateFunctions14DecimalAvgInitEPN10impala_udf15FunctionContextEPNS1_9StringValE''
+ MERGE_FN=''_ZN6impala18AggregateFunctions15DecimalAvgMergeEPN10impala_udf15FunctionContextERKNS1_9StringValEPS4_''
+ FINALIZE_FN=''_ZN6impala18AggregateFunctions18DecimalAvgFinalizeEPN10impala_udf15FunctionContextERKNS1_9StringValE''
 CREATE AGGREGATE FUNCTION _impala_builtins.avg(DOUBLE)
  RETURNS DOUBLE
  INTERMEDIATE FIXED_UDA_INTERMEDIATE(16)
- LOCATION 'null'
- UPDATE_FN='_ZN6impala18AggregateFunctions9AvgUpdateIN10impala_udf9DoubleValEEEvPNS2_15FunctionContextERKT_PNS2_9StringValE'
- INIT_FN='_ZN6impala18AggregateFunctions7AvgInitEPN10impala_udf15FunctionContextEPNS1_9StringValE'
- MERGE_FN='_ZN6impala18AggregateFunctions8AvgMergeEPN10impala_udf15FunctionContextERKNS1_9StringValEPS4_'
- FINALIZE_FN='_ZN6impala18AggregateFunctions11AvgFinalizeEPN10impala_udf15FunctionContextERKNS1_9StringValE'
+ LOCATION ''null''
+ UPDATE_FN=''_ZN6impala18AggregateFunctions9AvgUpdateIN10impala_udf9DoubleValEEEvPNS2_15FunctionContextERKT_PNS2_9StringValE''
+ INIT_FN=''_ZN6impala18AggregateFunctions7AvgInitEPN10impala_udf15FunctionContextEPNS1_9StringValE''
+ MERGE_FN=''_ZN6impala18AggregateFunctions8AvgMergeEPN10impala_udf15FunctionContextERKNS1_9StringValEPS4_''
+ FINALIZE_FN=''_ZN6impala18AggregateFunctions11AvgFinalizeEPN10impala_udf15FunctionContextERKNS1_9StringValE''
 CREATE AGGREGATE FUNCTION _impala_builtins.avg(TIMESTAMP)
  RETURNS TIMESTAMP
  INTERMEDIATE FIXED_UDA_INTERMEDIATE(16)
- LOCATION 'null'
- UPDATE_FN='_ZN6impala18AggregateFunctions18TimestampAvgUpdateEPN10impala_udf15FunctionContextERKNS1_12TimestampValEPNS1_9StringValE'
- INIT_FN='_ZN6impala18AggregateFunctions7AvgInitEPN10impala_udf15FunctionContextEPNS1_9StringValE'
- MERGE_FN='_ZN6impala18AggregateFunctions8AvgMergeEPN10impala_udf15FunctionContextERKNS1_9StringValEPS4_'
- FINALIZE_FN='_ZN6impala18AggregateFunctions20TimestampAvgFinalizeEPN10impala_udf15FunctionContextERKNS1_9StringValE'
+ LOCATION ''null''
+ UPDATE_FN=''_ZN6impala18AggregateFunctions18TimestampAvgUpdateEPN10impala_udf15FunctionContextERKNS1_12TimestampValEPNS1_9StringValE''
+ INIT_FN=''_ZN6impala18AggregateFunctions7AvgInitEPN10impala_udf15FunctionContextEPNS1_9StringValE''
+ MERGE_FN=''_ZN6impala18AggregateFunctions8AvgMergeEPN10impala_udf15FunctionContextERKNS1_9StringValEPS4_''
+ FINALIZE_FN=''_ZN6impala18AggregateFunctions20TimestampAvgFinalizeEPN10impala_udf15FunctionContextERKNS1_9StringValE''
 ']
 ---- TYPES
 STRING
@@ -382,4 +382,4 @@ return type, signature, binary type, is persistent
 'INT','sin(INT)','NATIVE','true'
 ---- TYPES
 STRING, STRING, STRING, STRING
-=====
\ No newline at end of file
+=====

http://git-wip-us.apache.org/repos/asf/impala/blob/85166afa/testdata/workloads/functional-query/queries/QueryTest/grant_revoke.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/functional-query/queries/QueryTest/grant_revoke.test b/testdata/workloads/functional-query/queries/QueryTest/grant_revoke.test
index e7f8f2d..46b1359 100644
--- a/testdata/workloads/functional-query/queries/QueryTest/grant_revoke.test
+++ b/testdata/workloads/functional-query/queries/QueryTest/grant_revoke.test
@@ -149,8 +149,8 @@ show create function grant_rev_db.fn
 ---- RESULTS: MULTI_LINE
 ['CREATE FUNCTION grant_rev_db.fn()
  RETURNS INT
- LOCATION '$NAMENODE/test-warehouse/libTestUdfs.so'
- SYMBOL='_Z2FnPN10impala_udf15FunctionContextE'
+ LOCATION ''$NAMENODE/test-warehouse/libTestUdfs.so''
+ SYMBOL=''_Z2FnPN10impala_udf15FunctionContextE''
 ']
 ---- TYPES
 STRING
@@ -183,8 +183,8 @@ show create function _impala_builtins.sin
 ---- RESULTS: MULTI_LINE
 ['CREATE FUNCTION _impala_builtins.sin(DOUBLE)
  RETURNS DOUBLE
- LOCATION 'null'
- SYMBOL='_ZN6impala13MathFunctions3SinEPN10impala_udf15FunctionContextERKNS1_9DoubleValE'
+ LOCATION ''null''
+ SYMBOL=''_ZN6impala13MathFunctions3SinEPN10impala_udf15FunctionContextERKNS1_9DoubleValE''
 ']
 ---- TYPES
 STRING

http://git-wip-us.apache.org/repos/asf/impala/blob/85166afa/testdata/workloads/functional-query/queries/QueryTest/hbase-inserts.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/functional-query/queries/QueryTest/hbase-inserts.test b/testdata/workloads/functional-query/queries/QueryTest/hbase-inserts.test
index d092bec..61c4846 100644
--- a/testdata/workloads/functional-query/queries/QueryTest/hbase-inserts.test
+++ b/testdata/workloads/functional-query/queries/QueryTest/hbase-inserts.test
@@ -172,14 +172,14 @@ insert into table insertalltypesagg (id, string_col) values (99999999, 'William\
 ---- QUERY
 select id, string_col from insertalltypesagg where id = 99999999
 ---- RESULTS
-99999999,'William's'
+99999999,'William''s'
 ---- TYPES
 INT, STRING
 ====
 ---- QUERY
 select id, string_col from insertalltypesagg where string_col = 'William\'s'
 ---- RESULTS
-99999999,'William's'
+99999999,'William''s'
 ---- TYPES
 INT, STRING
 ====
@@ -189,4 +189,4 @@ select id, string_col from insertalltypesagg where string_col = "Other\"s"
 999999999,'Other"s'
 ---- TYPES
 INT, STRING
-====
\ No newline at end of file
+====

http://git-wip-us.apache.org/repos/asf/impala/blob/85166afa/testdata/workloads/functional-query/queries/QueryTest/misc.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/functional-query/queries/QueryTest/misc.test b/testdata/workloads/functional-query/queries/QueryTest/misc.test
index 061963f..20c21f6 100644
--- a/testdata/workloads/functional-query/queries/QueryTest/misc.test
+++ b/testdata/workloads/functional-query/queries/QueryTest/misc.test
@@ -104,7 +104,7 @@ string, string, string, string
 # Test query filed in IMPALA-65
 SELECT "quote \"", 'quote \''
 ---- RESULTS
-'quote "','quote ''
+'quote "','quote '''
 ---- TYPES
 string, string
 ====

http://git-wip-us.apache.org/repos/asf/impala/blob/85166afa/testdata/workloads/functional-query/queries/QueryTest/special-strings.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/functional-query/queries/QueryTest/special-strings.test b/testdata/workloads/functional-query/queries/QueryTest/special-strings.test
new file mode 100644
index 0000000..99a694c
--- /dev/null
+++ b/testdata/workloads/functional-query/queries/QueryTest/special-strings.test
@@ -0,0 +1,26 @@
+====
+---- QUERY
+# Reproduces IMPALA-6734. Before fixing this would pass if the results had a single
+# quote for each value instead of the correct string.
+select "a comma,"
+from alltypestiny
+---- RESULTS
+'a comma,'
+'a comma,'
+'a comma,'
+'a comma,'
+'a comma,'
+'a comma,'
+'a comma,'
+'a comma,'
+---- TYPES
+STRING
+====
+---- QUERY
+# Test that escaping single quotes in result string works.
+select "'"
+---- RESULTS
+''''
+---- TYPES
+STRING
+====

http://git-wip-us.apache.org/repos/asf/impala/blob/85166afa/testdata/workloads/functional-query/queries/QueryTest/stats-extrapolation.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/functional-query/queries/QueryTest/stats-extrapolation.test b/testdata/workloads/functional-query/queries/QueryTest/stats-extrapolation.test
index 3b25427..ee0e3da 100644
--- a/testdata/workloads/functional-query/queries/QueryTest/stats-extrapolation.test
+++ b/testdata/workloads/functional-query/queries/QueryTest/stats-extrapolation.test
@@ -134,7 +134,7 @@ select * from functional_parquet.alltypes where year = 2010;
 explain select id from alltypes where year = 2010;
 ---- RESULTS: VERIFY_IS_EQUAL
 row_regex:.*Max Per-Host Resource Reservation: Memory=.*
-row_regex:.*Per-Host Resource Estimates: Memory=16MB'
+row_regex:.*Per-Host Resource Estimates: Memory=16MB.*
 'Codegen disabled by planner'
 ''
 'F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1'
@@ -161,7 +161,7 @@ compute stats alltypes;
 explain select id from alltypes where year = 2010;
 ---- RESULTS: VERIFY_IS_EQUAL
 row_regex:.*Max Per-Host Resource Reservation: Memory=.*
-row_regex:.*Per-Host Resource Estimates: Memory=16MB'
+row_regex:.*Per-Host Resource Estimates: Memory=16MB.*
 'Codegen disabled by planner'
 ''
 'F00:PLAN FRAGMENT [UNPARTITIONED] hosts=1 instances=1'

http://git-wip-us.apache.org/repos/asf/impala/blob/85166afa/testdata/workloads/tpcds/queries/tpcds-decimal_v2-q98.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/tpcds/queries/tpcds-decimal_v2-q98.test b/testdata/workloads/tpcds/queries/tpcds-decimal_v2-q98.test
index 5d955b8..536995e 100644
--- a/testdata/workloads/tpcds/queries/tpcds-decimal_v2-q98.test
+++ b/testdata/workloads/tpcds/queries/tpcds-decimal_v2-q98.test
@@ -323,7 +323,7 @@ order by i_category,
 'AAAAAAAAOFECAAAA','Later high interests ','Books','fiction',5.61,9818.74,2.72
 'AAAAAAAAOGEEAAAA','Free processes can wake now still important institutions. Traditional, open plans serve better live years. Women should not pack by the experts. Competitors can miss hence op','Books','fiction',7.63,6537.27,1.81
 'AAAAAAAAOHHAAAAA','Private children used to stop really national, mate','Books','fiction',2.82,1432.82,0.40
-'AAAAAAAAOJCEAAAA',','Books','fiction',3.81,4949.10,1.37
+'AAAAAAAAOJCEAAAA','Approaches used to worsen forwards yellow, effective days. Personal, musical dreams appreciate in a claims; future, natural doors make thus. Empirical,','Books','fiction',3.81,4949.10,1.37
 'AAAAAAAAPCEBAAAA','Th','Books','fiction',0.34,NULL,NULL
 'AAAAAAAAPGDEAAAA','Appointed others must trace yesterday with the members. Disabled animals talk also isolated, entire soldiers. Signs join at all lega','Books','fiction',0.97,7324.52,2.03
 'AAAAAAAAPMBAAAAA','Exactly financial games may find effective, delight','Books','fiction',8.79,8029.03,2.23
@@ -405,7 +405,7 @@ order by i_category,
 'AAAAAAAACDFDAAAA','Whole, thin items ','Books','home repair',1.75,18262.68,5.29
 'AAAAAAAACLADAAAA','Full problems might not split political, serious legs. Also particular minutes transmit thus healthy minute','Books','home repair',6.75,10082.03,2.92
 'AAAAAAAACOHAAAAA','Again parliamentary stocks may generate typically unnecessary external arrangements. Funds fight again sole, rural contributions. Public fires','Books','home repair',6.21,8374.65,2.43
-'AAAAAAAADAKAAAAA',','Books','home repair',6.10,11471.54,3.32
+'AAAAAAAADAKAAAAA','Following, other respects must not come new,','Books','home repair',6.10,11471.54,3.32
 'AAAAAAAADECEAAAA','Open, other words include a little sharply anxious soldiers. Conditions mean now rules. Patients shall vary around a problems. Difficult edges take stil','Books','home repair',7.66,12933.23,3.75
 'AAAAAAAADLEEAAAA','Professional, delicate settings must raise partially generally common heads. Either','Books','home repair',1.78,289.30,0.08
 'AAAAAAAAEADEAAAA','Ships should help private, possible societies. C','Books','home repair',8.10,11201.35,3.25
@@ -466,7 +466,7 @@ order by i_category,
 'AAAAAAAACOOCAAAA','Only excellent concentrations shall want more monthly, blind subsid','Books','mystery',8.38,26196.44,15.37
 'AAAAAAAADPJBAAAA','Human years improve broadly poli','Books','mystery',3.93,7206.32,4.23
 'AAAAAAAAEKGDAAAA','Houses should ','Books','mystery',1.77,3341.80,1.96
-'AAAAAAAAFFDDAAAA',','Books','mystery',2.79,4237.23,2.49
+'AAAAAAAAFFDDAAAA','French, civil hours must report essential values. Reasonable, complete judges vary clearly homes; often pleasant women would watch. Poor,','Books','mystery',2.79,4237.23,2.49
 'AAAAAAAAFGACAAAA','Fe','Books','mystery',8.45,8868.51,5.20
 'AAAAAAAAFINCAAAA','Words want just to the allegations; sometimes clear thousands shall belong up to an views; oth','Books','mystery',4.62,11058.27,6.49
 'AAAAAAAAGJICAAAA','Written leaders could help by a buildings; symbols could take more far isolated patients. Other, different stages flow new words. Rightly american thousands ought to contact away only','Books','mystery',6.88,4311.47,2.53
@@ -490,7 +490,7 @@ order by i_category,
 'AAAAAAAAMMKAAAAA','Widespread, mental authorities go less than new symptoms. ','Books','mystery',3.63,6301.51,3.70
 'AAAAAAAANHBEAAAA','Clean pictures would become through a clients. Legs sell up to a effects. Powerful, german areas may come in general at least little changes. Too medical years may suck probably soon pub','Books','mystery',6.36,1659.84,0.97
 'AAAAAAAAOFBAAAAA','Real, correct drinks deny carefully. Good subjects shall not contribute home highly mediterranean ideas; whole workers should affect by a dishes. Eyes can believe productive, total eyes. Databa','Books','mystery',3.10,2329.80,1.37
-'AAAAAAAAOGODAAAA',','Books','mystery',2.25,8600.32,5.05
+'AAAAAAAAOGODAAAA','Bizarre months furnish other, central words. Wide orders might end. Other,','Books','mystery',2.25,8600.32,5.05
 'AAAAAAAAONIDAAAA','So serious weeks might come weak members. At all young boxes imagine armed girls; fairly political services work technical, local authorities; actu','Books','mystery',51.11,2815.12,1.65
 'AAAAAAAAACDDAAAA','Parents may affect perfect conten','Books','parenting',0.98,4697.24,1.94
 'AAAAAAAAADOCAAAA','Hands know european, absolu','Books','parenting',1.88,3032.67,1.25
@@ -552,7 +552,7 @@ order by i_category,
 'AAAAAAAACIBCAAAA','At once good friends limit. Too simple stations','Books','reference',1.88,558.14,0.19
 'AAAAAAAACKJCAAAA','Possibilities should not fit almost eggs; seriously little members del','Books','reference',3.40,9476.74,3.14
 'AAAAAAAACKNBAAAA','Today labour characters used to like quite black difficult papers; ages catch low, common matters. Sick judges might make both opposite seeds. Public, foreign proceedings must not rescue of c','Books','reference',3.30,2429.21,0.81
-'AAAAAAAACLGAAAAA',','Books','reference',2.23,2328.47,0.77
+'AAAAAAAACLGAAAAA','Rather suitable weapons could prosecute ago labour, large users. Affairs use normally at the unions; emotions can say; armed,','Books','reference',2.23,2328.47,0.77
 'AAAAAAAACLPBAAAA','Officials can include more. Trades imagine still in a words. That is american systems should not demonstrate even for a characters. Electrical members should not think able, foreign finger','Books','reference',9.55,601.20,0.20
 'AAAAAAAADBOBAAAA','Notions shall say major journals; economic standards make at once old requirements. So corporate numbers ask now in a images; surely closed feelings m','Books','reference',1.80,5327.56,1.77
 'AAAAAAAADIKBAAAA','Rural, strong dollars can go in a students; nice restrictions leave afield spectacular, royal experts; decisions ought to defend about early effective pp.; russian, national relations shall deli','Books','reference',9.64,3655.37,1.21
@@ -611,7 +611,7 @@ order by i_category,
 'AAAAAAAAGIHBAAAA','Right joint uses cannot provide less labour, final windows. Ori','Books','romance',5.83,4286.08,1.16
 'AAAAAAAAGLLDAAAA','Prov','Books','romance',2.61,4503.02,1.22
 'AAAAAAAAGMIDAAAA','Anyway initial depths ought to raise over expenses. Little years ought to buy new sides. Phrases see across the folk. Barely considerable workers shall turn ev','Books','romance',2.54,526.08,0.14
-'AAAAAAAAGNBCAAAA',','Books','romance',1.85,10864.92,2.93
+'AAAAAAAAGNBCAAAA','Kids must not know sharp, post-war babies. Democratic alternatives result quite at a activities. Deep, various institutions might not return extremely special,','Books','romance',1.85,10864.92,2.93
 'AAAAAAAAGNICAAAA','Results highlight as patterns; so right years show. Sometimes suitable lips move with the critics. English, old mothers ought to lift now perhaps future managers. Active, single ch','Books','romance',2.88,9733.14,2.63
 'AAAAAAAAGNMBAAAA','Later anxious detectives might not see. Only bonds improve even interests. Other, common bands go here rural sections. Relative daughters m','Books','romance',47.10,312.70,0.08
 'AAAAAAAAGPBEAAAA','Above upper shares should recall from a emotions. Books could not help british, ','Books','romance',1.23,4995.27,1.35
@@ -643,7 +643,7 @@ order by i_category,
 'AAAAAAAANDOBAAAA','Limited, sharp hours look available proportions. Especially public ties object basic reductions; institutional sales apply; preferably territorial pp. used to pr','Books','romance',9.88,7408.89,2.00
 'AAAAAAAANFHDAAAA','Accessible, sure opportunities used to help; too good films would not see ','Books','romance',9.91,3998.50,1.08
 'AAAAAAAANPDAAAAA','Years teach then at once right heads. Agencies will say by a suppliers. Most permanent blacks should not promote as other, legal eyes. Courses get so double, light flowers. Eastern, british times c','Books','romance',2.90,4740.25,1.28
-'AAAAAAAAOCJAAAAA',','Books','romance',2.17,3521.31,0.95
+'AAAAAAAAOCJAAAAA','Married, appropriate minutes shall not get more big problems. Odd authorities cannot believe military effects. Prices shall not mean always natural,','Books','romance',2.17,3521.31,0.95
 'AAAAAAAAODECAAAA','Indian, recent occupations mind too effects; days will discuss today also significant meanings; short foreign services shall direct early, electrical children. Else old years say latterly complete co','Books','romance',4.36,2078.76,0.56
 'AAAAAAAAOFHAAAAA','Simple, ideal images ought to stand accid','Books','romance',7.19,5764.42,1.56
 'AAAAAAAAOGGDAAAA','At least quiet students will kick by a practices; english beaches try again main meetings. Simple, narrow policies m','Books','romance',4.39,14404.18,3.89
@@ -654,7 +654,7 @@ order by i_category,
 'AAAAAAAAOOECAAAA','Foreign scenes qualify of course objectively','Books','romance',3.63,3374.70,0.91
 'AAAAAAAAOPMAAAAA','Selective years may dispense especially dual schools. Carefully concrete tan','Books','romance',52.25,2531.27,0.68
 'AAAAAAAAADJCAAAA','Brothers would count other partners; private patients know. Never joint farmers c','Books','science',3.21,9474.14,3.00
-'AAAAAAAAAGMBAAAA',','Books','science',1.54,8024.10,2.54
+'AAAAAAAAAGMBAAAA','True regulations may not restore with a magistrates. Critical results take once white, large prisoners; political,','Books','science',1.54,8024.10,2.54
 'AAAAAAAAAIHBAAAA','Valuable, young ways make at all years. Mo','Books','science',3.67,13305.96,4.21
 'AAAAAAAAAIJAAAAA','Complex, different boats pick only. Objectives assess on the bands; full, effective arts must mis','Books','science',6.70,4666.56,1.48
 'AAAAAAAAAKCCAAAA','Responses find up to faint rates. Hours should not expire at a','Books','science',9.54,4713.74,1.49
@@ -955,7 +955,7 @@ order by i_category,
 'AAAAAAAAAMLDAAAA','Yellow, important supplies will not take; more safe months would go here almost disabled hands. Blocks would com','Home','bedding',6.59,4985.94,1.45
 'AAAAAAAAANJBAAAA','New writers understand final restaura','Home','bedding',4.74,716.55,0.21
 'AAAAAAAAAOGAAAAA','Foreign, good things must get eyes. Low, thin members must rest. International looks allow. Senses should not touch. Limited, single backs would not walk opportunities; high','Home','bedding',3.51,9085.72,2.65
-'AAAAAAAABAKCAAAA',','Home','bedding',0.57,853.76,0.25
+'AAAAAAAABAKCAAAA','Teams waste very back children. Wide, private years might help cells. Heavy,','Home','bedding',0.57,853.76,0.25
 'AAAAAAAACFNDAAAA','Independent premises could not demonstrate then perhaps white users; democratic risks regain good provi','Home','bedding',2.83,1429.78,0.42
 'AAAAAAAACHKDAAAA','Unlikely costs should risk low whole, new officials. Other eyes carry in the students. Main, lovely feelings must not allow','Home','bedding',4.66,13345.14,3.89
 'AAAAAAAACOBCAAAA','Proper effects could not seem much royal others. Loyal transactions will replace legal, identical days. At','Home','bedding',0.91,675.45,0.20
@@ -1095,7 +1095,7 @@ order by i_category,
 'AAAAAAAAJLBBAAAA','Courts pay far american towns; more greek circumstances prevent so to a cars; sports read importantly also public lights. Strings grow short large, interesting interests. About good','Home','curtains/drapes',7.06,7550.49,2.32
 'AAAAAAAAJPABAAAA','Small, marked museums ought to validate. Ready circles disclose ahead on a months;','Home','curtains/drapes',1.95,3453.85,1.06
 'AAAAAAAAKDABAAAA','Social eyes might complete at least customs. Very grea','Home','curtains/drapes',7.73,223.88,0.07
-'AAAAAAAAKGCBAAAA',','Home','curtains/drapes',4.25,3853.74,1.19
+'AAAAAAAAKGCBAAAA','Normal, mental machines take. Real,','Home','curtains/drapes',4.25,3853.74,1.19
 'AAAAAAAAKIBEAAAA','Parts see little notes; almost dead spots','Home','curtains/drapes',1.38,495.74,0.15
 'AAAAAAAAKIOAAAAA','Western, successful levels ','Home','curtains/drapes',5.31,2693.58,0.83
 'AAAAAAAALBEDAAAA','Less tiny farmers help efforts. Fast building','Home','curtains/drapes',3.72,8974.69,2.76
@@ -1113,7 +1113,7 @@ order by i_category,
 'AAAAAAAAPBECAAAA','Places look; students sell especially. Right black tests make once again','Home','curtains/drapes',2.18,5899.96,1.82
 'AAAAAAAAPEMDAAAA','Also black patterns may call other others. Pressures must come so; there young relations can want towards a galleries; new, left services at','Home','curtains/drapes',8.37,716.28,0.22
 'AAAAAAAAPILDAAAA','Special matters may not forget a little other drugs. Also possible standards might retain sales. Difficult, small prices forget frequently for a hours. Explicit, true things may exchange modern cases','Home','curtains/drapes',0.66,4223.56,1.30
-'AAAAAAAAAILBAAAA',','Home','decor',2.76,1548.94,0.55
+'AAAAAAAAAILBAAAA','Important functions can offer rather items. Christian ears preserve therefore additional, new foods. Now whole men make only black,','Home','decor',2.76,1548.94,0.55
 'AAAAAAAAAOBBAAAA','Normal authorities understand more small expenses; copies ','Home','decor',77.78,9608.31,3.40
 'AAAAAAAABJGAAAAA','Radical degrees may hear just. Christian terms disguise quickly rows. Bad, semantic companies want. Clear, perfect dogs please years. Cells sho','Home','decor',2.87,585.32,0.21
 'AAAAAAAACFMAAAAA','Appropriate savings approach. Good charges gain. Primary tourists take pretty employees. Following, average arguments ought to matter possibly like women; specialist, black days us','Home','decor',2.97,2589.06,0.92
@@ -1182,7 +1182,7 @@ order by i_category,
 'AAAAAAAAGILAAAAA','There political guidelines must rise actually small new roads. Temperatures should not cry new victims. Very possible cal','Home','flatware',3.68,9306.76,2.09
 'AAAAAAAAGKJAAAAA','Old things should not regulate. African walls could not say incidents. Great days keep always different women. Previous provisions may want','Home','flatware',1.26,14768.99,3.32
 'AAAAAAAAGMACAAAA','Real minds shall','Home','flatware',5.95,6534.86,1.47
-'AAAAAAAAGMOCAAAA',','Home','flatware',7.54,3910.06,0.88
+'AAAAAAAAGMOCAAAA','Ordinary issues dry only numerous, substantial sheets. Numbers may carry so increased feet; even human peoples drift too; unlikely,','Home','flatware',7.54,3910.06,0.88
 'AAAAAAAAGOGCAAAA','Immense fields find on a measures. Followers may not want on a details. Occasions look also worthw','Home','flatware',2.40,6586.82,1.48
 'AAAAAAAAHGADAAAA','Even usual teachers ought to sing even different likely males. Universal services expect kindly enou','Home','flatware',2.32,2917.15,0.66
 'AAAAAAAAHPFEAAAA','Dark times play between a variations. Years would explain very positive reasons. ','Home','flatware',16.82,13783.02,3.10
@@ -1268,7 +1268,7 @@ order by i_category,
 'AAAAAAAAMCDCAAAA','Other others must seem increasingly despite a exhibitions. Literary types enable quite by no means criminal pictures. Marks obtain around savings; average, quiet years attack also. Well separate pric','Home','furniture',5.99,7966.45,2.09
 'AAAAAAAAMDHAAAAA','Asleep rights continue over papers. Yesterday poor combinations ought to like votes. Hardly similar manufacturers used to see groups. Rel','Home','furniture',65.51,16215.45,4.26
 'AAAAAAAAMOCAAAAA','Weeks will claim at a hands. Cuts meet smart, relevant lawyers. Enormous sides should ','Home','furniture',23.89,1318.20,0.35
-'AAAAAAAANPFBAAAA',','Home','furniture',6.59,1384.29,0.36
+'AAAAAAAANPFBAAAA','Good, vulnerable worlds could take recently actually estimated agents. Unusual ideas work else sentences. More wide fortunes may embrace even black difficult tasks. Deep,','Home','furniture',6.59,1384.29,0.36
 'AAAAAAAAOAGDAAAA','Streets stare only much respective twins. National, important branches move today outside upper children. Areas oug','Home','furniture',3.81,12377.22,3.25
 'AAAAAAAAODDDAAAA','Ni','Home','furniture',0.83,1902.40,0.50
 'AAAAAAAAOEDEAAAA','National, new hotels mean for a variables. Countries may not spend on the quarters. Else common differences used to call much on a months. New events perform too. Immense, perfect things reform','Home','furniture',0.27,242.76,0.06
@@ -1309,7 +1309,7 @@ order by i_category,
 'AAAAAAAAHIDEAAAA','Political paths should go inc years. New materials shall represent results. Very, actual trees will make that is new, la','Home','glassware',6.93,5472.80,1.59
 'AAAAAAAAIAGDAAAA','B','Home','glassware',2.51,6669.44,1.94
 'AAAAAAAAINMBAAAA','Expensive workers should not say accurately old ideas. Later arab types will last still reforms. Ev','Home','glassware',1.29,5640.78,1.64
-'AAAAAAAAIPOAAAAA',','Home','glassware',6.21,5888.76,1.71
+'AAAAAAAAIPOAAAAA','Comprehensive plans must plan even in a rules. Intermittently good children can form notions. Negative, likely sectors open even devices. Invisible,','Home','glassware',6.21,5888.76,1.71
 'AAAAAAAAJFFAAAAA','Exact jews make again regional times','Home','glassware',0.82,3742.98,1.09
 'AAAAAAAAJNMDAAAA','Reports ask as physical maps; keen, temporary hotels would stick now direct details. Only, notable developments ought to hear technically ruling forces; at least ','Home','glassware',4.60,4751.98,1.38
 'AAAAAAAAKHECAAAA','Only, subsequent minerals should exist just f','Home','glassware',4.69,335.94,0.10
@@ -1370,7 +1370,7 @@ order by i_category,
 'AAAAAAAAMKGBAAAA','So white republics squeeze however new days; effectively whole minutes cannot give more never alternative years. Natural changes would disc','Home','kids',1.23,2680.86,1.08
 'AAAAAAAAMLJAAAAA','Industrial funds must stuff now weak men;','Home','kids',5.61,829.95,0.33
 'AAAAAAAAMOIAAAAA','Small, awful foods may not want only successful, succes','Home','kids',1.56,1571.80,0.63
-'AAAAAAAANABCAAAA',','Home','kids',0.59,739.06,0.30
+'AAAAAAAANABCAAAA','Democrats follow mostly available,','Home','kids',0.59,739.06,0.30
 'AAAAAAAANCNDAAAA','Satisfactory, serious workers would come previous, africa','Home','kids',3.18,236.88,0.10
 'AAAAAAAAOGMAAAAA','Rich, deep types go. Safe premises differ particul','Home','kids',5.55,11810.32,4.75
 'AAAAAAAAOMIBAAAA','Bad files make below bad occasions. Local days grow now for a years. Only royal years should look again correct fears. Creatures seem new conditions. Trials keep. Branches wa','Home','kids',9.13,2346.24,0.94
@@ -1446,7 +1446,7 @@ order by i_category,
 'AAAAAAAAEFHDAAAA','Female birds like still years; ','Home','mattresses',2.27,2342.50,0.69
 'AAAAAAAAEGADAAAA','Individuals act. Merely other phrases notice on a sanctions. Courses can embody. Relatively creative subjects hear very at a letters; financial, useful eyes c','Home','mattresses',6.23,1991.78,0.58
 'AAAAAAAAEGDDAAAA','Just personal gardens love other services. Catholic years judge so. Other, other eyes improve seriously ','Home','mattresses',0.74,9278.72,2.72
-'AAAAAAAAEGOCAAAA',','Home','mattresses',1.44,7748.63,2.27
+'AAAAAAAAEGOCAAAA','Primary sentences go in a arguments; eventually tiny shows should see. Very present parents say however equal, visible markets. Other,','Home','mattresses',1.44,7748.63,2.27
 'AAAAAAAAELDCAAAA','Lucky, new buses place aged a packages; new forces','Home','mattresses',2.33,4153.52,1.22
 'AAAAAAAAENLAAAAA','Adverse prayers promote open, main limitations. Women cou','Home','mattresses',4.08,359.66,0.11
 'AAAAAAAAFKCCAAAA','Main conditions can form further ','Home','mattresses',7.56,9673.94,2.83
@@ -1516,7 +1516,7 @@ order by i_category,
 'AAAAAAAAFJEEAAAA','Appropriate, prime hours tell. Terms could take. Much new workers settle important, british players. Comprehensive tonnes will eat nearby. Due dec','Home','paint',2.04,6542.21,1.65
 'AAAAAAAAFKICAAAA','Later significant pages cannot unite occasionally. Please complete lives get mentally most exotic results. Ever av','Home','paint',5.30,5257.76,1.33
 'AAAAAAAAFLADAAAA','Psychiatric scientists may not stay hopelessly. Full directors surrender really worldwide long days. Bright, shallow orders enjoy to the activities. Economic roads must not notice at least tall rules','Home','paint',2.48,8106.68,2.05
-'AAAAAAAAGAOAAAAA',','Home','paint',8.52,4345.24,1.10
+'AAAAAAAAGAOAAAAA','Only impossible words should not talk faintly forms. Economic companies could become really rough practices. Very philosophical heads used to show. Weak requests discover too for a moments. Political,','Home','paint',8.52,4345.24,1.10
 'AAAAAAAAGCDAAAAA','Subsequently full views add still considerable changes. Extra names suffer conservatives. So odd hours work just real standard','Home','paint',2.01,5022.61,1.27
 'AAAAAAAAHCBDAAAA','Then great bombs used to explain more direct social problems. In addition early increases put lately. Gay ','Home','paint',0.43,8312.15,2.10
 'AAAAAAAAHCEDAAAA','Open accounts hear as well possible proteins. Industrial forces could pay favo','Home','paint',1.47,644.70,0.16
@@ -1587,7 +1587,7 @@ order by i_category,
 'AAAAAAAAMBMBAAAA','Revolutionary rules help abroad in a details. Only, new studies get hidden, special ends. B','Home','rugs',5.98,3690.40,1.30
 'AAAAAAAAMGCDAAAA','Economic, british tables succumb on a heads; only, growing members might turn centres. International, future sectors develop well for a communities. Strange pairs spend better. Warm, detaile','Home','rugs',7.58,10034.32,3.54
 'AAAAAAAAMHCBAAAA','Problems protect followers. Particular, particular controls can consider later wide, high risks. Bars would consider always social markets. New instructions may sit initial terms; farm','Home','rugs',6.45,935.52,0.33
-'AAAAAAAAMLBBAAAA',','Home','rugs',4.23,4935.30,1.74
+'AAAAAAAAMLBBAAAA','Years compensate gold,','Home','rugs',4.23,4935.30,1.74
 'AAAAAAAAMMNDAAAA','Only brown things can see difficult, soviet weekends. Ever large uses bring more for a years. Difficulties pick literally clearly other occasions. ','Home','rugs',11.64,4250.06,1.50
 'AAAAAAAANCCCAAAA','Faces would not read ever professional girls. Complete, briti','Home','rugs',6.73,560.91,0.20
 'AAAAAAAANKBEAAAA','Dry, friendly situations ask thus grey floors. Letters must discuss steep chapters. Members act ago on a feet. Standards exploit sounds. Arguments shall come','Home','rugs',4.77,3898.57,1.37
@@ -1624,7 +1624,7 @@ order by i_category,
 'AAAAAAAAGJFCAAAA','Fundamental posts simulate importa','Home','tables',7.66,1061.84,0.57
 'AAAAAAAAHIHDAAAA','So damp tests imagine resources. Innocently prime developments shall work small pl','Home','tables',0.61,1037.44,0.56
 'AAAAAAAAHNNBAAAA','Centuries must envisage already things. Officials take both for a sectors. Exact tears may not restore only rich inches; difficulties could speak physical families','Home','tables',3.97,1175.37,0.63
-'AAAAAAAAIDEBAAAA',','Home','tables',4.97,3815.57,2.05
+'AAAAAAAAIDEBAAAA','Banks think very large,','Home','tables',4.97,3815.57,2.05
 'AAAAAAAAIKHAAAAA','Pictures cannot get advantages. Roman, difficult issues shift easy. Guidelines rouse just all actual hours. Coherent, main days acknowledge forward previous ','Home','tables',0.48,415.84,0.22
 'AAAAAAAAIMBBAAAA','Single hours ought to say. Sources would contribute civil rivers. Good, central patients put too to the spirits. Sho','Home','tables',4.99,1581.92,0.85
 'AAAAAAAAIPLDAAAA','New years wish also confident, unaware contents. Sound doubts will check right. Economic, potential eyes can say this welco','Home','tables',1.80,7800.06,4.19
@@ -2195,7 +2195,7 @@ order by i_category,
 'AAAAAAAACJGAAAAA','Clear types buy years. Companies used to go already. Stable, general arrangements will accept purely light','Sports','guns',7.02,9657.94,2.53
 'AAAAAAAACKABAAAA','Determined roads might lea','Sports','guns',2.31,5344.12,1.40
 'AAAAAAAACLDBAAAA','Little poor markets wriggle commonly roughly strategic times. Able securities can handle involuntarily thus other rates; then famous pri','Sports','guns',2.21,1187.63,0.31
-'AAAAAAAACLHAAAAA',','Sports','guns',7.03,7246.86,1.90
+'AAAAAAAACLHAAAAA','Huge, private situations ought to back by an marks. Girls can come also local,','Sports','guns',7.03,7246.86,1.90
 'AAAAAAAADKLBAAAA','Public, legal languages might get easier easily regular towns. Very different children fulfil virtually tiles. Everyday, fresh numbers look only large, sole companies','Sports','guns',9.11,4695.99,1.23
 'AAAAAAAAECICAAAA','Old, n','Sports','guns',1.37,6973.14,1.83
 'AAAAAAAAEHCBAAAA','Devices know also so normal waters. Labour times say. Teachers tell ','Sports','guns',0.26,2073.30,0.54
@@ -2211,7 +2211,7 @@ order by i_category,
 'AAAAAAAAILBDAAAA','Financial, italian wages kno','Sports','guns',5.30,7381.49,1.93
 'AAAAAAAAIMMCAAAA','Rows cannot give then magnetic children. Children join again very labour neighbours. Ways shoot. Horses could prepare little to a heels. Residential, stable issues disappear automaticall','Sports','guns',31.00,8425.76,2.21
 'AAAAAAAAINFDAAAA','New eyes change political, new activities.','Sports','guns',9.10,11138.94,2.92
-'AAAAAAAAJOODAAAA',','Sports','guns',3.77,173.24,0.05
+'AAAAAAAAJOODAAAA','Likely personnel will not produce in an guidelines; freely tory sanctions give most pp.. Cases may let never players. Appropriate,','Sports','guns',3.77,173.24,0.05
 'AAAAAAAAKBHCAAAA','New, british politicians fail particularly in a things. Personal books get; as political nig','Sports','guns',1.17,13290.11,3.48
 'AAAAAAAAKFLDAAAA','Days must appear kindly familiar hands. Too negative systems cannot skip existi','Sports','guns',3.00,8788.60,2.30
 'AAAAAAAALFOBAAAA','About british reasons will draw occasionally practitioners. New attempts shall display in private private, major magazines. Questions dare on a losses. As american children take upwards good symptom','Sports','guns',72.70,6798.49,1.78
@@ -2465,7 +2465,7 @@ order by i_category,
 'AAAAAAAABEPCAAAA','Good, white children shall know also prime creatures. Big pockets take; often coming stands notice substantially warm parents. Small points sha','Sports','sailing',8.09,7948.33,3.07
 'AAAAAAAACBMBAAAA','Ca','Sports','sailing',0.93,1188.60,0.46
 'AAAAAAAACEKBAAAA','English, familiar details may','Sports','sailing',35.26,912.12,0.35
-'AAAAAAAACLIBAAAA',','Sports','sailing',4.04,9506.48,3.68
+'AAAAAAAACLIBAAAA','Close,','Sports','sailing',4.04,9506.48,3.68
 'AAAAAAAADGGBAAAA','Forward students can involve there aware lawyers. Scientifically costly achievements could involve sta','Sports','sailing',1.09,1670.72,0.65
 'AAAAAAAAEIFAAAAA','New girls reach exactly; only additional students wil','Sports','sailing',3.94,7390.63,2.86
 'AAAAAAAAEKGAAAAA','Good, dependent houses can prevent different eyes. Spiritual, new ministers tell new difficulties; customers will encourage over busy relations. Modern, substantial far','Sports','sailing',1.58,4598.55,1.78
@@ -2520,8 +2520,8 @@ order by i_category,
 'AAAAAAAAEFFCAAAA','Animals cannot make most sides; just wealthy babies could fulfil as before a records. Now literary results used to say human, unique genes. Bo','Sports','tennis',4.85,1131.00,0.39
 'AAAAAAAAEKIAAAAA','Unlikely letters inhibit only jobs. Brightly hard procedures might eat mainly complex odd tories. Powers would not achieve too dem','Sports','tennis',2.51,5191.75,1.79
 'AAAAAAAAEPHCAAAA','Equally adequate schools obtain for a commentators. Women would keep suddenly systems. Disastrous, old authorities enforc','Sports','tennis',0.23,942.98,0.33
-'AAAAAAAAFEMBAAAA',','Sports','tennis',99.85,3415.62,1.18
-'AAAAAAAAFHNDAAAA',','Sports','tennis',4.86,6685.68,2.31
+'AAAAAAAAFEMBAAAA','Natural hands will see almost simple, alone seconds. Regulations shall impress white,','Sports','tennis',99.85,3415.62,1.18
+'AAAAAAAAFHNDAAAA','Machines cannot fit too successive levels. Inner, european eyes could call now misleading,','Sports','tennis',4.86,6685.68,2.31
 'AAAAAAAAGGFDAAAA','Bad, various p','Sports','tennis',8.16,10783.34,3.72
 'AAAAAAAAGNHDAAAA','Economic standards shall bring even strong measures. More main improvements want ','Sports','tennis',4.72,216.30,0.07
 'AAAAAAAAHJOBAAAA','Highly local li','Sports','tennis',9.81,16310.70,5.63
@@ -2547,4 +2547,4 @@ order by i_category,
 'AAAAAAAAAAMCAAAA','NULL','Sports','NULL',NULL,488.92,3.99
 ---- TYPES
 STRING, STRING, STRING, STRING, DECIMAL, DECIMAL, DECIMAL
-====
\ No newline at end of file
+====

http://git-wip-us.apache.org/repos/asf/impala/blob/85166afa/testdata/workloads/tpcds/queries/tpcds-q98.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/tpcds/queries/tpcds-q98.test b/testdata/workloads/tpcds/queries/tpcds-q98.test
index 76c6a81..536995e 100644
--- a/testdata/workloads/tpcds/queries/tpcds-q98.test
+++ b/testdata/workloads/tpcds/queries/tpcds-q98.test
@@ -323,7 +323,7 @@ order by i_category,
 'AAAAAAAAOFECAAAA','Later high interests ','Books','fiction',5.61,9818.74,2.72
 'AAAAAAAAOGEEAAAA','Free processes can wake now still important institutions. Traditional, open plans serve better live years. Women should not pack by the experts. Competitors can miss hence op','Books','fiction',7.63,6537.27,1.81
 'AAAAAAAAOHHAAAAA','Private children used to stop really national, mate','Books','fiction',2.82,1432.82,0.40
-'AAAAAAAAOJCEAAAA',','Books','fiction',3.81,4949.10,1.37
+'AAAAAAAAOJCEAAAA','Approaches used to worsen forwards yellow, effective days. Personal, musical dreams appreciate in a claims; future, natural doors make thus. Empirical,','Books','fiction',3.81,4949.10,1.37
 'AAAAAAAAPCEBAAAA','Th','Books','fiction',0.34,NULL,NULL
 'AAAAAAAAPGDEAAAA','Appointed others must trace yesterday with the members. Disabled animals talk also isolated, entire soldiers. Signs join at all lega','Books','fiction',0.97,7324.52,2.03
 'AAAAAAAAPMBAAAAA','Exactly financial games may find effective, delight','Books','fiction',8.79,8029.03,2.23
@@ -405,7 +405,7 @@ order by i_category,
 'AAAAAAAACDFDAAAA','Whole, thin items ','Books','home repair',1.75,18262.68,5.29
 'AAAAAAAACLADAAAA','Full problems might not split political, serious legs. Also particular minutes transmit thus healthy minute','Books','home repair',6.75,10082.03,2.92
 'AAAAAAAACOHAAAAA','Again parliamentary stocks may generate typically unnecessary external arrangements. Funds fight again sole, rural contributions. Public fires','Books','home repair',6.21,8374.65,2.43
-'AAAAAAAADAKAAAAA',','Books','home repair',6.10,11471.54,3.32
+'AAAAAAAADAKAAAAA','Following, other respects must not come new,','Books','home repair',6.10,11471.54,3.32
 'AAAAAAAADECEAAAA','Open, other words include a little sharply anxious soldiers. Conditions mean now rules. Patients shall vary around a problems. Difficult edges take stil','Books','home repair',7.66,12933.23,3.75
 'AAAAAAAADLEEAAAA','Professional, delicate settings must raise partially generally common heads. Either','Books','home repair',1.78,289.30,0.08
 'AAAAAAAAEADEAAAA','Ships should help private, possible societies. C','Books','home repair',8.10,11201.35,3.25
@@ -466,7 +466,7 @@ order by i_category,
 'AAAAAAAACOOCAAAA','Only excellent concentrations shall want more monthly, blind subsid','Books','mystery',8.38,26196.44,15.37
 'AAAAAAAADPJBAAAA','Human years improve broadly poli','Books','mystery',3.93,7206.32,4.23
 'AAAAAAAAEKGDAAAA','Houses should ','Books','mystery',1.77,3341.80,1.96
-'AAAAAAAAFFDDAAAA',','Books','mystery',2.79,4237.23,2.49
+'AAAAAAAAFFDDAAAA','French, civil hours must report essential values. Reasonable, complete judges vary clearly homes; often pleasant women would watch. Poor,','Books','mystery',2.79,4237.23,2.49
 'AAAAAAAAFGACAAAA','Fe','Books','mystery',8.45,8868.51,5.20
 'AAAAAAAAFINCAAAA','Words want just to the allegations; sometimes clear thousands shall belong up to an views; oth','Books','mystery',4.62,11058.27,6.49
 'AAAAAAAAGJICAAAA','Written leaders could help by a buildings; symbols could take more far isolated patients. Other, different stages flow new words. Rightly american thousands ought to contact away only','Books','mystery',6.88,4311.47,2.53
@@ -490,7 +490,7 @@ order by i_category,
 'AAAAAAAAMMKAAAAA','Widespread, mental authorities go less than new symptoms. ','Books','mystery',3.63,6301.51,3.70
 'AAAAAAAANHBEAAAA','Clean pictures would become through a clients. Legs sell up to a effects. Powerful, german areas may come in general at least little changes. Too medical years may suck probably soon pub','Books','mystery',6.36,1659.84,0.97
 'AAAAAAAAOFBAAAAA','Real, correct drinks deny carefully. Good subjects shall not contribute home highly mediterranean ideas; whole workers should affect by a dishes. Eyes can believe productive, total eyes. Databa','Books','mystery',3.10,2329.80,1.37
-'AAAAAAAAOGODAAAA',','Books','mystery',2.25,8600.32,5.05
+'AAAAAAAAOGODAAAA','Bizarre months furnish other, central words. Wide orders might end. Other,','Books','mystery',2.25,8600.32,5.05
 'AAAAAAAAONIDAAAA','So serious weeks might come weak members. At all young boxes imagine armed girls; fairly political services work technical, local authorities; actu','Books','mystery',51.11,2815.12,1.65
 'AAAAAAAAACDDAAAA','Parents may affect perfect conten','Books','parenting',0.98,4697.24,1.94
 'AAAAAAAAADOCAAAA','Hands know european, absolu','Books','parenting',1.88,3032.67,1.25
@@ -552,7 +552,7 @@ order by i_category,
 'AAAAAAAACIBCAAAA','At once good friends limit. Too simple stations','Books','reference',1.88,558.14,0.19
 'AAAAAAAACKJCAAAA','Possibilities should not fit almost eggs; seriously little members del','Books','reference',3.40,9476.74,3.14
 'AAAAAAAACKNBAAAA','Today labour characters used to like quite black difficult papers; ages catch low, common matters. Sick judges might make both opposite seeds. Public, foreign proceedings must not rescue of c','Books','reference',3.30,2429.21,0.81
-'AAAAAAAACLGAAAAA',','Books','reference',2.23,2328.47,0.77
+'AAAAAAAACLGAAAAA','Rather suitable weapons could prosecute ago labour, large users. Affairs use normally at the unions; emotions can say; armed,','Books','reference',2.23,2328.47,0.77
 'AAAAAAAACLPBAAAA','Officials can include more. Trades imagine still in a words. That is american systems should not demonstrate even for a characters. Electrical members should not think able, foreign finger','Books','reference',9.55,601.20,0.20
 'AAAAAAAADBOBAAAA','Notions shall say major journals; economic standards make at once old requirements. So corporate numbers ask now in a images; surely closed feelings m','Books','reference',1.80,5327.56,1.77
 'AAAAAAAADIKBAAAA','Rural, strong dollars can go in a students; nice restrictions leave afield spectacular, royal experts; decisions ought to defend about early effective pp.; russian, national relations shall deli','Books','reference',9.64,3655.37,1.21
@@ -611,7 +611,7 @@ order by i_category,
 'AAAAAAAAGIHBAAAA','Right joint uses cannot provide less labour, final windows. Ori','Books','romance',5.83,4286.08,1.16
 'AAAAAAAAGLLDAAAA','Prov','Books','romance',2.61,4503.02,1.22
 'AAAAAAAAGMIDAAAA','Anyway initial depths ought to raise over expenses. Little years ought to buy new sides. Phrases see across the folk. Barely considerable workers shall turn ev','Books','romance',2.54,526.08,0.14
-'AAAAAAAAGNBCAAAA',','Books','romance',1.85,10864.92,2.93
+'AAAAAAAAGNBCAAAA','Kids must not know sharp, post-war babies. Democratic alternatives result quite at a activities. Deep, various institutions might not return extremely special,','Books','romance',1.85,10864.92,2.93
 'AAAAAAAAGNICAAAA','Results highlight as patterns; so right years show. Sometimes suitable lips move with the critics. English, old mothers ought to lift now perhaps future managers. Active, single ch','Books','romance',2.88,9733.14,2.63
 'AAAAAAAAGNMBAAAA','Later anxious detectives might not see. Only bonds improve even interests. Other, common bands go here rural sections. Relative daughters m','Books','romance',47.10,312.70,0.08
 'AAAAAAAAGPBEAAAA','Above upper shares should recall from a emotions. Books could not help british, ','Books','romance',1.23,4995.27,1.35
@@ -643,7 +643,7 @@ order by i_category,
 'AAAAAAAANDOBAAAA','Limited, sharp hours look available proportions. Especially public ties object basic reductions; institutional sales apply; preferably territorial pp. used to pr','Books','romance',9.88,7408.89,2.00
 'AAAAAAAANFHDAAAA','Accessible, sure opportunities used to help; too good films would not see ','Books','romance',9.91,3998.50,1.08
 'AAAAAAAANPDAAAAA','Years teach then at once right heads. Agencies will say by a suppliers. Most permanent blacks should not promote as other, legal eyes. Courses get so double, light flowers. Eastern, british times c','Books','romance',2.90,4740.25,1.28
-'AAAAAAAAOCJAAAAA',','Books','romance',2.17,3521.31,0.95
+'AAAAAAAAOCJAAAAA','Married, appropriate minutes shall not get more big problems. Odd authorities cannot believe military effects. Prices shall not mean always natural,','Books','romance',2.17,3521.31,0.95
 'AAAAAAAAODECAAAA','Indian, recent occupations mind too effects; days will discuss today also significant meanings; short foreign services shall direct early, electrical children. Else old years say latterly complete co','Books','romance',4.36,2078.76,0.56
 'AAAAAAAAOFHAAAAA','Simple, ideal images ought to stand accid','Books','romance',7.19,5764.42,1.56
 'AAAAAAAAOGGDAAAA','At least quiet students will kick by a practices; english beaches try again main meetings. Simple, narrow policies m','Books','romance',4.39,14404.18,3.89
@@ -654,7 +654,7 @@ order by i_category,
 'AAAAAAAAOOECAAAA','Foreign scenes qualify of course objectively','Books','romance',3.63,3374.70,0.91
 'AAAAAAAAOPMAAAAA','Selective years may dispense especially dual schools. Carefully concrete tan','Books','romance',52.25,2531.27,0.68
 'AAAAAAAAADJCAAAA','Brothers would count other partners; private patients know. Never joint farmers c','Books','science',3.21,9474.14,3.00
-'AAAAAAAAAGMBAAAA',','Books','science',1.54,8024.10,2.54
+'AAAAAAAAAGMBAAAA','True regulations may not restore with a magistrates. Critical results take once white, large prisoners; political,','Books','science',1.54,8024.10,2.54
 'AAAAAAAAAIHBAAAA','Valuable, young ways make at all years. Mo','Books','science',3.67,13305.96,4.21
 'AAAAAAAAAIJAAAAA','Complex, different boats pick only. Objectives assess on the bands; full, effective arts must mis','Books','science',6.70,4666.56,1.48
 'AAAAAAAAAKCCAAAA','Responses find up to faint rates. Hours should not expire at a','Books','science',9.54,4713.74,1.49
@@ -955,7 +955,7 @@ order by i_category,
 'AAAAAAAAAMLDAAAA','Yellow, important supplies will not take; more safe months would go here almost disabled hands. Blocks would com','Home','bedding',6.59,4985.94,1.45
 'AAAAAAAAANJBAAAA','New writers understand final restaura','Home','bedding',4.74,716.55,0.21
 'AAAAAAAAAOGAAAAA','Foreign, good things must get eyes. Low, thin members must rest. International looks allow. Senses should not touch. Limited, single backs would not walk opportunities; high','Home','bedding',3.51,9085.72,2.65
-'AAAAAAAABAKCAAAA',','Home','bedding',0.57,853.76,0.25
+'AAAAAAAABAKCAAAA','Teams waste very back children. Wide, private years might help cells. Heavy,','Home','bedding',0.57,853.76,0.25
 'AAAAAAAACFNDAAAA','Independent premises could not demonstrate then perhaps white users; democratic risks regain good provi','Home','bedding',2.83,1429.78,0.42
 'AAAAAAAACHKDAAAA','Unlikely costs should risk low whole, new officials. Other eyes carry in the students. Main, lovely feelings must not allow','Home','bedding',4.66,13345.14,3.89
 'AAAAAAAACOBCAAAA','Proper effects could not seem much royal others. Loyal transactions will replace legal, identical days. At','Home','bedding',0.91,675.45,0.20
@@ -1095,7 +1095,7 @@ order by i_category,
 'AAAAAAAAJLBBAAAA','Courts pay far american towns; more greek circumstances prevent so to a cars; sports read importantly also public lights. Strings grow short large, interesting interests. About good','Home','curtains/drapes',7.06,7550.49,2.32
 'AAAAAAAAJPABAAAA','Small, marked museums ought to validate. Ready circles disclose ahead on a months;','Home','curtains/drapes',1.95,3453.85,1.06
 'AAAAAAAAKDABAAAA','Social eyes might complete at least customs. Very grea','Home','curtains/drapes',7.73,223.88,0.07
-'AAAAAAAAKGCBAAAA',','Home','curtains/drapes',4.25,3853.74,1.19
+'AAAAAAAAKGCBAAAA','Normal, mental machines take. Real,','Home','curtains/drapes',4.25,3853.74,1.19
 'AAAAAAAAKIBEAAAA','Parts see little notes; almost dead spots','Home','curtains/drapes',1.38,495.74,0.15
 'AAAAAAAAKIOAAAAA','Western, successful levels ','Home','curtains/drapes',5.31,2693.58,0.83
 'AAAAAAAALBEDAAAA','Less tiny farmers help efforts. Fast building','Home','curtains/drapes',3.72,8974.69,2.76
@@ -1113,7 +1113,7 @@ order by i_category,
 'AAAAAAAAPBECAAAA','Places look; students sell especially. Right black tests make once again','Home','curtains/drapes',2.18,5899.96,1.82
 'AAAAAAAAPEMDAAAA','Also black patterns may call other others. Pressures must come so; there young relations can want towards a galleries; new, left services at','Home','curtains/drapes',8.37,716.28,0.22
 'AAAAAAAAPILDAAAA','Special matters may not forget a little other drugs. Also possible standards might retain sales. Difficult, small prices forget frequently for a hours. Explicit, true things may exchange modern cases','Home','curtains/drapes',0.66,4223.56,1.30
-'AAAAAAAAAILBAAAA',','Home','decor',2.76,1548.94,0.55
+'AAAAAAAAAILBAAAA','Important functions can offer rather items. Christian ears preserve therefore additional, new foods. Now whole men make only black,','Home','decor',2.76,1548.94,0.55
 'AAAAAAAAAOBBAAAA','Normal authorities understand more small expenses; copies ','Home','decor',77.78,9608.31,3.40
 'AAAAAAAABJGAAAAA','Radical degrees may hear just. Christian terms disguise quickly rows. Bad, semantic companies want. Clear, perfect dogs please years. Cells sho','Home','decor',2.87,585.32,0.21
 'AAAAAAAACFMAAAAA','Appropriate savings approach. Good charges gain. Primary tourists take pretty employees. Following, average arguments ought to matter possibly like women; specialist, black days us','Home','decor',2.97,2589.06,0.92
@@ -1182,7 +1182,7 @@ order by i_category,
 'AAAAAAAAGILAAAAA','There political guidelines must rise actually small new roads. Temperatures should not cry new victims. Very possible cal','Home','flatware',3.68,9306.76,2.09
 'AAAAAAAAGKJAAAAA','Old things should not regulate. African walls could not say incidents. Great days keep always different women. Previous provisions may want','Home','flatware',1.26,14768.99,3.32
 'AAAAAAAAGMACAAAA','Real minds shall','Home','flatware',5.95,6534.86,1.47
-'AAAAAAAAGMOCAAAA',','Home','flatware',7.54,3910.06,0.88
+'AAAAAAAAGMOCAAAA','Ordinary issues dry only numerous, substantial sheets. Numbers may carry so increased feet; even human peoples drift too; unlikely,','Home','flatware',7.54,3910.06,0.88
 'AAAAAAAAGOGCAAAA','Immense fields find on a measures. Followers may not want on a details. Occasions look also worthw','Home','flatware',2.40,6586.82,1.48
 'AAAAAAAAHGADAAAA','Even usual teachers ought to sing even different likely males. Universal services expect kindly enou','Home','flatware',2.32,2917.15,0.66
 'AAAAAAAAHPFEAAAA','Dark times play between a variations. Years would explain very positive reasons. ','Home','flatware',16.82,13783.02,3.10
@@ -1268,7 +1268,7 @@ order by i_category,
 'AAAAAAAAMCDCAAAA','Other others must seem increasingly despite a exhibitions. Literary types enable quite by no means criminal pictures. Marks obtain around savings; average, quiet years attack also. Well separate pric','Home','furniture',5.99,7966.45,2.09
 'AAAAAAAAMDHAAAAA','Asleep rights continue over papers. Yesterday poor combinations ought to like votes. Hardly similar manufacturers used to see groups. Rel','Home','furniture',65.51,16215.45,4.26
 'AAAAAAAAMOCAAAAA','Weeks will claim at a hands. Cuts meet smart, relevant lawyers. Enormous sides should ','Home','furniture',23.89,1318.20,0.35
-'AAAAAAAANPFBAAAA',','Home','furniture',6.59,1384.29,0.36
+'AAAAAAAANPFBAAAA','Good, vulnerable worlds could take recently actually estimated agents. Unusual ideas work else sentences. More wide fortunes may embrace even black difficult tasks. Deep,','Home','furniture',6.59,1384.29,0.36
 'AAAAAAAAOAGDAAAA','Streets stare only much respective twins. National, important branches move today outside upper children. Areas oug','Home','furniture',3.81,12377.22,3.25
 'AAAAAAAAODDDAAAA','Ni','Home','furniture',0.83,1902.40,0.50
 'AAAAAAAAOEDEAAAA','National, new hotels mean for a variables. Countries may not spend on the quarters. Else common differences used to call much on a months. New events perform too. Immense, perfect things reform','Home','furniture',0.27,242.76,0.06
@@ -1309,7 +1309,7 @@ order by i_category,
 'AAAAAAAAHIDEAAAA','Political paths should go inc years. New materials shall represent results. Very, actual trees will make that is new, la','Home','glassware',6.93,5472.80,1.59
 'AAAAAAAAIAGDAAAA','B','Home','glassware',2.51,6669.44,1.94
 'AAAAAAAAINMBAAAA','Expensive workers should not say accurately old ideas. Later arab types will last still reforms. Ev','Home','glassware',1.29,5640.78,1.64
-'AAAAAAAAIPOAAAAA',','Home','glassware',6.21,5888.76,1.71
+'AAAAAAAAIPOAAAAA','Comprehensive plans must plan even in a rules. Intermittently good children can form notions. Negative, likely sectors open even devices. Invisible,','Home','glassware',6.21,5888.76,1.71
 'AAAAAAAAJFFAAAAA','Exact jews make again regional times','Home','glassware',0.82,3742.98,1.09
 'AAAAAAAAJNMDAAAA','Reports ask as physical maps; keen, temporary hotels would stick now direct details. Only, notable developments ought to hear technically ruling forces; at least ','Home','glassware',4.60,4751.98,1.38
 'AAAAAAAAKHECAAAA','Only, subsequent minerals should exist just f','Home','glassware',4.69,335.94,0.10
@@ -1370,7 +1370,7 @@ order by i_category,
 'AAAAAAAAMKGBAAAA','So white republics squeeze however new days; effectively whole minutes cannot give more never alternative years. Natural changes would disc','Home','kids',1.23,2680.86,1.08
 'AAAAAAAAMLJAAAAA','Industrial funds must stuff now weak men;','Home','kids',5.61,829.95,0.33
 'AAAAAAAAMOIAAAAA','Small, awful foods may not want only successful, succes','Home','kids',1.56,1571.80,0.63
-'AAAAAAAANABCAAAA',','Home','kids',0.59,739.06,0.30
+'AAAAAAAANABCAAAA','Democrats follow mostly available,','Home','kids',0.59,739.06,0.30
 'AAAAAAAANCNDAAAA','Satisfactory, serious workers would come previous, africa','Home','kids',3.18,236.88,0.10
 'AAAAAAAAOGMAAAAA','Rich, deep types go. Safe premises differ particul','Home','kids',5.55,11810.32,4.75
 'AAAAAAAAOMIBAAAA','Bad files make below bad occasions. Local days grow now for a years. Only royal years should look again correct fears. Creatures seem new conditions. Trials keep. Branches wa','Home','kids',9.13,2346.24,0.94
@@ -1446,7 +1446,7 @@ order by i_category,
 'AAAAAAAAEFHDAAAA','Female birds like still years; ','Home','mattresses',2.27,2342.50,0.69
 'AAAAAAAAEGADAAAA','Individuals act. Merely other phrases notice on a sanctions. Courses can embody. Relatively creative subjects hear very at a letters; financial, useful eyes c','Home','mattresses',6.23,1991.78,0.58
 'AAAAAAAAEGDDAAAA','Just personal gardens love other services. Catholic years judge so. Other, other eyes improve seriously ','Home','mattresses',0.74,9278.72,2.72
-'AAAAAAAAEGOCAAAA',','Home','mattresses',1.44,7748.63,2.27
+'AAAAAAAAEGOCAAAA','Primary sentences go in a arguments; eventually tiny shows should see. Very present parents say however equal, visible markets. Other,','Home','mattresses',1.44,7748.63,2.27
 'AAAAAAAAELDCAAAA','Lucky, new buses place aged a packages; new forces','Home','mattresses',2.33,4153.52,1.22
 'AAAAAAAAENLAAAAA','Adverse prayers promote open, main limitations. Women cou','Home','mattresses',4.08,359.66,0.11
 'AAAAAAAAFKCCAAAA','Main conditions can form further ','Home','mattresses',7.56,9673.94,2.83
@@ -1516,7 +1516,7 @@ order by i_category,
 'AAAAAAAAFJEEAAAA','Appropriate, prime hours tell. Terms could take. Much new workers settle important, british players. Comprehensive tonnes will eat nearby. Due dec','Home','paint',2.04,6542.21,1.65
 'AAAAAAAAFKICAAAA','Later significant pages cannot unite occasionally. Please complete lives get mentally most exotic results. Ever av','Home','paint',5.30,5257.76,1.33
 'AAAAAAAAFLADAAAA','Psychiatric scientists may not stay hopelessly. Full directors surrender really worldwide long days. Bright, shallow orders enjoy to the activities. Economic roads must not notice at least tall rules','Home','paint',2.48,8106.68,2.05
-'AAAAAAAAGAOAAAAA',','Home','paint',8.52,4345.24,1.10
+'AAAAAAAAGAOAAAAA','Only impossible words should not talk faintly forms. Economic companies could become really rough practices. Very philosophical heads used to show. Weak requests discover too for a moments. Political,','Home','paint',8.52,4345.24,1.10
 'AAAAAAAAGCDAAAAA','Subsequently full views add still considerable changes. Extra names suffer conservatives. So odd hours work just real standard','Home','paint',2.01,5022.61,1.27
 'AAAAAAAAHCBDAAAA','Then great bombs used to explain more direct social problems. In addition early increases put lately. Gay ','Home','paint',0.43,8312.15,2.10
 'AAAAAAAAHCEDAAAA','Open accounts hear as well possible proteins. Industrial forces could pay favo','Home','paint',1.47,644.70,0.16
@@ -1587,7 +1587,7 @@ order by i_category,
 'AAAAAAAAMBMBAAAA','Revolutionary rules help abroad in a details. Only, new studies get hidden, special ends. B','Home','rugs',5.98,3690.40,1.30
 'AAAAAAAAMGCDAAAA','Economic, british tables succumb on a heads; only, growing members might turn centres. International, future sectors develop well for a communities. Strange pairs spend better. Warm, detaile','Home','rugs',7.58,10034.32,3.54
 'AAAAAAAAMHCBAAAA','Problems protect followers. Particular, particular controls can consider later wide, high risks. Bars would consider always social markets. New instructions may sit initial terms; farm','Home','rugs',6.45,935.52,0.33
-'AAAAAAAAMLBBAAAA',','Home','rugs',4.23,4935.30,1.74
+'AAAAAAAAMLBBAAAA','Years compensate gold,','Home','rugs',4.23,4935.30,1.74
 'AAAAAAAAMMNDAAAA','Only brown things can see difficult, soviet weekends. Ever large uses bring more for a years. Difficulties pick literally clearly other occasions. ','Home','rugs',11.64,4250.06,1.50
 'AAAAAAAANCCCAAAA','Faces would not read ever professional girls. Complete, briti','Home','rugs',6.73,560.91,0.20
 'AAAAAAAANKBEAAAA','Dry, friendly situations ask thus grey floors. Letters must discuss steep chapters. Members act ago on a feet. Standards exploit sounds. Arguments shall come','Home','rugs',4.77,3898.57,1.37
@@ -1624,7 +1624,7 @@ order by i_category,
 'AAAAAAAAGJFCAAAA','Fundamental posts simulate importa','Home','tables',7.66,1061.84,0.57
 'AAAAAAAAHIHDAAAA','So damp tests imagine resources. Innocently prime developments shall work small pl','Home','tables',0.61,1037.44,0.56
 'AAAAAAAAHNNBAAAA','Centuries must envisage already things. Officials take both for a sectors. Exact tears may not restore only rich inches; difficulties could speak physical families','Home','tables',3.97,1175.37,0.63
-'AAAAAAAAIDEBAAAA',','Home','tables',4.97,3815.57,2.05
+'AAAAAAAAIDEBAAAA','Banks think very large,','Home','tables',4.97,3815.57,2.05
 'AAAAAAAAIKHAAAAA','Pictures cannot get advantages. Roman, difficult issues shift easy. Guidelines rouse just all actual hours. Coherent, main days acknowledge forward previous ','Home','tables',0.48,415.84,0.22
 'AAAAAAAAIMBBAAAA','Single hours ought to say. Sources would contribute civil rivers. Good, central patients put too to the spirits. Sho','Home','tables',4.99,1581.92,0.85
 'AAAAAAAAIPLDAAAA','New years wish also confident, unaware contents. Sound doubts will check right. Economic, potential eyes can say this welco','Home','tables',1.80,7800.06,4.19
@@ -2195,7 +2195,7 @@ order by i_category,
 'AAAAAAAACJGAAAAA','Clear types buy years. Companies used to go already. Stable, general arrangements will accept purely light','Sports','guns',7.02,9657.94,2.53
 'AAAAAAAACKABAAAA','Determined roads might lea','Sports','guns',2.31,5344.12,1.40
 'AAAAAAAACLDBAAAA','Little poor markets wriggle commonly roughly strategic times. Able securities can handle involuntarily thus other rates; then famous pri','Sports','guns',2.21,1187.63,0.31
-'AAAAAAAACLHAAAAA',','Sports','guns',7.03,7246.86,1.90
+'AAAAAAAACLHAAAAA','Huge, private situations ought to back by an marks. Girls can come also local,','Sports','guns',7.03,7246.86,1.90
 'AAAAAAAADKLBAAAA','Public, legal languages might get easier easily regular towns. Very different children fulfil virtually tiles. Everyday, fresh numbers look only large, sole companies','Sports','guns',9.11,4695.99,1.23
 'AAAAAAAAECICAAAA','Old, n','Sports','guns',1.37,6973.14,1.83
 'AAAAAAAAEHCBAAAA','Devices know also so normal waters. Labour times say. Teachers tell ','Sports','guns',0.26,2073.30,0.54
@@ -2211,7 +2211,7 @@ order by i_category,
 'AAAAAAAAILBDAAAA','Financial, italian wages kno','Sports','guns',5.30,7381.49,1.93
 'AAAAAAAAIMMCAAAA','Rows cannot give then magnetic children. Children join again very labour neighbours. Ways shoot. Horses could prepare little to a heels. Residential, stable issues disappear automaticall','Sports','guns',31.00,8425.76,2.21
 'AAAAAAAAINFDAAAA','New eyes change political, new activities.','Sports','guns',9.10,11138.94,2.92
-'AAAAAAAAJOODAAAA',','Sports','guns',3.77,173.24,0.05
+'AAAAAAAAJOODAAAA','Likely personnel will not produce in an guidelines; freely tory sanctions give most pp.. Cases may let never players. Appropriate,','Sports','guns',3.77,173.24,0.05
 'AAAAAAAAKBHCAAAA','New, british politicians fail particularly in a things. Personal books get; as political nig','Sports','guns',1.17,13290.11,3.48
 'AAAAAAAAKFLDAAAA','Days must appear kindly familiar hands. Too negative systems cannot skip existi','Sports','guns',3.00,8788.60,2.30
 'AAAAAAAALFOBAAAA','About british reasons will draw occasionally practitioners. New attempts shall display in private private, major magazines. Questions dare on a losses. As american children take upwards good symptom','Sports','guns',72.70,6798.49,1.78
@@ -2465,7 +2465,7 @@ order by i_category,
 'AAAAAAAABEPCAAAA','Good, white children shall know also prime creatures. Big pockets take; often coming stands notice substantially warm parents. Small points sha','Sports','sailing',8.09,7948.33,3.07
 'AAAAAAAACBMBAAAA','Ca','Sports','sailing',0.93,1188.60,0.46
 'AAAAAAAACEKBAAAA','English, familiar details may','Sports','sailing',35.26,912.12,0.35
-'AAAAAAAACLIBAAAA',','Sports','sailing',4.04,9506.48,3.68
+'AAAAAAAACLIBAAAA','Close,','Sports','sailing',4.04,9506.48,3.68
 'AAAAAAAADGGBAAAA','Forward students can involve there aware lawyers. Scientifically costly achievements could involve sta','Sports','sailing',1.09,1670.72,0.65
 'AAAAAAAAEIFAAAAA','New girls reach exactly; only additional students wil','Sports','sailing',3.94,7390.63,2.86
 'AAAAAAAAEKGAAAAA','Good, dependent houses can prevent different eyes. Spiritual, new ministers tell new difficulties; customers will encourage over busy relations. Modern, substantial far','Sports','sailing',1.58,4598.55,1.78
@@ -2520,8 +2520,8 @@ order by i_category,
 'AAAAAAAAEFFCAAAA','Animals cannot make most sides; just wealthy babies could fulfil as before a records. Now literary results used to say human, unique genes. Bo','Sports','tennis',4.85,1131.00,0.39
 'AAAAAAAAEKIAAAAA','Unlikely letters inhibit only jobs. Brightly hard procedures might eat mainly complex odd tories. Powers would not achieve too dem','Sports','tennis',2.51,5191.75,1.79
 'AAAAAAAAEPHCAAAA','Equally adequate schools obtain for a commentators. Women would keep suddenly systems. Disastrous, old authorities enforc','Sports','tennis',0.23,942.98,0.33
-'AAAAAAAAFEMBAAAA',','Sports','tennis',99.85,3415.62,1.18
-'AAAAAAAAFHNDAAAA',','Sports','tennis',4.86,6685.68,2.31
+'AAAAAAAAFEMBAAAA','Natural hands will see almost simple, alone seconds. Regulations shall impress white,','Sports','tennis',99.85,3415.62,1.18
+'AAAAAAAAFHNDAAAA','Machines cannot fit too successive levels. Inner, european eyes could call now misleading,','Sports','tennis',4.86,6685.68,2.31
 'AAAAAAAAGGFDAAAA','Bad, various p','Sports','tennis',8.16,10783.34,3.72
 'AAAAAAAAGNHDAAAA','Economic standards shall bring even strong measures. More main improvements want ','Sports','tennis',4.72,216.30,0.07
 'AAAAAAAAHJOBAAAA','Highly local li','Sports','tennis',9.81,16310.70,5.63

http://git-wip-us.apache.org/repos/asf/impala/blob/85166afa/tests/common/test_result_verifier.py
----------------------------------------------------------------------
diff --git a/tests/common/test_result_verifier.py b/tests/common/test_result_verifier.py
index 285b875..81d6033 100644
--- a/tests/common/test_result_verifier.py
+++ b/tests/common/test_result_verifier.py
@@ -26,7 +26,7 @@ from tests.util.test_file_parser import (join_section_lines, remove_comments,
     split_section_lines)
 from tests.util.hdfs_util import NAMENODE
 
-LOG = logging.getLogger('test_result_verfier')
+LOG = logging.getLogger('test_result_verifier')
 
 # Special prefix for column values that indicates the actual column value
 # is equal to the expected one if the actual value matches the given regex.
@@ -91,29 +91,40 @@ class ResultRow(object):
       return column_values
     string_val = None
     current_column = 0
-    for col_val in row_string.split(','):
-      # This is a bit tricky because we need to handle the case where a comma may be in
-      # the middle of a string. We detect this by finding a split that starts with an
-      # opening string character but that doesn't end in a string character. It is
-      # possible for the first character to be a single-quote, so handle that case
-      if (col_val.startswith("'") and not col_val.endswith("'")) or (col_val == "'"):
-        string_val = col_val
-        continue
 
-      if string_val is not None:
-        string_val += ',' + col_val
-        if col_val.endswith("'"):
-          col_val = string_val
-          string_val = None
-        else:
-          continue
+    for i, col_val in enumerate(self.__tokenize_row(row_string)):
       assert current_column < len(column_types),\
           'Number of columns returned > the number of column types: %s' % column_types
-      column_values.append(ResultColumn(col_val, column_types[current_column],
-          column_labels[current_column]))
-      current_column = current_column + 1
+      column_values.append(ResultColumn(col_val, column_types[i], column_labels[i]))
     return column_values
 
+  def __tokenize_row(self, row_string):
+    """Break the comma-separated row up into values. Commas inside single-quoted string
+    values are not treated as value separates. Two single quotes inside a single-quoted
+    string is escaped to a single quote."""
+    col_vals = []
+    in_quotes = False
+    curr_val_chars = []
+    i = 0
+    while i < len(row_string):
+      c = row_string[i]
+      if not in_quotes and c == ",":
+        col_vals.append(''.join(curr_val_chars))
+        curr_val_chars = []
+      else:
+        curr_val_chars.append(c)
+        if c == "'":
+          if in_quotes and i + 1 < len(row_string) and row_string[i + 1] == "'":
+            # Double single-quote escape - combine the two quotes.
+            i += 1
+          else:
+            in_quotes = not in_quotes
+      i += 1
+    assert not in_quotes, "Unclosed quote in row:\n{0}".format(row_string)
+    # Append the last value in the row, which does not have a trailing comma.
+    col_vals.append(''.join(curr_val_chars))
+    return col_vals
+
   def __getitem__(self, key):
     """Allows accessing a column value using the column alias or the position of the
     column in the result set. All values are returned as strings and an exception is
@@ -473,6 +484,8 @@ def parse_result_rows(exec_result):
     for i in xrange(len(cols)):
       if col_types[i] in ['STRING', 'CHAR', 'VARCHAR']:
         col = cols[i].encode('unicode_escape')
+        # Escape single quotes to match .test file format.
+        col = col.replace("'", "''")
         new_cols.append("'%s'" % col)
       else:
         new_cols.append(cols[i])

http://git-wip-us.apache.org/repos/asf/impala/blob/85166afa/tests/query_test/test_exprs.py
----------------------------------------------------------------------
diff --git a/tests/query_test/test_exprs.py b/tests/query_test/test_exprs.py
index 90fd207..eb50ee7 100644
--- a/tests/query_test/test_exprs.py
+++ b/tests/query_test/test_exprs.py
@@ -62,6 +62,12 @@ class TestExprs(ImpalaTestSuite):
     current_db = self.execute_scalar('select current_database()', vector=vector)
     assert current_db == QueryTestSectionReader.get_db_name(table_format)
 
+  def test_special_strings(self, vector):
+    """Test handling of expressions with "special" strings."""
+    vector.get_value('exec_option')['enable_expr_rewrites'] = \
+        vector.get_value('enable_expr_rewrites')
+    self.run_test_case('QueryTest/special-strings', vector)
+
 # Tests very deep expression trees and expressions with many children. Impala defines
 # a 'safe' upper bound on the expr depth and the number of expr children in the
 # FE Expr.java and any changes to those limits should be reflected in this test.