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 2016/07/28 05:05:23 UTC

[1/4] incubator-impala git commit: Enable TPC-H workload for Kudu tables

Repository: incubator-impala
Updated Branches:
  refs/heads/master a7963e6b0 -> c1d70f814


http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/6fbd35fa/testdata/workloads/tpch/queries/tpch-kudu-q17.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/tpch/queries/tpch-kudu-q17.test b/testdata/workloads/tpch/queries/tpch-kudu-q17.test
new file mode 100644
index 0000000..81f9d35
--- /dev/null
+++ b/testdata/workloads/tpch/queries/tpch-kudu-q17.test
@@ -0,0 +1,25 @@
+====
+---- QUERY: TPCH-Q17
+# Q17 - Small-Quantity-Order Revenue Query
+select
+  round(sum(l_extendedprice) / 7.0, 2) as avg_yearly
+from
+  lineitem,
+  part
+where
+  p_partkey = l_partkey
+  and p_brand = 'Brand#23'
+  and p_container = 'MED BOX'
+  and l_quantity < (
+    select
+      round(0.2 * avg(l_quantity), 2)
+    from
+      lineitem
+    where
+      l_partkey = p_partkey
+  )
+---- RESULTS
+348406.05
+---- TYPES
+double
+====
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/6fbd35fa/testdata/workloads/tpch/queries/tpch-kudu-q18.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/tpch/queries/tpch-kudu-q18.test b/testdata/workloads/tpch/queries/tpch-kudu-q18.test
new file mode 100644
index 0000000..fc8f306
--- /dev/null
+++ b/testdata/workloads/tpch/queries/tpch-kudu-q18.test
@@ -0,0 +1,98 @@
+====
+---- QUERY: TPCH-Q18
+# Q18 - Large Value Customer Query
+select
+  c_name,
+  c_custkey,
+  o_orderkey,
+  o_orderdate,
+  o_totalprice,
+  round(sum(l_quantity), 2)
+from
+  customer,
+  orders,
+  lineitem
+where
+  o_orderkey in (
+    select
+      l_orderkey
+    from
+      lineitem
+    group by
+      l_orderkey
+    having
+      sum(l_quantity) > 300
+    )
+  and c_custkey = o_custkey
+  and o_orderkey = l_orderkey
+group by
+  c_name,
+  c_custkey,
+  o_orderkey,
+  o_orderdate,
+  o_totalprice
+order by
+  o_totalprice desc,
+  o_orderdate
+limit 100
+---- RESULTS
+'Customer#000128120',128120,4722021,'1994-04-07',544089.09,323
+'Customer#000144617',144617,3043270,'1997-02-12',530604.4399999999,317
+'Customer#000013940',13940,2232932,'1997-04-13',522720.61,304
+'Customer#000066790',66790,2199712,'1996-09-30',515531.82,327
+'Customer#000046435',46435,4745607,'1997-07-03',508047.99,309
+'Customer#000015272',15272,3883783,'1993-07-28',500241.33,302
+'Customer#000146608',146608,3342468,'1994-06-12',499794.58,303
+'Customer#000096103',96103,5984582,'1992-03-16',494398.79,312
+'Customer#000024341',24341,1474818,'1992-11-15',491348.26,302
+'Customer#000137446',137446,5489475,'1997-05-23',487763.25,311
+'Customer#000107590',107590,4267751,'1994-11-04',485141.38,301
+'Customer#000050008',50008,2366755,'1996-12-09',483891.26,302
+'Customer#000015619',15619,3767271,'1996-08-07',480083.96,318
+'Customer#000077260',77260,1436544,'1992-09-12',479499.43,307
+'Customer#000109379',109379,5746311,'1996-10-10',478064.11,302
+'Customer#000054602',54602,5832321,'1997-02-09',471220.08,307
+'Customer#000105995',105995,2096705,'1994-07-03',469692.58,307
+'Customer#000148885',148885,2942469,'1992-05-31',469630.44,313
+'Customer#000114586',114586,551136,'1993-05-19',469605.59,308
+'Customer#000105260',105260,5296167,'1996-09-06',469360.57,303
+'Customer#000147197',147197,1263015,'1997-02-02',467149.67,320
+'Customer#000064483',64483,2745894,'1996-07-04',466991.35,304
+'Customer#000136573',136573,2761378,'1996-05-31',461282.73,301
+'Customer#000016384',16384,502886,'1994-04-12',458378.92,312
+'Customer#000117919',117919,2869152,'1996-06-20',456815.92,317
+'Customer#000012251',12251,735366,'1993-11-24',455107.26,309
+'Customer#000120098',120098,1971680,'1995-06-14',453451.23,308
+'Customer#000066098',66098,5007490,'1992-08-07',453436.16,304
+'Customer#000117076',117076,4290656,'1997-02-05',449545.85,301
+'Customer#000129379',129379,4720454,'1997-06-07',448665.79,303
+'Customer#000126865',126865,4702759,'1994-11-07',447606.65,320
+'Customer#000088876',88876,983201,'1993-12-30',446717.46,304
+'Customer#000036619',36619,4806726,'1995-01-17',446704.09,328
+'Customer#000141823',141823,2806245,'1996-12-29',446269.12,310
+'Customer#000053029',53029,2662214,'1993-08-13',446144.49,302
+'Customer#000018188',18188,3037414,'1995-01-25',443807.22,308
+'Customer#000066533',66533,29158,'1995-10-21',443576.5,305
+'Customer#000037729',37729,4134341,'1995-06-29',441082.97,309
+'Customer#000003566',3566,2329187,'1998-01-04',439803.36,304
+'Customer#000045538',45538,4527553,'1994-05-22',436275.31,305
+'Customer#000081581',81581,4739650,'1995-11-04',435405.9,305
+'Customer#000119989',119989,1544643,'1997-09-20',434568.25,320
+'Customer#000003680',3680,3861123,'1998-07-03',433525.97,301
+'Customer#000113131',113131,967334,'1995-12-15',432957.75,301
+'Customer#000141098',141098,565574,'1995-09-24',430986.69,301
+'Customer#000093392',93392,5200102,'1997-01-22',425487.51,304
+'Customer#000015631',15631,1845057,'1994-05-12',419879.59,302
+'Customer#000112987',112987,4439686,'1996-09-17',418161.49,305
+'Customer#000012599',12599,4259524,'1998-02-12',415200.61,304
+'Customer#000105410',105410,4478371,'1996-03-05',412754.51,302
+'Customer#000149842',149842,5156581,'1994-05-30',411329.35,302
+'Customer#000010129',10129,5849444,'1994-03-21',409129.85,309
+'Customer#000069904',69904,1742403,'1996-10-19',408513,305
+'Customer#000017746',17746,6882,'1997-04-09',408446.93,303
+'Customer#000013072',13072,1481925,'1998-03-15',399195.47,301
+'Customer#000082441',82441,857959,'1994-02-07',382579.74,305
+'Customer#000088703',88703,2995076,'1994-01-30',363812.12,302
+---- TYPES
+STRING, BIGINT, BIGINT, STRING, DOUBLE, DOUBLE
+====
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/6fbd35fa/testdata/workloads/tpch/queries/tpch-kudu-q19.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/tpch/queries/tpch-kudu-q19.test b/testdata/workloads/tpch/queries/tpch-kudu-q19.test
new file mode 100644
index 0000000..7254390
--- /dev/null
+++ b/testdata/workloads/tpch/queries/tpch-kudu-q19.test
@@ -0,0 +1,43 @@
+====
+---- QUERY: TPCH-Q19
+# Q19 - Discounted Revenue Query
+select
+  round(sum(l_extendedprice * (1 - l_discount)), 2) as revenue
+from
+  lineitem,
+  part
+where
+  p_partkey = l_partkey
+  and (
+    (
+      p_brand = 'Brand#12'
+      and p_container in ('SM CASE', 'SM BOX', 'SM PACK', 'SM PKG')
+      and l_quantity >= 1 and l_quantity <= 11
+      and p_size between 1 and 5
+      and l_shipmode in ('AIR', 'AIR REG')
+      and l_shipinstruct = 'DELIVER IN PERSON'
+    )
+    or
+    (
+      p_brand = 'Brand#23'
+      and p_container in ('MED BAG', 'MED BOX', 'MED PKG', 'MED PACK')
+      and l_quantity >= 10 and l_quantity <= 20
+      and p_size between 1 and 10
+      and l_shipmode in ('AIR', 'AIR REG')
+      and l_shipinstruct = 'DELIVER IN PERSON'
+    )
+    or
+    (
+      p_brand = 'Brand#34'
+      and p_container in ('LG CASE', 'LG BOX', 'LG PACK', 'LG PKG')
+      and l_quantity >= 20 and l_quantity <= 30
+      and p_size between 1 and 15
+      and l_shipmode in ('AIR', 'AIR REG')
+      and l_shipinstruct = 'DELIVER IN PERSON'
+    )
+  )
+---- RESULTS
+3083843.06
+---- TYPES
+double
+====
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/6fbd35fa/testdata/workloads/tpch/queries/tpch-kudu-q2.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/tpch/queries/tpch-kudu-q2.test b/testdata/workloads/tpch/queries/tpch-kudu-q2.test
new file mode 100644
index 0000000..2a3b7f6
--- /dev/null
+++ b/testdata/workloads/tpch/queries/tpch-kudu-q2.test
@@ -0,0 +1,151 @@
+====
+---- QUERY: TPCH-Q2
+# Q2 - Minimum Cost Supplier Query
+select
+  round(s_acctbal, 2),
+  s_name,
+  n_name,
+  p_partkey,
+  p_mfgr,
+  s_address,
+  s_phone,
+  s_comment
+from
+  part,
+  supplier,
+  partsupp,
+  nation,
+  region
+where
+  p_partkey = ps_partkey
+  and s_suppkey = ps_suppkey
+  and p_size = 15
+  and p_type like '%BRASS'
+  and s_nationkey = n_nationkey
+  and n_regionkey = r_regionkey
+  and r_name = 'EUROPE'
+  and ps_supplycost = (
+    select
+      min(ps_supplycost)
+    from
+      partsupp,
+      supplier,
+      nation,
+      region
+    where
+      p_partkey = ps_partkey
+      and s_suppkey = ps_suppkey
+      and s_nationkey = n_nationkey
+      and n_regionkey = r_regionkey
+      and r_name = 'EUROPE'
+    )
+order by
+  s_acctbal desc,
+  n_name,
+  s_name,
+  p_partkey
+limit 100
+---- RESULTS
+9938.530000000001,'Supplier#000005359','UNITED KINGDOM',185358,'Manufacturer#4','QKuHYh,vZGiwu2FWEJoLDx04','33-429-790-6131','uriously regular requests hag'
+9937.84,'Supplier#000005969','ROMANIA',108438,'Manufacturer#1','ANDENSOSmk,miq23Xfb5RWt6dvUcvt6Qa','29-520-692-3537','efully express instructions. regular requests against the slyly fin'
+9936.219999999999,'Supplier#000005250','UNITED KINGDOM',249,'Manufacturer#4','B3rqp0xbSEim4Mpy2RH J','33-320-228-2957','etect about the furiously final accounts. slyly ironic pinto beans sleep inside the furiously'
+9923.77,'Supplier#000002324','GERMANY',29821,'Manufacturer#4','y3OD9UywSTOk','17-779-299-1839','ackages boost blithely. blithely regular deposits c'
+9871.219999999999,'Supplier#000006373','GERMANY',43868,'Manufacturer#5','J8fcXWsTqM','17-813-485-8637','etect blithely bold asymptotes. fluffily ironic platelets wake furiously; blit'
+9870.780000000001,'Supplier#000001286','GERMANY',81285,'Manufacturer#2','YKA,E2fjiVd7eUrzp2Ef8j1QxGo2DFnosaTEH','17-516-924-4574',' regular accounts. furiously unusual courts above the fi'
+9870.780000000001,'Supplier#000001286','GERMANY',181285,'Manufacturer#4','YKA,E2fjiVd7eUrzp2Ef8j1QxGo2DFnosaTEH','17-516-924-4574',' regular accounts. furiously unusual courts above the fi'
+9852.52,'Supplier#000008973','RUSSIA',18972,'Manufacturer#2','t5L67YdBYYH6o,Vz24jpDyQ9','32-188-594-7038','rns wake final foxes. carefully unusual depende'
+9847.83,'Supplier#000008097','RUSSIA',130557,'Manufacturer#2','xMe97bpE69NzdwLoX','32-375-640-3593',' the special excuses. silent sentiments serve carefully final ac'
+9847.57,'Supplier#000006345','FRANCE',86344,'Manufacturer#1','VSt3rzk3qG698u6ld8HhOByvrTcSTSvQlDQDag','16-886-766-7945','ges. slyly regular requests are. ruthless, express excuses cajole blithely across the unu'
+9847.57,'Supplier#000006345','FRANCE',173827,'Manufacturer#2','VSt3rzk3qG698u6ld8HhOByvrTcSTSvQlDQDag','16-886-766-7945','ges. slyly regular requests are. ruthless, express excuses cajole blithely across the unu'
+9836.93,'Supplier#000007342','RUSSIA',4841,'Manufacturer#4','JOlK7C1,7xrEZSSOw','32-399-414-5385','blithely carefully bold theodolites. fur'
+9817.1,'Supplier#000002352','RUSSIA',124815,'Manufacturer#2','4LfoHUZjgjEbAKw TgdKcgOc4D4uCYw','32-551-831-1437','wake carefully alongside of the carefully final ex'
+9817.1,'Supplier#000002352','RUSSIA',152351,'Manufacturer#3','4LfoHUZjgjEbAKw TgdKcgOc4D4uCYw','32-551-831-1437','wake carefully alongside of the carefully final ex'
+9739.860000000001,'Supplier#000003384','FRANCE',138357,'Manufacturer#2','o,Z3v4POifevE k9U1b 6J1ucX,I','16-494-913-5925','s after the furiously bold packages sleep fluffily idly final requests: quickly final'
+9721.950000000001,'Supplier#000008757','UNITED KINGDOM',156241,'Manufacturer#3','Atg6GnM4dT2','33-821-407-2995','eep furiously sauternes; quickl'
+9681.33,'Supplier#000008406','RUSSIA',78405,'Manufacturer#1',',qUuXcftUl','32-139-873-8571','haggle slyly regular excuses. quic'
+9643.549999999999,'Supplier#000005148','ROMANIA',107617,'Manufacturer#1','kT4ciVFslx9z4s79p Js825','29-252-617-4850','final excuses. final ideas boost quickly furiously speci'
+9624.82,'Supplier#000001816','FRANCE',34306,'Manufacturer#3','e7vab91vLJPWxxZnewmnDBpDmxYHrb','16-392-237-6726','e packages are around the special ideas. special, pending foxes us'
+9624.780000000001,'Supplier#000009658','ROMANIA',189657,'Manufacturer#1','oE9uBgEfSS4opIcepXyAYM,x','29-748-876-2014','ronic asymptotes wake bravely final'
+9612.940000000001,'Supplier#000003228','ROMANIA',120715,'Manufacturer#2','KDdpNKN3cWu7ZSrbdqp7AfSLxx,qWB','29-325-784-8187','warhorses. quickly even deposits sublate daringly ironic instructions. slyly blithe t'
+9612.940000000001,'Supplier#000003228','ROMANIA',198189,'Manufacturer#4','KDdpNKN3cWu7ZSrbdqp7AfSLxx,qWB','29-325-784-8187','warhorses. quickly even deposits sublate daringly ironic instructions. slyly blithe t'
+9571.83,'Supplier#000004305','ROMANIA',179270,'Manufacturer#2','qNHZ7WmCzygwMPRDO9Ps','29-973-481-1831','kly carefully express asymptotes. furiou'
+9558.1,'Supplier#000003532','UNITED KINGDOM',88515,'Manufacturer#4','EOeuiiOn21OVpTlGguufFDFsbN1p0lhpxHp','33-152-301-2164',' foxes. quickly even excuses use. slyly special foxes nag bl'
+9492.790000000001,'Supplier#000005975','GERMANY',25974,'Manufacturer#5','S6mIiCTx82z7lV','17-992-579-4839','arefully pending accounts. blithely regular excuses boost carefully carefully ironic p'
+9461.049999999999,'Supplier#000002536','UNITED KINGDOM',20033,'Manufacturer#1','8mmGbyzaU 7ZS2wJumTibypncu9pNkDc4FYA','33-556-973-5522','. slyly regular deposits wake slyly. furiously regular warthogs are.'
+9453.01,'Supplier#000000802','ROMANIA',175767,'Manufacturer#1',',6HYXb4uaHITmtMBj4Ak57Pd','29-342-882-6463','gular frets. permanently special multipliers believe blithely alongs'
+9408.65,'Supplier#000007772','UNITED KINGDOM',117771,'Manufacturer#4','AiC5YAH,gdu0i7','33-152-491-1126','nag against the final requests. furiously unusual packages cajole blit'
+9359.610000000001,'Supplier#000004856','ROMANIA',62349,'Manufacturer#5','HYogcF3Jb yh1','29-334-870-9731','y ironic theodolites. blithely sile'
+9357.450000000001,'Supplier#000006188','UNITED KINGDOM',138648,'Manufacturer#1','g801,ssP8wpTk4Hm','33-583-607-1633','ously always regular packages. fluffily even accounts beneath the furiously final pack'
+9352.040000000001,'Supplier#000003439','GERMANY',170921,'Manufacturer#4','qYPDgoiBGhCYxjgC','17-128-996-4650',' according to the carefully bold ideas'
+9312.969999999999,'Supplier#000007807','RUSSIA',90279,'Manufacturer#5','oGYMPCk9XHGB2PBfKRnHA','32-673-872-5854','ecial packages among the pending, even requests use regula'
+9312.969999999999,'Supplier#000007807','RUSSIA',100276,'Manufacturer#5','oGYMPCk9XHGB2PBfKRnHA','32-673-872-5854','ecial packages among the pending, even requests use regula'
+9280.27,'Supplier#000007194','ROMANIA',47193,'Manufacturer#3','zhRUQkBSrFYxIAXTfInj vyGRQjeK','29-318-454-2133','o beans haggle after the furiously unusual deposits. carefully silent dolphins cajole carefully'
+9274.799999999999,'Supplier#000008854','RUSSIA',76346,'Manufacturer#3','1xhLoOUM7I3mZ1mKnerw OSqdbb4QbGa','32-524-148-5221','y. courts do wake slyly. carefully ironic platelets haggle above the slyly regular the'
+9249.35,'Supplier#000003973','FRANCE',26466,'Manufacturer#1','d18GiDsL6Wm2IsGXM,RZf1jCsgZAOjNYVThTRP4','16-722-866-1658','uests are furiously. regular tithes through the regular, final accounts cajole furiously above the q'
+9249.35,'Supplier#000003973','FRANCE',33972,'Manufacturer#1','d18GiDsL6Wm2IsGXM,RZf1jCsgZAOjNYVThTRP4','16-722-866-1658','uests are furiously. regular tithes through the regular, final accounts cajole furiously above the q'
+9208.700000000001,'Supplier#000007769','ROMANIA',40256,'Manufacturer#5','rsimdze 5o9P Ht7xS','29-964-424-9649','lites was quickly above the furiously ironic requests. slyly even foxes against the blithely bold '
+9201.469999999999,'Supplier#000009690','UNITED KINGDOM',67183,'Manufacturer#5','CB BnUTlmi5zdeEl7R7','33-121-267-9529','e even, even foxes. blithely ironic packages cajole regular packages. slyly final ide'
+9192.1,'Supplier#000000115','UNITED KINGDOM',85098,'Manufacturer#3','nJ 2t0f7Ve,wL1,6WzGBJLNBUCKlsV','33-597-248-1220','es across the carefully express accounts boost caref'
+9189.98,'Supplier#000001226','GERMANY',21225,'Manufacturer#4','qsLCqSvLyZfuXIpjz','17-725-903-1381',' deposits. blithely bold excuses about the slyly bold forges wake '
+9128.969999999999,'Supplier#000004311','RUSSIA',146768,'Manufacturer#5','I8IjnXd7NSJRs594RxsRR0','32-155-440-7120','refully. blithely unusual asymptotes haggle '
+9104.83,'Supplier#000008520','GERMANY',150974,'Manufacturer#4','RqRVDgD0ER J9 b41vR2,3','17-728-804-1793','ly about the blithely ironic depths. slyly final theodolites among the fluffily bold ideas print'
+9101,'Supplier#000005791','ROMANIA',128254,'Manufacturer#5','zub2zCV,jhHPPQqi,P2INAjE1zI n66cOEoXFG','29-549-251-5384','ts. notornis detect blithely above the carefully bold requests. blithely even package'
+9094.57,'Supplier#000004582','RUSSIA',39575,'Manufacturer#1','WB0XkCSG3r,mnQ n,h9VIxjjr9ARHFvKgMDf','32-587-577-1351','jole. regular accounts sleep blithely frets. final pinto beans play furiously past the '
+8996.870000000001,'Supplier#000004702','FRANCE',102191,'Manufacturer#5','8XVcQK23akp','16-811-269-8946','ickly final packages along the express plat'
+8996.139999999999,'Supplier#000009814','ROMANIA',139813,'Manufacturer#2','af0O5pg83lPU4IDVmEylXZVqYZQzSDlYLAmR','29-995-571-8781',' dependencies boost quickly across the furiously pending requests! unusual dolphins play sl'
+8968.42,'Supplier#000010000','ROMANIA',119999,'Manufacturer#5','aTGLEusCiL4F PDBdv665XBJhPyCOB0i','29-578-432-2146','ly regular foxes boost slyly. quickly special waters boost carefully ironi'
+8936.82,'Supplier#000007043','UNITED KINGDOM',109512,'Manufacturer#1','FVajceZInZdbJE6Z9XsRUxrUEpiwHDrOXi,1Rz','33-784-177-8208','efully regular courts. furiousl'
+8929.42,'Supplier#000008770','FRANCE',173735,'Manufacturer#4','R7cG26TtXrHAP9 HckhfRi','16-242-746-9248','cajole furiously unusual requests. quickly stealthy requests are. '
+8920.59,'Supplier#000003967','ROMANIA',26460,'Manufacturer#1','eHoAXe62SY9','29-194-731-3944','aters. express, pending instructions sleep. brave, r'
+8920.59,'Supplier#000003967','ROMANIA',173966,'Manufacturer#2','eHoAXe62SY9','29-194-731-3944','aters. express, pending instructions sleep. brave, r'
+8913.959999999999,'Supplier#000004603','UNITED KINGDOM',137063,'Manufacturer#2','OUzlvMUr7n,utLxmPNeYKSf3T24OXskxB5','33-789-255-7342',' haggle slyly above the furiously regular pinto beans. even '
+8877.82,'Supplier#000007967','FRANCE',167966,'Manufacturer#5','A3pi1BARM4nx6R,qrwFoRPU','16-442-147-9345','ously foxes. express, ironic requests im'
+8862.24,'Supplier#000003323','ROMANIA',73322,'Manufacturer#3','W9 lYcsC9FwBqk3ItL','29-736-951-3710','ly pending ideas sleep about the furiously unu'
+8841.59,'Supplier#000005750','ROMANIA',100729,'Manufacturer#5','Erx3lAgu0g62iaHF9x50uMH4EgeN9hEG','29-344-502-5481','gainst the pinto beans. fluffily unusual dependencies affix slyly even deposits.'
+8781.709999999999,'Supplier#000003121','ROMANIA',13120,'Manufacturer#5','wNqTogx238ZYCamFb,50v,bj 4IbNFW9Bvw1xP','29-707-291-5144','s wake quickly ironic ideas'
+8754.24,'Supplier#000009407','UNITED KINGDOM',179406,'Manufacturer#4','CHRCbkaWcf5B','33-903-970-9604','e ironic requests. carefully even foxes above the furious'
+8691.059999999999,'Supplier#000004429','UNITED KINGDOM',126892,'Manufacturer#2','k,BQms5UhoAF1B2Asi,fLib','33-964-337-5038','efully express deposits kindle after the deposits. final '
+8655.99,'Supplier#000006330','RUSSIA',193810,'Manufacturer#2','UozlaENr0ytKe2w6CeIEWFWn iO3S8Rae7Ou','32-561-198-3705','symptotes use about the express dolphins. requests use after the express platelets. final, ex'
+8638.360000000001,'Supplier#000002920','RUSSIA',75398,'Manufacturer#1','Je2a8bszf3L','32-122-621-7549','ly quickly ironic requests. even requests whithout t'
+8638.360000000001,'Supplier#000002920','RUSSIA',170402,'Manufacturer#3','Je2a8bszf3L','32-122-621-7549','ly quickly ironic requests. even requests whithout t'
+8607.690000000001,'Supplier#000006003','UNITED KINGDOM',76002,'Manufacturer#2','EH9wADcEiuenM0NR08zDwMidw,52Y2RyILEiA','33-416-807-5206','ar, pending accounts. pending depende'
+8569.52,'Supplier#000005936','RUSSIA',5935,'Manufacturer#5','jXaNZ6vwnEWJ2ksLZJpjtgt0bY2a3AU','32-644-251-7916','. regular foxes nag carefully atop the regular, silent deposits. quickly regular packages '
+8564.120000000001,'Supplier#000000033','GERMANY',110032,'Manufacturer#1','gfeKpYw3400L0SDywXA6Ya1Qmq1w6YB9f3R','17-138-897-9374','n sauternes along the regular asymptotes are regularly along the '
+8553.82,'Supplier#000003979','ROMANIA',143978,'Manufacturer#4','BfmVhCAnCMY3jzpjUMy4CNWs9 HzpdQR7INJU','29-124-646-4897','ic requests wake against the blithely unusual accounts. fluffily r'
+8517.23,'Supplier#000009529','RUSSIA',37025,'Manufacturer#5','e44R8o7JAIS9iMcr','32-565-297-8775','ove the even courts. furiously special platelets '
+8517.23,'Supplier#000009529','RUSSIA',59528,'Manufacturer#2','e44R8o7JAIS9iMcr','32-565-297-8775','ove the even courts. furiously special platelets '
+8503.700000000001,'Supplier#000006830','RUSSIA',44325,'Manufacturer#4','BC4WFCYRUZyaIgchU 4S','32-147-878-5069','pades cajole. furious packages among the carefully express excuses boost furiously across th'
+8457.09,'Supplier#000009456','UNITED KINGDOM',19455,'Manufacturer#1','7SBhZs8gP1cJjT0Qf433YBk','33-858-440-4349','cing requests along the furiously unusual deposits promise among the furiously unus'
+8441.4,'Supplier#000003817','FRANCE',141302,'Manufacturer#2','hU3fz3xL78','16-339-356-5115','ely even ideas. ideas wake slyly furiously unusual instructions. pinto beans sleep ag'
+8432.889999999999,'Supplier#000003990','RUSSIA',191470,'Manufacturer#1','wehBBp1RQbfxAYDASS75MsywmsKHRVdkrvNe6m','32-839-509-9301','ep furiously. packages should have to haggle slyly across the deposits. furiously regu'
+8431.4,'Supplier#000002675','ROMANIA',5174,'Manufacturer#1','HJFStOu9R5NGPOegKhgbzBdyvrG2yh8w','29-474-643-1443','ithely express pinto beans. blithely even foxes haggle. furiously regular theodol'
+8407.040000000001,'Supplier#000005406','RUSSIA',162889,'Manufacturer#4','j7 gYF5RW8DC5UrjKC','32-626-152-4621','r the blithely regular packages. slyly ironic theodoli'
+8386.08,'Supplier#000008518','FRANCE',36014,'Manufacturer#3','2jqzqqAVe9crMVGP,n9nTsQXulNLTUYoJjEDcqWV','16-618-780-7481','blithely bold pains are carefully platelets. finally regular pinto beans sleep carefully special'
+8376.52,'Supplier#000005306','UNITED KINGDOM',190267,'Manufacturer#5','9t8Y8 QqSIsoADPt6NLdk,TP5zyRx41oBUlgoGc9','33-632-514-7931','ly final accounts sleep special, regular requests. furiously regular'
+8348.74,'Supplier#000008851','FRANCE',66344,'Manufacturer#4','nWxi7GwEbjhw1','16-796-240-2472',' boldly final deposits. regular, even instructions detect slyly. fluffily unusual pinto bea'
+8338.58,'Supplier#000007269','FRANCE',17268,'Manufacturer#4','ZwhJSwABUoiB04,3','16-267-277-4365','iously final accounts. even pinto beans cajole slyly regular'
+8328.459999999999,'Supplier#000001744','ROMANIA',69237,'Manufacturer#5','oLo3fV64q2,FKHa3p,qHnS7Yzv,ps8','29-330-728-5873','ep carefully-- even, careful packages are slyly along t'
+8307.93,'Supplier#000003142','GERMANY',18139,'Manufacturer#1','dqblvV8dCNAorGlJ','17-595-447-6026','olites wake furiously regular decoys. final requests nod '
+8231.610000000001,'Supplier#000009558','RUSSIA',192000,'Manufacturer#2','mcdgen,yT1iJDHDS5fV','32-762-137-5858',' foxes according to the furi'
+8152.61,'Supplier#000002731','ROMANIA',15227,'Manufacturer#4',' nluXJCuY1tu','29-805-463-2030',' special requests. even, regular warhorses affix among the final gr'
+8109.09,'Supplier#000009186','FRANCE',99185,'Manufacturer#1','wgfosrVPexl9pEXWywaqlBMDYYf','16-668-570-1402','tions haggle slyly about the sil'
+8102.62,'Supplier#000003347','UNITED KINGDOM',18344,'Manufacturer#5','m CtXS2S16i','33-454-274-8532','egrate with the slyly bold instructions. special foxes haggle silently among the'
+8046.07,'Supplier#000008780','FRANCE',191222,'Manufacturer#3','AczzuE0UK9osj ,Lx0Jmh','16-473-215-6395','onic platelets cajole after the regular instructions. permanently bold excuses'
+8042.09,'Supplier#000003245','RUSSIA',135705,'Manufacturer#4','Dh8Ikg39onrbOL4DyTfGw8a9oKUX3d9Y','32-836-132-8872','osits. packages cajole slyly. furiously regular deposits cajole slyly. q'
+8042.09,'Supplier#000003245','RUSSIA',150729,'Manufacturer#1','Dh8Ikg39onrbOL4DyTfGw8a9oKUX3d9Y','32-836-132-8872','osits. packages cajole slyly. furiously regular deposits cajole slyly. q'
+7992.4,'Supplier#000006108','FRANCE',118574,'Manufacturer#1','8tBydnTDwUqfBfFV4l3','16-974-998-8937',' ironic ideas? fluffily even instructions wake. blithel'
+7980.65,'Supplier#000001288','FRANCE',13784,'Manufacturer#4','zE,7HgVPrCn','16-646-464-8247','ully bold courts. escapades nag slyly. furiously fluffy theodo'
+7950.37,'Supplier#000008101','GERMANY',33094,'Manufacturer#5','kkYvL6IuvojJgTNG IKkaXQDYgx8ILohj','17-627-663-8014','arefully unusual requests x-ray above the quickly final deposits. '
+7937.93,'Supplier#000009012','ROMANIA',83995,'Manufacturer#2','iUiTziH,Ek3i4lwSgunXMgrcTzwdb','29-250-925-9690','to the blithely ironic deposits nag sly'
+7914.45,'Supplier#000001013','RUSSIA',125988,'Manufacturer#2','riRcntps4KEDtYScjpMIWeYF6mNnR','32-194-698-3365',' busily bold packages are dolphi'
+7912.91,'Supplier#000004211','GERMANY',159180,'Manufacturer#5','2wQRVovHrm3,v03IKzfTd,1PYsFXQFFOG','17-266-947-7315','ay furiously regular platelets. cou'
+7912.91,'Supplier#000004211','GERMANY',184210,'Manufacturer#4','2wQRVovHrm3,v03IKzfTd,1PYsFXQFFOG','17-266-947-7315','ay furiously regular platelets. cou'
+7894.56,'Supplier#000007981','GERMANY',85472,'Manufacturer#4','NSJ96vMROAbeXP','17-963-404-3760','ic platelets affix after the furiously'
+7887.08,'Supplier#000009792','GERMANY',164759,'Manufacturer#3','Y28ITVeYriT3kIGdV2K8fSZ V2UqT5H1Otz','17-988-938-4296','ckly around the carefully fluffy theodolites. slyly ironic pack'
+7871.5,'Supplier#000007206','RUSSIA',104695,'Manufacturer#1','3w fNCnrVmvJjE95sgWZzvW','32-432-452-7731','ironic requests. furiously final theodolites cajole. final, express packages sleep. quickly reg'
+7852.45,'Supplier#000005864','RUSSIA',8363,'Manufacturer#4','WCNfBPZeSXh3h,c','32-454-883-3821','usly unusual pinto beans. brave ideas sleep carefully quickly ironi'
+7850.66,'Supplier#000001518','UNITED KINGDOM',86501,'Manufacturer#1','ONda3YJiHKJOC','33-730-383-3892','ifts haggle fluffily pending pai'
+7843.52,'Supplier#000006683','FRANCE',11680,'Manufacturer#4','2Z0JGkiv01Y00oCFwUGfviIbhzCdy','16-464-517-8943',' express, final pinto beans x-ray slyly asymptotes. unusual, unusual'
+---- TYPES
+DOUBLE, STRING, STRING, BIGINT, STRING, STRING, STRING, STRING
+====
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/6fbd35fa/testdata/workloads/tpch/queries/tpch-kudu-q20.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/tpch/queries/tpch-kudu-q20.test b/testdata/workloads/tpch/queries/tpch-kudu-q20.test
new file mode 100644
index 0000000..64568a3
--- /dev/null
+++ b/testdata/workloads/tpch/queries/tpch-kudu-q20.test
@@ -0,0 +1,229 @@
+====
+---- QUERY: TPCH-Q20
+# Q20 - Potential Part Promotion Query
+select
+  s_name,
+  s_address
+from
+  supplier, nation
+where
+  s_suppkey in (
+    select
+      ps_suppkey
+    from
+      partsupp
+    where
+      ps_partkey in (
+        select
+          p_partkey
+        from
+          part
+        where
+          p_name like 'forest%'
+        )
+      and ps_availqty > (
+        select
+          0.5 * sum(l_quantity)
+        from
+          lineitem
+        where
+          l_partkey = ps_partkey
+          and l_suppkey = ps_suppkey
+          and l_shipdate >= '1994-01-01'
+          and l_shipdate < '1995-01-01'
+        )
+    )
+  and s_nationkey = n_nationkey
+  and n_name = 'CANADA'
+order by
+  s_name
+---- RESULTS
+'Supplier#000000020','iybAE,RmTymrZVYaFZva2SH,j'
+'Supplier#000000091','YV45D7TkfdQanOOZ7q9QxkyGUapU1oOWU6q3'
+'Supplier#000000205','rF uV8d0JNEk'
+'Supplier#000000285','Br7e1nnt1yxrw6ImgpJ7YdhFDjuBf'
+'Supplier#000000287','7a9SP7qW5Yku5PvSg'
+'Supplier#000000354','w8fOo5W,aS'
+'Supplier#000000378','FfbhyCxWvcPrO8ltp9'
+'Supplier#000000402','i9Sw4DoyMhzhKXCH9By,AYSgmD'
+'Supplier#000000530','0qwCMwobKY OcmLyfRXlagA8ukENJv,'
+'Supplier#000000555','TfB,a5bfl3Ah 3Z 74GqnNs6zKVGM'
+'Supplier#000000640','mvvtlQKsTOsJj5Ihk7,cq'
+'Supplier#000000729','pqck2ppy758TQpZCUAjPvlU55K3QjfL7Bi'
+'Supplier#000000736','l6i2nMwVuovfKnuVgaSGK2rDy65DlAFLegiL7'
+'Supplier#000000761','zlSLelQUj2XrvTTFnv7WAcYZGvvMTx882d4'
+'Supplier#000000887','urEaTejH5POADP2ARrf'
+'Supplier#000000935','ij98czM 2KzWe7dDTOxB8sq0UfCdvrX'
+'Supplier#000000975',',AC e,tBpNwKb5xMUzeohxlRn, hdZJo73gFQF8y'
+'Supplier#000001263','rQWr6nf8ZhB2TAiIDIvo5Io'
+'Supplier#000001367','42YSkFcAXMMcucsqeEefOE4HeCC'
+'Supplier#000001426','bPOCc086oFm8sLtS,fGrH'
+'Supplier#000001446','lch9HMNU1R7a0LIybsUodVknk6'
+'Supplier#000001500','wDmF5xLxtQch9ctVu,'
+'Supplier#000001602','uKNWIeafaM644'
+'Supplier#000001626','UhxNRzUu1dtFmp0'
+'Supplier#000001682','pXTkGxrTQVyH1Rr'
+'Supplier#000001700','7hMlCof1Y5zLFg'
+'Supplier#000001726','TeRY7TtTH24sEword7yAaSkjx8'
+'Supplier#000001730','Rc8e,1Pybn r6zo0VJIEiD0UD vhk'
+'Supplier#000001746','qWsendlOekQG1aW4uq06uQaCm51se8lirv7 hBRd'
+'Supplier#000001806','M934fuZSnLW'
+'Supplier#000001855','MWk6EAeozXb'
+'Supplier#000001931','FpJbMU2h6ZR2eBv8I9NIxF'
+'Supplier#000002022',' dwebGX7Id2pc25YvY33'
+'Supplier#000002036','20ytTtVObjKUUI2WCB0A'
+'Supplier#000002096','kuxseyLtq QPLXxm9ZUrnB6Kkh92JtK5cQzzXNU '
+'Supplier#000002117','MRtkgKolHJ9Wh X9J,urANHKDzvjr'
+'Supplier#000002204','uYmlr46C06udCqanj0KiRsoTQakZsEyssL'
+'Supplier#000002218','nODZw5q4dx kp0K5'
+'Supplier#000002243','nSOEV3JeOU79'
+'Supplier#000002245','hz2qWXWVjOyKhqPYMoEwz6zFkrTaDM'
+'Supplier#000002282','ES21K9dxoW1I1TzWCj7ekdlNwSWnv1Z  6mQ,BKn'
+'Supplier#000002303','nCoWfpB6YOymbgOht7ltfklpkHl'
+'Supplier#000002331','WRh2w5WFvRg7Z0S1AvSvHCL'
+'Supplier#000002373','RzHSxOTQmElCjxIBiVA52Z JB58rJhPRylR'
+'Supplier#000002419','qydBQd14I5l5mVXa4fYY'
+'Supplier#000002571','JZUugz04c iJFLrlGsz9O N,W 1rVHNIReyq'
+'Supplier#000002585','CsPoKpw2QuTY4AV1NkWuttneIa4SN'
+'Supplier#000002629','0Bw,q5Zp8su9XrzoCngZ3cAEXZwZ'
+'Supplier#000002721','HVdFAN2JHMQSpKm'
+'Supplier#000002730','lIFxR4fzm31C6,muzJwl84z'
+'Supplier#000002775','yDclaDaBD4ihH'
+'Supplier#000002799','lwr, 6L3gdfc79PQut,4XO6nQsTJY63cAyYO'
+'Supplier#000002934','m,trBENywSArwg3DhB'
+'Supplier#000002941','Naddba 8YTEKekZyP0'
+'Supplier#000003028','jouzgX0WZjhNMWLaH4fy'
+'Supplier#000003095','HxON3jJhUi3zjt,r mTD'
+'Supplier#000003143','hdolgh608uTkHh7t6qfSqkifKaiFjnCH'
+'Supplier#000003185','hMa535Cbf2mj1Nw4OWOKWVrsK0VdDkJURrdjSIJe'
+'Supplier#000003189','DWdPxt7 RnkZv6VOByR0em'
+'Supplier#000003201','E87yws6I,t0qNs4QW7UzExKiJnJDZWue'
+'Supplier#000003213','pxrRP4irQ1VoyfQ,dTf3'
+'Supplier#000003275','9xO4nyJ2QJcX6vGf'
+'Supplier#000003288','EDdfNt7E5Uc,xLTupoIgYL4yY7ujh,'
+'Supplier#000003314','jnisU8MzqO4iUB3zsPcrysMw3DDUojS4q7LD'
+'Supplier#000003373','iy8VM48ynpc3N2OsBwAvhYakO2us9R1bi'
+'Supplier#000003421','Sh3dt9W5oeofFWovnFhrg,'
+'Supplier#000003422','DJoCEapUeBXoV1iYiCcPFQvzsTv2ZI960'
+'Supplier#000003441','zvFJIzS,oUuShHjpcX'
+'Supplier#000003590','sy79CMLxqb,Cbo'
+'Supplier#000003607','lNqFHQYjwSAkf'
+'Supplier#000003625','qY588W0Yk5iaUy1RXTgNrEKrMAjBYHcKs'
+'Supplier#000003723','jZEp0OEythCLcS OmJSrFtxJ66bMlzSp'
+'Supplier#000003849','KgbZEaRk,6Q3mWvwh6uptrs1KRUHg 0'
+'Supplier#000003894','vvGC rameLOk'
+'Supplier#000003941','Pmb05mQfBMS618O7WKqZJ 9vyv'
+'Supplier#000004059','umEYZSq9RJ2WEzdsv9meU8rmqwzVLRgiZwC'
+'Supplier#000004207','tF64pwiOM4IkWjN3mS,e06WuAjLx'
+'Supplier#000004236','dl,HPtJmGipxYsSqn9wmqkuWjst,mCeJ8O6T'
+'Supplier#000004278','bBddbpBxIVp Di9'
+'Supplier#000004281','1OwPHh Pgiyeus,iZS5eA23JDOipwk'
+'Supplier#000004304','hQCAz59k,HLlp2CKUrcBIL'
+'Supplier#000004346','S3076LEOwo'
+'Supplier#000004406','Ah0ZaLu6VwufPWUz,7kbXgYZhauEaHqGIg'
+'Supplier#000004430','yvSsKNSTL5HLXBET4luOsPNLxKzAMk'
+'Supplier#000004527','p pVXCnxgcklWF6A1o3OHY3qW6'
+'Supplier#000004655','67NqBc4 t3PG3F8aO IsqWNq4kGaPowYL'
+'Supplier#000004851','Rj,x6IgLT7kBL99nqp'
+'Supplier#000004871',',phpt6AWEnUS8t4Avb50rFfdg7O9c6nU8xxv8eC5'
+'Supplier#000004884','42Z1uLye9nsn6aTGBNd dI8 x'
+'Supplier#000004975','GPq5PMKY6Wy'
+'Supplier#000005076','Xl7h9ifgvIHmqxFLgWfHK4Gjav BkP'
+'Supplier#000005195','Woi3b2ZaicPh ZSfu1EfXhE'
+'Supplier#000005256','Onc3t57VAMchm,pmoVLaU8bONni9NsuaM PzMMFz'
+'Supplier#000005257','f9g8SEHB7obMj3QXAjXS2vfYY22'
+'Supplier#000005300','gXG28YqpxU'
+'Supplier#000005323','tMCkdqbDoyNo8vMIkzjBqYexoRAuv,T6 qzcu'
+'Supplier#000005386','Ub6AAfHpWLWP'
+'Supplier#000005426','9Dz2OVT1q sb4BK71ljQ1XjPBYRPvO'
+'Supplier#000005465','63cYZenZBRZ613Q1FaoG0,smnC5zl9'
+'Supplier#000005484','saFdOR qW7AFY,3asPqiiAa11Mo22pCoN0BtPrKo'
+'Supplier#000005505','d2sbjG43KwMPX'
+'Supplier#000005506','On f5ypzoWgB'
+'Supplier#000005631','14TVrjlzo2SJEBYCDgpMwTlvwSqC'
+'Supplier#000005642','ZwKxAv3V40tW E8P7Qwu,zlu,kPsL'
+'Supplier#000005686','f2RBKec2T1NIi7yS M'
+'Supplier#000005730','5rkb0PSews HvxkL8JaD41UpnSF2cg8H1'
+'Supplier#000005736','2dq XTYhtYWSfp'
+'Supplier#000005737','dmEWcS32C3kx,d,B95 OmYn48'
+'Supplier#000005797',',o,OebwRbSDmVl9gN9fpWPCiqB UogvlSR'
+'Supplier#000005875','lK,sYiGzB94hSyHy9xvSZFbVQNCZe2LXZuGbS'
+'Supplier#000005974','REhR5jE,lLusQXvf54SwYySgsSSVFhu'
+'Supplier#000006059','4m0cv8MwJ9yX2vlwI Z'
+'Supplier#000006065','UiI2Cy3W4Tu5sLk LuvXLRy6KihlGv'
+'Supplier#000006093','KJNUg1odUT2wtCS2s6PrH3D6fd'
+'Supplier#000006099','aZilwQKYDTVPoK'
+'Supplier#000006109','rY5gbfh3dKHnylcQUTPGCwnbe'
+'Supplier#000006217','RVN23SYT9jenUeaWGXUd'
+'Supplier#000006297','73VRDOO56GUCyvc40oYJ'
+'Supplier#000006435','xIgE69XszYbnO4Eon7cHHO8y'
+'Supplier#000006463','7 wkdj2EO49iotley2kmIM ADpLSszGV3RNWj'
+'Supplier#000006478','bQYPnj9lpmW3U'
+'Supplier#000006521','b9 2zjHzxR'
+'Supplier#000006642','N,CUclSqRLJcS8zQ'
+'Supplier#000006659','iTLsnvD8D2GzWNUv kRInwRjk5rDeEmfup1'
+'Supplier#000006669','NQ4Yryj624p7K53'
+'Supplier#000006748','rC,2rEn8gKDIS5Q0dJEoiF'
+'Supplier#000006761','n4jhxGMqB5prD1HhpLvwrWStOLlla'
+'Supplier#000006808','HGd2Xo 9nEcHJhZvXjXxWKIpApT'
+'Supplier#000006858','fnlINT885vBBhsWwTGiZ0o22thwGY16h GHJj21'
+'Supplier#000006946','To6Slo0GJTqcIvD'
+'Supplier#000006949','mLxYUJhsGcLtKe ,GFirNu183AvT'
+'Supplier#000007072','2tRyX9M1a 4Rcm57s779F1ANG9jlpK'
+'Supplier#000007098','G3j8g0KC4OcbAu2OVoPHrXQWMCUdjq8wgCHOExu'
+'Supplier#000007132','xonvn0KAQIL3p8kYk HC1FSSDSUSTC'
+'Supplier#000007135','ls DoKV7V5ulfQy9V'
+'Supplier#000007147','Xzb16kC63wmLVYexUEgB0hXFvHkjT5iPpq'
+'Supplier#000007160','TqDGBULB3cTqIT6FKDvm9BS4e4v,zwYiQPb'
+'Supplier#000007169','tEc95D2moN9S84nd55O,dlnW'
+'Supplier#000007278','I2ae3rS7KVF8GVHtB'
+'Supplier#000007365','51xhROLvQMJ05DndtZWt'
+'Supplier#000007398','V8eE6oZ00OFNU,'
+'Supplier#000007402','4UVv58ery1rjmqSR5'
+'Supplier#000007448','yhhpWiJi7EJ6Q5VCaQ'
+'Supplier#000007458','BYuucapYkptZl6fnd2QaDyZmI9gR1Ih16e'
+'Supplier#000007477','9m9j0wfhWzCvVHxkU,PpAxwSH0h'
+'Supplier#000007509','q8,V6LJRoHJjHcOuSG7aLTMg'
+'Supplier#000007561','rMcFg2530VC'
+'Supplier#000007616','R IovIqzDi3,QHnaqZk1xS4hGAgelhP4yj'
+'Supplier#000007760','JsPE18PvcdFTK'
+'Supplier#000007801','69fi,U1r6enUb '
+'Supplier#000007865','5cDGCS,T6N'
+'Supplier#000007885','u3sicchh5ZpyTUpN1cJKNcAoabIWgY'
+'Supplier#000007926','ErzCF80K9Uy'
+'Supplier#000007998','LnASFBfYRFOo9d6d,asBvVq9Lo2P'
+'Supplier#000008090','eonbJZvoDFYBNUinYfp6yERIg'
+'Supplier#000008224','TWxt9f,LVER'
+'Supplier#000008231','IK7eGw Yj90sTdpsP,vcqWxLB'
+'Supplier#000008243','2AyePMkDqmzVzjGTizXthFLo8h EiudCMxOmIIG'
+'Supplier#000008323','75I18sZmASwm POeheRMdj9tmpyeQ,BfCXN5BIAb'
+'Supplier#000008366','h778cEj14BuW9OEKlvPTWq4iwASR6EBBXN7zeS8'
+'Supplier#000008532','Uc29q4,5xVdDOF87UZrxhr4xWS0ihEUXuh'
+'Supplier#000008595','MH0iB73GQ3z UW3O DbCbqmc'
+'Supplier#000008610','SgVgP90vP452sUNTgzL9zKwXHXAzV6tV'
+'Supplier#000008683','gLuGcugfpJSeGQARnaHNCaWnGaqsNnjyl20'
+'Supplier#000008705','aE,trRNdPx,4yinTD9O3DebDIp'
+'Supplier#000008742','HmPlQEzKCPEcTUL14,kKq'
+'Supplier#000008841','I 85Lu1sekbg2xrSIzm0'
+'Supplier#000008872','8D 45GgxJO2OwwYP9S4AaXJKvDwPfLM'
+'Supplier#000008879','rDSA,D9oPM,65NMWEFrmGKAu'
+'Supplier#000008967','2kwEHyMG 7FwozNImAUE6mH0hYtqYculJM'
+'Supplier#000008972','w2vF6 D5YZO3visPXsqVfLADTK'
+'Supplier#000009032','qK,trB6Sdy4Dz1BRUFNy'
+'Supplier#000009043','57OPvKH4qyXIZ7IzYeCaw11a5N1Ki9f1WWmVQ,'
+'Supplier#000009278','RqYTzgxj93CLX 0mcYfCENOefD'
+'Supplier#000009326','XmiC,uy36B9,fb0zhcjaagiXQutg'
+'Supplier#000009430','igRqmneFt '
+'Supplier#000009549','h3RVchUf8MzY46IzbZ0ng09'
+'Supplier#000009601','51m637bO,Rw5DnHWFUvLacRx9'
+'Supplier#000009709','rRnCbHYgDgl9PZYnyWKVYSUW0vKg'
+'Supplier#000009753','wLhVEcRmd7PkJF4FBnGK7Z'
+'Supplier#000009799',' 4wNjXGa4OKWl'
+'Supplier#000009811','E3iuyq7UnZxU7oPZIe2Gu6'
+'Supplier#000009812','APFRMy3lCbgFga53n5t9DxzFPQPgnjrGt32'
+'Supplier#000009846','57sNwJJ3PtBDu,hMPP5QvpcOcSNRXn3PypJJrh'
+'Supplier#000009899','7XdpAHrzr1t,UQFZE'
+'Supplier#000009974','7wJ,J5DKcxSU4Kp1cQLpbcAvB5AsvKT'
+---- TYPES
+string, string
+====
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/6fbd35fa/testdata/workloads/tpch/queries/tpch-kudu-q21.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/tpch/queries/tpch-kudu-q21.test b/testdata/workloads/tpch/queries/tpch-kudu-q21.test
new file mode 100644
index 0000000..3fbadc4
--- /dev/null
+++ b/testdata/workloads/tpch/queries/tpch-kudu-q21.test
@@ -0,0 +1,147 @@
+====
+---- QUERY: TPCH-Q21
+# Q21 - Suppliers Who Kept Orders Waiting Query
+select
+  s_name,
+  count(*) as numwait
+from
+  supplier,
+  lineitem l1,
+  orders,
+  nation
+where
+  s_suppkey = l1.l_suppkey
+  and o_orderkey = l1.l_orderkey
+  and o_orderstatus = 'F'
+  and l1.l_receiptdate > l1.l_commitdate
+  and exists (
+    select
+      *
+    from
+      lineitem l2
+    where
+      l2.l_orderkey = l1.l_orderkey
+      and l2.l_suppkey <> l1.l_suppkey
+  )
+  and not exists (
+    select
+      *
+    from
+      lineitem l3
+    where
+      l3.l_orderkey = l1.l_orderkey
+      and l3.l_suppkey <> l1.l_suppkey
+      and l3.l_receiptdate > l3.l_commitdate
+  )
+  and s_nationkey = n_nationkey
+  and n_name = 'SAUDI ARABIA'
+group by
+  s_name
+order by
+  numwait desc,
+  s_name
+limit 100
+---- RESULTS
+'Supplier#000002829',20
+'Supplier#000005808',18
+'Supplier#000000262',17
+'Supplier#000000496',17
+'Supplier#000002160',17
+'Supplier#000002301',17
+'Supplier#000002540',17
+'Supplier#000003063',17
+'Supplier#000005178',17
+'Supplier#000008331',17
+'Supplier#000002005',16
+'Supplier#000002095',16
+'Supplier#000005799',16
+'Supplier#000005842',16
+'Supplier#000006450',16
+'Supplier#000006939',16
+'Supplier#000009200',16
+'Supplier#000009727',16
+'Supplier#000000486',15
+'Supplier#000000565',15
+'Supplier#000001046',15
+'Supplier#000001047',15
+'Supplier#000001161',15
+'Supplier#000001336',15
+'Supplier#000001435',15
+'Supplier#000003075',15
+'Supplier#000003335',15
+'Supplier#000005649',15
+'Supplier#000006027',15
+'Supplier#000006795',15
+'Supplier#000006800',15
+'Supplier#000006824',15
+'Supplier#000007131',15
+'Supplier#000007382',15
+'Supplier#000008913',15
+'Supplier#000009787',15
+'Supplier#000000633',14
+'Supplier#000001960',14
+'Supplier#000002323',14
+'Supplier#000002490',14
+'Supplier#000002993',14
+'Supplier#000003101',14
+'Supplier#000004489',14
+'Supplier#000005435',14
+'Supplier#000005583',14
+'Supplier#000005774',14
+'Supplier#000007579',14
+'Supplier#000008180',14
+'Supplier#000008695',14
+'Supplier#000009224',14
+'Supplier#000000357',13
+'Supplier#000000436',13
+'Supplier#000000610',13
+'Supplier#000000788',13
+'Supplier#000000889',13
+'Supplier#000001062',13
+'Supplier#000001498',13
+'Supplier#000002056',13
+'Supplier#000002312',13
+'Supplier#000002344',13
+'Supplier#000002596',13
+'Supplier#000002615',13
+'Supplier#000002978',13
+'Supplier#000003048',13
+'Supplier#000003234',13
+'Supplier#000003727',13
+'Supplier#000003806',13
+'Supplier#000004472',13
+'Supplier#000005236',13
+'Supplier#000005906',13
+'Supplier#000006241',13
+'Supplier#000006326',13
+'Supplier#000006384',13
+'Supplier#000006394',13
+'Supplier#000006624',13
+'Supplier#000006629',13
+'Supplier#000006682',13
+'Supplier#000006737',13
+'Supplier#000006825',13
+'Supplier#000007021',13
+'Supplier#000007417',13
+'Supplier#000007497',13
+'Supplier#000007602',13
+'Supplier#000008134',13
+'Supplier#000008234',13
+'Supplier#000009435',13
+'Supplier#000009436',13
+'Supplier#000009564',13
+'Supplier#000009896',13
+'Supplier#000000379',12
+'Supplier#000000673',12
+'Supplier#000000762',12
+'Supplier#000000811',12
+'Supplier#000000821',12
+'Supplier#000001337',12
+'Supplier#000001916',12
+'Supplier#000001925',12
+'Supplier#000002039',12
+'Supplier#000002357',12
+'Supplier#000002483',12
+---- TYPES
+string, bigint
+====
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/6fbd35fa/testdata/workloads/tpch/queries/tpch-kudu-q22.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/tpch/queries/tpch-kudu-q22.test b/testdata/workloads/tpch/queries/tpch-kudu-q22.test
new file mode 100644
index 0000000..4790b48
--- /dev/null
+++ b/testdata/workloads/tpch/queries/tpch-kudu-q22.test
@@ -0,0 +1,48 @@
+====
+---- QUERY: TPCH-Q22
+# Q22 - Global Sales Opportunity Query
+select
+  cntrycode,
+  count(*) as numcust,
+  round(sum(c_acctbal), 2) as totacctbal
+from (
+  select
+    substr(c_phone, 1, 2) as cntrycode,
+    c_acctbal
+  from
+    customer
+  where
+    substr(c_phone, 1, 2) in ('13', '31', '23', '29', '30', '18', '17')
+    and c_acctbal > (
+      select
+        round(avg(c_acctbal), 1)
+      from
+        customer
+      where
+        c_acctbal > 0.00
+        and substr(c_phone, 1, 2) in ('13', '31', '23', '29', '30', '18', '17')
+      )
+    and not exists (
+      select
+        *
+      from
+        orders
+      where
+        o_custkey = c_custkey
+    )
+  ) as custsale
+group by
+  cntrycode
+order by
+  cntrycode
+---- RESULTS
+'13',888,6737713.99
+'17',861,6460573.72
+'18',964,7236687.40
+'23',892,6701457.95
+'29',948,7158866.63
+'30',909,6808436.13
+'31',922,6806670.18
+---- TYPES
+string, bigint, double
+====
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/6fbd35fa/testdata/workloads/tpch/queries/tpch-kudu-q3.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/tpch/queries/tpch-kudu-q3.test b/testdata/workloads/tpch/queries/tpch-kudu-q3.test
new file mode 100644
index 0000000..1355e69
--- /dev/null
+++ b/testdata/workloads/tpch/queries/tpch-kudu-q3.test
@@ -0,0 +1,40 @@
+====
+---- QUERY: TPCH-Q3
+# Q3 - Shipping Priority Query
+select
+  l_orderkey,
+  round(sum(l_extendedprice * (1 - l_discount)), 2) as revenue,
+  o_orderdate,
+  o_shippriority
+from
+  customer,
+  orders,
+  lineitem
+where
+  c_mktsegment = 'BUILDING'
+  and c_custkey = o_custkey
+  and l_orderkey = o_orderkey
+  and o_orderdate < '1995-03-15'
+  and l_shipdate > '1995-03-15'
+group by
+  l_orderkey,
+  o_orderdate,
+  o_shippriority
+order by
+  revenue desc,
+  o_orderdate
+limit 10
+---- RESULTS
+2456423,406181.01,'1995-03-05',0
+3459808,405838.70,'1995-03-04',0
+492164,390324.06,'1995-02-19',0
+1188320,384537.94,'1995-03-09',0
+2435712,378673.06,'1995-02-26',0
+4878020,378376.80,'1995-03-12',0
+5521732,375153.92,'1995-03-13',0
+2628192,373133.31,'1995-02-22',0
+993600,371407.46,'1995-03-05',0
+2300070,367371.15,'1995-03-13',0
+---- TYPES
+BIGINT, DOUBLE, STRING, INT
+====
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/6fbd35fa/testdata/workloads/tpch/queries/tpch-kudu-q4.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/tpch/queries/tpch-kudu-q4.test b/testdata/workloads/tpch/queries/tpch-kudu-q4.test
new file mode 100644
index 0000000..00c3a87
--- /dev/null
+++ b/testdata/workloads/tpch/queries/tpch-kudu-q4.test
@@ -0,0 +1,33 @@
+====
+---- QUERY: TPCH-Q4
+# Q4 - Order Priority Checking Query
+select
+  o_orderpriority,
+  count(*) as order_count
+from
+  orders
+where
+  o_orderdate >= '1993-07-01'
+  and o_orderdate < '1993-10-01'
+  and exists (
+    select
+      *
+    from
+      lineitem
+    where
+      l_orderkey = o_orderkey
+      and l_commitdate < l_receiptdate
+    )
+group by
+  o_orderpriority
+order by
+  o_orderpriority
+---- RESULTS
+'1-URGENT',10594
+'2-HIGH',10476
+'3-MEDIUM',10410
+'4-NOT SPECIFIED',10556
+'5-LOW',10487
+---- TYPES
+string, bigint
+====
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/6fbd35fa/testdata/workloads/tpch/queries/tpch-kudu-q5.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/tpch/queries/tpch-kudu-q5.test b/testdata/workloads/tpch/queries/tpch-kudu-q5.test
new file mode 100644
index 0000000..ab67779
--- /dev/null
+++ b/testdata/workloads/tpch/queries/tpch-kudu-q5.test
@@ -0,0 +1,36 @@
+====
+---- QUERY: TPCH-Q5
+# Q5 - Local Supplier Volume Query
+select
+  n_name,
+  round(sum(l_extendedprice * (1 - l_discount)), 2) as revenue
+from
+  customer,
+  orders,
+  lineitem,
+  supplier,
+  nation,
+  region
+where
+  c_custkey = o_custkey
+  and l_orderkey = o_orderkey
+  and l_suppkey = s_suppkey
+  and c_nationkey = s_nationkey
+  and s_nationkey = n_nationkey
+  and n_regionkey = r_regionkey
+  and r_name = 'ASIA'
+  and o_orderdate >= '1994-01-01'
+  and o_orderdate < '1995-01-01'
+group by
+  n_name
+order by
+  revenue desc
+---- RESULTS
+'INDONESIA',55502041.17
+'VIETNAM',55295087.00
+'CHINA',53724494.26
+'INDIA',52035512.00
+'JAPAN',45410175.70
+---- TYPES
+string, double
+====
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/6fbd35fa/testdata/workloads/tpch/queries/tpch-kudu-q6.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/tpch/queries/tpch-kudu-q6.test b/testdata/workloads/tpch/queries/tpch-kudu-q6.test
new file mode 100644
index 0000000..7194e1c
--- /dev/null
+++ b/testdata/workloads/tpch/queries/tpch-kudu-q6.test
@@ -0,0 +1,17 @@
+====
+---- QUERY: TPCH-Q6
+# Q6 - Forecasting Revenue Change Query
+select
+ round(sum(l_extendedprice * l_discount), 2) as revenue
+from
+  lineitem
+where
+  l_shipdate >= '1994-01-01'
+  and l_shipdate < '1995-01-01'
+  and l_discount between 0.05 and 0.07
+  and l_quantity < 24
+---- RESULTS
+123141078.23
+---- TYPES
+double
+====
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/6fbd35fa/testdata/workloads/tpch/queries/tpch-kudu-q7.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/tpch/queries/tpch-kudu-q7.test b/testdata/workloads/tpch/queries/tpch-kudu-q7.test
new file mode 100644
index 0000000..c7eeb04
--- /dev/null
+++ b/testdata/workloads/tpch/queries/tpch-kudu-q7.test
@@ -0,0 +1,49 @@
+====
+---- QUERY: TPCH-Q7
+# Q7 - Volume Shipping Query
+select
+  supp_nation,
+  cust_nation,
+  l_year,
+  round(sum(volume), 2) as revenue
+from (
+  select
+    n1.n_name as supp_nation,
+    n2.n_name as cust_nation,
+    year(l_shipdate) as l_year,
+    round(l_extendedprice * (1 - l_discount), 2) as volume
+  from
+    supplier,
+    lineitem,
+    orders,
+    customer,
+    nation n1,
+    nation n2
+  where
+    s_suppkey = l_suppkey
+    and o_orderkey = l_orderkey
+    and c_custkey = o_custkey
+    and s_nationkey = n1.n_nationkey
+    and c_nationkey = n2.n_nationkey
+    and (
+      (n1.n_name = 'FRANCE' and n2.n_name = 'GERMANY')
+      or (n1.n_name = 'GERMANY' and n2.n_name = 'FRANCE')
+    )
+    and l_shipdate between '1995-01-01' and '1996-12-31'
+  ) as shipping
+group by
+  supp_nation,
+  cust_nation,
+  l_year
+order by
+  supp_nation,
+  cust_nation,
+  l_year
+---- RESULTS
+'FRANCE','GERMANY',1995,54639732.82
+'FRANCE','GERMANY',1996,54633083.44
+'GERMANY','FRANCE',1995,52531746.60
+'GERMANY','FRANCE',1996,52520548.99
+---- TYPES
+STRING, STRING, INT, DOUBLE
+====
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/6fbd35fa/testdata/workloads/tpch/queries/tpch-kudu-q8.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/tpch/queries/tpch-kudu-q8.test b/testdata/workloads/tpch/queries/tpch-kudu-q8.test
new file mode 100644
index 0000000..1ca6a66
--- /dev/null
+++ b/testdata/workloads/tpch/queries/tpch-kudu-q8.test
@@ -0,0 +1,46 @@
+====
+---- QUERY: TPCH-Q8
+# Q8 - National Market Share Query
+select
+  o_year,
+  round(sum(case
+    when nation = 'BRAZIL'
+    then volume
+    else 0
+  end) / sum(volume), 4) as mkt_share
+from (
+  select
+    year(o_orderdate) as o_year,
+    round(l_extendedprice * (1 - l_discount), 2) as volume,
+    n2.n_name as nation
+  from
+    part,
+    supplier,
+    lineitem,
+    orders,
+    customer,
+    nation n1,
+    nation n2,
+    region
+  where
+    p_partkey = l_partkey
+    and s_suppkey = l_suppkey
+    and l_orderkey = o_orderkey
+    and o_custkey = c_custkey
+    and c_nationkey = n1.n_nationkey
+    and n1.n_regionkey = r_regionkey
+    and r_name = 'AMERICA'
+    and s_nationkey = n2.n_nationkey
+    and o_orderdate between '1995-01-01' and '1996-12-31'
+    and p_type = 'ECONOMY ANODIZED STEEL'
+  ) as all_nations
+group by
+  o_year
+order by
+  o_year
+---- RESULTS
+1995,0.0344
+1996,0.0415
+---- TYPES
+int, double
+====
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/6fbd35fa/testdata/workloads/tpch/queries/tpch-kudu-q9.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/tpch/queries/tpch-kudu-q9.test b/testdata/workloads/tpch/queries/tpch-kudu-q9.test
new file mode 100644
index 0000000..3fb6685
--- /dev/null
+++ b/testdata/workloads/tpch/queries/tpch-kudu-q9.test
@@ -0,0 +1,213 @@
+====
+---- QUERY: TPCH-Q9
+# Q9 - Product Type Measure Query
+select
+  nation,
+  o_year,
+  round(sum(amount), 2) as sum_profit
+from(
+  select
+    n_name as nation,
+    year(o_orderdate) as o_year,
+    round(l_extendedprice * (1 - l_discount) - ps_supplycost * l_quantity, 2) as amount
+  from
+    part,
+    supplier,
+    lineitem,
+    partsupp,
+    orders,
+    nation
+  where
+    s_suppkey = l_suppkey
+    and ps_suppkey = l_suppkey
+    and ps_partkey = l_partkey
+    and p_partkey = l_partkey
+    and o_orderkey = l_orderkey
+    and s_nationkey = n_nationkey
+    and p_name like '%green%'
+  ) as profit
+group by
+  nation,
+  o_year
+order by
+  nation,
+  o_year desc
+---- RESULTS
+'ALGERIA',1998,27136900.28
+'ALGERIA',1997,48611833.43
+'ALGERIA',1996,48285482.72
+'ALGERIA',1995,44402273.75
+'ALGERIA',1994,48694008.05
+'ALGERIA',1993,46044207.83
+'ALGERIA',1992,45636849.53
+'ARGENTINA',1998,28341663.78
+'ARGENTINA',1997,47143964.27
+'ARGENTINA',1996,45255278.67
+'ARGENTINA',1995,45631769.29
+'ARGENTINA',1994,48268856.35
+'ARGENTINA',1993,48605593.59
+'ARGENTINA',1992,46654240.88
+'BRAZIL',1998,26527736.60
+'BRAZIL',1997,45640660.78
+'BRAZIL',1996,45090647.16
+'BRAZIL',1995,44015888.61
+'BRAZIL',1994,44854219.18
+'BRAZIL',1993,45766603.83
+'BRAZIL',1992,45280217.03
+'CANADA',1998,26828985.41
+'CANADA',1997,44849954.37
+'CANADA',1996,46307936.30
+'CANADA',1995,47311993.22
+'CANADA',1994,46691492.14
+'CANADA',1993,46634791.12
+'CANADA',1992,45873849.65
+'CHINA',1998,27510180.35
+'CHINA',1997,46123865.57
+'CHINA',1996,49532807.30
+'CHINA',1995,46734651.69
+'CHINA',1994,46397896.61
+'CHINA',1993,49634674.15
+'CHINA',1992,46949457.76
+'EGYPT',1998,28401491.73
+'EGYPT',1997,47674857.92
+'EGYPT',1996,47745727.75
+'EGYPT',1995,45897160.80
+'EGYPT',1994,47194895.49
+'EGYPT',1993,49133627.89
+'EGYPT',1992,47000574.63
+'ETHIOPIA',1998,25135046.16
+'ETHIOPIA',1997,43010596.18
+'ETHIOPIA',1996,43636287.12
+'ETHIOPIA',1995,43575757.53
+'ETHIOPIA',1994,41597208.56
+'ETHIOPIA',1993,42622804.38
+'ETHIOPIA',1992,44385735.82
+'FRANCE',1998,26210392.43
+'FRANCE',1997,42392969.67
+'FRANCE',1996,43306318.11
+'FRANCE',1995,46377408.57
+'FRANCE',1994,43447353.27
+'FRANCE',1993,43729961.17
+'FRANCE',1992,44052308.28
+'GERMANY',1998,25991257.35
+'GERMANY',1997,43968355.88
+'GERMANY',1996,45882074.92
+'GERMANY',1995,43314338.22
+'GERMANY',1994,44616995.42
+'GERMANY',1993,45126646.10
+'GERMANY',1992,44361141.24
+'INDIA',1998,29626417.37
+'INDIA',1997,51386111.45
+'INDIA',1996,47571018.40
+'INDIA',1995,49344062.66
+'INDIA',1994,50106952.51
+'INDIA',1993,48112766.93
+'INDIA',1992,47914303.24
+'INDONESIA',1998,27734909.82
+'INDONESIA',1997,44593813.16
+'INDONESIA',1996,44746730.00
+'INDONESIA',1995,45593622.88
+'INDONESIA',1994,45988483.99
+'INDONESIA',1993,46147963.85
+'INDONESIA',1992,45185777.26
+'IRAN',1998,26661609.15
+'IRAN',1997,45019114.34
+'IRAN',1996,45891397.36
+'IRAN',1995,44414285.20
+'IRAN',1994,43696360.46
+'IRAN',1993,45362775.84
+'IRAN',1992,43052338.57
+'IRAQ',1998,31188498.22
+'IRAQ',1997,48585307.79
+'IRAQ',1996,50036593.96
+'IRAQ',1995,48774801.92
+'IRAQ',1994,48795847.42
+'IRAQ',1993,47435691.62
+'IRAQ',1992,47562355.64
+'JAPAN',1998,24694102.28
+'JAPAN',1997,42377052.33
+'JAPAN',1996,40267778.92
+'JAPAN',1995,40925317.74
+'JAPAN',1994,41159518.59
+'JAPAN',1993,39589074.40
+'JAPAN',1992,39113494.09
+'JORDAN',1998,23489867.79
+'JORDAN',1997,41615962.72
+'JORDAN',1996,41860855.56
+'JORDAN',1995,39931672.03
+'JORDAN',1994,40707555.57
+'JORDAN',1993,39060405.72
+'JORDAN',1992,41657604.23
+'KENYA',1998,25566337.53
+'KENYA',1997,43108847.87
+'KENYA',1996,43482953.61
+'KENYA',1995,42517989.18
+'KENYA',1994,43612479.34
+'KENYA',1993,42724038.88
+'KENYA',1992,43217106.33
+'MOROCCO',1998,24915497.00
+'MOROCCO',1997,42698383.09
+'MOROCCO',1996,42986113.41
+'MOROCCO',1995,42316089.25
+'MOROCCO',1994,43458604.84
+'MOROCCO',1993,42672288.09
+'MOROCCO',1992,42800781.57
+'MOZAMBIQUE',1998,28279875.98
+'MOZAMBIQUE',1997,51159216.31
+'MOZAMBIQUE',1996,48072525.21
+'MOZAMBIQUE',1995,48905200.82
+'MOZAMBIQUE',1994,46092076.35
+'MOZAMBIQUE',1993,48555926.23
+'MOZAMBIQUE',1992,47809075.36
+'PERU',1998,26713966.40
+'PERU',1997,48324008.57
+'PERU',1996,50310008.87
+'PERU',1995,49647080.89
+'PERU',1994,46420910.15
+'PERU',1993,51536906.45
+'PERU',1992,47711665.28
+'ROMANIA',1998,27271992.98
+'ROMANIA',1997,45063059.33
+'ROMANIA',1996,47492335.15
+'ROMANIA',1995,45710636.24
+'ROMANIA',1994,46088041.34
+'ROMANIA',1993,47515092.77
+'ROMANIA',1992,44111439.92
+'RUSSIA',1998,27935323.85
+'RUSSIA',1997,48222347.45
+'RUSSIA',1996,47553559.65
+'RUSSIA',1995,46755990.02
+'RUSSIA',1994,48000515.83
+'RUSSIA',1993,48569624.74
+'RUSSIA',1992,47672831.69
+'SAUDI ARABIA',1998,27113517.02
+'SAUDI ARABIA',1997,46690468.87
+'SAUDI ARABIA',1996,47775782.69
+'SAUDI ARABIA',1995,46657107.96
+'SAUDI ARABIA',1994,48181673.14
+'SAUDI ARABIA',1993,45692556.61
+'SAUDI ARABIA',1992,48924913.28
+'UNITED KINGDOM',1998,26366682.81
+'UNITED KINGDOM',1997,44518130.03
+'UNITED KINGDOM',1996,45539729.78
+'UNITED KINGDOM',1995,46845879.42
+'UNITED KINGDOM',1994,43081609.54
+'UNITED KINGDOM',1993,44770147.00
+'UNITED KINGDOM',1992,44123402.78
+'UNITED STATES',1998,27826593.86
+'UNITED STATES',1997,46638572.34
+'UNITED STATES',1996,46688280.64
+'UNITED STATES',1995,48951591.81
+'UNITED STATES',1994,45099091.90
+'UNITED STATES',1993,46181600.58
+'UNITED STATES',1992,46168214.21
+'VIETNAM',1998,27281931.07
+'VIETNAM',1997,48735914.28
+'VIETNAM',1996,47824596.08
+'VIETNAM',1995,48235136.01
+'VIETNAM',1994,47729256.41
+'VIETNAM',1993,45352677.14
+'VIETNAM',1992,47846355.72
+---- TYPES
+STRING, INT, DOUBLE
+====
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/6fbd35fa/testdata/workloads/tpch/tpch_core.csv
----------------------------------------------------------------------
diff --git a/testdata/workloads/tpch/tpch_core.csv b/testdata/workloads/tpch/tpch_core.csv
index 04d7896..86804ac 100644
--- a/testdata/workloads/tpch/tpch_core.csv
+++ b/testdata/workloads/tpch/tpch_core.csv
@@ -7,3 +7,4 @@ file_format:rc, dataset:tpch, compression_codec:none, compression_type:none
 file_format:avro, dataset:tpch, compression_codec: none, compression_type: none
 file_format:avro, dataset:tpch, compression_codec: snap, compression_type: block
 file_format:parquet, dataset:tpch, compression_codec: none, compression_type: none
+file_format:kudu, dataset:tpch, compression_codec: none, compression_type: none

http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/6fbd35fa/testdata/workloads/tpch/tpch_dimensions.csv
----------------------------------------------------------------------
diff --git a/testdata/workloads/tpch/tpch_dimensions.csv b/testdata/workloads/tpch/tpch_dimensions.csv
index 97a3f0d..1de34aa 100644
--- a/testdata/workloads/tpch/tpch_dimensions.csv
+++ b/testdata/workloads/tpch/tpch_dimensions.csv
@@ -1,4 +1,4 @@
-file_format: text,seq,rc,avro,parquet
+file_format: text,seq,rc,avro,parquet,kudu
 dataset: tpch
 compression_codec: none,def,gzip,bzip,snap,lzo
 compression_type: none,block,record

http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/6fbd35fa/tests/query_test/test_tpch_queries.py
----------------------------------------------------------------------
diff --git a/tests/query_test/test_tpch_queries.py b/tests/query_test/test_tpch_queries.py
index 3d71925..ef48e94 100644
--- a/tests/query_test/test_tpch_queries.py
+++ b/tests/query_test/test_tpch_queries.py
@@ -1,5 +1,6 @@
 # Copyright (c) 2012 Cloudera, Inc. All rights reserved.
 # Functional tests running the TPCH workload.
+import pytest
 
 from tests.common.impala_test_suite import ImpalaTestSuite
 from tests.common.test_dimensions import create_single_exec_option_dimension
@@ -15,74 +16,23 @@ class TestTpchQuery(ImpalaTestSuite):
     cls.TestMatrix.add_dimension(create_single_exec_option_dimension())
 
     # The tpch tests take a long time to execute so restrict the combinations they
-    # execute over
+    # execute over.
     # TODO: the planner tests are based on text and need this.
     if cls.exploration_strategy() == 'core':
       cls.TestMatrix.add_constraint(lambda v:\
-          v.get_value('table_format').file_format in ['text'])
+          v.get_value('table_format').file_format in ['text', 'kudu'])
 
-  def test_tpch_q1(self, vector):
-    self.run_test_case('tpch-q1', vector)
+  def get_test_file_prefix(self, vector):
+    if vector.get_value('table_format').file_format in ['kudu']:
+      return 'tpch-kudu-q'
+    else:
+      return 'tpch-q'
 
-  def test_tpch_q2(self, vector):
-    self.run_test_case('tpch-q2', vector)
+  def idfn(val):
+    return "TPC-H: Q{0}".format(val)
 
-  def test_tpch_q3(self, vector):
-    self.run_test_case('tpch-q3', vector)
+  @pytest.mark.parametrize("query", xrange(1, 23), ids=idfn)
+  def test_tpch(self, vector, query):
+    self.run_test_case('{0}{1}'.format(self.get_test_file_prefix(vector), query),
+        vector)
 
-  def test_tpch_q4(self, vector):
-    self.run_test_case('tpch-q4', vector)
-
-  def test_tpch_q5(self, vector):
-    self.run_test_case('tpch-q5', vector)
-
-  def test_tpch_q6(self, vector):
-    self.run_test_case('tpch-q6', vector)
-
-  def test_tpch_q7(self, vector):
-    self.run_test_case('tpch-q7', vector)
-
-  def test_tpch_q8(self, vector):
-    self.run_test_case('tpch-q8', vector)
-
-  def test_tpch_q9(self, vector):
-    self.run_test_case('tpch-q9', vector)
-
-  def test_tpch_q10(self, vector):
-    self.run_test_case('tpch-q10', vector)
-
-  def test_tpch_q11(self, vector):
-    self.run_test_case('tpch-q11', vector)
-
-  def test_tpch_q12(self, vector):
-    self.run_test_case('tpch-q12', vector)
-
-  def test_tpch_q13(self, vector):
-    self.run_test_case('tpch-q13', vector)
-
-  def test_tpch_q14(self, vector):
-    self.run_test_case('tpch-q14', vector)
-
-  def test_tpch_q15(self, vector):
-    self.run_test_case('tpch-q15', vector)
-
-  def test_tpch_q16(self, vector):
-    self.run_test_case('tpch-q16', vector)
-
-  def test_tpch_q17(self, vector):
-    self.run_test_case('tpch-q17', vector)
-
-  def test_tpch_q18(self, vector):
-    self.run_test_case('tpch-q18', vector)
-
-  def test_tpch_q19(self, vector):
-    self.run_test_case('tpch-q19', vector)
-
-  def test_tpch_q20(self, vector):
-    self.run_test_case('tpch-q20', vector)
-
-  def test_tpch_q21(self, vector):
-    self.run_test_case('tpch-q21', vector)
-
-  def test_tpch_q22(self, vector):
-    self.run_test_case('tpch-q22', vector)


[3/4] incubator-impala git commit: Enable TPC-H workload for Kudu tables

Posted by ta...@apache.org.
Enable TPC-H workload for Kudu tables

With this commit we enable loading of TPC-H data in Kudu tables and
running the 22 TPC-H queries against Kudu. Since Kudu doesn't support
the decimal data type, we had to modify the queries by using round()
function and update the test results.

Change-Id: I3a5de71fefa92a78970226d8f49ef445d28f9289
Reviewed-on: http://gerrit.cloudera.org:8080/3789
Reviewed-by: Dimitris Tsirogiannis <dt...@cloudera.com>
Tested-by: Internal Jenkins


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

Branch: refs/heads/master
Commit: 6fbd35fa8798cea9e3ba97cc2f6db4de499c02b7
Parents: a7963e6
Author: Dimitris Tsirogiannis <dt...@cloudera.com>
Authored: Wed Jul 13 10:48:25 2016 -0700
Committer: Internal Jenkins <cl...@gerrit.cloudera.org>
Committed: Thu Jul 28 04:35:11 2016 +0000

----------------------------------------------------------------------
 testdata/bin/compute-table-stats.sh             |     7 +-
 testdata/bin/create-load-data.sh                |     4 +-
 testdata/datasets/tpch/tpch_schema_template.sql |   164 +
 .../workloads/tpch/queries/tpch-kudu-q1.test    |    32 +
 .../workloads/tpch/queries/tpch-kudu-q10.test   |    60 +
 .../workloads/tpch/queries/tpch-kudu-q11.test   |  1088 +
 .../workloads/tpch/queries/tpch-kudu-q12.test   |    37 +
 .../workloads/tpch/queries/tpch-kudu-q13.test   |    69 +
 .../workloads/tpch/queries/tpch-kudu-q14.test   |    21 +
 .../workloads/tpch/queries/tpch-kudu-q15.test   |    38 +
 .../workloads/tpch/queries/tpch-kudu-q16.test   | 18351 +++++++++++++++++
 .../workloads/tpch/queries/tpch-kudu-q17.test   |    25 +
 .../workloads/tpch/queries/tpch-kudu-q18.test   |    98 +
 .../workloads/tpch/queries/tpch-kudu-q19.test   |    43 +
 .../workloads/tpch/queries/tpch-kudu-q2.test    |   151 +
 .../workloads/tpch/queries/tpch-kudu-q20.test   |   229 +
 .../workloads/tpch/queries/tpch-kudu-q21.test   |   147 +
 .../workloads/tpch/queries/tpch-kudu-q22.test   |    48 +
 .../workloads/tpch/queries/tpch-kudu-q3.test    |    40 +
 .../workloads/tpch/queries/tpch-kudu-q4.test    |    33 +
 .../workloads/tpch/queries/tpch-kudu-q5.test    |    36 +
 .../workloads/tpch/queries/tpch-kudu-q6.test    |    17 +
 .../workloads/tpch/queries/tpch-kudu-q7.test    |    49 +
 .../workloads/tpch/queries/tpch-kudu-q8.test    |    46 +
 .../workloads/tpch/queries/tpch-kudu-q9.test    |   213 +
 testdata/workloads/tpch/tpch_core.csv           |     1 +
 testdata/workloads/tpch/tpch_dimensions.csv     |     2 +-
 tests/query_test/test_tpch_queries.py           |    78 +-
 28 files changed, 21060 insertions(+), 67 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/6fbd35fa/testdata/bin/compute-table-stats.sh
----------------------------------------------------------------------
diff --git a/testdata/bin/compute-table-stats.sh b/testdata/bin/compute-table-stats.sh
index aaaf4d0..2ec955e 100755
--- a/testdata/bin/compute-table-stats.sh
+++ b/testdata/bin/compute-table-stats.sh
@@ -22,4 +22,9 @@ ${COMPUTE_STATS_SCRIPT} --db_names=tpch,tpch_parquet \
     --table_names=customer,lineitem,nation,orders,part,partsupp,region,supplier
 ${COMPUTE_STATS_SCRIPT} --db_names=tpch_nested_parquet
 ${COMPUTE_STATS_SCRIPT} --db_names=tpcds
-${COMPUTE_STATS_SCRIPT} --db_names=functional_kudu --table_names=zipcode_incomes
+
+if "$KUDU_IS_SUPPORTED"; then
+  ${COMPUTE_STATS_SCRIPT} --db_names=functional_kudu --table_names=zipcode_incomes
+  ${COMPUTE_STATS_SCRIPT} --db_names=tpch_kudu
+fi
+

http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/6fbd35fa/testdata/bin/create-load-data.sh
----------------------------------------------------------------------
diff --git a/testdata/bin/create-load-data.sh b/testdata/bin/create-load-data.sh
index dd6f8ad..fd444a3 100755
--- a/testdata/bin/create-load-data.sh
+++ b/testdata/bin/create-load-data.sh
@@ -396,8 +396,10 @@ fi
 
 if $KUDU_IS_SUPPORTED; then
   # Tests depend on the kudu data being clean, so load the data from scratch.
-  run-step "Loading Kudu data" load-kudu.log \
+  run-step "Loading Kudu functional" load-kudu.log \
         load-data "functional-query" "core" "kudu/none/none" force
+  run-step "Loading Kudu TPCH" load-kudu-tpch.log \
+        load-data "tpch" "core" "kudu/none/none" force
 fi
 run-step "Loading Hive UDFs" build-and-copy-hive-udfs.log \
     build-and-copy-hive-udfs

http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/6fbd35fa/testdata/datasets/tpch/tpch_schema_template.sql
----------------------------------------------------------------------
diff --git a/testdata/datasets/tpch/tpch_schema_template.sql b/testdata/datasets/tpch/tpch_schema_template.sql
index f46dc84..cdff1df 100644
--- a/testdata/datasets/tpch/tpch_schema_template.sql
+++ b/testdata/datasets/tpch/tpch_schema_template.sql
@@ -24,6 +24,32 @@ L_SHIPMODE STRING
 L_COMMENT STRING
 ---- ROW_FORMAT
 DELIMITED FIELDS TERMINATED BY '|'
+---- CREATE_KUDU
+create table {db_name}{db_suffix}.{table_name} (
+  L_ORDERKEY BIGINT,
+  L_PARTKEY BIGINT,
+  L_SUPPKEY BIGINT,
+  L_LINENUMBER INT,
+  L_QUANTITY DOUBLE,
+  L_EXTENDEDPRICE DOUBLE,
+  L_DISCOUNT DOUBLE,
+  L_TAX DOUBLE,
+  L_RETURNFLAG STRING,
+  L_LINESTATUS STRING,
+  L_SHIPDATE STRING,
+  L_COMMITDATE STRING,
+  L_RECEIPTDATE STRING,
+  L_SHIPINSTRUCT STRING,
+  L_SHIPMODE STRING,
+  L_COMMENT STRING
+)
+distribute by hash (l_orderkey) into 9 buckets
+tblproperties(
+  'storage_handler' = 'com.cloudera.kudu.hive.KuduStorageHandler',
+  'kudu.master_addresses' = '127.0.0.1:7051',
+  'kudu.table_name' = '{table_name}',
+  'kudu.key_columns' = 'l_orderkey, l_partkey, l_suppkey, l_linenumber'
+);
 ---- DEPENDENT_LOAD
 INSERT OVERWRITE TABLE {db_name}{db_suffix}.{table_name} SELECT * FROM {db_name}.{table_name};
 ---- LOAD
@@ -46,6 +72,25 @@ P_RETAILPRICE DECIMAL(12,2)
 P_COMMENT STRING
 ---- ROW_FORMAT
 DELIMITED FIELDS TERMINATED BY '|'
+---- CREATE_KUDU
+create table {db_name}{db_suffix}.{table_name} (
+  P_PARTKEY BIGINT,
+  P_NAME STRING,
+  P_MFGR STRING,
+  P_BRAND STRING,
+  P_TYPE STRING,
+  P_SIZE INT,
+  P_CONTAINER STRING,
+  P_RETAILPRICE DOUBLE,
+  P_COMMENT STRING
+)
+distribute by hash (p_partkey) into 9 buckets
+tblproperties(
+  'storage_handler' = 'com.cloudera.kudu.hive.KuduStorageHandler',
+  'kudu.master_addresses' = '127.0.0.1:7051',
+  'kudu.table_name' = '{table_name}',
+  'kudu.key_columns' = 'p_partkey'
+);
 ---- DEPENDENT_LOAD
 INSERT OVERWRITE TABLE {db_name}{db_suffix}.{table_name} SELECT * FROM {db_name}.{table_name};
 ---- LOAD
@@ -64,6 +109,21 @@ PS_SUPPLYCOST DECIMAL(12,2)
 PS_COMMENT STRING
 ---- ROW_FORMAT
 DELIMITED FIELDS TERMINATED BY '|'
+---- CREATE_KUDU
+create table {db_name}{db_suffix}.{table_name} (
+  PS_PARTKEY BIGINT,
+  PS_SUPPKEY BIGINT,
+  PS_AVAILQTY BIGINT,
+  PS_SUPPLYCOST DOUBLE,
+  PS_COMMENT STRING
+)
+distribute by hash (ps_partkey, ps_suppkey) into 9 buckets
+tblproperties(
+  'storage_handler' = 'com.cloudera.kudu.hive.KuduStorageHandler',
+  'kudu.master_addresses' = '127.0.0.1:7051',
+  'kudu.table_name' = '{table_name}',
+  'kudu.key_columns' = 'ps_partkey, ps_suppkey'
+);
 ---- DEPENDENT_LOAD
 INSERT OVERWRITE TABLE {db_name}{db_suffix}.{table_name} SELECT * FROM {db_name}.{table_name};
 ---- LOAD
@@ -84,6 +144,23 @@ S_ACCTBAL DECIMAL(12,2)
 S_COMMENT STRING
 ---- ROW_FORMAT
 DELIMITED FIELDS TERMINATED BY '|'
+---- CREATE_KUDU
+create table {db_name}{db_suffix}.{table_name} (
+  S_SUPPKEY BIGINT,
+  S_NAME STRING,
+  S_ADDRESS STRING,
+  S_NATIONKEY SMALLINT,
+  S_PHONE STRING,
+  S_ACCTBAL DOUBLE,
+  S_COMMENT STRING
+)
+distribute by hash (s_suppkey) into 9 buckets
+tblproperties(
+  'storage_handler' = 'com.cloudera.kudu.hive.KuduStorageHandler',
+  'kudu.master_addresses' = '127.0.0.1:7051',
+  'kudu.table_name' = '{table_name}',
+  'kudu.key_columns' = 's_suppkey'
+);
 ---- DEPENDENT_LOAD
 INSERT OVERWRITE TABLE {db_name}{db_suffix}.{table_name} SELECT * FROM {db_name}.{table_name};
 ---- LOAD
@@ -101,6 +178,20 @@ N_REGIONKEY SMALLINT
 N_COMMENT STRING
 ---- ROW_FORMAT
 DELIMITED FIELDS TERMINATED BY '|'
+---- CREATE_KUDU
+create table {db_name}{db_suffix}.{table_name} (
+  N_NATIONKEY SMALLINT,
+  N_NAME STRING,
+  N_REGIONKEY SMALLINT,
+  N_COMMENT STRING
+)
+distribute by hash (n_nationkey) into 9 buckets
+tblproperties(
+  'storage_handler' = 'com.cloudera.kudu.hive.KuduStorageHandler',
+  'kudu.master_addresses' = '127.0.0.1:7051',
+  'kudu.table_name' = '{table_name}',
+  'kudu.key_columns' = 'n_nationkey'
+);
 ---- DEPENDENT_LOAD
 INSERT OVERWRITE TABLE {db_name}{db_suffix}.{table_name} SELECT * FROM {db_name}.{table_name};
 ---- LOAD
@@ -117,6 +208,19 @@ R_NAME STRING
 R_COMMENT STRING
 ---- ROW_FORMAT
 DELIMITED FIELDS TERMINATED BY '|'
+---- CREATE_KUDU
+create table {db_name}{db_suffix}.{table_name} (
+  R_REGIONKEY SMALLINT,
+  R_NAME STRING,
+  R_COMMENT STRING
+)
+distribute by hash (r_regionkey) into 9 buckets
+tblproperties(
+  'storage_handler' = 'com.cloudera.kudu.hive.KuduStorageHandler',
+  'kudu.master_addresses' = '127.0.0.1:7051',
+  'kudu.table_name' = '{table_name}',
+  'kudu.key_columns' = 'r_regionkey'
+);
 ---- DEPENDENT_LOAD
 INSERT OVERWRITE TABLE {db_name}{db_suffix}.{table_name} SELECT * FROM {db_name}.{table_name};
 ---- LOAD
@@ -139,6 +243,25 @@ O_SHIPPRIORITY INT
 O_COMMENT STRING
 ---- ROW_FORMAT
 DELIMITED FIELDS TERMINATED BY '|'
+---- CREATE_KUDU
+create table {db_name}{db_suffix}.{table_name} (
+  O_ORDERKEY BIGINT,
+  O_CUSTKEY BIGINT,
+  O_ORDERSTATUS STRING,
+  O_TOTALPRICE DOUBLE,
+  O_ORDERDATE STRING,
+  O_ORDERPRIORITY STRING,
+  O_CLERK STRING,
+  O_SHIPPRIORITY INT,
+  O_COMMENT STRING
+)
+distribute by hash (o_orderkey) into 9 buckets
+tblproperties(
+  'storage_handler' = 'com.cloudera.kudu.hive.KuduStorageHandler',
+  'kudu.master_addresses' = '127.0.0.1:7051',
+  'kudu.table_name' = '{table_name}',
+  'kudu.key_columns' = 'o_orderkey'
+);
 ---- DEPENDENT_LOAD
 INSERT OVERWRITE TABLE {db_name}{db_suffix}.{table_name} SELECT * FROM {db_name}.{table_name};
 ---- LOAD
@@ -160,6 +283,24 @@ C_MKTSEGMENT STRING
 C_COMMENT STRING
 ---- ROW_FORMAT
 DELIMITED FIELDS TERMINATED BY '|'
+---- CREATE_KUDU
+create table {db_name}{db_suffix}.{table_name} (
+  C_CUSTKEY BIGINT,
+  C_NAME STRING,
+  C_ADDRESS STRING,
+  C_NATIONKEY SMALLINT,
+  C_PHONE STRING,
+  C_ACCTBAL DOUBLE,
+  C_MKTSEGMENT STRING,
+  C_COMMENT STRING
+)
+distribute by hash (c_custkey) into 9 buckets
+tblproperties(
+  'storage_handler' = 'com.cloudera.kudu.hive.KuduStorageHandler',
+  'kudu.master_addresses' = '127.0.0.1:7051',
+  'kudu.table_name' = '{table_name}',
+  'kudu.key_columns' = 'c_custkey'
+);
 ---- DEPENDENT_LOAD
 INSERT OVERWRITE TABLE {db_name}{db_suffix}.{table_name} SELECT * FROM {db_name}.{table_name};
 ---- LOAD
@@ -173,6 +314,18 @@ revenue
 ---- COLUMNS
 supplier_no bigint
 total_revenue Decimal(38,4)
+---- CREATE_KUDU
+create table {db_name}{db_suffix}.{table_name} (
+  supplier_no bigint,
+  total_revevue double
+)
+distribute by hash (supplier_no) into 9 buckets
+tblproperties(
+  'storage_handler' = 'com.cloudera.kudu.hive.KuduStorageHandler',
+  'kudu.master_addresses' = '127.0.0.1:7051',
+  'kudu.table_name' = '{table_name}',
+  'kudu.key_columns' = 'supplier_no'
+);
 ====
 ---- DATASET
 tpch
@@ -180,4 +333,15 @@ tpch
 max_revenue
 ---- COLUMNS
 max_revenue Decimal(38, 4)
+---- CREATE_KUDU
+create table {db_name}{db_suffix}.{table_name} (
+  max_revenue bigint
+)
+distribute by hash (max_revenue) into 9 buckets
+tblproperties(
+  'storage_handler' = 'com.cloudera.kudu.hive.KuduStorageHandler',
+  'kudu.master_addresses' = '127.0.0.1:7051',
+  'kudu.table_name' = '{table_name}',
+  'kudu.key_columns' = 'max_revenue'
+);
 ====

http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/6fbd35fa/testdata/workloads/tpch/queries/tpch-kudu-q1.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/tpch/queries/tpch-kudu-q1.test b/testdata/workloads/tpch/queries/tpch-kudu-q1.test
new file mode 100644
index 0000000..ffbeccc
--- /dev/null
+++ b/testdata/workloads/tpch/queries/tpch-kudu-q1.test
@@ -0,0 +1,32 @@
+====
+---- QUERY: TPCH-Q1
+# Q1 - Pricing Summary Report Query
+select
+  l_returnflag,
+  l_linestatus,
+  round(sum(l_quantity), 1) as sum_qty,
+  round(sum(l_extendedprice), 1) as sum_base_price,
+  round(sum(l_extendedprice * (1 - l_discount)), 1) as sum_disc_price,
+  round(sum(l_extendedprice * (1 - l_discount) * (1 + l_tax)), 1) as sum_charge,
+  round(avg(l_quantity), 1) as avg_qty,
+  round(avg(l_extendedprice), 1) as avg_price,
+  round(avg(l_discount), 1) as avg_disc,
+  count(*) as count_order
+from
+  lineitem
+where
+  l_shipdate <= '1998-09-02'
+group by
+  l_returnflag,
+  l_linestatus
+order by
+  l_returnflag,
+  l_linestatus
+---- RESULTS
+'A','F',37734107.0,56586554400.7,53758257134.9,55909065222.8,25.5,38273.1,0.0,1478493
+'N','F',991417.0,1487504710.4,1413082168.1,1469649223.2,25.5,38284.5,0.1,38854
+'N','O',74476040.0,111701729697.7,106118230307.6,110367043872.5,25.5,38249.1,0.0,2920374
+'R','F',37719753.0,56568041380.9,53741292684.6,55889619119.8,25.5,38250.9,0.1,1478870
+---- TYPES
+string, string, double, double, double, double, double, double, double, bigint
+====
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/6fbd35fa/testdata/workloads/tpch/queries/tpch-kudu-q10.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/tpch/queries/tpch-kudu-q10.test b/testdata/workloads/tpch/queries/tpch-kudu-q10.test
new file mode 100644
index 0000000..be52a31
--- /dev/null
+++ b/testdata/workloads/tpch/queries/tpch-kudu-q10.test
@@ -0,0 +1,60 @@
+====
+---- QUERY: TPCH-Q10
+# Q10 - Returned Item Reporting Query
+# Converted select from multiple tables to joins
+select
+  c_custkey,
+  c_name,
+  round(sum(l_extendedprice * (1 - l_discount)), 1) as revenue,
+  cast (c_acctbal as bigint),
+  n_name,
+  c_address,
+  c_phone,
+  c_comment
+from
+  customer,
+  orders,
+  lineitem,
+  nation
+where
+  c_custkey = o_custkey
+  and l_orderkey = o_orderkey
+  and o_orderdate >= '1993-10-01'
+  and o_orderdate < '1994-01-01'
+  and l_returnflag = 'R'
+  and c_nationkey = n_nationkey
+group by
+  c_custkey,
+  c_name,
+  cast(c_acctbal as bigint),
+  c_phone,
+  n_name,
+  c_address,
+  c_comment
+order by
+  revenue desc
+limit 20
+---- RESULTS
+57040,'Customer#000057040',734235.2,632,'JAPAN','Eioyzjf4pp','22-895-641-3466','sits. slyly regular requests sleep alongside of the regular inst'
+143347,'Customer#000143347',721002.7,2557,'EGYPT','1aReFYv,Kw4','14-742-935-3718','ggle carefully enticing requests. final deposits use bold, bold pinto beans. ironic, idle re'
+60838,'Customer#000060838',679127.3,2454,'BRAZIL','64EaJ5vMAHWJlBOxJklpNc2RJiWE','12-913-494-9813',' need to boost against the slyly regular account'
+101998,'Customer#000101998',637029.6,3790,'UNITED KINGDOM','01c9CILnNtfOQYmZj','33-593-865-6378','ress foxes wake slyly after the bold excuses. ironic platelets are furiously carefully bold theodolites'
+125341,'Customer#000125341',633508.1,4983,'GERMANY','S29ODD6bceU8QSuuEJznkNaK','17-582-695-5962','arefully even depths. blithely even excuses sleep furiously. foxes use except the dependencies. ca'
+25501,'Customer#000025501',620269.8,7725,'ETHIOPIA','  W556MXuoiaYCCZamJI,Rn0B4ACUGdkQ8DZ','15-874-808-6793','he pending instructions wake carefully at the pinto beans. regular, final instructions along the slyly fina'
+115831,'Customer#000115831',596423.9,5098,'FRANCE','rFeBbEEyk dl ne7zV5fDrmiq1oK09wV7pxqCgIc','16-715-386-3788','l somas sleep. furiously final deposits wake blithely regular pinto b'
+84223,'Customer#000084223',594998.0,528,'UNITED KINGDOM','nAVZCs6BaWap rrM27N 2qBnzc5WBauxbA','33-442-824-8191',' slyly final deposits haggle regular, pending dependencies. pending escapades wake '
+54289,'Customer#000054289',585603.4,5583,'IRAN','vXCxoCsU0Bad5JQI ,oobkZ','20-834-292-4707','ely special foxes are quickly finally ironic p'
+39922,'Customer#000039922',584878.1,7321,'GERMANY','Zgy4s50l2GKN4pLDPBU8m342gIw6R','17-147-757-8036','y final requests. furiously final foxes cajole blithely special platelets. f'
+6226,'Customer#000006226',576783.8,2230,'UNITED KINGDOM','8gPu8,NPGkfyQQ0hcIYUGPIBWc,ybP5g,','33-657-701-3391','ending platelets along the express deposits cajole carefully final '
+922,'Customer#000000922',576767.5,3869,'GERMANY','Az9RFaut7NkPnc5zSD2PwHgVwr4jRzq','17-945-916-9648','luffily fluffy deposits. packages c'
+147946,'Customer#000147946',576455.1,2030,'ALGERIA','iANyZHjqhyy7Ajah0pTrYyhJ','10-886-956-3143','ithely ironic deposits haggle blithely ironic requests. quickly regu'
+115640,'Customer#000115640',569341.2,6436,'ARGENTINA','Vtgfia9qI 7EpHgecU1X','11-411-543-4901','ost slyly along the patterns; pinto be'
+73606,'Customer#000073606',568656.9,1785,'JAPAN','xuR0Tro5yChDfOCrjkd2ol','22-437-653-6966','he furiously regular ideas. slowly'
+110246,'Customer#000110246',566843.0,7763,'VIETNAM','7KzflgX MDOq7sOkI','31-943-426-9837','egular deposits serve blithely above the fl'
+142549,'Customer#000142549',563537.2,5085,'INDONESIA','ChqEoK43OysjdHbtKCp6dKqjNyvvi9','19-955-562-2398','sleep pending courts. ironic deposits against the carefully unusual platelets cajole carefully express accounts.'
+146149,'Customer#000146149',557255.0,1791,'ROMANIA','s87fvzFQpU','29-744-164-6487',' of the slyly silent accounts. quickly final accounts across the '
+52528,'Customer#000052528',556397.4,551,'ARGENTINA','NFztyTOR10UOJ','11-208-192-3205',' deposits hinder. blithely pending asymptotes breach slyly regular re'
+23431,'Customer#000023431',554269.5,3381,'ROMANIA','HgiV0phqhaIa9aydNoIlb','29-915-458-2654','nusual, even instructions: furiously stealthy n'
+---- TYPES
+BIGINT, STRING, DOUBLE, BIGINT, STRING, STRING, STRING, STRING
+====
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/6fbd35fa/testdata/workloads/tpch/queries/tpch-kudu-q11.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/tpch/queries/tpch-kudu-q11.test b/testdata/workloads/tpch/queries/tpch-kudu-q11.test
new file mode 100644
index 0000000..76b1108
--- /dev/null
+++ b/testdata/workloads/tpch/queries/tpch-kudu-q11.test
@@ -0,0 +1,1088 @@
+====
+---- QUERY: TPCH-Q11
+# Q11 - Important Stock Identification
+# Modifications: query was rewritten to not have a subquery in the having clause
+select
+  *
+from (
+  select
+    ps_partkey,
+    round(sum(ps_supplycost * ps_availqty), 2) as value
+  from
+    partsupp,
+    supplier,
+    nation
+  where
+    ps_suppkey = s_suppkey
+    and s_nationkey = n_nationkey
+    and n_name = 'GERMANY'
+  group by
+    ps_partkey
+) as inner_query
+where
+  value > (
+    select
+      round(sum(ps_supplycost * ps_availqty) * 0.0001, 2)
+    from
+      partsupp,
+      supplier,
+      nation
+    where
+      ps_suppkey = s_suppkey
+      and s_nationkey = n_nationkey
+      and n_name = 'GERMANY'
+  )
+order by
+  value desc
+---- RESULTS
+129760,17538456.86
+166726,16503353.92
+191287,16474801.97
+161758,16101755.54
+34452,15983844.72
+139035,15907078.34
+9403,15451755.62
+154358,15212937.88
+38823,15064802.86
+85606,15053957.15
+33354,14408297.4
+154747,14407580.68
+82865,14235489.78
+76094,14094247.04
+222,13937777.74
+121271,13908336
+55221,13716120.47
+22819,13666434.28
+76281,13646853.68
+85298,13581154.93
+85158,13554904
+139684,13535538.72
+31034,13498025.25
+87305,13482847.04
+10181,13445148.75
+62323,13411824.3
+26489,13377256.38
+96493,13339057.83
+56548,13329014.97
+55576,13306843.35
+159751,13306614.48
+92406,13287414.5
+182636,13223726.74
+199969,13135288.21
+62865,13001926.94
+7284,12945298.19
+197867,12944510.52
+11562,12931575.51
+75165,12916918.12
+97175,12911283.5
+140840,12896562.23
+65241,12890600.46
+166120,12876927.22
+9035,12863828.7
+144616,12853549.3
+176723,12832309.74
+170884,12792136.58
+29790,12723300.33
+95213,12555483.73
+183873,12550533.05
+171235,12476538.3
+21533,12437821.32
+17290,12432159.5
+156397,12260623.5
+122611,12222812.98
+139155,12220319.25
+146316,12215800.61
+171381,12199734.52
+198633,12078226.95
+167417,12046637.62
+59512,12043468.76
+31688,12034893.64
+159586,12001505.84
+8993,11963814.3
+120302,11857707.55
+43536,11779340.52
+9552,11776909.16
+86223,11772205.08
+53776,11758669.65
+131285,11616953.74
+91628,11611114.83
+169644,11567959.72
+182299,11567462.05
+33107,11453818.76
+104184,11436657.44
+67027,11419127.14
+176869,11371451.71
+30885,11369674.79
+54420,11345076.88
+72240,11313951.05
+178708,11294635.17
+81298,11273686.13
+158324,11243442.72
+117095,11242535.24
+176793,11237733.38
+86091,11177793.79
+116033,11145434.36
+129058,11119112.2
+193714,11104706.39
+117195,11077217.96
+49851,11043701.78
+19791,11030662.62
+75800,11012401.62
+161562,10996371.69
+10119,10980015.75
+39185,10970042.56
+47223,10950022.13
+175594,10942923.05
+111295,10893675.61
+155446,10852764.57
+156391,10839810.38
+40884,10837234.19
+141288,10837130.21
+152388,10830977.82
+33449,10830858.72
+149035,10826130.02
+162620,10814275.68
+118324,10791788.1
+38932,10777541.75
+121294,10764225.22
+48721,10762582.49
+63342,10740132.6
+5614,10724668.8
+62266,10711143.1
+100202,10696675.55
+197741,10688560.72
+169178,10648522.8
+5271,10639392.65
+34499,10584177.1
+71108,10569117.56
+137132,10539880.47
+78451,10524873.24
+150827,10503810.48
+107237,10488030.84
+101727,10473558.1
+58708,10466280.44
+89768,10465477.22
+146493,10444291.58
+55424,10444006.48
+16560,10425574.74
+133114,10415097.9
+195810,10413625.2
+76673,10391977.18
+97305,10390890.57
+134210,10387210.02
+188536,10386529.92
+122255,10335760.32
+2682,10312966.1
+43814,10303086.61
+34767,10290405.18
+165584,10273705.89
+2231,10270415.55
+111259,10263256.56
+195578,10239795.82
+21093,10217531.3
+29856,10216932.54
+133686,10213345.76
+87745,10185509.4
+135153,10179379.7
+11773,10167410.84
+76316,10165151.7
+123076,10161225.78
+91894,10130462.19
+39741,10128387.52
+111753,10119780.98
+142729,10104748.89
+116775,10097750.42
+102589,10034784.36
+186268,10012181.57
+44545,10000286.48
+23307,9966577.5
+124281,9930018.9
+69604,9925730.640000001
+21971,9908982.029999999
+58148,9895894.4
+16532,9886529.9
+159180,9883744.43
+74733,9877582.880000001
+35173,9858275.92
+7116,9856881.02
+124620,9838589.140000001
+122108,9829949.35
+67200,9828690.689999999
+164775,9821424.439999999
+9039,9816447.720000001
+14912,9803102.199999999
+190906,9791315.699999999
+130398,9781674.27
+119310,9776927.210000001
+10132,9770930.779999999
+107211,9757586.25
+113958,9757065.5
+37009,9748362.689999999
+66746,9743528.76
+134486,9731922
+15945,9731096.449999999
+55307,9717745.800000001
+56362,9714922.83
+57726,9711792.1
+57256,9708621
+112292,9701653.08
+87514,9699492.529999999
+174206,9680562.02
+72865,9679043.34
+114357,9671017.439999999
+112807,9665019.210000001
+115203,9661018.73
+177454,9658906.35
+161275,9634313.710000001
+61893,9617095.439999999
+122219,9604888.199999999
+183427,9601362.58
+59158,9599705.960000001
+61931,9584918.98
+5532,9579964.140000001
+20158,9576714.380000001
+167199,9557413.08
+38869,9550279.529999999
+86949,9541943.699999999
+198544,9538613.92
+193762,9538238.939999999
+108807,9536247.16
+168324,9535647.99
+115588,9532195.039999999
+141372,9529702.140000001
+175120,9526068.66
+163851,9522808.83
+160954,9520359.449999999
+117757,9517882.800000001
+52594,9508325.76
+60960,9498843.060000001
+70272,9495775.619999999
+44050,9495515.359999999
+152213,9494756.960000001
+121203,9492601.300000001
+70114,9491012.300000001
+167588,9484741.109999999
+136455,9476241.779999999
+4357,9464355.640000001
+6786,9463632.57
+61345,9455336.699999999
+160826,9446754.84
+71275,9440138.4
+77746,9439118.35
+91289,9437472
+56723,9435102.16
+86647,9434604.18
+131234,9432120
+198129,9427651.359999999
+165530,9426193.68
+69233,9425053.92
+6243,9423304.66
+90110,9420422.699999999
+191980,9419368.359999999
+38461,9419316.07
+167873,9419024.49
+159373,9416950.15
+128707,9413428.5
+45267,9410863.779999999
+48460,9409793.93
+197672,9406887.68
+60884,9403442.4
+15209,9403245.310000001
+138049,9401262.1
+199286,9391770.699999999
+19629,9391236.4
+134019,9390615.15
+169475,9387639.58
+165918,9379510.439999999
+135602,9374251.539999999
+162323,9367566.51
+96277,9360850.68
+98336,9359671.289999999
+119781,9356395.73
+34440,9355365
+57362,9355180.1
+167236,9352973.84
+38463,9347530.939999999
+86749,9346826.439999999
+170007,9345699.9
+193087,9343744
+150383,9332576.75
+60932,9329582.02
+128420,9328206.35
+162145,9327722.880000001
+55686,9320304.4
+163080,9304916.960000001
+160583,9303515.92
+118153,9298606.560000001
+152634,9282184.57
+84731,9276586.92
+119989,9273814.199999999
+114584,9269698.65
+131817,9268570.08
+29068,9256583.880000001
+44116,9255922
+115818,9253311.91
+103388,9239218.08
+186118,9236209.119999999
+155809,9235410.84
+147003,9234847.99
+27769,9232511.640000001
+112779,9231927.359999999
+124851,9228982.68
+158488,9227216.4
+83328,9224792.199999999
+136797,9222927.09
+141730,9216370.68
+87304,9215695.5
+156004,9215557.9
+140740,9215329.199999999
+100648,9212185.08
+174774,9211718
+37644,9211578.6
+48807,9209496.24
+95940,9207948.4
+141586,9206699.220000001
+147248,9205654.949999999
+61372,9205228.76
+52970,9204415.949999999
+26430,9203710.51
+28504,9201669.199999999
+25810,9198878.5
+125329,9198688.5
+167867,9194022.720000001
+134767,9191444.720000001
+127745,9191271.56
+69208,9187110
+155222,9186469.16
+196916,9182995.82
+195590,9176353.119999999
+169155,9175176.09
+81558,9171946.5
+185136,9171293.039999999
+114790,9168509.1
+194142,9165836.609999999
+167639,9161165
+11241,9160789.460000001
+82628,9160155.539999999
+41399,9148338
+30755,9146196.84
+6944,9143574.58
+6326,9138803.16
+101296,9135657.619999999
+181479,9121093.300000001
+76898,9120983.1
+64274,9118745.25
+175826,9117387.99
+142215,9116876.880000001
+103415,9113128.619999999
+119765,9110768.789999999
+107624,9108837.449999999
+84215,9105257.359999999
+73774,9102651.92
+173972,9102069
+69817,9095513.880000001
+86943,9092253
+138859,9087719.300000001
+162273,9085296.48
+175945,9080401.210000001
+16836,9075715.439999999
+70224,9075265.949999999
+139765,9074755.890000001
+30319,9073233.1
+3851,9072657.24
+181271,9070631.52
+162184,9068835.779999999
+81683,9067258.470000001
+153028,9067010.51
+123324,9061870.949999999
+186481,9058608.300000001
+167680,9052908.76
+165293,9050545.699999999
+122148,9046298.17
+138604,9045840.800000001
+78851,9044822.6
+137280,9042355.34
+8823,9040855.1
+163900,9040848.48
+75600,9035392.449999999
+81676,9031999.4
+46033,9031460.58
+194917,9028500
+133936,9026949.02
+33182,9024971.1
+34220,9021485.390000001
+20118,9019942.6
+178258,9019881.66
+15560,9017687.279999999
+111425,9016198.560000001
+95942,9015585.119999999
+132709,9015240.15
+39731,9014746.949999999
+154307,9012571.199999999
+23769,9008157.6
+93328,9007211.199999999
+142826,8998297.439999999
+188792,8996014
+68703,8994982.220000001
+145280,8990941.050000001
+150725,8985686.16
+172046,8982469.52
+70476,8967629.5
+124988,8966805.220000001
+17937,8963319.76
+177372,8954873.640000001
+137994,8950916.789999999
+84019,8950039.98
+40389,8946158.199999999
+69187,8941054.140000001
+4863,8939044.92
+50465,8930503.140000001
+43686,8915543.84
+131352,8909053.59
+198916,8906940.029999999
+135932,8905282.949999999
+104673,8903682
+152308,8903244.08
+135298,8900323.199999999
+156873,8899429.1
+157454,8897339.199999999
+75415,8897068.09
+46325,8895569.09
+1966,8895117.060000001
+24576,8895034.75
+19425,8890156.6
+169735,8890085.560000001
+32225,8889829.279999999
+124537,8889770.710000001
+146327,8887836.23
+121562,8887740.4
+44731,8882444.949999999
+93141,8881850.880000001
+187871,8873506.18
+71709,8873057.279999999
+151913,8869321.17
+33786,8868955.390000001
+35902,8868126.060000001
+23588,8867769.9
+24508,8867616
+161282,8866661.43
+188061,8862304
+132847,8862082
+166843,8861200.800000001
+30609,8860214.73
+56191,8856546.960000001
+160740,8852685.43
+71229,8846106.99
+91208,8845541.279999999
+10995,8845306.560000001
+78094,8839938.289999999
+36489,8838538.1
+198437,8836494.84
+151693,8833807.640000001
+185367,8829791.369999999
+65682,8820622.890000001
+65421,8819329.24
+122225,8816821.859999999
+85330,8811013.16
+64555,8810643.119999999
+104188,8808211.02
+54411,8805703.4
+39438,8805282.560000001
+70795,8800060.92
+20383,8799073.279999999
+21952,8798624.189999999
+63584,8796590
+158768,8796422.949999999
+166588,8796214.380000001
+120600,8793558.060000001
+157202,8788287.880000001
+55358,8786820.75
+168322,8786670.73
+25143,8786324.800000001
+5368,8786274.140000001
+114025,8786201.119999999
+97744,8785315.939999999
+164327,8784503.859999999
+76542,8782613.279999999
+4731,8772846.699999999
+157590,8772006.449999999
+154276,8771733.91
+28705,8771576.640000001
+100226,8769455
+179195,8769185.16
+184355,8768118.050000001
+120408,8768011.119999999
+63145,8761991.960000001
+53135,8753491.800000001
+173071,8750508.800000001
+41087,8749436.789999999
+194830,8747438.4
+43496,8743359.300000001
+30235,8741611
+26391,8741399.640000001
+191816,8740258.720000001
+47616,8737229.68
+152101,8734432.76
+163784,8730514.34
+5134,8728424.640000001
+155241,8725429.859999999
+188814,8724182.4
+140782,8720378.75
+153141,8719407.51
+169373,8718609.060000001
+41335,8714773.800000001
+197450,8714617.32
+87004,8714017.789999999
+181804,8712257.76
+122814,8711119.140000001
+109939,8709193.16
+98094,8708780.039999999
+74630,8708040.75
+197291,8706519.09
+184173,8705467.449999999
+192175,8705411.119999999
+19471,8702536.119999999
+18052,8702155.699999999
+135560,8698137.720000001
+152791,8697325.800000001
+170953,8696909.189999999
+116137,8696687.17
+7722,8696589.4
+49788,8694846.710000001
+13252,8694822.42
+12633,8694559.359999999
+193438,8690426.720000001
+17326,8689329.16
+96124,8679794.58
+143802,8676626.48
+30389,8675826.6
+75250,8675257.140000001
+72613,8673524.939999999
+123520,8672456.25
+325,8667741.279999999
+167291,8667556.18
+150119,8663403.539999999
+88420,8663355.4
+179784,8653021.34
+130884,8651970
+172611,8648217
+85373,8647796.22
+122717,8646758.539999999
+113431,8646348.34
+66015,8643349.4
+33141,8643243.18
+69786,8637396.92
+181857,8637393.279999999
+122939,8636378
+196223,8635391.02
+50532,8632648.24
+58102,8632614.539999999
+93581,8632372.359999999
+52804,8632109.25
+755,8627091.68
+16597,8623357.050000001
+119041,8622397
+89050,8621185.98
+98696,8620784.82
+94399,8620524
+151295,8616671.02
+56417,8613450.35
+121322,8612948.23
+126883,8611373.42
+29155,8610163.640000001
+114530,8608471.74
+131007,8607394.82
+128715,8606833.619999999
+72522,8601479.98
+144061,8595718.74
+83503,8595034.199999999
+112199,8590717.439999999
+9227,8587350.42
+116318,8585910.66
+41248,8585559.640000001
+159398,8584821
+105966,8582308.789999999
+137876,8580641.300000001
+122272,8580400.77
+195717,8577278.1
+165295,8571121.92
+5840,8570728.74
+120860,8570610.439999999
+66692,8567540.52
+135596,8563276.310000001
+150576,8562794.1
+7500,8562393.84
+107716,8561541.560000001
+100611,8559995.85
+171192,8557390.08
+107660,8556696.6
+13461,8556545.119999999
+90310,8555131.51
+141493,8553782.93
+71286,8552682
+136423,8551300.76
+54241,8550785.25
+120325,8549976.6
+424,8547527.1
+196543,8545907.09
+13042,8542717.18
+58332,8536074.689999999
+9191,8535663.92
+134357,8535429.9
+96207,8534900.6
+92292,8530618.779999999
+181093,8528303.52
+105064,8527491.6
+59635,8526854.08
+136974,8524351.560000001
+126694,8522783.369999999
+6247,8522606.9
+139447,8522521.92
+96313,8520949.92
+108454,8520916.25
+181254,8519496.1
+71117,8519223
+131703,8517215.279999999
+59312,8510568.359999999
+2903,8509960.35
+102838,8509527.689999999
+162806,8508906.050000001
+41527,8508222.359999999
+118416,8505858.359999999
+180203,8505024.16
+14773,8500598.279999999
+140446,8499514.24
+199641,8497362.59
+109240,8494617.119999999
+150268,8494188.380000001
+45310,8492380.65
+36552,8490733.6
+199690,8490145.800000001
+185353,8488726.68
+163615,8484985.01
+196520,8483545.039999999
+133438,8483482.35
+77285,8481442.32
+55824,8476893.9
+76753,8475522.119999999
+46129,8472717.960000001
+28358,8472515.5
+9317,8472145.32
+33823,8469721.439999999
+39055,8469145.07
+91471,8468874.560000001
+142299,8466039.550000001
+97672,8464119.800000001
+134712,8461781.789999999
+157988,8460123.199999999
+102284,8458652.439999999
+73533,8458453.32
+90599,8457874.859999999
+112160,8457863.359999999
+124792,8457633.699999999
+66097,8457573.15
+165271,8456969.01
+146925,8454887.91
+164277,8454838.5
+131290,8454811.199999999
+179386,8450909.9
+90486,8447873.859999999
+175924,8444421.66
+185922,8442394.880000001
+38492,8436438.32
+172511,8436287.34
+139539,8434180.289999999
+11926,8433199.52
+55889,8431449.880000001
+163068,8431116.4
+138772,8428406.359999999
+126821,8425180.68
+22091,8420687.880000001
+55981,8419434.380000001
+100960,8419403.460000001
+172568,8417955.210000001
+63135,8415945.529999999
+137651,8413170.35
+191353,8413039.84
+62988,8411571.48
+103417,8411541.119999999
+12052,8411519.279999999
+104260,8408516.550000001
+157129,8405730.08
+77254,8405537.220000001
+112966,8403512.890000001
+168114,8402764.560000001
+49940,8402328.199999999
+52017,8398753.6
+176179,8398087
+100215,8395906.609999999
+61256,8392811.199999999
+15366,8388907.800000001
+109479,8388027.2
+66202,8386522.83
+81707,8385761.19
+51727,8385426.4
+9980,8382754.62
+174403,8378575.73
+54558,8378041.92
+3141,8377378.22
+134829,8377105.52
+145056,8376920.76
+194020,8375157.64
+7117,8373982.27
+120146,8373796.2
+126843,8370761.28
+62117,8369493.44
+111221,8367525.81
+159337,8366092.26
+173903,8365428.48
+136438,8364065.45
+56684,8363198
+137597,8363185.94
+20039,8361138.24
+121326,8359635.52
+48435,8352863.1
+1712,8349107
+167190,8347238.7
+32113,8346452.04
+40580,8342983.32
+74785,8342519.13
+14799,8342236.75
+177291,8341736.83
+198956,8340370.65
+69179,8338465.99
+118764,8337616.56
+128814,8336435.56
+82729,8331766.88
+152048,8330638.99
+171085,8326259.5
+126730,8325974.4
+77525,8323282.5
+170653,8322840.5
+5257,8320350.78
+67350,8318987.56
+109008,8317836.54
+199043,8316603.54
+139969,8316551.54
+22634,8316531.24
+173309,8315750.25
+10887,8315019.36
+42392,8312895.96
+126040,8312623.2
+101590,8304555.42
+46891,8302192.12
+138721,8301745.62
+113715,8301533.2
+78778,8299685.64
+142908,8299447.77
+64419,8297631.8
+21396,8296272.27
+4180,8295646.92
+63534,8295383.67
+135957,8294389.86
+30126,8291920.32
+158427,8288938
+14545,8288395.92
+75548,8288287.2
+64473,8286137.44
+149553,8285714.88
+151284,8283526.65
+171091,8282934.36
+194256,8278985.34
+952,8276136
+121541,8275390.26
+177664,8275315.2
+51117,8274504.3
+66770,8273407.8
+37238,8272728.06
+46679,8270486.55
+165852,8268312.6
+99458,8266564.47
+114519,8265493.54
+7231,8264881.5
+19033,8264826.56
+125123,8262732.65
+18642,8261578.99
+50386,8261380.05
+193770,8259578.82
+7276,8258101.6
+178045,8253904.15
+49033,8253696.23
+187195,8251334.58
+10590,8249227.4
+143779,8247057.7
+35205,8245675.17
+19729,8245081.6
+144946,8240479.8
+123786,8239581.24
+70843,8237973.2
+112437,8236907.52
+5436,8236039.57
+163754,8235471.16
+115945,8234811.36
+27918,8233957.88
+105712,8233571.86
+41007,8229431.79
+40476,8226640.41
+145620,8221371.6
+7771,8220413.33
+86424,8215572.61
+129137,8215478.4
+76020,8210495.36
+140213,8209831.8
+32379,8208338.88
+130616,8207715.75
+195469,8206609.8
+191805,8205147.75
+90906,8200951.2
+170910,8195558.01
+105399,8193122.63
+123798,8192385.97
+90218,8191689.16
+114766,8189339.54
+11289,8187354.72
+178308,8185750.5
+71271,8185519.24
+1115,8184903.38
+152636,8184530.72
+151619,8182909.05
+116943,8181072.69
+28891,8181051.54
+47049,8180955
+158827,8180470.9
+92620,8179671.55
+20814,8176953.54
+179323,8176795.55
+193453,8174343.94
+56888,8173342
+28087,8169876.3
+164254,8169632.35
+57661,8168848.16
+7363,8167538.05
+164499,8167512.08
+197557,8165940.45
+5495,8164805.22
+966,8163824.79
+98435,8161771.45
+127227,8161344.92
+194100,8160978.78
+40134,8160358.08
+107341,8159952.05
+6790,8158792.66
+43851,8157101.4
+51295,8156419.2
+69512,8151537
+164274,8149869.93
+130854,8145338.85
+186865,8143586.82
+176629,8141411.2
+193739,8141377.77
+6810,8139822.6
+27732,8136724.96
+50616,8134089.82
+123908,8128920.54
+140994,8128470.82
+99039,8128290.78
+62735,8124940.5
+47829,8122796.5
+192635,8122687.57
+192429,8119268
+145812,8119165.63
+42896,8118529.8
+146877,8118266.16
+60882,8116095.04
+18254,8114783.04
+165464,8114571.8
+57936,8111927.25
+52226,8110723.32
+128571,8106788.8
+100308,8105837.04
+8872,8102395.62
+58867,8102033.19
+145153,8100222.84
+172088,8098138.2
+59398,8095845.45
+89395,8093576.1
+171961,8093538
+88736,8090762.16
+174053,8090350.11
+102237,8089103.22
+43041,8086537.9
+110219,8085296.9
+126738,8084199.2
+44787,8083628.4
+31277,8083580.76
+93595,8082188.8
+189040,8080257.21
+59851,8079024.24
+175100,8077904.01
+43429,8076729.96
+154199,8074940.76
+60963,8073894.4
+8768,8072760.96
+66095,8071421.7
+111552,8068184.48
+24563,8067500.4
+16167,8067495.24
+12662,8067248.85
+94540,8063727.16
+23308,8063463.18
+27390,8062823.25
+130660,8062787.48
+8608,8062411.16
+181552,8062008.3
+199319,8060248.56
+55475,8058850.92
+142711,8057926.58
+103499,8056978
+105943,8056698.75
+8432,8053052.16
+149392,8049675.69
+101248,8048855.49
+140962,8047260.7
+87101,8046651.83
+133107,8046476.73
+45126,8045924.4
+87508,8042966.39
+124711,8042722.72
+173169,8042224.41
+175161,8041331.98
+167787,8040075.78
+3242,8038855.53
+114789,8038628.35
+43833,8038545.83
+141198,8035110.72
+137248,8034109.35
+96673,8033491.2
+32180,8032380.72
+166493,8031902.4
+66959,8031839.4
+85628,8029693.44
+110971,8029469.7
+130395,8027463.92
+7757,8026840.37
+178446,8025379.09
+41295,8024785.53
+100956,8024179.3
+131917,8021604.78
+24224,8020463.52
+2073,8020009.64
+121622,8018462.17
+14357,8016906.3
+135601,8016209.44
+58458,8016192.52
+73036,8015799
+184722,8015680.31
+151664,8014821.96
+195090,8012680.2
+162609,8011241
+83532,8009753.85
+50166,8007137.89
+181562,8006805.96
+175165,8005319.76
+62500,8005316.28
+36342,8004333.4
+128435,8004242.88
+92516,8003836.8
+30802,8003710.88
+107418,8000430.3
+46620,7999778.35
+191803,7994734.15
+106343,7993087.76
+59362,7990397.46
+8329,7990052.9
+75133,7988244
+179023,7986829.62
+135899,7985726.64
+5824,7985340.02
+148579,7984889.56
+95888,7984735.72
+9791,7982699.79
+170437,7982370.72
+39782,7977858.24
+20605,7977556
+28682,7976960
+42172,7973399
+56137,7971405.4
+64729,7970769.72
+98643,7968603.73
+153787,7967535.58
+8932,7967222.19
+20134,7965713.28
+197635,7963507.58
+80408,7963312.17
+37728,7961875.68
+26624,7961772.31
+44736,7961144.1
+29763,7960605.03
+36147,7959463.68
+146040,7957587.66
+115469,7957485.14
+142276,7956790.63
+181280,7954037.35
+115096,7953047.55
+109650,7952258.73
+93862,7951992.24
+158325,7950728.3
+55952,7950387.06
+122397,7947106.27
+28114,7946945.72
+11966,7945197.48
+47814,7944083
+85096,7943691.06
+51657,7943593.77
+196680,7943578.89
+13141,7942730.34
+193327,7941036.25
+152612,7940663.71
+139680,7939242.36
+31134,7938318.3
+45636,7937240.85
+56694,7936015.95
+8114,7933921.88
+71518,7932261.69
+72922,7930400.64
+146699,7929167.4
+92387,7928972.67
+186289,7928786.19
+95952,7927972.78
+196514,7927180.7
+4403,7925729.04
+2267,7925649.37
+45924,7925047.68
+11493,7916722.23
+104478,7916253.6
+166794,7913842
+161995,7910874.27
+23538,7909752.06
+41093,7909579.92
+112073,7908617.57
+92814,7908262.5
+88919,7907992.5
+79753,7907933.88
+108765,7905338.98
+146530,7905336.6
+71475,7903367.58
+36289,7901946.5
+61739,7900794
+52338,7898638.08
+194299,7898421.24
+105235,7897829.94
+77207,7897752.72
+96712,7897575.27
+10157,7897046.25
+171154,7896814.5
+79373,7896186
+113808,7893353.88
+27901,7892952
+128820,7892882.72
+25891,7890511.2
+122819,7888881.02
+154731,7888301.33
+101674,7879324.6
+51968,7879102.21
+72073,7877736.11
+5182,7874521.73
+---- TYPES
+BIGINT, double
+====

http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/6fbd35fa/testdata/workloads/tpch/queries/tpch-kudu-q12.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/tpch/queries/tpch-kudu-q12.test b/testdata/workloads/tpch/queries/tpch-kudu-q12.test
new file mode 100644
index 0000000..ce40803
--- /dev/null
+++ b/testdata/workloads/tpch/queries/tpch-kudu-q12.test
@@ -0,0 +1,37 @@
+====
+---- QUERY: TPCH-Q12
+# Q12 - Shipping Mode and Order Priority Query
+select
+  l_shipmode,
+  sum(case
+    when o_orderpriority = '1-URGENT'
+      or o_orderpriority = '2-HIGH'
+    then 1
+    else 0
+  end) as high_line_count,
+  sum(case
+    when o_orderpriority <> '1-URGENT'
+      and o_orderpriority <> '2-HIGH'
+    then 1
+    else 0
+  end) as low_line_count
+from
+  orders,
+  lineitem
+where
+  o_orderkey = l_orderkey
+  and l_shipmode in ('MAIL', 'SHIP')
+  and l_commitdate < l_receiptdate
+  and l_shipdate < l_commitdate
+  and l_receiptdate >= '1994-01-01'
+  and l_receiptdate < '1995-01-01'
+group by
+  l_shipmode
+order by
+  l_shipmode
+---- RESULTS
+'MAIL',6202,9324
+'SHIP',6200,9262
+---- TYPES
+string, bigint, bigint
+====
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/6fbd35fa/testdata/workloads/tpch/queries/tpch-kudu-q13.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/tpch/queries/tpch-kudu-q13.test b/testdata/workloads/tpch/queries/tpch-kudu-q13.test
new file mode 100644
index 0000000..d09613b
--- /dev/null
+++ b/testdata/workloads/tpch/queries/tpch-kudu-q13.test
@@ -0,0 +1,69 @@
+====
+---- QUERY: TPCH-Q13
+# Q13 - Customer Distribution Query
+select
+  c_count,
+  count(*) as custdist
+from (
+  select
+    c_custkey,
+    count(o_orderkey) as c_count
+  from
+    customer left outer join orders on (
+      c_custkey = o_custkey
+      and o_comment not like '%special%requests%'
+    )
+  group by
+    c_custkey
+  ) as c_orders
+group by
+  c_count
+order by
+  custdist desc,
+  c_count desc
+---- RESULTS
+0,50005
+9,6641
+10,6532
+11,6014
+8,5937
+12,5639
+13,5024
+19,4793
+7,4687
+17,4587
+18,4529
+20,4516
+15,4505
+14,4446
+16,4273
+21,4190
+22,3623
+6,3265
+23,3225
+24,2742
+25,2086
+5,1948
+26,1612
+27,1179
+4,1007
+28,893
+29,593
+3,415
+30,376
+31,226
+32,148
+2,134
+33,75
+34,50
+35,37
+1,17
+36,14
+38,5
+37,5
+40,4
+41,2
+39,1
+---- TYPES
+BIGINT, BIGINT
+====
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/6fbd35fa/testdata/workloads/tpch/queries/tpch-kudu-q14.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/tpch/queries/tpch-kudu-q14.test b/testdata/workloads/tpch/queries/tpch-kudu-q14.test
new file mode 100644
index 0000000..9af3c03
--- /dev/null
+++ b/testdata/workloads/tpch/queries/tpch-kudu-q14.test
@@ -0,0 +1,21 @@
+====
+---- QUERY: TPCH-Q14
+# Q14 - Promotion Effect
+select
+  round(100.00 * sum(case
+    when p_type like 'PROMO%'
+    then l_extendedprice * (1 - l_discount)
+    else 0.0
+    end) / sum(l_extendedprice * (1 - l_discount)), 4) as promo_revenue
+from
+  lineitem,
+  part
+where
+  l_partkey = p_partkey
+  and l_shipdate >= '1995-09-01'
+  and l_shipdate < '1995-10-01'
+---- RESULTS
+16.3808
+---- TYPES
+double
+====
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/6fbd35fa/testdata/workloads/tpch/queries/tpch-kudu-q15.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/tpch/queries/tpch-kudu-q15.test b/testdata/workloads/tpch/queries/tpch-kudu-q15.test
new file mode 100644
index 0000000..203a15a
--- /dev/null
+++ b/testdata/workloads/tpch/queries/tpch-kudu-q15.test
@@ -0,0 +1,38 @@
+====
+---- QUERY: TPCH-Q15
+# Q15 - Top Supplier Query
+with revenue_view as (
+  select
+    l_suppkey as supplier_no,
+    round(sum(l_extendedprice * (1 - l_discount)), 1) as total_revenue
+  from
+    lineitem
+  where
+    l_shipdate >= '1996-01-01'
+    and l_shipdate < '1996-04-01'
+  group by
+    l_suppkey)
+select
+  s_suppkey,
+  s_name,
+  s_address,
+  s_phone,
+  total_revenue
+from
+  supplier,
+  revenue_view
+where
+  s_suppkey = supplier_no
+  and total_revenue = (
+    select
+      max(total_revenue)
+    from
+      revenue_view
+    )
+order by
+  s_suppkey
+---- RESULTS
+8449,'Supplier#000008449','Wp34zim9qYFbVctdW','20-469-856-8873',1772627.2
+---- TYPES
+BIGINT, STRING, STRING, STRING, DOUBLE
+====
\ No newline at end of file



[2/4] incubator-impala git commit: Enable TPC-H workload for Kudu tables

Posted by ta...@apache.org.
http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/6fbd35fa/testdata/workloads/tpch/queries/tpch-kudu-q16.test
----------------------------------------------------------------------
diff --git a/testdata/workloads/tpch/queries/tpch-kudu-q16.test b/testdata/workloads/tpch/queries/tpch-kudu-q16.test
new file mode 100644
index 0000000..20f65df
--- /dev/null
+++ b/testdata/workloads/tpch/queries/tpch-kudu-q16.test
@@ -0,0 +1,18351 @@
+====
+---- QUERY: TPCH-Q16
+# Q16 - Parts/Supplier Relation Query
+select
+  p_brand,
+  p_type,
+  p_size,
+  count(distinct ps_suppkey) as supplier_cnt
+from
+  partsupp,
+  part
+where
+  p_partkey = ps_partkey
+  and p_brand <> 'Brand#45'
+  and p_type not like 'MEDIUM POLISHED%'
+  and p_size in (49, 14, 23, 45, 19, 3, 36, 9)
+  and ps_suppkey not in (
+    select
+      s_suppkey
+    from
+      supplier
+    where
+      s_comment like '%Customer%Complaints%'
+  )
+group by
+  p_brand,
+  p_type,
+  p_size
+order by
+  supplier_cnt desc,
+  p_brand,
+  p_type,
+  p_size
+---- RESULTS
+'Brand#41','MEDIUM BRUSHED TIN',3,28
+'Brand#54','STANDARD BRUSHED COPPER',14,27
+'Brand#11','STANDARD BRUSHED TIN',23,24
+'Brand#11','STANDARD BURNISHED BRASS',36,24
+'Brand#15','MEDIUM ANODIZED NICKEL',3,24
+'Brand#15','SMALL ANODIZED BRASS',45,24
+'Brand#15','SMALL BURNISHED NICKEL',19,24
+'Brand#21','MEDIUM ANODIZED COPPER',3,24
+'Brand#22','SMALL BRUSHED NICKEL',3,24
+'Brand#22','SMALL BURNISHED BRASS',19,24
+'Brand#25','MEDIUM BURNISHED COPPER',36,24
+'Brand#31','PROMO POLISHED COPPER',36,24
+'Brand#33','LARGE POLISHED TIN',23,24
+'Brand#33','PROMO POLISHED STEEL',14,24
+'Brand#35','PROMO BRUSHED NICKEL',14,24
+'Brand#41','ECONOMY BRUSHED STEEL',9,24
+'Brand#41','ECONOMY POLISHED TIN',19,24
+'Brand#41','LARGE PLATED COPPER',36,24
+'Brand#42','ECONOMY PLATED BRASS',3,24
+'Brand#42','STANDARD POLISHED TIN',49,24
+'Brand#43','PROMO BRUSHED TIN',3,24
+'Brand#43','SMALL ANODIZED COPPER',36,24
+'Brand#44','STANDARD POLISHED NICKEL',3,24
+'Brand#52','ECONOMY PLATED TIN',14,24
+'Brand#52','STANDARD BURNISHED NICKEL',3,24
+'Brand#53','MEDIUM ANODIZED STEEL',14,24
+'Brand#14','PROMO ANODIZED NICKEL',45,23
+'Brand#32','ECONOMY PLATED BRASS',9,23
+'Brand#52','SMALL ANODIZED COPPER',3,23
+'Brand#11','ECONOMY BRUSHED COPPER',45,20
+'Brand#11','ECONOMY PLATED BRASS',23,20
+'Brand#11','LARGE BRUSHED COPPER',49,20
+'Brand#11','LARGE POLISHED COPPER',49,20
+'Brand#12','STANDARD ANODIZED TIN',49,20
+'Brand#12','STANDARD PLATED BRASS',19,20
+'Brand#13','ECONOMY BRUSHED BRASS',9,20
+'Brand#13','ECONOMY BURNISHED STEEL',14,20
+'Brand#13','LARGE BURNISHED NICKEL',19,20
+'Brand#13','MEDIUM BURNISHED COPPER',36,20
+'Brand#13','SMALL BRUSHED TIN',45,20
+'Brand#13','STANDARD ANODIZED COPPER',3,20
+'Brand#13','STANDARD PLATED NICKEL',23,20
+'Brand#14','ECONOMY ANODIZED COPPER',14,20
+'Brand#14','ECONOMY PLATED TIN',36,20
+'Brand#14','ECONOMY POLISHED NICKEL',3,20
+'Brand#14','MEDIUM ANODIZED NICKEL',3,20
+'Brand#14','SMALL POLISHED TIN',14,20
+'Brand#15','MEDIUM ANODIZED COPPER',9,20
+'Brand#15','MEDIUM PLATED TIN',23,20
+'Brand#15','PROMO PLATED BRASS',14,20
+'Brand#15','SMALL ANODIZED COPPER',45,20
+'Brand#15','SMALL PLATED COPPER',49,20
+'Brand#15','STANDARD PLATED TIN',3,20
+'Brand#21','LARGE ANODIZED COPPER',36,20
+'Brand#21','LARGE BRUSHED TIN',3,20
+'Brand#21','MEDIUM ANODIZED COPPER',14,20
+'Brand#21','PROMO BRUSHED TIN',36,20
+'Brand#21','PROMO POLISHED NICKEL',45,20
+'Brand#21','SMALL ANODIZED COPPER',9,20
+'Brand#21','SMALL POLISHED NICKEL',23,20
+'Brand#22','LARGE ANODIZED COPPER',36,20
+'Brand#22','LARGE BRUSHED COPPER',49,20
+'Brand#22','PROMO ANODIZED TIN',49,20
+'Brand#22','PROMO POLISHED BRASS',45,20
+'Brand#22','SMALL BURNISHED STEEL',45,20
+'Brand#23','MEDIUM ANODIZED STEEL',45,20
+'Brand#23','PROMO POLISHED STEEL',23,20
+'Brand#23','STANDARD BRUSHED TIN',14,20
+'Brand#23','STANDARD PLATED NICKEL',36,20
+'Brand#24','PROMO PLATED COPPER',49,20
+'Brand#24','PROMO PLATED STEEL',49,20
+'Brand#24','PROMO POLISHED STEEL',9,20
+'Brand#24','STANDARD BRUSHED TIN',36,20
+'Brand#25','LARGE ANODIZED BRASS',3,20
+'Brand#25','PROMO BURNISHED TIN',3,20
+'Brand#31','ECONOMY POLISHED NICKEL',3,20
+'Brand#31','MEDIUM PLATED TIN',45,20
+'Brand#31','SMALL ANODIZED STEEL',14,20
+'Brand#32','ECONOMY ANODIZED COPPER',36,20
+'Brand#32','ECONOMY BRUSHED NICKEL',49,20
+'Brand#32','LARGE ANODIZED TIN',19,20
+'Brand#32','MEDIUM BURNISHED COPPER',19,20
+'Brand#32','SMALL ANODIZED STEEL',45,20
+'Brand#33','ECONOMY POLISHED COPPER',19,20
+'Brand#33','PROMO PLATED NICKEL',14,20
+'Brand#33','SMALL POLISHED TIN',9,20
+'Brand#33','STANDARD ANODIZED BRASS',49,20
+'Brand#33','STANDARD BURNISHED BRASS',45,20
+'Brand#34','ECONOMY BRUSHED NICKEL',49,20
+'Brand#34','LARGE BRUSHED BRASS',19,20
+'Brand#34','SMALL BRUSHED TIN',3,20
+'Brand#34','STANDARD PLATED COPPER',9,20
+'Brand#35','LARGE ANODIZED NICKEL',3,20
+'Brand#35','MEDIUM ANODIZED BRASS',45,20
+'Brand#35','MEDIUM ANODIZED STEEL',23,20
+'Brand#35','PROMO ANODIZED COPPER',49,20
+'Brand#35','SMALL POLISHED COPPER',14,20
+'Brand#41','LARGE ANODIZED STEEL',3,20
+'Brand#41','LARGE BRUSHED NICKEL',23,20
+'Brand#41','LARGE BURNISHED COPPER',3,20
+'Brand#41','MEDIUM PLATED STEEL',19,20
+'Brand#41','SMALL BURNISHED COPPER',23,20
+'Brand#42','MEDIUM BURNISHED BRASS',14,20
+'Brand#42','SMALL BURNISHED COPPER',3,20
+'Brand#43','ECONOMY POLISHED COPPER',9,20
+'Brand#43','SMALL PLATED STEEL',3,20
+'Brand#43','STANDARD BURNISHED TIN',23,20
+'Brand#44','LARGE ANODIZED STEEL',23,20
+'Brand#44','PROMO ANODIZED TIN',23,20
+'Brand#51','ECONOMY BRUSHED BRASS',49,20
+'Brand#51','ECONOMY POLISHED NICKEL',9,20
+'Brand#51','MEDIUM BRUSHED TIN',9,20
+'Brand#51','MEDIUM PLATED BRASS',9,20
+'Brand#51','PROMO BURNISHED BRASS',9,20
+'Brand#51','SMALL PLATED NICKEL',49,20
+'Brand#51','STANDARD ANODIZED NICKEL',49,20
+'Brand#51','STANDARD BRUSHED COPPER',3,20
+'Brand#52','ECONOMY ANODIZED BRASS',3,20
+'Brand#52','ECONOMY BRUSHED COPPER',49,20
+'Brand#52','LARGE ANODIZED NICKEL',45,20
+'Brand#52','MEDIUM ANODIZED TIN',23,20
+'Brand#52','MEDIUM BURNISHED TIN',45,20
+'Brand#52','SMALL PLATED COPPER',36,20
+'Brand#52','STANDARD ANODIZED BRASS',45,20
+'Brand#53','ECONOMY PLATED COPPER',45,20
+'Brand#53','PROMO ANODIZED COPPER',49,20
+'Brand#53','PROMO BRUSHED COPPER',23,20
+'Brand#53','PROMO PLATED TIN',19,20
+'Brand#53','PROMO POLISHED NICKEL',3,20
+'Brand#53','SMALL ANODIZED STEEL',9,20
+'Brand#53','SMALL BRUSHED COPPER',3,20
+'Brand#53','SMALL BRUSHED NICKEL',3,20
+'Brand#54','ECONOMY PLATED STEEL',9,20
+'Brand#54','ECONOMY POLISHED TIN',3,20
+'Brand#54','SMALL BRUSHED BRASS',19,20
+'Brand#55','MEDIUM ANODIZED COPPER',3,20
+'Brand#55','PROMO BURNISHED STEEL',14,20
+'Brand#55','PROMO POLISHED NICKEL',49,20
+'Brand#55','STANDARD ANODIZED BRASS',19,20
+'Brand#55','STANDARD BURNISHED COPPER',45,20
+'Brand#43','ECONOMY ANODIZED TIN',3,19
+'Brand#11','ECONOMY ANODIZED BRASS',14,16
+'Brand#11','ECONOMY ANODIZED BRASS',23,16
+'Brand#11','ECONOMY ANODIZED COPPER',14,16
+'Brand#11','ECONOMY BRUSHED BRASS',49,16
+'Brand#11','ECONOMY BRUSHED STEEL',19,16
+'Brand#11','ECONOMY BURNISHED NICKEL',23,16
+'Brand#11','LARGE ANODIZED COPPER',14,16
+'Brand#11','LARGE BRUSHED TIN',45,16
+'Brand#11','LARGE BURNISHED COPPER',23,16
+'Brand#11','LARGE BURNISHED NICKEL',36,16
+'Brand#11','LARGE PLATED STEEL',14,16
+'Brand#11','MEDIUM BRUSHED NICKEL',14,16
+'Brand#11','MEDIUM BRUSHED STEEL',49,16
+'Brand#11','MEDIUM BURNISHED NICKEL',49,16
+'Brand#11','MEDIUM BURNISHED TIN',3,16
+'Brand#11','MEDIUM PLATED COPPER',9,16
+'Brand#11','PROMO ANODIZED BRASS',19,16
+'Brand#11','PROMO ANODIZED BRASS',49,16
+'Brand#11','PROMO ANODIZED STEEL',45,16
+'Brand#11','PROMO PLATED BRASS',45,16
+'Brand#11','SMALL ANODIZED TIN',45,16
+'Brand#11','SMALL BRUSHED STEEL',49,16
+'Brand#11','SMALL BURNISHED COPPER',19,16
+'Brand#11','SMALL BURNISHED COPPER',45,16
+'Brand#11','SMALL BURNISHED NICKEL',14,16
+'Brand#11','SMALL POLISHED NICKEL',36,16
+'Brand#11','STANDARD ANODIZED BRASS',19,16
+'Brand#11','STANDARD ANODIZED COPPER',14,16
+'Brand#11','STANDARD BRUSHED STEEL',45,16
+'Brand#11','STANDARD POLISHED NICKEL',23,16
+'Brand#12','ECONOMY ANODIZED TIN',14,16
+'Brand#12','ECONOMY BRUSHED COPPER',9,16
+'Brand#12','ECONOMY BRUSHED COPPER',36,16
+'Brand#12','ECONOMY BURNISHED BRASS',9,16
+'Brand#12','ECONOMY BURNISHED NICKEL',36,16
+'Brand#12','LARGE ANODIZED BRASS',14,16
+'Brand#12','LARGE ANODIZED COPPER',9,16
+'Brand#12','LARGE ANODIZED STEEL',23,16
+'Brand#12','LARGE BURNISHED TIN',36,16
+'Brand#12','LARGE PLATED COPPER',49,16
+'Brand#12','LARGE POLISHED COPPER',49,16
+'Brand#12','MEDIUM PLATED COPPER',19,16
+'Brand#12','MEDIUM PLATED NICKEL',23,16
+'Brand#12','PROMO ANODIZED BRASS',45,16
+'Brand#12','PROMO ANODIZED STEEL',49,16
+'Brand#12','PROMO BURNISHED STEEL',9,16
+'Brand#12','SMALL BRUSHED NICKEL',36,16
+'Brand#12','SMALL BRUSHED TIN',45,16
+'Brand#12','STANDARD ANODIZED BRASS',3,16
+'Brand#12','STANDARD ANODIZED NICKEL',14,16
+'Brand#12','STANDARD BRUSHED BRASS',3,16
+'Brand#12','STANDARD BRUSHED TIN',9,16
+'Brand#12','STANDARD BRUSHED TIN',36,16
+'Brand#12','STANDARD POLISHED COPPER',9,16
+'Brand#13','ECONOMY ANODIZED STEEL',45,16
+'Brand#13','ECONOMY POLISHED BRASS',3,16
+'Brand#13','LARGE BRUSHED NICKEL',23,16
+'Brand#13','LARGE BURNISHED NICKEL',9,16
+'Brand#13','MEDIUM BRUSHED STEEL',49,16
+'Brand#13','MEDIUM BURNISHED NICKEL',49,16
+'Brand#13','MEDIUM PLATED BRASS',49,16
+'Brand#13','PROMO ANODIZED BRASS',14,16
+'Brand#13','PROMO ANODIZED COPPER',3,16
+'Brand#13','SMALL ANODIZED STEEL',45,16
+'Brand#13','SMALL BURNISHED STEEL',19,16
+'Brand#13','SMALL PLATED BRASS',36,16
+'Brand#13','STANDARD ANODIZED BRASS',23,16
+'Brand#13','STANDARD ANODIZED STEEL',23,16
+'Brand#13','STANDARD BURNISHED BRASS',9,16
+'Brand#13','STANDARD PLATED NICKEL',9,16
+'Brand#13','STANDARD PLATED TIN',23,16
+'Brand#14','ECONOMY BRUSHED STEEL',3,16
+'Brand#14','ECONOMY PLATED NICKEL',9,16
+'Brand#14','ECONOMY PLATED STEEL',9,16
+'Brand#14','ECONOMY POLISHED NICKEL',19,16
+'Brand#14','LARGE ANODIZED COPPER',14,16
+'Brand#14','LARGE BRUSHED NICKEL',19,16
+'Brand#14','LARGE POLISHED STEEL',3,16
+'Brand#14','LARGE POLISHED TIN',23,16
+'Brand#14','MEDIUM BURNISHED COPPER',3,16
+'Brand#14','PROMO ANODIZED STEEL',36,16
+'Brand#14','PROMO PLATED BRASS',9,16
+'Brand#14','PROMO PLATED NICKEL',49,16
+'Brand#14','PROMO POLISHED BRASS',19,16
+'Brand#14','PROMO POLISHED STEEL',19,16
+'Brand#14','PROMO POLISHED TIN',45,16
+'Brand#14','SMALL BRUSHED BRASS',14,16
+'Brand#14','SMALL BURNISHED COPPER',45,16
+'Brand#14','STANDARD BRUSHED TIN',19,16
+'Brand#14','STANDARD PLATED COPPER',45,16
+'Brand#14','STANDARD PLATED TIN',9,16
+'Brand#14','STANDARD POLISHED TIN',49,16
+'Brand#15','ECONOMY BRUSHED STEEL',19,16
+'Brand#15','LARGE BRUSHED BRASS',14,16
+'Brand#15','LARGE BRUSHED STEEL',14,16
+'Brand#15','LARGE BURNISHED NICKEL',3,16
+'Brand#15','LARGE PLATED COPPER',49,16
+'Brand#15','PROMO ANODIZED NICKEL',3,16
+'Brand#15','PROMO BURNISHED TIN',49,16
+'Brand#15','PROMO PLATED STEEL',3,16
+'Brand#15','PROMO POLISHED STEEL',49,16
+'Brand#15','SMALL BRUSHED COPPER',9,16
+'Brand#15','SMALL BRUSHED NICKEL',23,16
+'Brand#15','SMALL PLATED BRASS',49,16
+'Brand#15','STANDARD ANODIZED COPPER',45,16
+'Brand#15','STANDARD BRUSHED COPPER',14,16
+'Brand#15','STANDARD PLATED TIN',36,16
+'Brand#21','ECONOMY ANODIZED STEEL',45,16
+'Brand#21','ECONOMY BRUSHED COPPER',9,16
+'Brand#21','ECONOMY POLISHED STEEL',19,16
+'Brand#21','LARGE ANODIZED STEEL',14,16
+'Brand#21','MEDIUM ANODIZED STEEL',36,16
+'Brand#21','PROMO POLISHED BRASS',14,16
+'Brand#21','PROMO POLISHED TIN',49,16
+'Brand#21','SMALL BRUSHED COPPER',3,16
+'Brand#21','SMALL PLATED STEEL',45,16
+'Brand#21','SMALL PLATED TIN',45,16
+'Brand#21','STANDARD POLISHED STEEL',36,16
+'Brand#22','ECONOMY BRUSHED BRASS',9,16
+'Brand#22','ECONOMY BRUSHED NICKEL',36,16
+'Brand#22','ECONOMY POLISHED TIN',36,16
+'Brand#22','LARGE BRUSHED COPPER',19,16
+'Brand#22','LARGE BRUSHED TIN',36,16
+'Brand#22','LARGE POLISHED COPPER',19,16
+'Brand#22','MEDIUM ANODIZED BRASS',23,16
+'Brand#22','MEDIUM ANODIZED NICKEL',9,16
+'Brand#22','MEDIUM BRUSHED NICKEL',14,16
+'Brand#22','MEDIUM PLATED NICKEL',23,16
+'Brand#22','PROMO ANODIZED TIN',45,16
+'Brand#22','PROMO POLISHED STEEL',49,16
+'Brand#22','SMALL BRUSHED NICKEL',45,16
+'Brand#22','SMALL POLISHED BRASS',36,16
+'Brand#22','SMALL POLISHED STEEL',9,16
+'Brand#22','STANDARD BURNISHED BRASS',45,16
+'Brand#22','STANDARD BURNISHED NICKEL',3,16
+'Brand#22','STANDARD PLATED BRASS',9,16
+'Brand#23','ECONOMY BRUSHED TIN',49,16
+'Brand#23','ECONOMY BURNISHED COPPER',45,16
+'Brand#23','ECONOMY BURNISHED NICKEL',19,16
+'Brand#23','ECONOMY BURNISHED TIN',9,16
+'Brand#23','ECONOMY PLATED BRASS',9,16
+'Brand#23','ECONOMY PLATED COPPER',14,16
+'Brand#23','LARGE ANODIZED STEEL',23,16
+'Brand#23','LARGE ANODIZED STEEL',49,16
+'Brand#23','LARGE BURNISHED COPPER',23,16
+'Brand#23','LARGE POLISHED NICKEL',9,16
+'Brand#23','MEDIUM BRUSHED STEEL',3,16
+'Brand#23','PROMO ANODIZED COPPER',19,16
+'Brand#23','PROMO ANODIZED TIN',3,16
+'Brand#23','PROMO BURNISHED COPPER',14,16
+'Brand#23','PROMO PLATED BRASS',3,16
+'Brand#23','SMALL ANODIZED BRASS',23,16
+'Brand#23','SMALL BRUSHED BRASS',45,16
+'Brand#23','SMALL POLISHED TIN',3,16
+'Brand#23','STANDARD BURNISHED COPPER',19,16
+'Brand#23','STANDARD BURNISHED NICKEL',49,16
+'Brand#23','STANDARD PLATED BRASS',9,16
+'Brand#23','STANDARD PLATED COPPER',45,16
+'Brand#23','STANDARD POLISHED BRASS',9,16
+'Brand#24','ECONOMY ANODIZED BRASS',3,16
+'Brand#24','ECONOMY BRUSHED COPPER',36,16
+'Brand#24','ECONOMY BRUSHED STEEL',14,16
+'Brand#24','ECONOMY POLISHED COPPER',36,16
+'Brand#24','ECONOMY POLISHED NICKEL',3,16
+'Brand#24','LARGE ANODIZED BRASS',23,16
+'Brand#24','LARGE BURNISHED BRASS',45,16
+'Brand#24','LARGE BURNISHED STEEL',14,16
+'Brand#24','LARGE PLATED TIN',9,16
+'Brand#24','MEDIUM BRUSHED NICKEL',49,16
+'Brand#24','MEDIUM BURNISHED STEEL',3,16
+'Brand#24','PROMO BURNISHED COPPER',49,16
+'Brand#24','PROMO BURNISHED STEEL',49,16
+'Brand#24','PROMO POLISHED STEEL',23,16
+'Brand#24','SMALL ANODIZED NICKEL',19,16
+'Brand#24','STANDARD BURNISHED COPPER',19,16
+'Brand#24','STANDARD BURNISHED STEEL',36,16
+'Brand#24','STANDARD PLATED NICKEL',23,16
+'Brand#24','STANDARD PLATED TIN',49,16
+'Brand#25','ECONOMY ANODIZED COPPER',14,16
+'Brand#25','ECONOMY BURNISHED NICKEL',9,16
+'Brand#25','ECONOMY PLATED TIN',14,16
+'Brand#25','ECONOMY POLISHED TIN',45,16
+'Brand#25','LARGE ANODIZED STEEL',9,16
+'Brand#25','LARGE ANODIZED TIN',45,16
+'Brand#25','LARGE BRUSHED NICKEL',36,16
+'Brand#25','LARGE BURNISHED NICKEL',14,16
+'Brand#25','LARGE POLISHED STEEL',19,16
+'Brand#25','MEDIUM BRUSHED COPPER',9,16
+'Brand#25','MEDIUM BURNISHED COPPER',49,16
+'Brand#25','MEDIUM BURNISHED TIN',3,16
+'Brand#25','MEDIUM PLATED STEEL',9,16
+'Brand#25','PROMO ANODIZED BRASS',49,16
+'Brand#25','PROMO ANODIZED STEEL',19,16
+'Brand#25','PROMO ANODIZED TIN',23,16
+'Brand#25','PROMO BURNISHED COPPER',49,16
+'Brand#25','PROMO POLISHED COPPER',14,16
+'Brand#25','SMALL ANODIZED COPPER',23,16
+'Brand#25','SMALL BRUSHED STEEL',23,16
+'Brand#25','SMALL POLISHED COPPER',23,16
+'Brand#25','STANDARD BURNISHED STEEL',23,16
+'Brand#25','STANDARD BURNISHED TIN',3,16
+'Brand#25','STANDARD BURNISHED TIN',36,16
+'Brand#25','STANDARD PLATED BRASS',45,16
+'Brand#25','STANDARD PLATED COPPER',49,16
+'Brand#31','ECONOMY ANODIZED BRASS',45,16
+'Brand#31','ECONOMY BRUSHED COPPER',14,16
+'Brand#31','ECONOMY BRUSHED COPPER',36,16
+'Brand#31','LARGE ANODIZED STEEL',45,16
+'Brand#31','LARGE BURNISHED NICKEL',45,16
+'Brand#31','LARGE PLATED TIN',14,16
+'Brand#31','LARGE POLISHED COPPER',49,16
+'Brand#31','MEDIUM ANODIZED NICKEL',49,16
+'Brand#31','MEDIUM BURNISHED BRASS',19,16
+'Brand#31','PROMO ANODIZED NICKEL',14,16
+'Brand#31','PROMO BRUSHED TIN',45,16
+'Brand#31','PROMO BURNISHED STEEL',36,16
+'Brand#31','SMALL ANODIZED NICKEL',23,16
+'Brand#31','SMALL BRUSHED NICKEL',14,16
+'Brand#31','SMALL BRUSHED TIN',19,16
+'Brand#31','SMALL PLATED NICKEL',23,16
+'Brand#31','SMALL POLISHED BRASS',23,16
+'Brand#31','SMALL POLISHED TIN',14,16
+'Brand#31','SMALL POLISHED TIN',45,16
+'Brand#31','STANDARD BRUSHED COPPER',45,16
+'Brand#31','STANDARD POLISHED STEEL',36,16
+'Brand#32','ECONOMY BRUSHED STEEL',9,16
+'Brand#32','ECONOMY PLATED STEEL',14,16
+'Brand#32','LARGE ANODIZED BRASS',36,16
+'Brand#32','LARGE BURNISHED NICKEL',36,16
+'Brand#32','LARGE PLATED BRASS',36,16
+'Brand#32','LARGE PLATED STEEL',23,16
+'Brand#32','MEDIUM BRUSHED BRASS',49,16
+'Brand#32','MEDIUM BRUSHED TIN',9,16
+'Brand#32','MEDIUM PLATED COPPER',36,16
+'Brand#32','PROMO ANODIZED TIN',36,16
+'Brand#32','PROMO BRUSHED BRASS',9,16
+'Brand#32','PROMO BURNISHED STEEL',36,16
+'Brand#32','PROMO PLATED STEEL',3,16
+'Brand#32','PROMO PLATED TIN',45,16
+'Brand#32','SMALL BURNISHED TIN',49,16
+'Brand#32','SMALL PLATED NICKEL',36,16
+'Brand#32','SMALL POLISHED NICKEL',36,16
+'Brand#32','SMALL POLISHED STEEL',9,16
+'Brand#32','SMALL POLISHED TIN',36,16
+'Brand#32','STANDARD ANODIZED COPPER',14,16
+'Brand#32','STANDARD ANODIZED TIN',9,16
+'Brand#32','STANDARD BURNISHED COPPER',45,16
+'Brand#32','STANDARD BURNISHED COPPER',49,16
+'Brand#32','STANDARD POLISHED BRASS',14,16
+'Brand#32','STANDARD POLISHED STEEL',14,16
+'Brand#33','ECONOMY ANODIZED STEEL',49,16
+'Brand#33','ECONOMY PLATED BRASS',36,16
+'Brand#33','ECONOMY PLATED COPPER',19,16
+'Brand#33','ECONOMY POLISHED NICKEL',19,16
+'Brand#33','LARGE ANODIZED STEEL',45,16
+'Brand#33','LARGE ANODIZED TIN',45,16
+'Brand#33','LARGE BURNISHED COPPER',45,16
+'Brand#33','LARGE POLISHED STEEL',3,16
+'Brand#33','MEDIUM ANODIZED BRASS',23,16
+'Brand#33','MEDIUM ANODIZED NICKEL',3,16
+'Brand#33','MEDIUM ANODIZED TIN',14,16
+'Brand#33','MEDIUM BRUSHED COPPER',49,16
+'Brand#33','MEDIUM BURNISHED COPPER',9,16
+'Brand#33','PROMO BURNISHED BRASS',9,16
+'Brand#33','PROMO BURNISHED BRASS',19,16
+'Brand#33','PROMO PLATED STEEL',49,16
+'Brand#33','SMALL ANODIZED BRASS',36,16
+'Brand#33','SMALL BRUSHED BRASS',3,16
+'Brand#33','SMALL BRUSHED STEEL',9,16
+'Brand#33','SMALL POLISHED BRASS',14,16
+'Brand#33','SMALL POLISHED COPPER',36,16
+'Brand#33','SMALL POLISHED NICKEL',19,16
+'Brand#33','STANDARD ANODIZED BRASS',9,16
+'Brand#33','STANDARD ANODIZED TIN',3,16
+'Brand#33','STANDARD BURNISHED NICKEL',49,16
+'Brand#33','STANDARD PLATED NICKEL',49,16
+'Brand#33','STANDARD POLISHED BRASS',9,16
+'Brand#33','STANDARD POLISHED BRASS',14,16
+'Brand#33','STANDARD POLISHED COPPER',49,16
+'Brand#33','STANDARD POLISHED STEEL',3,16
+'Brand#34','ECONOMY BURNISHED BRASS',14,16
+'Brand#34','ECONOMY POLISHED STEEL',36,16
+'Brand#34','LARGE BRUSHED BRASS',23,16
+'Brand#34','LARGE PLATED BRASS',36,16
+'Brand#34','LARGE PLATED TIN',3,16
+'Brand#34','LARGE POLISHED COPPER',14,16
+'Brand#34','MEDIUM ANODIZED COPPER',36,16
+'Brand#34','MEDIUM BRUSHED STEEL',23,16
+'Brand#34','MEDIUM PLATED NICKEL',23,16
+'Brand#34','PROMO BRUSHED NICKEL',45,16
+'Brand#34','PROMO POLISHED TIN',3,16
+'Brand#34','SMALL ANODIZED NICKEL',14,16
+'Brand#34','SMALL BURNISHED TIN',3,16
+'Brand#34','SMALL POLISHED NICKEL',36,16
+'Brand#34','STANDARD ANODIZED STEEL',9,16
+'Brand#34','STANDARD BURNISHED NICKEL',19,16
+'Brand#34','STANDARD BURNISHED NICKEL',23,16
+'Brand#34','STANDARD POLISHED COPPER',23,16
+'Brand#35','ECONOMY ANODIZED COPPER',36,16
+'Brand#35','ECONOMY BURNISHED NICKEL',19,16
+'Brand#35','ECONOMY BURNISHED TIN',9,16
+'Brand#35','ECONOMY PLATED STEEL',14,16
+'Brand#35','LARGE ANODIZED BRASS',9,16
+'Brand#35','LARGE ANODIZED COPPER',49,16
+'Brand#35','LARGE ANODIZED NICKEL',9,16
+'Brand#35','LARGE BRUSHED TIN',49,16
+'Brand#35','LARGE BURNISHED COPPER',23,16
+'Brand#35','LARGE BURNISHED NICKEL',9,16
+'Brand#35','LARGE BURNISHED STEEL',3,16
+'Brand#35','LARGE PLATED COPPER',19,16
+'Brand#35','MEDIUM BRUSHED STEEL',23,16
+'Brand#35','MEDIUM PLATED NICKEL',23,16
+'Brand#35','PROMO BRUSHED NICKEL',19,16
+'Brand#35','SMALL ANODIZED BRASS',45,16
+'Brand#35','SMALL BRUSHED TIN',49,16
+'Brand#41','ECONOMY ANODIZED STEEL',49,16
+'Brand#41','ECONOMY PLATED STEEL',3,16
+'Brand#41','ECONOMY PLATED TIN',3,16
+'Brand#41','ECONOMY POLISHED STEEL',19,16
+'Brand#41','ECONOMY POLISHED STEEL',45,16
+'Brand#41','LARGE ANODIZED BRASS',36,16
+'Brand#41','LARGE BURNISHED BRASS',23,16
+'Brand#41','LARGE POLISHED BRASS',36,16
+'Brand#41','LARGE POLISHED NICKEL',3,16
+'Brand#41','MEDIUM BURNISHED TIN',3,16
+'Brand#41','MEDIUM PLATED STEEL',3,16
+'Brand#41','PROMO PLATED BRASS',9,16
+'Brand#41','PROMO PLATED STEEL',36,16
+'Brand#41','PROMO POLISHED STEEL',36,16
+'Brand#41','PROMO POLISHED TIN',19,16
+'Brand#41','SMALL ANODIZED COPPER',23,16
+'Brand#41','SMALL ANODIZED STEEL',45,16
+'Brand#41','SMALL BRUSHED NICKEL',45,16
+'Brand#41','SMALL BURNISHED NICKEL',36,16
+'Brand#41','SMALL POLISHED NICKEL',9,16
+'Brand#41','SMALL POLISHED STEEL',45,16
+'Brand#41','SMALL POLISHED TIN',14,16
+'Brand#41','STANDARD BRUSHED NICKEL',45,16
+'Brand#42','ECONOMY BRUSHED STEEL',14,16
+'Brand#42','ECONOMY BURNISHED STEEL',9,16
+'Brand#42','ECONOMY BURNISHED STEEL',45,16
+'Brand#42','LARGE ANODIZED TIN',23,16
+'Brand#42','LARGE BRUSHED STEEL',14,16
+'Brand#42','LARGE BURNISHED NICKEL',19,16
+'Brand#42','LARGE PLATED STEEL',45,16
+'Brand#42','LARGE POLISHED STEEL',14,16
+'Brand#42','MEDIUM ANODIZED STEEL',14,16
+'Brand#42','MEDIUM ANODIZED TIN',19,16
+'Brand#42','MEDIUM BRUSHED COPPER',9,16
+'Brand#42','MEDIUM BRUSHED STEEL',14,16
+'Brand#42','MEDIUM BURNISHED COPPER',49,16
+'Brand#42','MEDIUM BURNISHED NICKEL',23,16
+'Brand#42','MEDIUM BURNISHED TIN',49,16
+'Brand#42','PROMO ANODIZED NICKEL',49,16
+'Brand#42','PROMO ANODIZED STEEL',49,16
+'Brand#42','PROMO BURNISHED TIN',49,16
+'Brand#42','SMALL ANODIZED BRASS',23,16
+'Brand#42','SMALL ANODIZED NICKEL',19,16
+'Brand#42','SMALL ANODIZED TIN',49,16
+'Brand#42','SMALL PLATED COPPER',23,16
+'Brand#42','STANDARD ANODIZED BRASS',9,16
+'Brand#42','STANDARD ANODIZED NICKEL',9,16
+'Brand#42','STANDARD BRUSHED STEEL',49,16
+'Brand#42','STANDARD BRUSHED TIN',45,16
+'Brand#42','STANDARD PLATED TIN',23,16
+'Brand#43','ECONOMY BRUSHED STEEL',23,16
+'Brand#43','ECONOMY PLATED TIN',49,16
+'Brand#43','ECONOMY POLISHED TIN',14,16
+'Brand#43','LARGE BRUSHED COPPER',9,16
+'Brand#43','LARGE BURNISHED STEEL',9,16
+'Brand#43','LARGE PLATED BRASS',14,16
+'Brand#43','LARGE PLATED BRASS',19,16
+'Brand#43','LARGE PLATED NICKEL',45,16
+'Brand#43','MEDIUM ANODIZED COPPER',49,16
+'Brand#43','PROMO BRUSHED BRASS',36,16
+'Brand#43','PROMO BRUSHED STEEL',49,16
+'Brand#43','PROMO PLATED BRASS',45,16
+'Brand#43','SMALL BURNISHED COPPER',19,16
+'Brand#43','SMALL BURNISHED TIN',23,16
+'Brand#43','SMALL BURNISHED TIN',45,16
+'Brand#43','SMALL PLATED COPPER',23,16
+'Brand#43','SMALL POLISHED STEEL',19,16
+'Brand#43','STANDARD ANODIZED TIN',45,16
+'Brand#43','STANDARD PLATED BRASS',3,16
+'Brand#44','ECONOMY ANODIZED BRASS',45,16
+'Brand#44','ECONOMY BRUSHED TIN',45,16
+'Brand#44','ECONOMY PLATED COPPER',23,16
+'Brand#44','ECONOMY PLATED STEEL',3,16
+'Brand#44','LARGE BRUSHED BRASS',9,16
+'Brand#44','LARGE PLATED BRASS',49,16
+'Brand#44','LARGE PLATED STEEL',14,16
+'Brand#44','LARGE POLISHED TIN',19,16
+'Brand#44','MEDIUM ANODIZED NICKEL',9,16
+'Brand#44','MEDIUM ANODIZED TIN',49,16
+'Brand#44','MEDIUM BRUSHED NICKEL',36,16
+'Brand#44','MEDIUM BURNISHED NICKEL',23,16
+'Brand#44','MEDIUM BURNISHED NICKEL',45,16
+'Brand#44','MEDIUM PLATED BRASS',9,16
+'Brand#44','MEDIUM PLATED STEEL',49,16
+'Brand#44','PROMO BURNISHED TIN',3,16
+'Brand#44','SMALL ANODIZED COPPER',9,16
+'Brand#44','SMALL ANODIZED STEEL',14,16
+'Brand#44','SMALL BRUSHED STEEL',19,16
+'Brand#44','SMALL BRUSHED TIN',14,16
+'Brand#44','SMALL BURNISHED STEEL',23,16
+'Brand#44','SMALL PLATED STEEL',19,16
+'Brand#44','STANDARD ANODIZED NICKEL',45,16
+'Brand#44','STANDARD ANODIZED STEEL',19,16
+'Brand#44','STANDARD BRUSHED COPPER',36,16
+'Brand#44','STANDARD PLATED BRASS',49,16
+'Brand#44','STANDARD PLATED NICKEL',45,16
+'Brand#44','STANDARD PLATED STEEL',36,16
+'Brand#51','ECONOMY ANODIZED STEEL',9,16
+'Brand#51','ECONOMY BRUSHED STEEL',23,16
+'Brand#51','ECONOMY PLATED STEEL',9,16
+'Brand#51','LARGE BURNISHED COPPER',14,16
+'Brand#51','LARGE PLATED BRASS',3,16
+'Brand#51','LARGE PLATED BRASS',36,16
+'Brand#51','LARGE PLATED BRASS',49,16
+'Brand#51','LARGE POLISHED BRASS',3,16
+'Brand#51','LARGE POLISHED NICKEL',19,16
+'Brand#51','MEDIUM ANODIZED BRASS',9,16
+'Brand#51','MEDIUM ANODIZED TIN',9,16
+'Brand#51','MEDIUM PLATED BRASS',14,16
+'Brand#51','PROMO BURNISHED NICKEL',14,16
+'Brand#51','PROMO BURNISHED TIN',9,16
+'Brand#51','PROMO PLATED NICKEL',14,16
+'Brand#51','SMALL ANODIZED COPPER',45,16
+'Brand#51','SMALL BURNISHED COPPER',36,16
+'Brand#51','SMALL BURNISHED TIN',9,16
+'Brand#51','STANDARD BURNISHED STEEL',45,16
+'Brand#51','STANDARD BURNISHED TIN',9,16
+'Brand#51','STANDARD PLATED BRASS',36,16
+'Brand#51','STANDARD PLATED STEEL',45,16
+'Brand#52','ECONOMY BRUSHED NICKEL',3,16
+'Brand#52','ECONOMY BURNISHED COPPER',9,16
+'Brand#52','ECONOMY BURNISHED STEEL',14,16
+'Brand#52','LARGE ANODIZED BRASS',23,16
+'Brand#52','LARGE BRUSHED BRASS',14,16
+'Brand#52','LARGE BURNISHED TIN',23,16
+'Brand#52','MEDIUM ANODIZED COPPER',23,16
+'Brand#52','PROMO BRUSHED STEEL',36,16
+'Brand#52','PROMO PLATED COPPER',14,16
+'Brand#52','SMALL PLATED COPPER',3,16
+'Brand#52','STANDARD BRUSHED COPPER',14,16
+'Brand#52','STANDARD BURNISHED BRASS',14,16
+'Brand#52','STANDARD BURNISHED BRASS',19,16
+'Brand#52','STANDARD POLISHED NICKEL',36,16
+'Brand#53','ECONOMY ANODIZED BRASS',19,16
+'Brand#53','LARGE BRUSHED COPPER',14,16
+'Brand#53','LARGE BRUSHED NICKEL',45,16
+'Brand#53','LARGE BURNISHED COPPER',36,16
+'Brand#53','LARGE PLATED COPPER',36,16
+'Brand#53','LARGE PLATED STEEL',36,16
+'Brand#53','LARGE PLATED TIN',14,16
+'Brand#53','LARGE POLISHED BRASS',14,16
+'Brand#53','LARGE POLISHED STEEL',49,16
+'Brand#53','MEDIUM BRUSHED NICKEL',49,16
+'Brand#53','MEDIUM BURNISHED BRASS',3,16
+'Brand#53','MEDIUM BURNISHED COPPER',49,16
+'Brand#53','PROMO ANODIZED COPPER',36,16
+'Brand#53','PROMO ANODIZED NICKEL',3,16
+'Brand#53','PROMO BURNISHED STEEL',9,16
+'Brand#53','PROMO PLATED COPPER',3,16
+'Brand#53','SMALL ANODIZED TIN',9,16
+'Brand#53','STANDARD PLATED BRASS',23,16
+'Brand#54','ECONOMY BRUSHED BRASS',45,16
+'Brand#54','ECONOMY BRUSHED COPPER',14,16
+'Brand#54','LARGE ANODIZED NICKEL',49,16
+'Brand#54','LARGE BURNISHED BRASS',49,16
+'Brand#54','LARGE BURNISHED COPPER',19,16
+'Brand#54','LARGE POLISHED NICKEL',36,16
+'Brand#54','PROMO BURNISHED TIN',19,16
+'Brand#54','PROMO PLATED BRASS',49,16
+'Brand#54','PROMO POLISHED TIN',23,16
+'Brand#54','SMALL ANODIZED COPPER',14,16
+'Brand#54','SMALL BRUSHED COPPER',9,16
+'Brand#54','SMALL PLATED NICKEL',9,16
+'Brand#54','STANDARD ANODIZED COPPER',49,16
+'Brand#54','STANDARD ANODIZED TIN',14,16
+'Brand#54','STANDARD BRUSHED COPPER',45,16
+'Brand#54','STANDARD PLATED COPPER',23,16
+'Brand#54','STANDARD PLATED COPPER',45,16
+'Brand#54','STANDARD POLISHED BRASS',19,16
+'Brand#54','STANDARD POLISHED STEEL',14,16
+'Brand#55','ECONOMY BRUSHED TIN',36,16
+'Brand#55','ECONOMY POLISHED TIN',14,16
+'Brand#55','LARGE PLATED BRASS',9,16
+'Brand#55','LARGE POLISHED STEEL',9,16
+'Brand#55','MEDIUM BURNISHED TIN',36,16
+'Brand#55','PROMO ANODIZED BRASS',14,16
+'Brand#55','PROMO ANODIZED COPPER',14,16
+'Brand#55','SMALL BURNISHED STEEL',9,16
+'Brand#55','STANDARD POLISHED COPPER',19,16
+'Brand#23','PROMO POLISHED COPPER',36,15
+'Brand#33','PROMO POLISHED STEEL',9,15
+'Brand#34','LARGE BURNISHED BRASS',23,15
+'Brand#41','PROMO ANODIZED BRASS',49,15
+'Brand#11','ECONOMY ANODIZED NICKEL',14,12
+'Brand#11','ECONOMY ANODIZED NICKEL',23,12
+'Brand#11','ECONOMY ANODIZED STEEL',36,12
+'Brand#11','ECONOMY ANODIZED TIN',14,12
+'Brand#11','ECONOMY BRUSHED COPPER',14,12
+'Brand#11','ECONOMY BURNISHED BRASS',36,12
+'Brand#11','ECONOMY BURNISHED COPPER',3,12
+'Brand#11','ECONOMY BURNISHED COPPER',49,12
+'Brand#11','ECONOMY PLATED COPPER',3,12
+'Brand#11','ECONOMY PLATED COPPER',19,12
+'Brand#11','ECONOMY PLATED NICKEL',14,12
+'Brand#11','ECONOMY POLISHED COPPER',14,12
+'Brand#11','ECONOMY POLISHED TIN',23,12
+'Brand#11','LARGE ANODIZED NICKEL',9,12
+'Brand#11','LARGE ANODIZED STEEL',23,12
+'Brand#11','LARGE ANODIZED TIN',36,12
+'Brand#11','LARGE BRUSHED BRASS',19,12
+'Brand#11','LARGE BRUSHED STEEL',19,12
+'Brand#11','LARGE BRUSHED STEEL',36,12
+'Brand#11','LARGE BURNISHED BRASS',3,12
+'Brand#11','LARGE PLATED TIN',19,12
+'Brand#11','MEDIUM ANODIZED BRASS',45,12
+'Brand#11','MEDIUM BRUSHED BRASS',3,12
+'Brand#11','MEDIUM BRUSHED BRASS',23,12
+'Brand#11','MEDIUM BRUSHED BRASS',45,12
+'Brand#11','MEDIUM BRUSHED NICKEL',36,12
+'Brand#11','MEDIUM BRUSHED STEEL',19,12
+'Brand#11','MEDIUM BRUSHED STEEL',23,12
+'Brand#11','MEDIUM BURNISHED NICKEL',23,12
+'Brand#11','MEDIUM BURNISHED STEEL',9,12
+'Brand#11','MEDIUM PLATED BRASS',14,12
+'Brand#11','MEDIUM PLATED COPPER',3,12
+'Brand#11','MEDIUM PLATED STEEL',14,12
+'Brand#11','PROMO ANODIZED BRASS',45,12
+'Brand#11','PROMO BRUSHED NICKEL',9,12
+'Brand#11','PROMO BRUSHED STEEL',45,12
+'Brand#11','PROMO BURNISHED BRASS',23,12
+'Brand#11','PROMO BURNISHED COPPER',23,12
+'Brand#11','PROMO BURNISHED NICKEL',36,12
+'Brand#11','PROMO PLATED BRASS',14,12
+'Brand#11','PROMO PLATED COPPER',14,12
+'Brand#11','PROMO PLATED STEEL',49,12
+'Brand#11','PROMO PLATED TIN',3,12
+'Brand#11','PROMO POLISHED COPPER',14,12
+'Brand#11','PROMO POLISHED NICKEL',3,12
+'Brand#11','PROMO POLISHED STEEL',3,12
+'Brand#11','PROMO POLISHED STEEL',23,12
+'Brand#11','PROMO POLISHED TIN',14,12
+'Brand#11','SMALL ANODIZED BRASS',49,12
+'Brand#11','SMALL ANODIZED COPPER',49,12
+'Brand#11','SMALL ANODIZED NICKEL',9,12
+'Brand#11','SMALL ANODIZED STEEL',45,12
+'Brand#11','SMALL BURNISHED BRASS',19,12
+'Brand#11','SMALL BURNISHED BRASS',49,12
+'Brand#11','SMALL BURNISHED NICKEL',9,12
+'Brand#11','SMALL BURNISHED NICKEL',49,12
+'Brand#11','SMALL PLATED COPPER',45,12
+'Brand#11','SMALL PLATED NICKEL',45,12
+'Brand#11','SMALL PLATED TIN',36,12
+'Brand#11','SMALL POLISHED BRASS',14,12
+'Brand#11','SMALL POLISHED BRASS',19,12
+'Brand#11','SMALL POLISHED STEEL',3,12
+'Brand#11','SMALL POLISHED STEEL',36,12
+'Brand#11','STANDARD ANODIZED COPPER',49,12
+'Brand#11','STANDARD BRUSHED COPPER',23,12
+'Brand#11','STANDARD BRUSHED NICKEL',9,12
+'Brand#11','STANDARD BURNISHED BRASS',19,12
+'Brand#11','STANDARD BURNISHED COPPER',9,12
+'Brand#11','STANDARD PLATED STEEL',19,12
+'Brand#11','STANDARD PLATED TIN',45,12
+'Brand#11','STANDARD POLISHED STEEL',9,12
+'Brand#11','STANDARD POLISHED STEEL',19,12
+'Brand#11','STANDARD POLISHED TIN',14,12
+'Brand#12','ECONOMY ANODIZED BRASS',49,12
+'Brand#12','ECONOMY ANODIZED COPPER',14,12
+'Brand#12','ECONOMY ANODIZED NICKEL',19,12
+'Brand#12','ECONOMY ANODIZED NICKEL',45,12
+'Brand#12','ECONOMY BRUSHED BRASS',23,12
+'Brand#12','ECONOMY BRUSHED STEEL',9,12
+'Brand#12','ECONOMY BRUSHED TIN',3,12
+'Brand#12','ECONOMY BRUSHED TIN',19,12
+'Brand#12','ECONOMY BURNISHED BRASS',19,12
+'Brand#12','ECONOMY BURNISHED COPPER',49,12
+'Brand#12','ECONOMY BURNISHED STEEL',9,12
+'Brand#12','ECONOMY BURNISHED STEEL',36,12
+'Brand#12','ECONOMY PLATED BRASS',3,12
+'Brand#12','ECONOMY PLATED NICKEL',9,12
+'Brand#12','ECONOMY PLATED TIN',45,12
+'Brand#12','ECONOMY POLISHED NICKEL',45,12
+'Brand#12','ECONOMY POLISHED STEEL',9,12
+'Brand#12','ECONOMY POLISHED STEEL',19,12
+'Brand#12','ECONOMY POLISHED TIN',14,12
+'Brand#12','LARGE ANODIZED COPPER',19,12
+'Brand#12','LARGE ANODIZED NICKEL',49,12
+'Brand#12','LARGE ANODIZED TIN',49,12
+'Brand#12','LARGE BRUSHED BRASS',9,12
+'Brand#12','LARGE BRUSHED BRASS',23,12
+'Brand#12','LARGE BRUSHED BRASS',49,12
+'Brand#12','LARGE BURNISHED NICKEL',45,12
+'Brand#12','LARGE PLATED BRASS',3,12
+'Brand#12','LARGE POLISHED BRASS',23,12
+'Brand#12','LARGE POLISHED COPPER',19,12
+'Brand#12','MEDIUM ANODIZED BRASS',3,12
+'Brand#12','MEDIUM ANODIZED COPPER',9,12
+'Brand#12','MEDIUM BRUSHED BRASS',14,12
+'Brand#12','MEDIUM BRUSHED BRASS',23,12
+'Brand#12','MEDIUM BRUSHED BRASS',45,12
+'Brand#12','MEDIUM BRUSHED COPPER',23,12
+'Brand#12','MEDIUM BRUSHED NICKEL',14,12
+'Brand#12','MEDIUM BRUSHED TIN',14,12
+'Brand#12','MEDIUM BRUSHED TIN',36,12
+'Brand#12','MEDIUM BURNISHED BRASS',19,12
+'Brand#12','MEDIUM PLATED BRASS',23,12
+'Brand#12','MEDIUM PLATED NICKEL',45,12
+'Brand#12','MEDIUM PLATED STEEL',19,12
+'Brand#12','MEDIUM PLATED TIN',23,12
+'Brand#12','PROMO BRUSHED COPPER',36,12
+'Brand#12','PROMO BRUSHED STEEL',19,12
+'Brand#12','PROMO BRUSHED STEEL',45,12
+'Brand#12','PROMO PLATED COPPER',14,12
+'Brand#12','PROMO PLATED STEEL',19,12
+'Brand#12','PROMO POLISHED COPPER',45,12
+'Brand#12','PROMO POLISHED STEEL',45,12
+'Brand#12','PROMO POLISHED TIN',3,12
+'Brand#12','PROMO POLISHED TIN',14,12
+'Brand#12','SMALL ANODIZED BRASS',9,12
+'Brand#12','SMALL ANODIZED STEEL',14,12
+'Brand#12','SMALL BRUSHED BRASS',36,12
+'Brand#12','SMALL BRUSHED NICKEL',3,12
+'Brand#12','SMALL BRUSHED NICKEL',9,12
+'Brand#12','SMALL BURNISHED BRASS',14,12
+'Brand#12','SMALL BURNISHED BRASS',23,12
+'Brand#12','SMALL BURNISHED TIN',14,12
+'Brand#12','SMALL POLISHED NICKEL',23,12
+'Brand#12','STANDARD ANODIZED COPPER',45,12
+'Brand#12','STANDARD BRUSHED COPPER',3,12
+'Brand#12','STANDARD BRUSHED NICKEL',23,12
+'Brand#12','STANDARD BRUSHED STEEL',3,12
+'Brand#12','STANDARD BRUSHED TIN',45,12
+'Brand#12','STANDARD BURNISHED BRASS',14,12
+'Brand#12','STANDARD BURNISHED COPPER',3,12
+'Brand#12','STANDARD BURNISHED COPPER',45,12
+'Brand#12','STANDARD BURNISHED STEEL',9,12
+'Brand#12','STANDARD BURNISHED TIN',3,12
+'Brand#12','STANDARD PLATED COPPER',49,12
+'Brand#12','STANDARD PLATED NICKEL',19,12
+'Brand#12','STANDARD PLATED NICKEL',45,12
+'Brand#12','STANDARD PLATED STEEL',19,12
+'Brand#12','STANDARD PLATED STEEL',36,12
+'Brand#12','STANDARD POLISHED BRASS',45,12
+'Brand#13','ECONOMY ANODIZED BRASS',36,12
+'Brand#13','ECONOMY ANODIZED BRASS',45,12
+'Brand#13','ECONOMY ANODIZED COPPER',14,12
+'Brand#13','ECONOMY ANODIZED NICKEL',14,12
+'Brand#13','ECONOMY ANODIZED NICKEL',19,12
+'Brand#13','ECONOMY ANODIZED TIN',23,12
+'Brand#13','ECONOMY BRUSHED BRASS',45,12
+'Brand#13','ECONOMY BRUSHED NICKEL',45,12
+'Brand#13','ECONOMY BURNISHED BRASS',3,12
+'Brand#13','ECONOMY BURNISHED COPPER',19,12
+'Brand#13','ECONOMY BURNISHED NICKEL',36,12
+'Brand#13','ECONOMY PLATED COPPER',49,12
+'Brand#13','ECONOMY PLATED NICKEL',3,12
+'Brand#13','ECONOMY PLATED NICKEL',19,12
+'Brand#13','ECONOMY PLATED STEEL',23,12
+'Brand#13','ECONOMY POLISHED STEEL',19,12
+'Brand#13','ECONOMY POLISHED STEEL',36,12
+'Brand#13','LARGE ANODIZED BRASS',49,12
+'Brand#13','LARGE ANODIZED TIN',9,12
+'Brand#13','LARGE ANODIZED TIN',19,12
+'Brand#13','LARGE BRUSHED BRASS',3,12
+'Brand#13','LARGE BRUSHED COPPER',9,12
+'Brand#13','LARGE BRUSHED NICKEL',3,12
+'Brand#13','LARGE BURNISHED COPPER',45,12
+'Brand#13','LARGE PLATED COPPER',23,12
+'Brand#13','LARGE PLATED COPPER',36,12
+'Brand#13','LARGE PLATED NICKEL',23,12
+'Brand#13','LARGE PLATED NICKEL',49,12
+'Brand#13','LARGE PLATED STEEL',14,12
+'Brand#13','LARGE PLATED TIN',9,12
+'Brand#13','LARGE POLISHED BRASS',49,12
+'Brand#13','LARGE POLISHED STEEL',9,12
+'Brand#13','MEDIUM ANODIZED NICKEL',3,12
+'Brand#13','MEDIUM ANODIZED NICKEL',36,12
+'Brand#13','MEDIUM ANODIZED NICKEL',45,12
+'Brand#13','MEDIUM ANODIZED STEEL',9,12
+'Brand#13','MEDIUM ANODIZED STEEL',14,12
+'Brand#13','MEDIUM BRUSHED BRASS',9,12
+'Brand#13','MEDIUM BRUSHED COPPER',3,12
+'Brand#13','MEDIUM BRUSHED COPPER',14,12
+'Brand#13','MEDIUM BRUSHED STEEL',19,12
+'Brand#13','MEDIUM BRUSHED TIN',19,12
+'Brand#13','MEDIUM BURNISHED NICKEL',36,12
+'Brand#13','MEDIUM PLATED BRASS',9,12
+'Brand#13','PROMO ANODIZED COPPER',45,12
+'Brand#13','PROMO BRUSHED NICKEL',23,12
+'Brand#13','PROMO BRUSHED STEEL',45,12
+'Brand#13','PROMO BRUSHED TIN',3,12
+'Brand#13','PROMO BURNISHED BRASS',19,12
+'Brand#13','PROMO BURNISHED COPPER',19,12
+'Brand#13','PROMO BURNISHED NICKEL',3,12
+'Brand#13','PROMO BURNISHED NICKEL',49,12
+'Brand#13','PROMO PLATED COPPER',3,12
+'Brand#13','PROMO PLATED NICKEL',3,12
+'Brand#13','PROMO PLATED STEEL',45,12
+'Brand#13','PROMO POLISHED NICKEL',3,12
+'Brand#13','PROMO POLISHED STEEL',14,12
+'Brand#13','SMALL ANODIZED BRASS',49,12
+'Brand#13','SMALL ANODIZED COPPER',36,12
+'Brand#13','SMALL ANODIZED TIN',9,12
+'Brand#13','SMALL ANODIZED TIN',23,12
+'Brand#13','SMALL BRUSHED COPPER',14,12
+'Brand#13','SMALL BRUSHED COPPER',45,12
+'Brand#13','SMALL BURNISHED NICKEL',3,12
+'Brand#13','SMALL PLATED BRASS',45,12
+'Brand#13','SMALL PLATED NICKEL',45,12
+'Brand#13','SMALL PLATED TIN',14,12
+'Brand#13','SMALL POLISHED BRASS',49,12
+'Brand#13','SMALL POLISHED NICKEL',19,12
+'Brand#13','STANDARD BRUSHED BRASS',14,12
+'Brand#13','STANDARD BRUSHED COPPER',23,12
+'Brand#13','STANDARD BURNISHED COPPER',3,12
+'Brand#13','STANDARD BURNISHED COPPER',23,12
+'Brand#13','STANDARD BURNISHED COPPER',45,12
+'Brand#13','STANDARD BURNISHED STEEL',3,12
+'Brand#13','STANDARD BURNISHED STEEL',19,12
+'Brand#13','STANDARD BURNISHED TIN',23,12
+'Brand#13','STANDARD PLATED BRASS',14,12
+'Brand#13','STANDARD PLATED COPPER',45,12
+'Brand#13','STANDARD PLATED NICKEL',45,12
+'Brand#13','STANDARD PLATED STEEL',9,12
+'Brand#13','STANDARD POLISHED BRASS',19,12
+'Brand#13','STANDARD POLISHED NICKEL',19,12
+'Brand#14','ECONOMY ANODIZED COPPER',9,12
+'Brand#14','ECONOMY ANODIZED NICKEL',49,12
+'Brand#14','ECONOMY ANODIZED STEEL',45,12
+'Brand#14','ECONOMY BRUSHED BRASS',23,12
+'Brand#14','ECONOMY BRUSHED COPPER',19,12
+'Brand#14','ECONOMY BRUSHED COPPER',45,12
+'Brand#14','ECONOMY BRUSHED NICKEL',36,12
+'Brand#14','ECONOMY BRUSHED TIN',14,12
+'Brand#14','ECONOMY BURNISHED COPPER',9,12
+'Brand#14','ECONOMY BURNISHED COPPER',23,12
+'Brand#14','ECONOMY BURNISHED STEEL',9,12
+'Brand#14','ECONOMY BURNISHED STEEL',14,12
+'Brand#14','ECONOMY PLATED BRASS',9,12
+'Brand#14','ECONOMY POLISHED BRASS',19,12
+'Brand#14','ECONOMY POLISHED COPPER',23,12
+'Brand#14','ECONOMY POLISHED STEEL',45,12
+'Brand#14','LARGE ANODIZED COPPER',49,12
+'Brand#14','LARGE ANODIZED NICKEL',23,12
+'Brand#14','LARGE ANODIZED NICKEL',45,12
+'Brand#14','LARGE ANODIZED STEEL',9,12
+'Brand#14','LARGE BRUSHED COPPER',14,12
+'Brand#14','LARGE BRUSHED TIN',3,12
+'Brand#14','LARGE BRUSHED TIN',45,12
+'Brand#14','LARGE BURNISHED COPPER',49,12
+'Brand#14','LARGE PLATED BRASS',19,12
+'Brand#14','LARGE PLATED COPPER',3,12
+'Brand#14','LARGE PLATED NICKEL',36,12
+'Brand#14','MEDIUM ANODIZED STEEL',36,12
+'Brand#14','MEDIUM BRUSHED BRASS',9,12
+'Brand#14','MEDIUM BRUSHED TIN',19,12
+'Brand#14','MEDIUM BURNISHED BRASS',49,12
+'Brand#14','MEDIUM BURNISHED COPPER',14,12
+'Brand#14','MEDIUM BURNISHED NICKEL',36,12
+'Brand#14','MEDIUM BURNISHED STEEL',3,12
+'Brand#14','MEDIUM BURNISHED STEEL',19,12
+'Brand#14','MEDIUM PLATED COPPER',36,12
+'Brand#14','MEDIUM PLATED TIN',49,12
+'Brand#14','PROMO ANODIZED NICKEL',36,12
+'Brand#14','PROMO BRUSHED COPPER',14,12
+'Brand#14','PROMO BURNISHED NICKEL',14,12
+'Brand#14','PROMO PLATED COPPER',45,12
+'Brand#14','PROMO PLATED NICKEL',36,12
+'Brand#14','PROMO PLATED STEEL',9,12
+'Brand#14','PROMO PLATED TIN',19,12
+'Brand#14','PROMO PLATED TIN',45,12
+'Brand#14','PROMO PLATED TIN',49,12
+'Brand#14','PROMO POLISHED BRASS',9,12
+'Brand#14','PROMO POLISHED COPPER',14,12
+'Brand#14','PROMO POLISHED NICKEL',9,12
+'Brand#14','SMALL ANODIZED NICKEL',45,12
+'Brand#14','SMALL ANODIZED TIN',45,12
+'Brand#14','SMALL BRUSHED NICKEL',19,12
+'Brand#14','SMALL BRUSHED TIN',19,12
+'Brand#14','SMALL BURNISHED STEEL',9,12
+'Brand#14','SMALL BURNISHED STEEL',36,12
+'Brand#14','SMALL PLATED BRASS',23,12
+'Brand#14','SMALL PLATED COPPER',9,12
+'Brand#14','SMALL PLATED STEEL',23,12
+'Brand#14','SMALL POLISHED BRASS',3,12
+'Brand#14','SMALL POLISHED BRASS',9,12
+'Brand#14','SMALL POLISHED COPPER',36,12
+'Brand#14','SMALL POLISHED NICKEL',49,12
+'Brand#14','SMALL POLISHED STEEL',14,12
+'Brand#14','SMALL POLISHED TIN',49,12
+'Brand#14','STANDARD ANODIZED STEEL',49,12
+'Brand#14','STANDARD BRUSHED BRASS',3,12
+'Brand#14','STANDARD BRUSHED STEEL',49,12
+'Brand#14','STANDARD BURNISHED BRASS',23,12
+'Brand#14','STANDARD PLATED NICKEL',49,12
+'Brand#14','STANDARD POLISHED COPPER',36,12
+'Brand#14','STANDARD POLISHED COPPER',45,12
+'Brand#15','ECONOMY ANODIZED TIN',19,12
+'Brand#15','ECONOMY BRUSHED NICKEL',14,12
+'Brand#15','ECONOMY BURNISHED STEEL',19,12
+'Brand#15','ECONOMY PLATED NICKEL',9,12
+'Brand#15','ECONOMY PLATED STEEL',3,12
+'Brand#15','ECONOMY PLATED STEEL',19,12
+'Brand#15','ECONOMY PLATED TIN',9,12
+'Brand#15','ECONOMY POLISHED COPPER',36,12
+'Brand#15','ECONOMY POLISHED NICKEL',45,12
+'Brand#15','LARGE ANODIZED BRASS',19,12
+'Brand#15','LARGE ANODIZED STEEL',14,12
+'Brand#15','LARGE ANODIZED TIN',23,12
+'Brand#15','LARGE BRUSHED BRASS',19,12
+'Brand#15','LARGE BRUSHED BRASS',49,12
+'Brand#15','LARGE BURNISHED BRASS',3,12
+'Brand#15','LARGE BURNISHED BRASS',23,12
+'Brand#15','LARGE BURNISHED COPPER',9,12
+'Brand#15','LARGE BURNISHED COPPER',49,12
+'Brand#15','LARGE BURNISHED STEEL',9,12
+'Brand#15','LARGE PLATED BRASS',9,12
+'Brand#15','MEDIUM BRUSHED BRASS',14,12
+'Brand#15','MEDIUM BRUSHED NICKEL',14,12
+'Brand#15','MEDIUM BRUSHED NICKEL',19,12
+'Brand#15','MEDIUM BRUSHED STEEL',36,12
+'Brand#15','MEDIUM BRUSHED TIN',14,12
+'Brand#15','MEDIUM BURNISHED STEEL',3,12
+'Brand#15','MEDIUM PLATED TIN',9,12
+'Brand#15','MEDIUM PLATED TIN',45,12
+'Brand#15','PROMO BRUSHED BRASS',36,12
+'Brand#15','PROMO BRUSHED STEEL',9,12
+'Brand#15','PROMO BURNISHED NICKEL',9,12
+'Brand#15','PROMO PLATED COPPER',36,12
+'Brand#15','PROMO POLISHED BRASS',14,12
+'Brand#15','PROMO POLISHED COPPER',9,12
+'Brand#15','PROMO POLISHED NICKEL',36,12
+'Brand#15','PROMO POLISHED TIN',49,12
+'Brand#15','SMALL ANODIZED STEEL',45,12
+'Brand#15','SMALL BRUSHED BRASS',45,12
+'Brand#15','SMALL BRUSHED COPPER',14,12
+'Brand#15','SMALL BRUSHED COPPER',19,12
+'Brand#15','SMALL BRUSHED NICKEL',36,12
+'Brand#15','SMALL BURNISHED BRASS',3,12
+'Brand#15','SMALL PLATED COPPER',19,12
+'Brand#15','SMALL PLATED COPPER',23,12
+'Brand#15','SMALL PLATED NICKEL',19,12
+'Brand#15','SMALL POLISHED BRASS',45,12
+'Brand#15','SMALL POLISHED NICKEL',19,12
+'Brand#15','SMALL POLISHED NICKEL',23,12
+'Brand#15','SMALL POLISHED TIN',3,12
+'Brand#15','SMALL POLISHED TIN',49,12
+'Brand#15','STANDARD ANODIZED NICKEL',3,12
+'Brand#15','STANDARD ANODIZED STEEL',19,12
+'Brand#15','STANDARD ANODIZED TIN',36,12
+'Brand#15','STANDARD BRUSHED BRASS',49,12
+'Brand#15','STANDARD BRUSHED COPPER',49,12
+'Brand#15','STANDARD BRUSHED NICKEL',3,12
+'Brand#15','STANDARD BRUSHED STEEL',19,12
+'Brand#15','STANDARD BURNISHED BRASS',19,12
+'Brand#15','STANDARD BURNISHED COPPER',14,12
+'Brand#15','STANDARD BURNISHED COPPER',36,12
+'Brand#15','STANDARD BURNISHED TIN',49,12
+'Brand#15','STANDARD PLATED COPPER',14,12
+'Brand#15','STANDARD PLATED STEEL',3,12
+'Brand#15','STANDARD PLATED TIN',9,12
+'Brand#15','STANDARD PLATED TIN',45,12
+'Brand#15','STANDARD POLISHED TIN',14,12
+'Brand#21','ECONOMY ANODIZED STEEL',19,12
+'Brand#21','ECONOMY BRUSHED COPPER',14,12
+'Brand#21','ECONOMY BRUSHED NICKEL',23,12
+'Brand#21','ECONOMY BRUSHED STEEL',45,12
+'Brand#21','ECONOMY BRUSHED TIN',19,12
+'Brand#21','ECONOMY BURNISHED BRASS',19,12
+'Brand#21','ECONOMY BURNISHED COPPER',45,12
+'Brand#21','ECONOMY BURNISHED STEEL',9,12
+'Brand#21','ECONOMY BURNISHED STEEL',14,12
+'Brand#21','ECONOMY BURNISHED TIN',49,12
+'Brand#21','ECONOMY PLATED BRASS',49,12
+'Brand#21','ECONOMY PLATED COPPER',14,12
+'Brand#21','ECONOMY PLATED NICKEL',3,12
+'Brand#21','ECONOMY PLATED STEEL',9,12
+'Brand#21','ECONOMY PLATED TIN',19,12
+'Brand#21','ECONOMY PLATED TIN',23,12
+'Brand#21','ECONOMY POLISHED BRASS',9,12
+'Brand#21','ECONOMY POLISHED STEEL',14,12
+'Brand#21','LARGE ANODIZED COPPER',3,12
+'Brand#21','LARGE ANODIZED TIN',3,12
+'Brand#21','LARGE ANODIZED TIN',14,12
+'Brand#21','LARGE ANODIZED TIN',45,12
+'Brand#21','LARGE BRUSHED COPPER',23,12
+'Brand#21','LARGE BRUSHED NICKEL',36,12
+'Brand#21','LARGE BRUSHED STEEL',23,12
+'Brand#21','LARGE BRUSHED TIN',45,12
+'Brand#21','LARGE BRUSHED TIN',49,12
+'Brand#21','LARGE BURNISHED BRASS',14,12
+'Brand#21','LARGE BURNISHED NICKEL',14,12
+'Brand#21','LARGE BURNISHED STEEL',19,12
+'Brand#21','LARGE PLATED BRASS',14,12
+'Brand#21','LARGE PLATED COPPER',19,12
+'Brand#21','LARGE PLATED COPPER',49,12
+'Brand#21','LARGE POLISHED COPPER',14,12
+'Brand#21','LARGE POLISHED STEEL',45,12
+'Brand#21','MEDIUM ANODIZED NICKEL',3,12
+'Brand#21','MEDIUM ANODIZED STEEL',14,12
+'Brand#21','MEDIUM BRUSHED BRASS',23,12
+'Brand#21','MEDIUM BURNISHED COPPER',49,12
+'Brand#21','MEDIUM BURNISHED NICKEL',9,12
+'Brand#21','MEDIUM BURNISHED TIN',9,12
+'Brand#21','MEDIUM PLATED BRASS',36,12
+'Brand#21','MEDIUM PLATED NICKEL',36,12
+'Brand#21','MEDIUM PLATED STEEL',36,12
+'Brand#21','MEDIUM PLATED TIN',9,12
+'Brand#21','PROMO ANODIZED BRASS',9,12
+'Brand#21','PROMO ANODIZED COPPER',9,12
+'Brand#21','PROMO ANODIZED NICKEL',19,12
+'Brand#21','PROMO ANODIZED STEEL',36,12
+'Brand#21','PROMO ANODIZED TIN',45,12
+'Brand#21','PROMO BRUSHED NICKEL',9,12
+'Brand#21','PROMO BRUSHED STEEL',14,12
+'Brand#21','PROMO BRUSHED STEEL',19,12
+'Brand#21','PROMO BRUSHED STEEL',45,12
+'Brand#21','PROMO BRUSHED TIN',14,12
+'Brand#21','PROMO BURNISHED COPPER',3,12
+'Brand#21','PROMO BURNISHED STEEL',14,12
+'Brand#21','PROMO PLATED BRASS',36,12
+'Brand#21','PROMO PLATED COPPER',49,12
+'Brand#21','PROMO PLATED TIN',45,12
+'Brand#21','PROMO POLISHED COPPER',9,12
+'Brand#21','PROMO POLISHED COPPER',19,12
+'Brand#21','PROMO POLISHED NICKEL',23,12
+'Brand#21','PROMO POLISHED STEEL',3,12
+'Brand#21','PROMO POLISHED STEEL',9,12
+'Brand#21','PROMO POLISHED TIN',9,12
+'Brand#21','PROMO POLISHED TIN',14,12
+'Brand#21','PROMO POLISHED TIN',19,12
+'Brand#21','SMALL BRUSHED NICKEL',9,12
+'Brand#21','SMALL BRUSHED NICKEL',45,12
+'Brand#21','SMALL BRUSHED STEEL',3,12
+'Brand#21','SMALL BRUSHED STEEL',9,12
+'Brand#21','SMALL BRUSHED TIN',14,12
+'Brand#21','SMALL PLATED BRASS',36,12
+'Brand#21','SMALL PLATED COPPER',14,12
+'Brand#21','SMALL PLATED COPPER',23,12
+'Brand#21','SMALL POLISHED NICKEL',9,12
+'Brand#21','SMALL POLISHED STEEL',3,12
+'Brand#21','STANDARD ANODIZED NICKEL',3,12
+'Brand#21','STANDARD ANODIZED NICKEL',19,12
+'Brand#21','STANDARD BRUSHED BRASS',9,12
+'Brand#21','STANDARD BRUSHED NICKEL',23,12
+'Brand#21','STANDARD BRUSHED NICKEL',45,12
+'Brand#21','STANDARD BURNISHED BRASS',49,12
+'Brand#21','STANDARD PLATED COPPER',45,12
+'Brand#21','STANDARD PLATED NICKEL',49,12
+'Brand#21','STANDARD PLATED STEEL',36,12
+'Brand#21','STANDARD PLATED TIN',9,12
+'Brand#21','STANDARD POLISHED COPPER',49,12
+'Brand#22','ECONOMY ANODIZED COPPER',36,12
+'Brand#22','ECONOMY ANODIZED COPPER',45,12
+'Brand#22','ECONOMY ANODIZED NICKEL',45,12
+'Brand#22','ECONOMY ANODIZED STEEL',45,12
+'Brand#22','ECONOMY ANODIZED TIN',49,12
+'Brand#22','ECONOMY BRUSHED STEEL',45,12
+'Brand#22','ECONOMY BRUSHED TIN',49,12
+'Brand#22','ECONOMY BURNISHED BRASS',19,12
+'Brand#22','ECONOMY BURNISHED BRASS',23,12
+'Brand#22','ECONOMY BURNISHED BRASS',45,12
+'Brand#22','ECONOMY BURNISHED COPPER',3,12
+'Brand#22','ECONOMY BURNISHED COPPER',9,12
+'Brand#22','ECONOMY BURNISHED COPPER',49,12
+'Brand#22','ECONOMY BURNISHED NICKEL',14,12
+'Brand#22','ECONOMY BURNISHED NICKEL',23,12
+'Brand#22','ECONOMY BURNISHED STEEL',23,12
+'Brand#22','ECONOMY BURNISHED STEEL',45,12
+'Brand#22','ECONOMY BURNISHED STEEL',49,12
+'Brand#22','ECONOMY BURNISHED TIN',9,12
+'Brand#22','ECONOMY BURNISHED TIN',19,12
+'Brand#22','ECONOMY PLATED BRASS',36,12
+'Brand#22','ECONOMY PLATED COPPER',3,12
+'Brand#22','ECONOMY PLATED STEEL',23,12
+'Brand#22','ECONOMY POLISHED COPPER',14,12
+'Brand#22','ECONOMY POLISHED TIN',49,12
+'Brand#22','LARGE ANODIZED NICKEL',14,12
+'Brand#22','LARGE ANODIZED TIN',14,12
+'Brand#22','LARGE BRUSHED BRASS',9,12
+'Brand#22','LARGE BRUSHED BRASS',49,12
+'Brand#22','LARGE BRUSHED COPPER',14,12
+'Brand#22','LARGE BRUSHED STEEL',19,12
+'Brand#22','LARGE BRUSHED TIN',23,12
+'Brand#22','LARGE BURNISHED BRASS',14,12
+'Brand#22','LARGE BURNISHED TIN',36,12
+'Brand#22','LARGE PLATED STEEL',9,12
+'Brand#22','LARGE PLATED TIN',49,12
+'Brand#22','LARGE POLISHED COPPER',23,12
+'Brand#22','LARGE POLISHED NICKEL',19,12
+'Brand#22','LARGE POLISHED NICKEL',23,12
+'Brand#22','LARGE POLISHED STEEL',3,12
+'Brand#22','MEDIUM ANODIZED COPPER',19,12
+'Brand#22','MEDIUM ANODIZED NICKEL',45,12
+'Brand#22','MEDIUM BRUSHED NICKEL',9,12
+'Brand#22','MEDIUM BRUSHED STEEL',3,12
+'Brand#22','MEDIUM PLATED BRASS',36,12
+'Brand#22','MEDIUM PLATED NICKEL',14,12
+'Brand#22','PROMO ANODIZED COPPER',45,12
+'Brand#22','PROMO ANODIZED STEEL',36,12
+'Brand#22','PROMO BURNISHED BRASS',3,12
+'Brand#22','PROMO BURNISHED BRASS',23,12
+'Brand#22','PROMO BURNISHED STEEL',3,12
+'Brand#22','PROMO PLATED BRASS',14,12
+'Brand#22','PROMO POLISHED BRASS',14,12
+'Brand#22','PROMO POLISHED COPPER',3,12
+'Brand#22','PROMO POLISHED COPPER',23,12
+'Brand#22','PROMO POLISHED NICKEL',19,12
+'Brand#22','PROMO POLISHED NICKEL',36,12
+'Brand#22','PROMO POLISHED STEEL',36,12
+'Brand#22','SMALL ANODIZED COPPER',9,12
+'Brand#22','SMALL ANODIZED STEEL',19,12
+'Brand#22','SMALL ANODIZED TIN',19,12
+'Brand#22','SMALL ANODIZED TIN',49,12
+'Brand#22','SMALL BRUSHED COPPER',36,12
+'Brand#22','SMALL BRUSHED TIN',45,12
+'Brand#22','SMALL BURNISHED COPPER',49,12
+'Brand#22','SMALL BURNISHED NICKEL',9,12
+'Brand#22','SMALL PLATED BRASS',9,12
+'Brand#22','SMALL PLATED COPPER',3,12
+'Brand#22','SMALL POLISHED NICKEL',9,12
+'Brand#22','SMALL POLISHED NICKEL',49,12
+'Brand#22','SMALL POLISHED STEEL',49,12
+'Brand#22','STANDARD ANODIZED BRASS',23,12
+'Brand#22','STANDARD ANODIZED STEEL',49,12
+'Brand#22','STANDARD BRUSHED BRASS',36,12
+'Brand#22','STANDARD BRUSHED TIN',19,12
+'Brand#22','STANDARD BRUSHED TIN',49,12
+'Brand#22','STANDARD BURNISHED TIN',14,12
+'Brand#22','STANDARD PLATED BRASS',45,12
+'Brand#22','STANDARD PLATED COPPER',36,12
+'Brand#22','STANDARD PLATED NICKEL',9,12
+'Brand#22','STANDARD PLATED STEEL',36,12
+'Brand#22','STANDARD PLATED STEEL',49,12
+'Brand#22','STANDARD PLATED TIN',3,12
+'Brand#22','STANDARD PLATED TIN',36,12
+'Brand#22','STANDARD PLATED TIN',49,12
+'Brand#22','STANDARD POLISHED BRASS',19,12
+'Brand#22','STANDARD POLISHED COPPER',9,12
+'Brand#22','STANDARD POLISHED NICKEL',19,12
+'Brand#22','STANDARD POLISHED STEEL',9,12
+'Brand#22','STANDARD POLISHED TIN',45,12
+'Brand#23','ECONOMY ANODIZED BRASS',36,12
+'Brand#23','ECONOMY ANODIZED NICKEL',9,12
+'Brand#23','ECONOMY ANODIZED STEEL',49,12
+'Brand#23','ECONOMY BRUSHED COPPER',3,12
+'Brand#23','ECONOMY BRUSHED COPPER',49,12
+'Brand#23','ECONOMY BRUSHED NICKEL',23,12
+'Brand#23','ECONOMY BURNISHED STEEL',49,12
+'Brand#23','ECONOMY BURNISHED TIN',3,12
+'Brand#23','ECONOMY PLATED STEEL',14,12
+'Brand#23','ECONOMY PLATED TIN',49,12
+'Brand#23','ECONOMY POLISHED COPPER',23,12
+'Brand#23','ECONOMY POLISHED NICKEL',36,12
+'Brand#23','ECONOMY POLISHED TIN',3,12
+'Brand#23','LARGE ANODIZED TIN',14,12
+'Brand#23','LARGE BURNISHED STEEL',23,12
+'Brand#23','LARGE BURNISHED TIN',19,12
+'Brand#23','LARGE PLATED COPPER',14,12
+'Brand#23','LARGE PLATED STEEL',9,12
+'Brand#23','LARGE POLISHED BRASS',19,12
+'Brand#23','LARGE POLISHED COPPER',45,12
+'Brand#23','LARGE POLISHED COPPER',49,12
+'Brand#23','LARGE POLISHED TIN',3,12
+'Brand#23','MEDIUM BRUSHED BRASS',9,12
+'Brand#23','MEDIUM BRUSHED COPPER',3,12
+'Brand#23','MEDIUM BRUSHED NICKEL',23,12
+'Brand#23','MEDIUM BRUSHED NICKEL',36,12
+'Brand#23','MEDIUM BURNISHED COPPER',9,12
+'Brand#23','MEDIUM BURNISHED COPPER',19,12
+'Brand#23','MEDIUM PLATED COPPER',19,12
+'Brand#23','MEDIUM PLATED STEEL',14,12
+'Brand#23','PROMO ANODIZED BRASS',9,12
+'Brand#23','PROMO ANODIZED BRASS',19,12
+'Brand#23','PROMO ANODIZED NICKEL',3,12
+'Brand#23','PROMO ANODIZED STEEL',36,12
+'Brand#23','PROMO BRUSHED COPPER',36,12
+'Brand#23','PROMO BURNISHED BRASS',9,12
+'Brand#23','PROMO BURNISHED STEEL',9,12
+'Brand#23','PROMO BURNISHED TIN',3,12
+'Brand#23','PROMO BURNISHED TIN',45,12
+'Brand#23','PROMO PLATED BRASS',19,12
+'Brand#23','PROMO PLATED BRASS',23,12
+'Brand#23','PROMO PLATED BRASS',49,12
+'Brand#23','PROMO PLATED NICKEL',3,12
+'Brand#23','PROMO PLATED TIN',14,12
+'Brand#23','PROMO POLISHED TIN',45,12
+'Brand#23','SMALL ANODIZED STEEL',3,12
+'Brand#23','SMALL ANODIZED TIN',45,12
+'Brand#23','SMALL BRUSHED BRASS',19,12
+'Brand#23','SMALL BRUSHED STEEL',3,12
+'Brand#23','SMALL BURNISHED BRASS',14,12
+'Brand#23','SMALL BURNISHED COPPER',36,12
+'Brand#23','SMALL BURNISHED STEEL',45,12
+'Brand#23','SMALL PLATED BRASS',49,12
+'Brand#23','SMALL PLATED STEEL',23,12
+'Brand#23','SMALL PLATED TIN',14,12
+'Brand#23','SMALL POLISHED COPPER',49,12
+'Brand#23','SMALL POLISHED TIN',23,12
+'Brand#23','STANDARD ANODIZED BRASS',23,12
+'Brand#23','STANDARD ANODIZED TIN',3,12
+'Brand#23','STANDARD ANODIZED TIN',45,12
+'Brand#23','STANDARD BRUSHED BRASS',3,12
+'Brand#23','STANDARD BRUSHED STEEL',9,12
+'Brand#23','STANDARD BRUSHED TIN',19,12
+'Brand#23','STANDARD PLATED BRASS',3,12
+'Brand#23','STANDARD PLATED NICKEL',49,12
+'Brand#23','STANDARD PLATED TIN',9,12
+'Brand#23','STANDARD PLATED TIN',19,12
+'Brand#23','STANDARD POLISHED STEEL',23,12
+'Brand#23','STANDARD POLISHED TIN',23,12
+'Brand#24','ECONOMY ANODIZED BRASS',19,12
+'Brand#24','ECONOMY ANODIZED COPPER',36,12
+'Brand#24','ECONOMY ANODIZED COPPER',49,12
+'Brand#24','ECONOMY ANODIZED NICKEL',3,12
+'Brand#24','ECONOMY ANODIZED STEEL',23,12
+'Brand#24','ECONOMY ANODIZED STEEL',45,12
+'Brand#24','ECONOMY BRUSHED STEEL',9,12
+'Brand#24','ECONOMY BRUSHED TIN',49,12
+'Brand#24','ECONOMY BURNISHED BRASS',14,12
+'Brand#24','ECONOMY BURNISHED COPPER',3,12
+'Brand#24','ECONOMY BURNISHED COPPER',19,12
+'Brand#24','ECONOMY BURNISHED STEEL',45,12
+'Brand#24','ECONOMY PLATED COPPER',49,12
+'Brand#24','ECONOMY PLATED STEEL',45,12
+'Brand#24','ECONOMY POLISHED BRASS',23,12
+'Brand#24','ECONOMY POLISHED STEEL',14,12
+'Brand#24','ECONOMY POLISHED TIN',14,12
+'Brand#24','ECONOMY POLISHED TIN',45,12
+'Brand#24','ECONOMY POLISHED TIN',49,12
+'Brand#24','LARGE ANODIZED BRASS',3,12
+'Brand#24','LARGE ANODIZED BRASS',45,12
+'Brand#24','LARGE BRUSHED BRASS',14,12
+'Brand#24','LARGE BRUSHED BRASS',45,12
+'Brand#24','LARGE BRUSHED STEEL',23,12
+'Brand#24','LARGE BRUSHED STEEL',45,12
+'Brand#24','LARGE BURNISHED STEEL',3,12
+'Brand#24','LARGE BURNISHED TIN',23,12
+'Brand#24','LARGE PLATED COPPER',23,12
+'Brand#24','LARGE PLATED STEEL',3,12
+'Brand#24','LARGE POLISHED COPPER',9,12
+'Brand#24','LARGE POLISHED TIN',14,12
+'Brand#24','MEDIUM ANODIZED BRASS',14,12
+'Brand#24','MEDIUM BRUSHED NICKEL',9,12
+'Brand#24','MEDIUM BRUSHED NICKEL',36,12
+'Brand#24','MEDIUM BRUSHED STEEL',23,12
+'Brand#24','MEDIUM BRUSHED STEEL',49,12
+'Brand#24','MEDIUM BURNISHED BRASS',36,12
+'Brand#24','MEDIUM BURNISHED STEEL',49,12
+'Brand#24','MEDIUM BURNISHED TIN',23,12
+'Brand#24','MEDIUM PLATED BRASS',3,12
+'Brand#24','MEDIUM PLATED NICKEL',36,12
+'Brand#24','PROMO ANODIZED NICKEL',19,12
+'Brand#24','PROMO ANODIZED NICKEL',45,12
+'Brand#24','PROMO ANODIZED TIN',14,12
+'Brand#24','PROMO BRUSHED COPPER',23,12
+'Brand#24','PROMO BRUSHED COPPER',49,12
+'Brand#24','PROMO BRUSHED NICKEL',3,12
+'Brand#24','PROMO BURNISHED BRASS',36,12
+'Brand#24','PROMO BURNISHED STEEL',14,12
+'Brand#24','PROMO BURNISHED TIN',14,12
+'Brand#24','PROMO PLATED STEEL',3,12
+'Brand#24','PROMO POLISHED BRASS',3,12
+'Brand#24','PROMO POLISHED BRASS',14,12
+'Brand#24','PROMO POLISHED COPPER',45,12
+'Brand#24','SMALL ANODIZED COPPER',3,12
+'Brand#24','SMALL ANODIZED NICKEL',23,12
+'Brand#24','SMALL BRUSHED BRASS',45,12
+'Brand#24','SMALL BRUSHED COPPER',9,12
+'Brand#24','SMALL BRUSHED NICKEL',49,12
+'Brand#24','SMALL BURNISHED BRASS',3,12
+'Brand#24','SMALL BURNISHED BRASS',14,12
+'Brand#24','SMALL BURNISHED COPPER',19,12
+'Brand#24','SMALL BURNISHED NICKEL',9,12
+'Brand#24','SMALL PLATED BRASS',3,12
+'Brand#24','SMALL PLATED BRASS',14,12
+'Brand#24','SMALL PLATED NICKEL',14,12
+'Brand#24','SMALL POLISHED BRASS',3,12
+'Brand#24','SMALL POLISHED NICKEL',19,12
+'Brand#24','SMALL POLISHED TIN',9,12
+'Brand#24','STANDARD ANODIZED TIN',49,12
+'Brand#24','STANDARD BRUSHED BRASS',14,12
+'Brand#24','STANDARD BRUSHED BRASS',23,12
+'Brand#24','STANDARD BRUSHED NICKEL',19,12
+'Brand#24','STANDARD BRUSHED STEEL',23,12
+'Brand#24','STANDARD PLATED BRASS',36,12
+'Brand#24','STANDARD PLATED COPPER',49,12
+'Brand#24','STANDARD PLATED NICKEL',36,12
+'Brand#24','STANDARD POLISHED BRASS',9,12
+'Brand#24','STANDARD POLISHED COPPER',9,12
+'Brand#25','ECONOMY ANODIZED STEEL',14,12
+'Brand#25','ECONOMY ANODIZED STEEL',45,12
+'Brand#25','ECONOMY BRUSHED NICKEL',9,12
+'Brand#25','ECONOMY BRUSHED STEEL',3,12
+'Brand#25','ECONOMY BRUSHED TIN',14,12
+'Brand#25','ECONOMY PLATED COPPER',3,12
+'Brand#25','ECONOMY PLATED NICKEL',19,12
+'Brand#25','ECONOMY PLATED STEEL',9,12
+'Brand#25','ECONOMY POLISHED BRASS',3,12
+'Brand#25','ECONOMY POLISHED BRASS',9,12
+'Brand#25','ECONOMY POLISHED NICKEL',3,12
+'Brand#25','LARGE ANODIZED BRASS',14,12
+'Brand#25','LARGE ANODIZED BRASS',23,12
+'Brand#25','LARGE ANODIZED COPPER',19,12
+'Brand#25','LARGE ANODIZED COPPER',36,12
+'Brand#25','LARGE BRUSHED BRASS',19,12
+'Brand#25','LARGE BRUSHED NICKEL',49,12
+'Brand#25','LARGE BRUSHED STEEL',36,12
+'Brand#25','LARGE BRUSHED TIN',3,12
+'Brand#25','LARGE BRUSHED TIN',9,12
+'Brand#25','LARGE BURNISHED BRASS',23,12
+'Brand#25','LARGE BURNISHED STEEL',36,12
+'Brand#25','LARGE BURNISHED TIN',14,12
+'Brand#25','LARGE BURNISHED TIN',36,12
+'Brand#25','LARGE PLATED NICKEL',45,12
+'Brand#25','LARGE PLATED TIN',23,12
+'Brand#25','MEDIUM ANODIZED BRASS',3,12
+'Brand#25','MEDIUM ANODIZED BRASS',9,12
+'Brand#25','MEDIUM ANODIZED BRASS',14,12
+'Brand#25','MEDIUM ANODIZED BRASS',19,12
+'Brand#25','MEDIUM ANODIZED STEEL',36,12
+'Brand#25','MEDIUM ANODIZED TIN',3,12
+'Brand#25','MEDIUM BRUSHED BRASS',14,12
+'Brand#25','MEDIUM BRUSHED BRASS',49,12
+'Brand#25','MEDIUM BRUSHED TIN',9,12
+'Brand#25','MEDIUM BRUSHED TIN',49,12
+'Brand#25','MEDIUM BURNISHED STEEL',36,12
+'Brand#25','MEDIUM PLATED COPPER',14,12
+'Brand#25','MEDIUM PLATED COPPER',23,12
+'Brand#25','MEDIUM PLATED STEEL',36,12
+'Brand#25','MEDIUM PLATED TIN',14,12
+'Brand#25','PROMO ANODIZED COPPER',3,12
+'Brand#25','PROMO ANODIZED NICKEL',23,12
+'Brand#25','PROMO ANODIZED TIN',36,12
+'Brand#25','PROMO BURNISHED COPPER',19,12
+'Brand#25','PROMO BURNISHED COPPER',36,12
+'Brand#25','PROMO BURNISHED COPPER',45,12
+'Brand#25','PROMO BURNISHED STEEL',9,12
+'Brand#25','PROMO PLATED BRASS',9,12
+'Brand#25','PROMO POLISHED BRASS',3,12
+'Brand#25','PROMO POLISHED BRASS',49,12
+'Brand#25','PROMO POLISHED NICKEL',36,12
+'Brand#25','PROMO POLISHED STEEL',45,12
+'Brand#25','SMALL ANODIZED COPPER',45,12
+'Brand#25','SMALL ANODIZED TIN',14,12
+'Brand#25','SMALL BRUSHED COPPER',14,12
+'Brand#25','SMALL BURNISHED BRASS',3,12
+'Brand#25','SMALL BURNISHED NICKEL',45,12
+'Brand#25','SMALL BURNISHED STEEL',14,12
+'Brand#25','SMALL PLATED BRASS',19,12
+'Brand#25','SMALL PLATED BRASS',49,12
+'Brand#25','SMALL PLATED COPPER',23,12
+'Brand#25','SMALL PLATED TIN',3,12
+'Brand#25','SMALL POLISHED COPPER',9,12
+'Brand#25','STANDARD BRUSHED TIN',45,12
+'Brand#25','STANDARD BURNISHED BRASS',3,12
+'Brand#25','STANDARD BURNISHED BRASS',14,12
+'Brand#25','STANDARD BURNISHED NICKEL',36,12
+'Brand#25','STANDARD PLATED COPPER',9,12
+'Brand#25','STANDARD PLATED COPPER',23,12
+'Brand#25','STANDARD PLATED NICKEL',36,12
+'Brand#25','STANDARD PLATED NICKEL',49,12
+'Brand#25','STANDARD PLATED TIN',36,12
+'Brand#25','STANDARD POLISHED COPPER',23,12
+'Brand#25','STANDARD POLISHED NICKEL',45,12
+'Brand#25','STANDARD POLISHED TIN',3,12
+'Brand#31','ECONOMY ANODIZED BRASS',19,12
+'Brand#31','ECONOMY ANODIZED TIN',36,12
+'Brand#31','ECONOMY BRUSHED NICKEL',14,12
+'Brand#31','ECONOMY BURNISHED COPPER',14,12
+'Brand#31','ECONOMY BURNISHED NICKEL',19,12
+'Brand#31','ECONOMY PLATED NICKEL',9,12
+'Brand#31','ECONOMY POLISHED COPPER',3,12
+'Brand#31','ECONOMY POLISHED TIN',36,12
+'Brand#31','LARGE ANODIZED COPPER',3,12
+'Brand#31','LARGE ANODIZED COPPER',14,12
+'Brand#31','LARGE ANODIZED STEEL',36,12
+'Brand#31','LARGE ANODIZED TIN',3,12
+'Brand#31','LARGE BRUSHED BRASS',36,12
+'Brand#31','LARGE BRUSHED NICKEL',19,12
+'Brand#31','LARGE BRUSHED STEEL',36,12
+'Brand#31','LARGE BRUSHED TIN',14,12
+'Brand#31','LARGE BURNISHED BRASS',36,12
+'Brand#31','LARGE BURNISHED NICKEL',14,12
+'Brand#31','LARGE PLATED STEEL',23,12
+'Brand#31','LARGE POLISHED BRASS',9,12
+'Brand#31','LARGE POLISHED STEEL',45,12
+'Brand#31','MEDIUM ANODIZED STEEL',14,12
+'Brand#31','MEDIUM ANODIZED TIN',9,12
+'Brand#31','MEDIUM ANODIZED TIN',23,12
+'Brand#31','MEDIUM BRUSHED BRASS',23,12
+'Brand#31','MEDIUM BRUSHED STEEL',3,12
+'Brand#31','MEDIUM BURNISHED BRASS',14,12
+'Brand#31','MEDIUM BURNISHED STEEL',9,12
+'Brand#31','PROMO ANODIZED COPPER',14,12
+'Brand#31','PROMO ANODIZED TIN',36,12
+'Brand#31','PROMO BRUSHED BRASS',3,12
+'Brand#31','PROMO BRUSHED COPPER',23,12
+'Brand#31','PROMO BRUSHED STEEL',23,12
+'Brand#31','PROMO BURNISHED BRASS',49,12
+'Brand#31','PROMO BURNISHED STEEL',3,12
+'Brand#31','PROMO PLATED BRASS',36,12
+'Brand#31','PROMO POLISHED NICKEL',49,12
+'Brand#31','SMALL ANODIZED COPPER',3,12
+'Brand#31','SMALL ANODIZED NICKEL',9,12
+'Brand#31','SMALL ANODIZED TIN',3,12
+'Brand#31','SMALL BRUSHED COPPER',14,12
+'Brand#31','SMALL BRUSHED COPPER',19,12
+'Brand#31','SMALL BRUSHED NICKEL',3,12
+'Brand#31','SMALL BRUSHED NICKEL',23,12
+'Brand#31','SMALL BRUSHED NICKEL',36,12
+'Brand#31','SMALL BURNISHED BRASS',3,12
+'Brand#31','SMALL BURNISHED NICKEL',9,12
+'Brand#31','SMALL BURNISHED TIN',23,12
+'Brand#31','SMALL PLATED STEEL',19,12
+'Brand#31','SMALL PLATED STEEL',23,12
+'Brand#31','SMALL POLISHED STEEL',3,12
+'Brand#31','STANDARD ANODIZED BRASS',45,12
+'Brand#31','STANDARD ANODIZED NICKEL',3,12
+'Brand#31','STANDARD BRUSHED COPPER',3,12
+'Brand#31','STANDARD BURNISHED STEEL',45,12
+'Brand#31','STANDARD PLATED BRASS',3,12
+'Brand#31','STANDARD PLATED BRASS',19,12
+'Brand#31','STANDARD PLATED STEEL',19,12
+'Brand#31','STANDARD POLISHED BRASS',23,12
+'Brand#31','STANDARD POLISHED COPPER',45,12
+'Brand#32','ECONOMY ANODIZED BRASS',14,12
+'Brand#32','ECONOMY ANODIZED STEEL',23,12
+'Brand#32','ECONOMY ANODIZED STEEL',49,12
+'Brand#32','ECONOMY ANODIZED TIN',23,12
+'Brand#32','ECONOMY BRUSHED NICKEL',3,12
+'Brand#32','ECONOMY BRUSHED STEEL',36,12
+'Brand#32','ECONOMY BRUSHED TIN',19,12
+'Brand#32','ECONOMY BURNISHED TIN',19,12
+'Brand#32','ECONOMY PLATED BRASS',19,12
+'Brand#32','ECONOMY PLATED NICKEL',23,12
+'Brand#32','ECONOMY PLATED TIN',45,12
+'Brand#32','LARGE ANODIZED NICKEL',3,12
+'Brand#32','LARGE ANODIZED STEEL',14,12
+'Brand#32','LARGE BRUSHED BRASS',45,12
+'Brand#32','LARGE BRUSHED NICKEL',3,12
+'Brand#32','LARGE BRUSHED STEEL',45,12
+'Brand#32','LARGE BRUSHED TIN',19,12
+'Brand#32','LARGE PLATED BRASS',3,12
+'Brand#32','LARGE PLATED BRASS',9,12
+'Brand#32','LARGE POLISHED COPPER',19,12
+'Brand#32','LARGE POLISHED NICKEL',3,12
+'Brand#32','MEDIUM ANODIZED COPPER',45,12
+'Brand#32','MEDIUM ANODIZED STEEL',19,12
+'Brand#32','MEDIUM ANODIZED STEEL',49,12
+'Brand#32','MEDIUM ANODIZED TIN',45,12
+'Brand#32','MEDIUM ANODIZED TIN',49,12
+'Brand#32','MEDIUM BURNISHED BRASS',23,12
+'Brand#32','MEDIUM BURNISHED NICKEL',23,12
+'Brand#32','MEDIUM PLATED BRASS',49,12
+'Brand#32','MEDIUM PLATED TIN',3,12
+'Brand#32','PROMO ANODIZED NICKEL',49,12
+'Brand#32','PROMO BRUSHED COPPER',45,12
+'Brand#32','PROMO BRUSHED STEEL',23,12
+'Brand#32','PROMO BRUSHED STEEL',49,12
+'Brand#32','PROMO BRUSHED TIN',14,12
+'Brand#32','PROMO BRUSHED TIN',36,12
+'Brand#32','PROMO BURNISHED NICKEL',45,12
+'Brand#32','PROMO BURNISHED TIN',49,12
+'Brand#32','PROMO PLATED COPPER',49,12
+'Brand#32','PROMO PLATED STEEL',49,12
+'Brand#32','PROMO POLISHED STEEL',49,12
+'Brand#32','PROMO POLISHED TIN',19,12
+'Brand#32','PROMO POLISHED TIN',23,12
+'Brand#32','PROMO POLISHED TIN',45,12
+'Brand#32','SMALL ANODIZED NICKEL',9,12
+'Brand#32','SMALL BRUSHED TIN',3,12
+'Brand#32','SMALL BRUSHED TIN',9,12
+'Brand#32','SMALL BURNISHED TIN',23,12
+'Brand#32','SMALL BURNISHED TIN',36,12
+'Brand#32','SMALL PLATED BRASS',36,12
+'Brand#32','SMALL PLATED COPPER',14,12
+'Brand#32','SMALL PLATED COPPER',45,12
+'Brand#32','SMALL PLATED STEEL',36,12
+'Brand#32','SMALL PLATED TIN',14,12
+'Brand#32','SMALL POLISHED NICKEL',45,12
+'Brand#32','SMALL POLISHED STEEL',23,12
+'Brand#32','SMALL POLISHED STEEL',36,12
+'Brand#32','STANDARD ANODIZED NICKEL',9,12
+'Brand#32','STANDARD ANODIZED STEEL',3,12
+'Brand#32','STANDARD ANODIZED TIN',14,12
+'Brand#32','STANDARD ANODIZED TIN',19,12
+'Brand#32','STANDARD BRUSHED BRASS',14,12
+'Brand#32','STANDARD BRUSHED STEEL',14,12
+'Brand#32','STANDARD BRUSHED TIN',9,12
+'Brand#32','STANDARD BURNISHED BRASS',45,12
+'Brand#32','STANDARD BURNISHED COPPER',3,12
+'Brand#32','STANDARD BURNISHED NICKEL',3,12
+'Brand#32','STANDARD PLATED STEEL',9,12
+'Brand#32','STANDARD PLATED STEEL',49,12
+'Brand#32','STANDARD POLISHED COPPER',36,12
+'Brand#33','ECONOMY ANODIZED NICKEL',36,12
+'Brand#33','ECONOMY ANODIZED STEEL',23,12
+'Brand#33','ECONOMY ANODIZED STEEL',45,12
+'Brand#33','ECONOMY BURNISHED NICKEL',14,12
+'Brand#33','ECONOMY BURNISHED TIN',45,12
+'Brand#33','ECONOMY PLATED STEEL',3,12
+'Brand#33','ECONOMY PLATED TIN',3,12
+'Brand#33','ECONOMY PLATED TIN',9,12
+'Brand#33','ECONOMY POLISHED BRASS',3,12
+'Brand#33','ECONOMY POLISHED BRASS',14,12
+'Brand#33','LARGE ANODIZED BRASS',3,12
+'Brand#33','LARGE ANODIZED BRASS',36,12
+'Brand#33','LARGE ANODIZED NICKEL',23,12
+'Brand#33','LARGE ANODIZED STEEL',3,12
+'Brand#33','LARGE ANODIZED TIN',36,12
+'Brand#33','LARGE BRUSHED BRASS',23,12
+'Brand#33','LARGE BRUSHED STEEL',3,12
+'Brand#33','LARGE BRUSHED TIN',36,12
+'Brand#33','LARGE BURNISHED BRASS',19,12
+'Brand#33','LARGE BURNISHED BRASS',49,12
+'Brand#33','LARGE PLATED NICKEL',9,12
+'Brand#33','LARGE PLATED NICKEL',19,12
+'Brand#33','LARGE POLISHED BRASS',9,12
+'Brand#33','LARGE POLISHED NICKEL',45,12
+'Brand#33','MEDIUM ANODIZED NICKEL',19,12
+'Brand#33','MEDIUM ANODIZED TIN',49,12
+'Brand#33','MEDIUM BRUSHED BRASS',45,12
+'Brand#33','MEDIUM BRUSHED NICKEL',14,12
+'Brand#33','MEDIUM BRUSHED STEEL',14,12
+'Brand#33','MEDIUM BRUSHED STEEL',36,12
+'Brand#33','MEDIUM BURNISHED BRASS',49,12
+'Brand#33','MEDIUM BURNISHED TIN',3,12
+'Brand#33','MEDIUM BURNISHED TIN',49,12
+'Brand#33','MEDIUM PLATED STEEL',3,12
+'Brand#33','MEDIUM PLATED TIN',23,12
+'Brand#33','PROMO ANODIZED STEEL',23,12
+'Brand#33','PROMO ANODIZED TIN',9,12
+'Brand#33','PROMO ANODIZED TIN',49,12
+'Brand#33','PROMO BRUSHED BRASS',3,12
+'Brand#33','PROMO BRUSHED BRASS',19,12
+'Brand#33','PROMO BRUSHED TIN',49,12
+'Brand#33','PROMO BURNISHED NICKEL',23,12
+'Brand#33','PROMO BURNISHED TIN',3,12
+'Brand#33','PROMO BURNISHED TIN',19,12
+'Brand#33','PROMO BURNISHED TIN',23,12
+'Brand#33','PROMO BURNISHED TIN',36,12
+'Brand#33','PROMO BURNISHED TIN',49,12
+'Brand#33','PROMO PLATED BRASS',23,12
+'Brand#33','PROMO PLATED BRASS',36,12
+'Brand#33','PROMO POLISHED COPPER',3,12
+'Brand#33','PROMO POLISHED NICKEL',3,12
+'Brand#33','PROMO POLISHED STEEL',23,12
+'Brand#33','SMALL ANODIZED STEEL',14,12
+'Brand#33','SMALL ANODIZED STEEL',49,12
+'Brand#33','SMALL ANODIZED TIN',19,12
+'Brand#33','SMALL BRUSHED BRASS',36,12
+'Brand#33','SMALL BRUSHED NICKEL',19,12
+'Brand#33','SMALL BRUSHED NICKEL',45,12
+'Brand#33','SMALL BURNISHED BRASS',36,12
+'Brand#33','SMALL BURNISHED TIN',9,12
+'Brand#33','SMALL PLATED BRASS',14,12
+'Brand#33','SMALL PLATED NICKEL',49,12
+'Brand#33','SMALL PLATED STEEL',3,12
+'Brand#33','SMALL POLISHED NICKEL',9,12
+'Brand#33','STANDARD ANODIZED STEEL',14,12
+'Brand#33','STANDARD ANODIZED STEEL',45,12
+'Brand#33','STANDARD ANODIZED TIN',9,12
+'Brand#33','STANDARD BRUSHED BRASS',19,12
+'Brand#33','STANDARD BRUSHED NICKEL',14,12
+'Brand#33','STANDARD BURNISHED BRASS',9,12
+'Brand#33','STANDARD BURNISHED TIN',23,12
+'Brand#33','STANDARD POLISHED STEEL',45,12
+'Brand#34','ECONOMY ANODIZED NICKEL',9,12
+'Brand#34','ECONOMY ANODIZED NICKEL',49,12
+'Brand#34','ECONOMY ANODIZED STEEL',45,12
+'Brand#34','ECONOMY BURNISHED COPPER',9,12
+'Brand#34','ECONOMY BURNISHED COPPER',23,12
+'Brand#34','ECONOMY BURNISHED COPPER',36,12
+'Brand#34','ECONOMY BURNISHED NICKEL',19,12
+'Brand#34','ECONOMY BURNISHED NICKEL',49,12
+'Brand#34','ECONOMY BURNISHED STEEL',9,12
+'Brand#34','ECONOMY BURNISHED TIN',14,12
+'Brand#34','ECONOMY PLATED BRASS',3,12
+'Brand#34','ECONOMY PLATED COPPER',3,12
+'Brand#34','ECONOMY PLATED TIN',3,12
+'Brand#34','ECONOMY PLATED TIN',14,12
+'Brand#34','ECONOMY POLISHED TIN',36,12
+'Brand#34','LARGE ANODIZED COPPER',3,12
+'Brand#34','LARGE ANODIZED NICKEL',3,12
+'Brand#34','LARGE ANODIZED NICKEL',49,12
+'Brand#34','LARGE BRUSHED COPPER',36,12
+'Brand#34','LARGE BRUSHED NICKEL',19,12
+'Brand#34','LARGE BRUSHED NICKEL',49,12
+'Brand#34','LARGE BURNISHED COPPER',23,12
+'Brand#34','LARGE BURNISHED NICKEL',23,12
+'Brand#34','LARGE BURNISHED TIN',14,12
+'Brand#34','LARGE BURNISHED TIN',23,12
+'Brand#34','LARGE BURNISHED TIN',49,12
+'Brand#34','LARGE PLATED COPPER',9,12
+'Brand#34','LARGE PLATED TIN',14,12
+'Brand#34','LARGE POLISHED BRASS',3,12
+'Brand#34','LARGE POLISHED BRASS',45,12
+'Brand#34','LARGE POLISHED COPPER',3,12
+'Brand#34','LARGE POLISHED NICKEL',3,12
+'Brand#34','LARGE POLISHED NICKEL',49,12
+'Brand#34','MEDIUM ANODIZED BRASS',45,12
+'Brand#34','MEDIUM BRUSHED BRASS',49,12
+'Brand#34','MEDIUM BRUSHED COPPER',9,12
+'Brand#34','MEDIUM BRUSHED COPPER',23,12
+'Brand#34','MEDIUM BRUSHED NICKEL',9,12
+'Brand#34','MEDIUM BRUSHED STEEL',45,12
+'Brand#34','MEDIUM BRUSHED TIN',36,12
+'Brand#34','MEDIUM BURNISHED BRASS',14,12
+'Brand#34','MEDIUM BURNISHED NICKEL',3,12
+'Brand#34','MEDIUM PLATED BRASS',23,12
+'Brand#34','PROMO ANODIZED NICKEL',3,12
+'Brand#34','PROMO BRUSHED COPPER',49,12
+'Brand#34','PROMO BRUSHED NICKEL',49,12
+'Brand#34','PROMO BURNISHED STEEL',14,12
+'Brand#34','PROMO PLATED BRASS',3,12
+'Brand#34','PROMO PLATED BRASS',36,12
+'Brand#34','PROMO PLATED TIN',49,12
+'Brand#34','PROMO POLISHED BRASS',14,12
+'Brand#34','PROMO POLISHED COPPER',23,12
+'Brand#34','PROMO POLISHED NICKEL',49,12
+'Brand#34','SMALL ANODIZED BRASS',19,12
+'Brand#34','SMALL ANODIZED COPPER',14,12
+'Brand#34','SMALL ANODIZED STEEL',19,12
+'Brand#34','SMALL ANODIZED TIN',9,12
+'Brand#34','SMALL BRUSHED COPPER',14,12
+'Brand#34','SMALL BURNISHED BRASS',9,12
+'Brand#34','SMALL BURNISHED BRASS',23,12
+'Brand#34','SMALL BURNISHED COPPER',9,12
+'Brand#34','SMALL BURNISHED COPPER',36,12
+'Brand#34','SMALL BURNISHED NICKEL',9,12
+'Brand#34','SMALL BURNISHED NICKEL',14,12
+'Brand#34','SMALL BURNISHED NICKEL',36,12
+'Brand#34','SMALL BURNISHED STEEL',14,12
+'Brand#34','SMALL PLATED BRASS',14,12
+'Brand#34','SMALL PLATED TIN',45,12
+'Brand#34','SMALL POLISHED STEEL',19,12
+'Brand#34','STANDARD ANODIZED BRASS',36,12
+'Brand#34','STANDARD ANODIZED TIN',3,12
+'Brand#34','STANDARD ANODIZED TIN',14,12
+'Brand#34','STANDARD BRUSHED BRASS',36,12
+'Brand#34','STANDARD BRUSHED COPPER',3,12
+'Brand#34','STANDARD BRUSHED STEEL',23,12
+'Brand#34','STANDARD BRUSHED TIN',45,12
+'Brand#34','STANDARD BURNISHED STEEL',14,12
+'Brand#34','STANDARD BURNISHED TIN',45,12
+'Brand#34','STANDARD POLISHED COPPER',14,12
+'Brand#35','ECONOMY ANODIZED BRASS',14,12
+'Brand#35','ECONOMY ANODIZED COPPER',19,12
+'Brand#35','ECONOMY ANODIZED NICKEL',14,12
+'Brand#35','ECONOMY ANODIZED STEEL',14,12
+'Brand#35','ECONOMY ANODIZED STEEL',45,12
+'Brand#35','ECONOMY BRUSHED BRASS',36,12
+'Brand#35','ECONOMY BRUSHED NICKEL',49,12
+'Brand#35','ECONOMY BURNISHED BRASS',19,12
+'Brand#35','ECONOMY BURNISHED BRASS',36,12
+'Brand#35','ECONOMY BURNISHED STEEL',36,12
+'Brand#35','ECONOMY PLATED TIN',45,12
+'Brand#35','ECONOMY PLATED TIN',49,12
+'Brand#35','ECONOMY POLISHED COPPER',9,12
+'Brand#35','ECONOMY POLISHED NICKEL',23,12
+'Brand#35','ECONOMY POLISHED STEEL',9,12
+'Brand#35','ECONOMY POLISHED TIN',23,12
+'Brand#35','LARGE ANODIZED BRASS',3,12
+'Brand#35','LARGE ANODIZED BRASS',45,12
+'Brand#35','LARGE ANODIZED COPPER',19,12
+'Brand#35','LARGE ANODIZED COPPER',36,12
+'Brand#35','LARGE ANODIZED STEEL',45,12
+'Brand#35','LARGE ANODIZED TIN',45,12
+'Brand#35','LARGE BRUSHED COPPER',23,12
+'Brand#35','LARGE BRUSHED NICKEL',36,12
+'Brand#35','LARGE BRUSHED STEEL',3,12
+'Brand#35','LARGE BRUSHED TIN',36,12
+'Brand#35','LARGE BURNISHED BRASS',45,12
+'Brand#35','LARGE BURNISHED STEEL',9,12
+'Brand#35','LARGE BURNISHED STEEL',45,12
+'Brand#35','LARGE BURNISHED TIN',49,12
+'Brand#35','LARGE PLATED BRASS',3,12
+'Brand#35','LARGE PLATED BRASS',23,12
+'Brand#35','LARGE PLATED STEEL',19,12
+'Brand#35','LARGE PLATED STEEL',49,12
+'Brand#35','MEDIUM ANODIZED TIN',3,12
+'Brand#35','MEDIUM BRUSHED BRASS',49,12
+'Brand#35','MEDIUM BRUSHED COPPER',14,12
+'Brand#35','MEDIUM BRUSHED NICKEL',3,12
+'Brand#35','MEDIUM BRUSHED STEEL',45,12
+'Brand#35','MEDIUM BURNISHED STEEL',19,12
+'Brand#35','MEDIUM PLATED NICKEL',45,12
+'Brand#35','MEDIUM PLATED STEEL',3,12
+'Brand#35','MEDIUM PLATED TIN',36,12
+'Brand#35','PROMO ANODIZED BRASS',14,12
+'Brand#35','PROMO ANODIZED STEEL',3,12
+'Brand#35','PROMO ANODIZED STEEL',23,12
+'Brand#35','PROMO ANODIZED TIN',49,12
+'Brand#35','PROMO BRUSHED COPPER',9,12
+'Brand#35','PROMO BRUSHED COPPER',23,12
+'Brand#35','PROMO BRUSHED STEEL',36,12
+'Brand#35','PROMO BURNISHED NICKEL',19,12
+'Brand#35','PROMO BURNISHED STEEL',3,12
+'Brand#35','PROMO BURNISHED STEEL',14,12
+'Brand#35','PROMO BURNISHED STEEL',49,12
+'Brand#35','PROMO BURNISHED TIN',9,12
+'Brand#35','PROMO BURNISHED TIN',14,12
+'Brand#35','PROMO POLISHED BRASS',19,12
+'Brand#35','PROMO POLISHED COPPER',49,12
+'Brand#35','PROMO POLISHED NICKEL',49,12
+'Brand#35','PROMO POLISHED STEEL',9,12
+'Brand#35','PROMO POLISHED TIN',36,12
+'Brand#35','SMALL ANODIZED BRASS',9,12
+'Brand#35','SMALL ANODIZED BRASS',19,12
+'Brand#35','SMALL BRUSHED NICKEL',19,12
+'Brand#35','SMALL BRUSHED STEEL',45,12
+'Brand#35','SMALL BRUSHED TIN',45,12
+'Brand#35','SMALL BURNISHED BRASS',9,12
+'Brand#35','SMALL BURNISHED BRASS',23,12
+'Brand#35','SMALL BURNISHED BRASS',36,12
+'Brand#35','SMALL BURNISHED BRASS',49,12
+'Brand#35','SMALL BURNISHED COPPER',45,12
+'Brand#35','SMALL PLATED BRASS',9,12
+'Brand#35','SMALL PLATED BRASS',36,12
+'Brand#35','SMALL PLATED TIN',36,12
+'Brand#35','STANDARD ANODIZED TIN',3,12
+'Brand#35','STANDARD ANODIZED TIN',9,12
+'Brand#35','STANDARD BURNISHED BRASS',36,12
+'Brand#35','STANDARD BURNISHED STEEL',49,12
+'Brand#35','STANDARD PLATED BRASS',49,12
+'Brand#35','STANDARD PLATED COPPER',9,12
+'Brand#35','STANDARD PLATED NICKEL',23,12
+'Brand#35','STANDARD PLATED NICKEL',49,12
+'Brand#35','STANDARD PLATED STEEL',23,12
+'Brand#35','STANDARD PLATED TIN',45,12
+'Brand#35','STANDARD POLISHED STEEL',23,12
+'Brand#35','STANDARD POLISHED TIN',3,12
+'Brand#41','ECONOMY ANODIZED BRASS',45,12
+'Brand#41','ECONOMY ANODIZED TIN',14,12
+'Brand#41','ECONOMY BRUSHED BRASS',23,12
+'Brand#41','ECONOMY BRUSHED NICKEL',49,12
+'Brand#41','ECONOMY BRUSHED STEEL',36,12
+'Brand#41','ECONOMY BRUSHED TIN',45,12
+'Brand#41','ECONOMY BURNISHED COPPER',3,12
+'Brand#41','ECONOMY BURNISHED COPPER',45,12
+'Brand#41','ECONOMY PLATED NICKEL',23,12
+'Brand#41','ECONOMY PLATED STEEL',36,12
+'Brand#41','ECONOMY PLATED TIN',23,12
+'Brand#41','ECONOMY POLISHED BRASS',36,12
+'Brand#41','ECONOMY POLISHED COPPER',49,12
+'Brand#41','ECONOMY POLISHED NICKEL',9,12
+'Brand#41','ECONOMY POLISHED NICKEL',19,12
+'Brand#41','ECONOMY POLISHED NICKEL',23,12
+'Brand#41','ECONOMY POLISHED STEEL',49,12
+'Brand#41','LARGE ANODIZED BRASS',14,12
+'Brand#41','LARGE ANODIZED BRASS',23,12
+'Brand#41','LARGE ANODIZED COPPER',36,12
+'Brand#41','LARGE ANODIZED STEEL',23,12
+'Brand#41','LARGE BRUSHED BRASS',9,12
+'Brand#41','LARGE BRUSHED COPPER',23,12
+'Brand#41','LARGE BURNISHED BRASS',36,12
+'Brand#41','LARGE BURNISHED STEEL',23,12
+'Brand#41','LARGE PLATED NICKEL',14,12
+'Brand#41','LARGE POLISHED BRASS',45,12
+'Brand#41','LARGE POLISHED COPPER',23,12
+'Brand#41','LARGE POLISHED COPPER',36,12
+'Brand#41','LARGE POLISHED STEEL',3,12
+'Brand#41','LARGE POLISHED STEEL',9,12
+'Brand#41','MEDIUM ANODIZED NICKEL',3,12
+'Brand#41','MEDIUM ANODIZED TIN',3,12
+'Brand#41','MEDIUM BURNISHED COPPER',23,12
+'Brand#41','MEDIUM BURNISHED TIN',14,12
+'Brand#41','MEDIUM BURNISHED TIN',45,12
+'Brand#41','MEDIUM PLATED BRASS',19,12
+'Brand#41','MEDIUM PLATED COPPER',19,12
+'Brand#41','MEDIUM PLATED COPPER',45,12
+'Brand#41','PROMO ANODIZED BRASS',14,12
+'Brand#41','PROMO ANODIZED NICKEL',49,12
+'Brand#41','PROMO ANODIZED TIN',9,12
+'Brand#41','PROMO BURNISHED COPPER',49,12
+'Brand#41','PROMO BURNISHED TIN',14,12
+'Brand#41','PROMO PLATED NICKEL',14,12
+'Brand#41','PROMO PLATED STEEL',45,12
+'Brand#41','PROMO PLATED TIN',3,12
+'Brand#41','PROMO PLATED TIN',36,12
+'Brand#41','PROMO POLISHED COPPER',23,12
+'Brand#41','PROMO POLISHED NICKEL',19,12
+'Brand#41','SMALL ANODIZED BRASS',3,12
+'Brand#41','SMALL ANODIZED COPPER',14,12
+'Brand#41','SMALL ANODIZED NICKEL',36,12
+'Brand#41','SMALL BRUSHED STEEL',36,12
+'Brand#41','SMALL BRUSHED TIN',14,12
+'Brand#41','SMALL BURNISHED TIN',3,12
+'Brand#41','SMALL PLATED BRASS',14,12
+'Brand#41','SMALL PLATED STEEL',14,12
+'Brand#41','SMALL POLISHED COPPER',36,12
+'Brand#41','SMALL POLISHED TIN',36,12
+'Brand#41','STANDARD ANODIZED BRASS',3,12
+'Brand#41','STANDARD ANODIZED BRASS',36,12
+'Brand#41','STANDARD ANODIZED COPPER',14,12
+'Brand#41','STANDARD ANODIZED NICKEL',36,12
+'Brand#41','STANDARD BURNISHED STEEL',9,12
+'Brand#41','STANDARD BURNISHED TIN',3,12
+'Brand#41','STANDARD PLATED BRASS',45,12
+'Brand#41','STANDARD PLATED COPPER',49,12
+'Brand#41','STANDARD POLISHED COPPER',23,12
+'Brand#41','STANDARD POLISHED NICKEL',3,12
+'Brand#42','ECONOMY ANODIZED BRASS',36,12
+'Brand#42','ECONOMY ANODIZED STEEL',9,12
+'Brand#42','ECONOMY BRUSHED NICKEL',45,12
+'Brand#42','ECONOMY BRUSHED TIN',14,12
+'Brand#42','ECONOMY BURNISHED NICKEL',49,12
+'Brand#42','ECONOMY BURNISHED STEEL',49,12
+'Brand#42','ECONOMY BURNISHED TIN',19,12
+'Brand#42','ECONOMY PLATED COPPER',14,12
+'Brand#42','ECONOMY PLATED NICKEL',9,12
+'Brand#42','ECONOMY POLISHED COPPER',9,12
+'Brand#42','LARGE ANODIZED BRASS',49,12
+'Brand#42','LARGE ANODIZED COPPER',36,12
+'Brand#42','LARGE BURNISHED COPPER',9,12
+'Brand#42','LARGE BURNISHED COPPER',19,12
+'Brand#42','LARGE BURNISHED TIN',9,12
+'Brand#42','LARGE PLATED BRASS',23,12
+'Brand#42','LARGE PLATED BRASS',36,12
+'Brand#42','LARGE PLATED NICKEL',23,12
+'Brand#42','LARGE PLATED TIN',9,12
+'Brand#42','LARGE PLATED TIN',19,12
+'Brand#42','LARGE POLISHED BRASS',36,12
+'Brand#42','LARGE POLISHED STEEL',9,12
+'Brand#42','LARGE POLISHED STEEL',45,12
+'Brand#42','LARGE POLISHED TIN',14,12
+'Brand#42','MEDIUM ANODIZED NICKEL',19,12
+'Brand#42','MEDIUM ANODIZED STEEL',23,12
+'Brand#42','MEDIUM ANODIZED TIN',49,12
+'Brand#42','MEDIUM BRUSHED NICKEL',9,12
+'Brand#42','MEDIUM BRUSHED STEEL',19,12
+'Brand#42','MEDIUM BRUSHED TIN',14,12
+'Brand#42','MEDIUM BURNISHED BRASS',36,12
+'Brand#42','MEDIUM BURNISHED NICKEL',36,12
+'Brand#42','MEDIUM BURNISHED STEEL',49,12
+'Brand#42','MEDIUM PLATED BRASS',36,12
+'Brand#42','MEDIUM PLATED COPPER',36,12
+'Brand#42','MEDIUM PLATED COPPER',45,12
+'Brand#42','MEDIUM PLATED STEEL',3,12
+'Brand#42','MEDIUM PLATED TIN',45,12
+'Brand#42','PROMO ANODIZED TIN',23,12
+'Brand#42','PROMO BRUSHED BRASS',19,12
+'Brand#42','PROMO BRUSHED NICKEL',3,12
+'Brand#42','PROMO BRUSHED TIN',45,12
+'Brand#42','PROMO BURNISHED BRASS',19,12
+'Brand#42','PROMO BURNISHED NICKEL',3,12
+'Brand#42','PROMO BURNISHED TIN',9,12
+'Brand#42','PROMO PLATED BRASS',14,12
+'Brand#42','PROMO PLATED BRASS',23,12
+'Brand#42','PROMO PLATED STEEL',19,12
+'Brand#42','PROMO POLISHED STEEL',45,12
+'Brand#42','SMALL ANODIZED BRASS',36,12
+'Brand#42','SMALL BRUSHED BRASS',36,12
+'Brand#42','SMALL BURNISHED BRASS',3,12
+'Brand#42','SMALL BURNISHED BRASS',36,12
+'Brand#42','SMALL BURNISHED STEEL',23,12
+'Brand#42','SMALL BURNISHED TIN',9,12
+'Brand#42','SMALL BURNISHED TIN',49,12
+'Brand#42','SMALL PLATED COPPER',9,12
+'Brand#42','SMALL PLATED COPPER',19,12
+'Brand#42','SMALL POLISHED BRASS',3,12
+'Brand#42','SMALL POLISHED COPPER',36,12
+'Brand#42','SMALL POLISHED NICKEL',23,12
+'Brand#42','STANDARD ANODIZED BRASS',23,12
+'Brand#42','STANDARD ANODIZED COPPER',45,12
+'Brand#42','STANDARD ANODIZED STEEL',23,12
+'Brand#42','STANDARD ANODIZED TIN',23,12
+'Brand#42','STANDARD BRUSHED TIN',3,12
+'Brand#42','STANDARD BURNISHED COPPER',36,12
+'Brand#42','STANDARD BURNISHED TIN',23,12
+'Brand#42','STANDARD PLATED COPPER',9,12
+'Brand#42','STANDARD PLATED TIN',3,12
+'Brand#42','STANDARD POLISHED NICKEL',9,12
+'Brand#42','STANDARD POLISHED STEEL',14,12
+'Brand#43','ECONOMY ANODIZED BRASS',14,12
+'Brand#43','ECONOMY ANODIZED COPPER',9,12
+'Brand#43','ECONOMY ANODIZED COPPER',19,12
+'Brand#43','ECONOMY ANODIZED COPPER',45,12
+'Brand#43','ECONOMY BRUSHED STEEL',9,12
+'Brand#43','ECONOMY BRUSHED STEEL',14,12
+'Brand#43','ECONOMY BRUSHED STEEL',36,12
+'Brand#43','ECONOMY BRUSHED STEEL',45,12
+'Brand#43','ECONOMY BRUSHED TIN',49,12
+'Brand#43','ECONOMY BURNISHED BRASS',3,12
+'Brand#43','ECONOMY BURNISHED BRASS',49,12
+'Brand#43','ECONOMY BURNISHED NICKEL',3,12
+'Brand#43','ECONOMY BURNISHED NICKEL',36,12
+'Brand#43','ECONOMY BURNISHED STEEL',9,12
+'Brand#43','ECONOMY BURNISHED TIN',19,12
+'Brand#43','ECONOMY PLATED COPPER',3,12
+'Brand#43','ECONOMY PLATED STEEL',3,12
+'Brand#43','ECONOMY POLISHED BRASS',45,12
+'Brand#43','ECONOMY POLISHED NICKEL',45,12
+'Brand#43','ECONOMY POLISHED TIN',49,12
+'Brand#43','LARGE ANODIZED TIN',14,12
+'Brand#43','LARGE BRUSHED NICKEL',23,12
+'Brand#43','LARGE BRUSHED STEEL',45,12
+'Brand#43','LARGE BURNISHED COPPER',14,12
+'Brand#43','LARGE BURNISHED NICKEL',3,12
+'Brand#43','LARGE BURNISHED STEEL',3,12
+'Brand#43','LARGE BURNISHED TIN',45,12
+'Brand#43','LARGE PLATED TIN',9,12
+'Brand#43','LARGE POLISHED BRASS',9,12
+'Brand#43','LARGE POLISHED COPPER',23,12
+'Brand#43','LARGE POLISHED NICKEL',9,12
+'Brand#43','LARGE POLISHED TIN',45,12
+'Brand#43','MEDIUM ANODIZED BRASS',14,12
+'Brand#43','MEDIUM ANODIZED BRASS',19,12
+'Brand#43','MEDIUM ANODIZED BRASS',36,12
+'Brand#43','MEDIUM ANODIZED COPPER',45,12
+'Brand#43','MEDIUM ANODIZED NICKEL',36,12
+'Brand#43','MEDIUM BRUSHED BRASS',45,12
+'Brand#43','MEDIUM BURNISHED BRASS',36,12
+'Brand#43','MEDIUM BURNISHED BRASS',45,12
+'Brand#43','MEDIUM BURNISHED BRASS',49,12
+'Brand#43','MEDIUM BURNISHED COPPER',3,12
+'Brand#43','MEDIUM BURNISHED COPPER',14,12
+'Brand#43','MEDIUM PLATED BRASS',3,12
+'Brand#43','MEDIUM PLATED BRASS',49,12
+'Brand#43','MEDIUM PLATED COPPER',19,12
+'Brand#43','PROMO ANODIZED NICKEL',19,12
+'Brand#43','PROMO ANODIZED STEEL',9,12
+'Brand#43','PROMO ANODIZED TIN',9,12
+'Brand#43','PROMO BRUSHED NICKEL',23,12
+'Brand#43','PROMO BRUSHED TIN',49,12
+'Brand#43','PROMO BURNISHED STEEL',36,12
+'Brand#43','PROMO BURNISHED STEEL',45,12
+'Brand#43','PROMO BURNISHED TIN',14,12
+'Brand#43','PROMO PLATED NICKEL',9,12
+'Brand#43','PROMO PLATED NICKEL',14,12
+'Brand#43','PROMO PLATED STEEL',9,12
+'Brand#43','PROMO POLISHED COPPER',23,12
+'Brand#43','PROMO POLISHED NICKEL',3,12
+'Brand#43','PROMO POLISHED STEEL',3,12
+'Brand#43','PROMO POLISHED STEEL',36,12
+'Brand#43','SMALL ANODIZED NICKEL',3,12
+'Brand#43','SMALL ANODIZED NICKEL',23,12
+'Brand#43','SMALL BRUSHED BRASS',49,12
+'Brand#43','SMALL BRUSHED COPPER',36,12
+'Brand#43','SMALL BRUSHED NICKEL',36,12
+'Brand#43','SMALL BRUSHED STEEL',9,12
+'Brand#43','SMALL BURNISHED COPPER',49,12
+'Brand#43','SMALL BURNISHED NICKEL',45,12
+'Brand#43','SMALL PLATED BRASS',36,12
+'Brand#43','SMALL PLATED COPPER',9,12
+'Brand#43','SMALL PLATED COPPER',49,12
+'Brand#43','SMALL POLISHED NICKEL',14,12
+'Brand#43','SMALL POLISHED TIN',49,12
+'Brand#43','STANDARD ANODIZED BRASS',36,12
+'Brand#43','STANDARD ANODIZED NICKEL',14,12
+'Brand#43','STANDARD ANODIZED TIN',9,12
+'Brand#43','STANDARD ANODIZED TIN',49,12
+'Brand#43','STANDARD BRUSHED BRASS',3,12
+'Brand#43','STANDARD BRUSHED COPPER',19,12
+'Brand#43','STANDARD BURNISHED STEEL',23,12
+'Brand#43','STANDARD BURNISHED TIN',14,12
+'Brand#43','STANDARD PLATED BRASS',19,12
+'Brand#43','STANDARD PLATED NICKEL',14,12
+'Brand#43','STANDARD PLATED NICKEL',23,12
+'Brand#43','STANDARD PLATED NICKEL',36,12
+'Brand#43','STANDARD POLISHED COPPER',3,12
+'Brand#43','STANDARD POLISHED STEEL',36,12
+'Brand#43','STANDARD POLISHED TIN',9,12
+'Brand#44','ECONOMY ANODIZED COPPER',9,12
+'Brand#44','ECONOMY ANODIZED NICKEL',36,12
+'Brand#44','ECONOMY ANODIZED STEEL',14,12
+'Brand#44','ECONOMY BRUSHED COPPER',19,12
+'Brand#44','ECONOMY BURNISHED STEEL',45,12
+'Brand#44','ECONOMY POLISHED TIN',36,12
+'Brand#44','ECONOMY POLISHED TIN',49,12
+'Brand#44','LARGE ANODIZED TIN',3,12
+'Brand#44','LARGE BRUSHED COPPER',36,12
+'Brand#44','LARGE BRUSHED STEEL',36,12
+'Brand#44','LARGE BRUSHED TIN',3,12
+'Brand#44','LARGE BRUSHED TIN',19,12
+'Brand#44','LARGE BURNISHED BRASS',19,12
+'Brand#44','LARGE BURNISHED BRASS',49,12
+'Brand#44','LARGE BURNISHED NICKEL',9,12
+'Brand#44','LARGE PLATED BRASS',9,12
+'Brand#44','LARGE PLATED NICKEL',3,12
+'Brand#44','LARGE PLATED NICKEL',14,12
+'Brand#44','LARGE PLATED NICKEL',36,12
+'Brand#44','MEDIUM ANODIZED BRASS',23,12
+'Brand#44','MEDIUM ANODIZED COPPER',45,12
+'Brand#44','MEDIUM ANODIZED TIN',9,12
+'Brand#44','MEDIUM BRUSHED BRASS',49,12
+'Brand#44','MEDIUM BRUSHED COPPER',3,12
+'Brand#44','MEDIUM BRUSHED COPPER',9,12
+'Brand#44','MEDIUM BRUSHED COPPER',36,12
+'Brand#44','MEDIUM BURNISHED COPPER',36,12
+'Brand#44','MEDIUM BURNISHED NICKEL',36,12
+'Brand#44','MEDIUM PLATED STEEL',19,12
+'Brand#44','MEDIUM PLATED TIN',23,12
+'Brand#44','MEDIUM PLATED TIN',36,12
+'Brand#44','PROMO ANODIZED BRASS',9,12
+'Brand#44','PROMO ANODIZED COPPER',19,12
+'Brand#44','PROMO ANODIZED NICKEL',19,12
+'Brand#44','PROMO ANODIZED STEEL',36,12
+'Brand#44','PROMO BRUSHED NICKEL',3,12
+'Brand#44','PROMO BURNISHED BRASS',19,12
+'Brand#44','PROMO BURNISHED NICKEL',49,12
+'Brand#44','PROMO PLATED BRASS',19,12
+'Brand#44','PROMO PLATED STEEL',14,12
+'Brand#44','PROMO PLATED STEEL',36,12
+'Brand#44','PROMO POLISHED COPPER',14,12
+'Brand#44','PROMO POLISHED COPPER',23,12
+'Brand#44','PROMO POLISHED COPPER',45,12
+'Brand#44','PROMO POLISHED STEEL',36,12
+'Brand#44','SMALL ANODIZED STEEL',36,12
+'Brand#44','SMALL BRUSHED COPPER',19,12
+'Brand#44','SMALL BRUSHED COPPER',45,12
+'Brand#44','SMALL BRUSHED NICKEL',3,12
+'Brand#44','SMALL BRUSHED NICKEL',9,12
+'Brand#44','SMALL BURNISHED COPPER',14,12
+'Brand#44','SMALL BURNISHED NICKEL',3,12
+'Brand#44','SMALL BURNISHED TIN',3,12
+'Brand#44','SMALL BURNISHED TIN',36,12
+'Brand#44','SMALL PLATED BRASS',23,12
+'Brand#44','SMALL PLATED BRASS',49,12
+'Brand#44','SMALL PLATED STEEL',3,12
+'Brand#44','SMALL PLATED STEEL',45,12
+'Brand#44','SMALL POLISHED BRASS',3,12
+'Brand#44','SMALL POLISHED COPPER',14,12
+'Brand#44','STANDARD ANODIZED BRASS',3,12
+'Brand#44','STANDARD ANODIZED BRASS',14,12
+'Brand#44','STANDARD ANODIZED COPPER',45,12
+'Brand#44','STANDARD ANODIZED NICKEL',9,12
+'Brand#44','STANDARD ANODIZED NICKEL',36,12
+'Brand#44','STANDARD ANODIZED TIN',9,12
+'Brand#44','STANDARD BRUSHED BRASS',9,12
+'Brand#44','STANDARD BRUSHED COPPER',23,12
+'Brand#44','STANDARD BRUSHED TIN',49,12
+'Brand#44','STANDARD BURNISHED COPPER',3,12
+'Brand#44','STANDARD BURNISHED COPPER',49,12
+'Brand#44','STANDARD BURNISHED STEEL',23,12
+'Brand#44','STANDARD BURNISHED TIN',36,12
+'Brand#44','STANDARD PLATED COPPER',14,12
+'Brand#44','STANDARD PLATED COPPER',45,12
+'Brand#44','STANDARD PLATED TIN',9,12
+'Brand#44','STANDARD PLATED TIN',23,12
+'Brand#44','STANDARD POLISHED BRASS',14,12
+'Brand#44','STANDARD POLISHED NICKEL',19,12
+'Brand#51','ECONOMY ANODIZED BRASS',9,12
+'Brand#51','ECONOMY ANODIZED BRASS',36,12
+'Brand#51','ECONOMY ANODIZED BRASS',45,12
+'Brand#51','ECONOMY ANODIZED COPPER',19,12
+'Brand#51','ECONOMY ANODIZED NICKEL',14,12
+'Brand#51','ECONOMY ANODIZED TIN',9,12
+'Brand#51','ECONOMY BRUSHED STEEL',36,12
+'Brand#51','ECONOMY BRUSHED STEEL',45,12
+'Brand#51','ECONOMY BRUSHED TIN',36,12
+'Brand#51','ECONOMY BURNISHED COPPER',45,12
+'Brand#51','ECONOMY PLATED STEEL',19,12
+'Brand#51','ECONOMY PLATED STEEL',23,12
+'Brand#51','ECONOMY PLATED TIN',45,12
+'Brand#51','LARGE ANODIZED COPPER',19,12
+'Brand#51','LARGE BRUSHED COPPER',36,12
+'Brand#51','LARGE BRUSHED NICKEL',49,12
+'Brand#51','LARGE BURNISHED STEEL',3,12
+'Brand#51','LARGE PLATED COPPER',9,12
+'Brand#51','LARGE PLATED NICKEL',45,12
+'Brand#51','LARGE PLATED TIN',19,12
+'Brand#51','LARGE PLATED TIN',23,12
+'Brand#51','LARGE POLISHED COPPER',3,12
+'Brand#51','LARGE POLISHED COPPER',23,12
+'Brand#51','MEDIUM ANODIZED NICKEL',3,12
+'Brand#51','MEDIUM ANODIZED NICKEL',19,12
+'Brand#51','MEDIUM ANODIZED NICKEL',23,12
+'Brand#51','MEDIUM ANODIZED STEEL',14,12
+'Brand#51','MEDIUM ANODIZED TIN',14,12
+'Brand#51','MEDIUM BRUSHED COPPER',49,12
+'Brand#51','MEDIUM BRUSHED TIN',49,12
+'Brand#51','MEDIUM BURNISHED BRASS',36,12
+'Brand#51','MEDIUM BURNISHED NICKEL',14,12
+'Brand#51','MEDIUM BURNISHED NICKEL',49,12
+'Brand#51','MEDIUM PLATED NICKEL',45,12
+'Brand#51','PROMO ANODIZED BRASS',3,12
+'Brand#51','PROMO ANODIZED COPPER',23,12
+'Brand#51','PROMO ANODIZED NICKEL',9,12
+'Brand#51','PROMO ANODIZED NICKEL',14,12
+'Brand#51','PROMO ANODIZED TIN',23,12
+'Brand#51','PROMO ANODIZED TIN',49,12
+'Brand#51','PROMO BRUSHED BRASS',23,12
+'Brand#51','PROMO BRUSHED COPPER',19,12
+'Brand#51','PROMO BRUSHED STEEL',36,12
+'Brand#51','PROMO BRUSHED TIN',3,12
+'Brand#51','PROMO BURNISHED COPPER',3,12
+'Brand#51','PROMO BURNISHED COPPER',19,12
+'Brand#51','PROMO PLATED COPPER',9,12
+'Brand#51','PROMO PLATED STEEL',45,12
+'Brand#51','PROMO PLATED TIN',14,12
+'Brand#51','SMALL ANODIZED NICKEL',9,12
+'Brand#51','SMALL BRUSHED BRASS',19,12
+'Brand#51','SMALL BRUSHED NICKEL'

<TRUNCATED>


[4/4] incubator-impala git commit: IMPALA-3227: generate test TPC data sets during data load

Posted by ta...@apache.org.
IMPALA-3227: generate test TPC data sets during data load

The generated data is identical to the pregenerated tpch.tar.gz
and tpcds.tar.gz data that was used previously and were not
publically accessible.

This adds a "preload" hook to bin/load-data.py that can execute custom
logic for each data set. This is used to call the TPC-H and TPC-DS data
generation utilities that are already available in the Impala toolchain.

Testing:
Ran private test job with loading from snapshot disabled and without
the tpch/tpcds tarballs available.

Change-Id: Ieccfbd7d8d4a91bffddbe35abb7f5572e71a71cf
Reviewed-on: http://gerrit.cloudera.org:8080/3761
Reviewed-by: Tim Armstrong <ta...@cloudera.com>
Tested-by: Internal Jenkins


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

Branch: refs/heads/master
Commit: c1d70f814e777fed22e1804eeea12fc9adcb3163
Parents: 6fbd35f
Author: Tim Armstrong <ta...@cloudera.com>
Authored: Sun Jul 24 23:50:56 2016 -0700
Committer: Internal Jenkins <cl...@gerrit.cloudera.org>
Committed: Thu Jul 28 04:56:57 2016 +0000

----------------------------------------------------------------------
 bin/bootstrap_toolchain.py      |  2 +-
 bin/impala-config.sh            |  3 +++
 bin/load-data.py                | 10 ++++++++
 testdata/datasets/tpcds/preload | 49 ++++++++++++++++++++++++++++++++++++
 testdata/datasets/tpch/preload  | 47 ++++++++++++++++++++++++++++++++++
 5 files changed, 110 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/c1d70f81/bin/bootstrap_toolchain.py
----------------------------------------------------------------------
diff --git a/bin/bootstrap_toolchain.py b/bin/bootstrap_toolchain.py
index 5a43e1d..def2184 100755
--- a/bin/bootstrap_toolchain.py
+++ b/bin/bootstrap_toolchain.py
@@ -341,7 +341,7 @@ if __name__ == "__main__":
 
   packages = ["avro", "binutils", "boost", "breakpad", "bzip2", "gcc", "gflags", "glog",
       "gperftools", "gtest", "kudu", "llvm", ("llvm", "3.8.0-asserts-p1"), "lz4",
-      "openldap", "rapidjson", "re2", "snappy", "thrift", "zlib"]
+      "openldap", "rapidjson", "re2", "snappy", "thrift", "tpc-h", "tpc-ds", "zlib"]
   bootstrap(toolchain_root, packages)
 
   # Download the CDH components if necessary.

http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/c1d70f81/bin/impala-config.sh
----------------------------------------------------------------------
diff --git a/bin/impala-config.sh b/bin/impala-config.sh
index 4cb0339..7ad1b9d 100755
--- a/bin/impala-config.sh
+++ b/bin/impala-config.sh
@@ -269,6 +269,9 @@ export IMPALA_RAPIDJSON_VERSION=0.11
 export IMPALA_RE2_VERSION=20130115-p1
 export IMPALA_SNAPPY_VERSION=1.1.3
 export IMPALA_SQUEASEL_VERSION=3.3
+# TPC utilities used for test/benchmark data generation.
+export IMPALA_TPC_DS_VERSION=2.1.0
+export IMPALA_TPC_H_VERSION=2.17.0
 export IMPALA_THRIFT_VERSION=0.9.0-p8
 export IMPALA_THRIFT_JAVA_VERSION=0.9.0
 export IMPALA_ZLIB_VERSION=1.2.8

http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/c1d70f81/bin/load-data.py
----------------------------------------------------------------------
diff --git a/bin/load-data.py b/bin/load-data.py
index 7c0bbf6..f62a701 100755
--- a/bin/load-data.py
+++ b/bin/load-data.py
@@ -153,6 +153,15 @@ def exec_bash_script(file_name):
   print 'Executing Bash Command: ' + bash_cmd
   exec_cmd(bash_cmd, 'Error bash script: ' + file_name)
 
+def run_dataset_preload(dataset):
+  """Execute a preload script if present in dataset directory. E.g. to generate data
+  before loading"""
+  dataset_preload_script = os.path.join(DATASET_DIR, dataset, "preload")
+  if os.path.exists(dataset_preload_script):
+    print("Running preload script for " + dataset)
+    exec_cmd(dataset_preload_script, "Error executing preload script for " + dataset,
+        exit_on_error=True)
+
 def generate_schema_statements(workload):
   generate_cmd = GENERATE_SCHEMA_CMD % (options.exploration_strategy, workload,
                                         options.scale_factor)
@@ -259,6 +268,7 @@ if __name__ == "__main__":
   for workload in workloads:
     start_time = time.time()
     dataset = get_dataset_for_workload(workload)
+    run_dataset_preload(dataset)
     generate_schema_statements(workload)
     sql_dir = os.path.join(SQL_OUTPUT_DIR, dataset)
     assert os.path.isdir(sql_dir),\

http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/c1d70f81/testdata/datasets/tpcds/preload
----------------------------------------------------------------------
diff --git a/testdata/datasets/tpcds/preload b/testdata/datasets/tpcds/preload
new file mode 100755
index 0000000..0deb745
--- /dev/null
+++ b/testdata/datasets/tpcds/preload
@@ -0,0 +1,49 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+set -euo pipefail
+trap 'echo Error in $0 at line $LINENO: $(cd "'$PWD'" && awk "NR == $LINENO" $0)' ERR
+
+IMPALA_DATA=${IMPALA_HOME}/testdata/impala-data
+TPC_DS_DATA=${IMPALA_DATA}/tpcds
+TPC_DS_DIRNAME=tpc-ds-${IMPALA_TPC_DS_VERSION}
+TPC_DS_HOME=${IMPALA_TOOLCHAIN}/${TPC_DS_DIRNAME}
+
+echo "Generating TPC-DS data into ${TPC_DS_DATA}"
+# Delete any preexisting data or symlinks
+rm -rf ${TPC_DS_DATA}
+mkdir -p ${TPC_DS_DATA}
+cd ${TPC_DS_DATA}
+
+# dsdgen uses fixed size buffers that cause bizarre issues if the path to the
+# binary is too long. Workaround by symlinking.
+rm -f ${TPC_DS_DIRNAME}
+ln -s ${TPC_DS_HOME} ${TPC_DS_DIRNAME}
+TPC_DS_DSDGEN=${TPC_DS_DIRNAME}/bin/dsdgen
+
+if [ ! -x ${TPC_DS_DSDGEN} ]; then
+  echo "Could not find TPC-DS data generator executable: ${TPC_DS_DSDGEN}"
+  exit 1
+fi
+${TPC_DS_DSDGEN} -force -verbose
+# Impala expects each table to be in its own subdirectory.
+for FILE in *.dat; do
+  FILE_DIR=${FILE%.dat}
+  mkdir -p ${FILE_DIR}
+  mv ${FILE} ${FILE_DIR}
+done

http://git-wip-us.apache.org/repos/asf/incubator-impala/blob/c1d70f81/testdata/datasets/tpch/preload
----------------------------------------------------------------------
diff --git a/testdata/datasets/tpch/preload b/testdata/datasets/tpch/preload
new file mode 100755
index 0000000..64553d6
--- /dev/null
+++ b/testdata/datasets/tpch/preload
@@ -0,0 +1,47 @@
+#!/bin/bash
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+set -euo pipefail
+trap 'echo Error in $0 at line $LINENO: $(cd "'$PWD'" && awk "NR == $LINENO" $0)' ERR
+
+IMPALA_DATA=${IMPALA_HOME}/testdata/impala-data
+TPC_H_DATA=${IMPALA_DATA}/tpch
+TPC_H_HOME=${IMPALA_TOOLCHAIN}/tpc-h-${IMPALA_TPC_H_VERSION}
+TPC_H_DBGEN=${TPC_H_HOME}/bin/dbgen
+
+if [ ! -x ${TPC_H_DBGEN} ]; then
+  echo "Could not find TPC-H data generator executable: ${TPC_H_DBGEN}"
+  exit 1
+fi
+
+echo "Generating TPC-H data into ${TPC_H_DATA}"
+# Delete any preexisting data or symlinks
+# Need to change permissions to work around an old TPC-H data tarball that had a
+# non-writable top-level directory when extracted.
+chmod +w ${TPC_H_DATA} || true
+rm -rf ${TPC_H_DATA}
+mkdir -p ${TPC_H_DATA}
+cd ${TPC_H_DATA}
+
+${TPC_H_DBGEN} -v -f
+# Impala expects each table to be in its own subdirectory.
+for FILE in *.tbl; do
+  FILE_DIR=${FILE%.tbl}
+  mkdir -p ${FILE_DIR}
+  mv ${FILE} ${FILE_DIR}
+done