FAQ
Repository: hive
Updated Branches:
   refs/heads/spark b02cd4abc -> cad0ea6a9


http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/vector_decimal_aggregate.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/vector_decimal_aggregate.q.out b/ql/src/test/results/clientpositive/vector_decimal_aggregate.q.out
index cf975d1..9b9fb71 100644
--- a/ql/src/test/results/clientpositive/vector_decimal_aggregate.q.out
+++ b/ql/src/test/results/clientpositive/vector_decimal_aggregate.q.out
@@ -110,14 +110,14 @@ POSTHOOK: query: SELECT cint,
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@decimal_vgby
  #### A masked pattern was here ####
--3728 6 5831542.269248378 -3367.6517567568 5817556.0411483778 6 6984454.211097692 -4033.445769230769 6967702.8672438458471
--563 2 -515.621072973 -3367.6517567568 -3883.2728297298 2 -617.5607769230769 -4033.445769230769 -4651.0065461538459
-253665376 1024 9767.0054054054 -9779.5486486487 -347484.0818378374 1024 11697.969230769231 -11712.99230769231 -416182.64030769233089
-528534767 1024 5831542.269248378 -9777.1594594595 11646372.8607481068 1024 6984454.211097692 -11710.130769230771 13948892.79980307629003
-626923679 1024 9723.4027027027 -9778.9513513514 10541.0525297287 1024 11645.746153846154 -11712.276923076923 12625.04759999997746
-6981 3 5831542.269248378 -515.621072973 5830511.027102432 3 6984454.211097692 -617.5607769230769 6983219.0895438458462
-762 2 5831542.269248378 1531.2194054054 5833073.4886537834 2 6984454.211097692 1833.9456923076925 6986288.1567899996925
-NULL 3072 9318.4351351351 -4298.1513513514 5018444.1081079808 3072 11160.715384615385 -5147.907692307693 6010604.3076923073536
+-3728 6 5831542.2692483780 -3367.6517567568 5817556.0411483778 6 6984454.21109769200000 -4033.44576923076900 6967702.86724384584710
+-563 2 -515.6210729730 -3367.6517567568 -3883.2728297298 2 -617.56077692307690 -4033.44576923076900 -4651.00654615384590
+253665376 1024 9767.0054054054 -9779.5486486487 -347484.0818378374 1024 11697.96923076923100 -11712.99230769231000 -416182.64030769233089
+528534767 1024 5831542.2692483780 -9777.1594594595 11646372.8607481068 1024 6984454.21109769200000 -11710.13076923077100 13948892.79980307629003
+626923679 1024 9723.4027027027 -9778.9513513514 10541.0525297287 1024 11645.74615384615400 -11712.27692307692300 12625.04759999997746
+6981 3 5831542.2692483780 -515.6210729730 5830511.0271024320 3 6984454.21109769200000 -617.56077692307690 6983219.08954384584620
+762 2 5831542.2692483780 1531.2194054054 5833073.4886537834 2 6984454.21109769200000 1833.94569230769250 6986288.15678999969250
+NULL 3072 9318.4351351351 -4298.1513513514 5018444.1081079808 3072 11160.71538461538500 -5147.90769230769300 6010604.30769230735360
  PREHOOK: query: -- Now add the others...
  EXPLAIN SELECT cint,
      COUNT(cdecimal1), MAX(cdecimal1), MIN(cdecimal1), SUM(cdecimal1), AVG(cdecimal1), STDDEV_POP(cdecimal1), STDDEV_SAMP(cdecimal1),
@@ -208,11 +208,11 @@ POSTHOOK: query: SELECT cint,
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@decimal_vgby
  #### A masked pattern was here ####
--3728 6 5831542.269248378 -3367.6517567568 5817556.0411483778 969592.67352472963333 2174330.2092403853 2381859.406131774 6 6984454.211097692 -4033.445769230769 6967702.8672438458471 1161283.811207307641183333 2604201.2704476737 2852759.5602156054
--563 2 -515.621072973 -3367.6517567568 -3883.2728297298 -1941.6364148649 1426.0153418918999 2016.6902366556308 2 -617.5607769230769 -4033.445769230769 -4651.0065461538459 -2325.50327307692295 1707.9424961538462 2415.395441814127
-253665376 1024 9767.0054054054 -9779.5486486487 -347484.0818378374 -339.33992366976309 5708.9563478862 5711.745967572779 1024 11697.969230769231 -11712.99230769231 -416182.64030769233089 -406.428359675480791885 6837.632716002934 6840.973851172274
-528534767 1024 5831542.269248378 -9777.1594594595 11646372.8607481068 11373.41099682432305 257528.92988206653 257654.7686043977 1024 6984454.211097692 -11710.130769230771 13948892.79980307629003 13621.965624807691689482 308443.1074570801 308593.82484083984
-626923679 1024 9723.4027027027 -9778.9513513514 10541.0525297287 10.29399661106318 5742.09145323734 5744.897264034267 1024 11645.746153846154 -11712.276923076923 12625.04759999997746 12.329148046874977988 6877.318722794877 6880.679250101603
-6981 3 5831542.269248378 -515.621072973 5830511.027102432 1943503.67570081066667 2749258.455012492 3367140.1929065133 3 6984454.211097692 -617.5607769230769 6983219.0895438458462 2327739.696514615282066667 3292794.4113115156 4032833.0678006653
-762 2 5831542.269248378 1531.2194054054 5833073.4886537834 2916536.7443268917 2915005.5249214866 4122440.3477364695 2 6984454.211097692 1833.9456923076925 6986288.1567899996925 3493144.07839499984625 3491310.1327026924 4937458.140118758
-NULL 3072 9318.4351351351 -4298.1513513514 5018444.1081079808 1633.60810810806667 5695.483082135364 5696.4103077145055 3072 11160.715384615385 -5147.907692307693 6010604.3076923073536 1956.576923076922966667 6821.495748565159 6822.606289190924
+-3728 6 5831542.2692483780 -3367.6517567568 5817556.0411483778 969592.67352472963333 2174330.2092403853 2381859.406131774 6 6984454.21109769200000 -4033.44576923076900 6967702.86724384584710 1161283.811207307641183333 2604201.2704476737 2852759.5602156054
+-563 2 -515.6210729730 -3367.6517567568 -3883.2728297298 -1941.63641486490000 1426.0153418918999 2016.6902366556308 2 -617.56077692307690 -4033.44576923076900 -4651.00654615384590 -2325.503273076922950000 1707.9424961538462 2415.395441814127
+253665376 1024 9767.0054054054 -9779.5486486487 -347484.0818378374 -339.33992366976309 5708.9563478862 5711.745967572779 1024 11697.96923076923100 -11712.99230769231000 -416182.64030769233089 -406.428359675480791885 6837.632716002934 6840.973851172274
+528534767 1024 5831542.2692483780 -9777.1594594595 11646372.8607481068 11373.41099682432305 257528.92988206653 257654.7686043977 1024 6984454.21109769200000 -11710.13076923077100 13948892.79980307629003 13621.965624807691689482 308443.1074570801 308593.82484083984
+626923679 1024 9723.4027027027 -9778.9513513514 10541.0525297287 10.29399661106318 5742.09145323734 5744.897264034267 1024 11645.74615384615400 -11712.27692307692300 12625.04759999997746 12.329148046874977988 6877.318722794877 6880.679250101603
+6981 3 5831542.2692483780 -515.6210729730 5830511.0271024320 1943503.67570081066667 2749258.455012492 3367140.1929065133 3 6984454.21109769200000 -617.56077692307690 6983219.08954384584620 2327739.696514615282066667 3292794.4113115156 4032833.0678006653
+762 2 5831542.2692483780 1531.2194054054 5833073.4886537834 2916536.74432689170000 2915005.5249214866 4122440.3477364695 2 6984454.21109769200000 1833.94569230769250 6986288.15678999969250 3493144.078394999846250000 3491310.1327026924 4937458.140118758
+NULL 3072 9318.4351351351 -4298.1513513514 5018444.1081079808 1633.60810810806667 5695.483082135364 5696.4103077145055 3072 11160.71538461538500 -5147.90769230769300 6010604.30769230735360 1956.576923076922966667 6821.495748565159 6822.606289190924

http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/vector_decimal_cast.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/vector_decimal_cast.q.out b/ql/src/test/results/clientpositive/vector_decimal_cast.q.out
index 88c09d9..2d81305 100644
--- a/ql/src/test/results/clientpositive/vector_decimal_cast.q.out
+++ b/ql/src/test/results/clientpositive/vector_decimal_cast.q.out
@@ -46,13 +46,13 @@ POSTHOOK: query: SELECT cdouble, cint, cboolean1, ctimestamp1, CAST(cdouble AS D
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@alltypesorc
  #### A masked pattern was here ####
--13326.0 528534767 true 1969-12-31 15:59:46.674 -13326 528534767 1 -13
--15813.0 528534767 true 1969-12-31 15:59:55.787 -15813 528534767 1 -4
--9566.0 528534767 true 1969-12-31 15:59:44.187 -9566 528534767 1 -16
-15007.0 528534767 true 1969-12-31 15:59:50.434 15007 528534767 1 -10
-7021.0 528534767 true 1969-12-31 16:00:15.007 7021 528534767 1 15
-4963.0 528534767 true 1969-12-31 16:00:07.021 4963 528534767 1 7
--7824.0 528534767 true 1969-12-31 16:00:04.963 -7824 528534767 1 5
--15431.0 528534767 true 1969-12-31 15:59:52.176 -15431 528534767 1 -8
--15549.0 528534767 true 1969-12-31 15:59:44.569 -15549 528534767 1 -15
-5780.0 528534767 true 1969-12-31 15:59:44.451 5780 528534767 1 -16
+-13326.0 528534767 true 1969-12-31 15:59:46.674 -13326.0000000000 528534767.00000000000000 1.00 -13
+-15813.0 528534767 true 1969-12-31 15:59:55.787 -15813.0000000000 528534767.00000000000000 1.00 -4
+-9566.0 528534767 true 1969-12-31 15:59:44.187 -9566.0000000000 528534767.00000000000000 1.00 -16
+15007.0 528534767 true 1969-12-31 15:59:50.434 15007.0000000000 528534767.00000000000000 1.00 -10
+7021.0 528534767 true 1969-12-31 16:00:15.007 7021.0000000000 528534767.00000000000000 1.00 15
+4963.0 528534767 true 1969-12-31 16:00:07.021 4963.0000000000 528534767.00000000000000 1.00 7
+-7824.0 528534767 true 1969-12-31 16:00:04.963 -7824.0000000000 528534767.00000000000000 1.00 5
+-15431.0 528534767 true 1969-12-31 15:59:52.176 -15431.0000000000 528534767.00000000000000 1.00 -8
+-15549.0 528534767 true 1969-12-31 15:59:44.569 -15549.0000000000 528534767.00000000000000 1.00 -15
+5780.0 528534767 true 1969-12-31 15:59:44.451 5780.0000000000 528534767.00000000000000 1.00 -16

http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/vector_decimal_expressions.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/vector_decimal_expressions.q.out b/ql/src/test/results/clientpositive/vector_decimal_expressions.q.out
index 6369bc8..e57d6c1 100644
--- a/ql/src/test/results/clientpositive/vector_decimal_expressions.q.out
+++ b/ql/src/test/results/clientpositive/vector_decimal_expressions.q.out
@@ -77,13 +77,13 @@ LIMIT 10
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@decimal_test
  #### A masked pattern was here ####
-1836.441995841977 -1166.027234927254 0.8372697814833714 245972.55810810256 5.6189189189 835 1000 -24 835 true 1000.823076923077 835.6189 1000.823076923077 1969-12-31 16:13:55.618918918
-1856.1322245322462 -1178.5293139292924 0.8372449787014038 251275.4432432497 4.5783783784 844 1011 -13 844 true 1011.5538461538462 844.57837 1011.5538461538462 1969-12-31 16:14:04.578378378
-1858.7575883576155 -1180.196257796231 0.837241711366943 251986.76756757565 5.772972973 845 1012 -12 845 true 1012.9846153846155 845.77295 1012.9846153846155 1969-12-31 16:14:05.772972973
-1862.6956340956693 -1182.6966735966386 0.8372368276344616 253055.6391891997 7.5648648649 847 1015 -9 847 true 1015.1307692307693 847.5649 1015.1307692307693 1969-12-31 16:14:07.564864864
-1883.6985446985233 -1196.0322245322466 0.8372111259286499 258794.49324323673 7.1216216216 857 1026 2 857 true 1026.5769230769233 857.12164 1026.5769230769233 1969-12-31 16:14:17.121621621
-1886.3239085238924 -1197.6991683991848 0.8372079534581902 259516.37432431948 8.3162162162 858 1028 4 858 true 1028.0076923076924 858.3162 1028.0076923076924 1969-12-31 16:14:18.316216216
-1887.636590436577 -1198.532640332654 0.8372063705322131 259877.69189188787 8.9135135135 858 1028 4 858 true 1028.723076923077 858.9135 1028.723076923077 1969-12-31 16:14:18.913513513
-1895.5126819126846 -1203.5334719334692 0.8371969190171343 262050.87567567648 2.4972972973 862 1033 9 862 true 1033.0153846153846 862.4973 1033.0153846153846 1969-12-31 16:14:22.497297297
-1909.9521829522155 -1212.701663201631 0.8371797936946236 266058.54729730723 9.0675675676 869 1040 16 869 true 1040.8846153846155 869.06757 1040.8846153846155 1969-12-31 16:14:29.067567567
-1913.8902286902692 -1215.2020790020384 0.8371751679995797 267156.8270270395 0.8594594595 870 1043 19 870 true 1043.0307692307692 870.85944 1043.0307692307692 1969-12-31 16:14:30.859459459
+1836.44199584197700 -1166.02723492725400 0.8372697814833714 245972.55810810256 5.6189189189 835 1000 -24 835 true 1000.823076923077 835.6189 1000.823076923077 1969-12-31 16:13:55.618918918
+1856.13222453224620 -1178.52931392929240 0.8372449787014038 251275.4432432497 4.5783783784 844 1011 -13 844 true 1011.5538461538462 844.57837 1011.5538461538462 1969-12-31 16:14:04.578378378
+1858.75758835761550 -1180.19625779623100 0.837241711366943 251986.76756757565 5.7729729730 845 1012 -12 845 true 1012.9846153846155 845.77295 1012.9846153846155 1969-12-31 16:14:05.772972973
+1862.69563409566930 -1182.69667359663860 0.8372368276344616 253055.6391891997 7.5648648649 847 1015 -9 847 true 1015.1307692307693 847.5649 1015.1307692307693 1969-12-31 16:14:07.564864864
+1883.69854469852330 -1196.03222453224660 0.8372111259286499 258794.49324323673 7.1216216216 857 1026 2 857 true 1026.5769230769233 857.12164 1026.5769230769233 1969-12-31 16:14:17.121621621
+1886.32390852389240 -1197.69916839918480 0.8372079534581902 259516.37432431948 8.3162162162 858 1028 4 858 true 1028.0076923076924 858.3162 1028.0076923076924 1969-12-31 16:14:18.316216216
+1887.63659043657700 -1198.53264033265400 0.8372063705322131 259877.69189188787 8.9135135135 858 1028 4 858 true 1028.723076923077 858.9135 1028.723076923077 1969-12-31 16:14:18.913513513
+1895.51268191268460 -1203.53347193346920 0.8371969190171343 262050.87567567648 2.4972972973 862 1033 9 862 true 1033.0153846153846 862.4973 1033.0153846153846 1969-12-31 16:14:22.497297297
+1909.95218295221550 -1212.70166320163100 0.8371797936946236 266058.54729730723 9.0675675676 869 1040 16 869 true 1040.8846153846155 869.06757 1040.8846153846155 1969-12-31 16:14:29.067567567
+1913.89022869026920 -1215.20207900203840 0.8371751679995797 267156.8270270395 0.8594594595 870 1043 19 870 true 1043.0307692307692 870.85944 1043.0307692307692 1969-12-31 16:14:30.859459459

http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/vector_decimal_mapjoin.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/vector_decimal_mapjoin.q.out b/ql/src/test/results/clientpositive/vector_decimal_mapjoin.q.out
index cf48a32..d3356ed 100644
--- a/ql/src/test/results/clientpositive/vector_decimal_mapjoin.q.out
+++ b/ql/src/test/results/clientpositive/vector_decimal_mapjoin.q.out
@@ -155,109 +155,109 @@ POSTHOOK: type: QUERY
  POSTHOOK: Input: default@t1
  POSTHOOK: Input: default@t2
  #### A masked pattern was here ####
-14 14
-14 14
-14 14
-14 14
-14 14
-14 14
-14 14
-14 14
-14 14
-17 17
-17 17
-17 17
-17 17
-17 17
-17 17
-17 17
-17 17
-17 17
-17 17
-45 45
-45 45
-45 45
-45 45
-45 45
-6 6
-6 6
-6 6
-6 6
-6 6
-6 6
-62 62
-62 62
-62 62
-62 62
-62 62
-62 62
-62 62
-62 62
-62 62
-62 62
-62 62
-62 62
-64 64
-64 64
-64 64
-64 64
-64 64
-64 64
-64 64
-64 64
-64 64
-64 64
-64 64
-64 64
-64 64
-64 64
-64 64
-64 64
-64 64
-64 64
-70 70
-70 70
-70 70
-70 70
-70 70
-70 70
-70 70
-79 79
-79 79
-79 79
-79 79
-79 79
-79 79
-89 89
-89 89
-89 89
-89 89
-89 89
-89 89
-89 89
-89 89
-89 89
-89 89
-89 89
-89 89
-9 9
-9 9
-9 9
-9 9
-9 9
-9 9
-9 9
-9 9
-9 9
-9 9
-9 9
-9 9
-9 9
-9 9
-9 9
-9 9
-9 9
-9 9
-9 9
-9 9
-9 9
+14.00 14
+14.00 14
+14.00 14
+14.00 14
+14.00 14
+14.00 14
+14.00 14
+14.00 14
+14.00 14
+17.00 17
+17.00 17
+17.00 17
+17.00 17
+17.00 17
+17.00 17
+17.00 17
+17.00 17
+17.00 17
+17.00 17
+45.00 45
+45.00 45
+45.00 45
+45.00 45
+45.00 45
+6.00 6
+6.00 6
+6.00 6
+6.00 6
+6.00 6
+6.00 6
+62.00 62
+62.00 62
+62.00 62
+62.00 62
+62.00 62
+62.00 62
+62.00 62
+62.00 62
+62.00 62
+62.00 62
+62.00 62
+62.00 62
+64.00 64
+64.00 64
+64.00 64
+64.00 64
+64.00 64
+64.00 64
+64.00 64
+64.00 64
+64.00 64
+64.00 64
+64.00 64
+64.00 64
+64.00 64
+64.00 64
+64.00 64
+64.00 64
+64.00 64
+64.00 64
+70.00 70
+70.00 70
+70.00 70
+70.00 70
+70.00 70
+70.00 70
+70.00 70
+79.00 79
+79.00 79
+79.00 79
+79.00 79
+79.00 79
+79.00 79
+89.00 89
+89.00 89
+89.00 89
+89.00 89
+89.00 89
+89.00 89
+89.00 89
+89.00 89
+89.00 89
+89.00 89
+89.00 89
+89.00 89
+9.00 9
+9.00 9
+9.00 9
+9.00 9
+9.00 9
+9.00 9
+9.00 9
+9.00 9
+9.00 9
+9.00 9
+9.00 9
+9.00 9
+9.00 9
+9.00 9
+9.00 9
+9.00 9
+9.00 9
+9.00 9
+9.00 9
+9.00 9
+9.00 9

http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/vector_decimal_precision.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/vector_decimal_precision.q.out b/ql/src/test/results/clientpositive/vector_decimal_precision.q.out
index f2aaf8d..c5ab8a7 100644
--- a/ql/src/test/results/clientpositive/vector_decimal_precision.q.out
+++ b/ql/src/test/results/clientpositive/vector_decimal_precision.q.out
@@ -99,13 +99,13 @@ NULL
  NULL
  NULL
  NULL
-0
-0
-0
-0
-0
-0.123456789
-0.123456789
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.1234567890
+0.1234567890
  1.2345678901
  1.2345678901
  1.2345678901
@@ -122,14 +122,14 @@ NULL
  12345.6789012346
  123456.7890123456
  123456.7890123457
-1234567.890123456
+1234567.8901234560
  1234567.8901234568
-12345678.90123456
+12345678.9012345600
  12345678.9012345679
-123456789.0123456
+123456789.0123456000
  123456789.0123456789
-1234567890.123456
-1234567890.123456789
+1234567890.1234560000
+1234567890.1234567890
  PREHOOK: query: SELECT dec, dec + 1, dec - 1 FROM DECIMAL_PRECISION ORDER BY dec
  PREHOOK: type: QUERY
  PREHOOK: Input: default@decimal_precision
@@ -182,13 +182,13 @@ NULL NULL NULL
  NULL NULL NULL
  NULL NULL NULL
  NULL NULL NULL
-0 1 -1
-0 1 -1
-0 1 -1
-0 1 -1
-0 1 -1
-0.123456789 1.123456789 -0.876543211
-0.123456789 1.123456789 -0.876543211
+0.0000000000 1.0000000000 -1.0000000000
+0.0000000000 1.0000000000 -1.0000000000
+0.0000000000 1.0000000000 -1.0000000000
+0.0000000000 1.0000000000 -1.0000000000
+0.0000000000 1.0000000000 -1.0000000000
+0.1234567890 1.1234567890 -0.8765432110
+0.1234567890 1.1234567890 -0.8765432110
  1.2345678901 2.2345678901 0.2345678901
  1.2345678901 2.2345678901 0.2345678901
  1.2345678901 2.2345678901 0.2345678901
@@ -205,14 +205,14 @@ NULL NULL NULL
  12345.6789012346 12346.6789012346 12344.6789012346
  123456.7890123456 123457.7890123456 123455.7890123456
  123456.7890123457 123457.7890123457 123455.7890123457
-1234567.890123456 1234568.890123456 1234566.890123456
+1234567.8901234560 1234568.8901234560 1234566.8901234560
  1234567.8901234568 1234568.8901234568 1234566.8901234568
-12345678.90123456 12345679.90123456 12345677.90123456
+12345678.9012345600 12345679.9012345600 12345677.9012345600
  12345678.9012345679 12345679.9012345679 12345677.9012345679
-123456789.0123456 123456790.0123456 123456788.0123456
+123456789.0123456000 123456790.0123456000 123456788.0123456000
  123456789.0123456789 123456790.0123456789 123456788.0123456789
-1234567890.123456 1234567891.123456 1234567889.123456
-1234567890.123456789 1234567891.123456789 1234567889.123456789
+1234567890.1234560000 1234567891.1234560000 1234567889.1234560000
+1234567890.1234567890 1234567891.1234567890 1234567889.1234567890
  PREHOOK: query: SELECT dec, dec * 2, dec / 3 FROM DECIMAL_PRECISION ORDER BY dec
  PREHOOK: type: QUERY
  PREHOOK: Input: default@decimal_precision
@@ -265,37 +265,37 @@ NULL NULL NULL
  NULL NULL NULL
  NULL NULL NULL
  NULL NULL NULL
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0 0 0
-0.123456789 0.246913578 0.041152263
-0.123456789 0.246913578 0.041152263
+0.0000000000 0.0000000000 0.000000000000
+0.0000000000 0.0000000000 0.000000000000
+0.0000000000 0.0000000000 0.000000000000
+0.0000000000 0.0000000000 0.000000000000
+0.0000000000 0.0000000000 0.000000000000
+0.1234567890 0.2469135780 0.041152263000
+0.1234567890 0.2469135780 0.041152263000
  1.2345678901 2.4691357802 0.411522630033
  1.2345678901 2.4691357802 0.411522630033
  1.2345678901 2.4691357802 0.411522630033
-12.3456789012 24.6913578024 4.1152263004
-12.3456789012 24.6913578024 4.1152263004
-12.3456789012 24.6913578024 4.1152263004
-123.4567890123 246.9135780246 41.1522630041
-123.4567890123 246.9135780246 41.1522630041
-123.4567890123 246.9135780246 41.1522630041
-1234.5678901235 2469.135780247 411.522630041167
-1234.5678901235 2469.135780247 411.522630041167
-1234.5678901235 2469.135780247 411.522630041167
+12.3456789012 24.6913578024 4.115226300400
+12.3456789012 24.6913578024 4.115226300400
+12.3456789012 24.6913578024 4.115226300400
+123.4567890123 246.9135780246 41.152263004100
+123.4567890123 246.9135780246 41.152263004100
+123.4567890123 246.9135780246 41.152263004100
+1234.5678901235 2469.1357802470 411.522630041167
+1234.5678901235 2469.1357802470 411.522630041167
+1234.5678901235 2469.1357802470 411.522630041167
  12345.6789012346 24691.3578024692 4115.226300411533
  12345.6789012346 24691.3578024692 4115.226300411533
-123456.7890123456 246913.5780246912 41152.2630041152
+123456.7890123456 246913.5780246912 41152.263004115200
  123456.7890123457 246913.5780246914 41152.263004115233
-1234567.890123456 2469135.780246912 411522.630041152
+1234567.8901234560 2469135.7802469120 411522.630041152000
  1234567.8901234568 2469135.7802469136 411522.630041152267
-12345678.90123456 24691357.80246912 4115226.30041152
+12345678.9012345600 24691357.8024691200 4115226.300411520000
  12345678.9012345679 24691357.8024691358 4115226.300411522633
-123456789.0123456 246913578.0246912 41152263.0041152
-123456789.0123456789 246913578.0246913578 41152263.0041152263
-1234567890.123456 2469135780.246912 411522630.041152
-1234567890.123456789 2469135780.246913578 411522630.041152263
+123456789.0123456000 246913578.0246912000 41152263.004115200000
+123456789.0123456789 246913578.0246913578 41152263.004115226300
+1234567890.1234560000 2469135780.2469120000 411522630.041152000000
+1234567890.1234567890 2469135780.2469135780 411522630.041152263000
  PREHOOK: query: SELECT dec, dec / 9 FROM DECIMAL_PRECISION ORDER BY dec
  PREHOOK: type: QUERY
  PREHOOK: Input: default@decimal_precision
@@ -348,13 +348,13 @@ NULL NULL
  NULL NULL
  NULL NULL
  NULL NULL
-0 0
-0 0
-0 0
-0 0
-0 0
-0.123456789 0.013717421
-0.123456789 0.013717421
+0.0000000000 0.000000000000
+0.0000000000 0.000000000000
+0.0000000000 0.000000000000
+0.0000000000 0.000000000000
+0.0000000000 0.000000000000
+0.1234567890 0.013717421000
+0.1234567890 0.013717421000
  1.2345678901 0.137174210011
  1.2345678901 0.137174210011
  1.2345678901 0.137174210011
@@ -371,14 +371,14 @@ NULL NULL
  12345.6789012346 1371.742100137178
  123456.7890123456 13717.421001371733
  123456.7890123457 13717.421001371744
-1234567.890123456 137174.210013717333
+1234567.8901234560 137174.210013717333
  1234567.8901234568 137174.210013717422
-12345678.90123456 1371742.100137173333
+12345678.9012345600 1371742.100137173333
  12345678.9012345679 1371742.100137174211
-123456789.0123456 13717421.001371733333
-123456789.0123456789 13717421.0013717421
-1234567890.123456 137174210.013717333333
-1234567890.123456789 137174210.013717421
+123456789.0123456000 13717421.001371733333
+123456789.0123456789 13717421.001371742100
+1234567890.1234560000 137174210.013717333333
+1234567890.1234567890 137174210.013717421000
  PREHOOK: query: SELECT dec, dec / 27 FROM DECIMAL_PRECISION ORDER BY dec
  PREHOOK: type: QUERY
  PREHOOK: Input: default@decimal_precision
@@ -431,13 +431,13 @@ NULL NULL
  NULL NULL
  NULL NULL
  NULL NULL
-0 0
-0 0
-0 0
-0 0
-0 0
-0.123456789 0.0045724736667
-0.123456789 0.0045724736667
+0.0000000000 0.0000000000000
+0.0000000000 0.0000000000000
+0.0000000000 0.0000000000000
+0.0000000000 0.0000000000000
+0.0000000000 0.0000000000000
+0.1234567890 0.0045724736667
+0.1234567890 0.0045724736667
  1.2345678901 0.0457247366704
  1.2345678901 0.0457247366704
  1.2345678901 0.0457247366704
@@ -454,14 +454,14 @@ NULL NULL
  12345.6789012346 457.2473667123926
  123456.7890123456 4572.4736671239111
  123456.7890123457 4572.4736671239148
-1234567.890123456 45724.7366712391111
+1234567.8901234560 45724.7366712391111
  1234567.8901234568 45724.7366712391407
-12345678.90123456 457247.3667123911111
+12345678.9012345600 457247.3667123911111
  12345678.9012345679 457247.3667123914037
-123456789.0123456 4572473.6671239111111
+123456789.0123456000 4572473.6671239111111
  123456789.0123456789 4572473.6671239140333
-1234567890.123456 45724736.6712391111111
-1234567890.123456789 45724736.6712391403333
+1234567890.1234560000 45724736.6712391111111
+1234567890.1234567890 45724736.6712391403333
  PREHOOK: query: SELECT dec, dec * dec FROM DECIMAL_PRECISION ORDER BY dec
  PREHOOK: type: QUERY
  PREHOOK: Input: default@decimal_precision
@@ -514,13 +514,13 @@ NULL NULL
  NULL NULL
  NULL NULL
  NULL NULL
-0 0
-0 0
-0 0
-0 0
-0 0
-0.123456789 0.015241578750190521
-0.123456789 0.015241578750190521
+0.0000000000 0.00000000000000000000
+0.0000000000 0.00000000000000000000
+0.0000000000 0.00000000000000000000
+0.0000000000 0.00000000000000000000
+0.0000000000 0.00000000000000000000
+0.1234567890 0.01524157875019052100
+0.1234567890 0.01524157875019052100
  1.2345678901 1.52415787526596567801
  1.2345678901 1.52415787526596567801
  1.2345678901 1.52415787526596567801
@@ -537,14 +537,14 @@ NULL NULL
  12345.6789012346 152415787.53238916034140423716
  123456.7890123456 15241578753.23881726870921383936
  123456.7890123457 15241578753.23884196006701630849
-1234567.890123456 1524157875323.881726870921383936
+1234567.8901234560 1524157875323.88172687092138393600
  1234567.8901234568 1524157875323.88370217954558146624
-12345678.90123456 152415787532388.1726870921383936
+12345678.9012345600 152415787532388.17268709213839360000
  12345678.9012345679 152415787532388.36774881877789971041
-123456789.0123456 15241578753238817.26870921383936
+123456789.0123456000 15241578753238817.26870921383936000000
  123456789.0123456789 15241578753238836.75019051998750190521
-1234567890.123456 NULL
-1234567890.123456789 NULL
+1234567890.1234560000 NULL
+1234567890.1234567890 NULL
  PREHOOK: query: EXPLAIN SELECT avg(dec), sum(dec) FROM DECIMAL_PRECISION
  PREHOOK: type: QUERY
  POSTHOOK: query: EXPLAIN SELECT avg(dec), sum(dec) FROM DECIMAL_PRECISION
@@ -637,7 +637,7 @@ POSTHOOK: query: SELECT MIN(cast('12345678901234567890.12345678' as decimal(38,1
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@decimal_precision
  #### A masked pattern was here ####
-12345678901234567890.12345678
+12345678901234567890.123456780000000000
  PREHOOK: query: SELECT COUNT(cast('12345678901234567890.12345678' as decimal(38,18))) FROM DECIMAL_PRECISION
  PREHOOK: type: QUERY
  PREHOOK: Input: default@decimal_precision

http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/vector_decimal_round_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/vector_decimal_round_2.q.out b/ql/src/test/results/clientpositive/vector_decimal_round_2.q.out
index 0151b04..5291609 100644
--- a/ql/src/test/results/clientpositive/vector_decimal_round_2.q.out
+++ b/ql/src/test/results/clientpositive/vector_decimal_round_2.q.out
@@ -25,7 +25,7 @@ POSTHOOK: query: select * from decimal_tbl_1_orc
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@decimal_tbl_1_orc
  #### A masked pattern was here ####
-55555
+55555.000000000000000000
  PREHOOK: query: -- EXPLAIN
  -- SELECT dec, round(null), round(null, 0), round(125, null),
  -- round(1.0/0.0, 0), round(power(-1.0,0.5), 0)
@@ -114,7 +114,7 @@ FROM decimal_tbl_1_orc ORDER BY d
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@decimal_tbl_1_orc
  #### A masked pattern was here ####
-55555 55555 55555 55555 55555 55560 55600 56000 60000 100000 0 0 0
+55555 55555 55555.0 55555.00 55555.000 55560 55600 56000 60000 100000 0 0 0
  PREHOOK: query: create table decimal_tbl_2_orc (pos decimal(38,18), neg decimal(38,18))
  STORED AS ORC
  PREHOOK: type: CREATETABLE
@@ -143,7 +143,7 @@ POSTHOOK: query: select * from decimal_tbl_2_orc
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@decimal_tbl_2_orc
  #### A masked pattern was here ####
-125.315 -125.315
+125.315000000000000000 -125.315000000000000000
  PREHOOK: query: EXPLAIN
  SELECT
    round(pos) as p, round(pos, 0),
@@ -226,7 +226,7 @@ FROM decimal_tbl_2_orc ORDER BY p
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@decimal_tbl_2_orc
  #### A masked pattern was here ####
-125 125 125.3 125.32 125.315 125.315 130 100 0 0 -125 -125 -125.3 -125.32 -125.315 -125.315 -130 -100 0 0
+125 125 125.3 125.32 125.315 125.3150 130 100 0 0 -125 -125 -125.3 -125.32 -125.315 -125.3150 -130 -100 0 0
  PREHOOK: query: create table decimal_tbl_3_orc (dec decimal(38,18))
  STORED AS ORC
  PREHOOK: type: CREATETABLE
@@ -254,7 +254,7 @@ POSTHOOK: query: select * from decimal_tbl_3_orc
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@decimal_tbl_3_orc
  #### A masked pattern was here ####
-3.141592653589793
+3.141592653589793000
  PREHOOK: query: EXPLAIN
  SELECT
    round(dec, -15) as d, round(dec, -16),
@@ -381,7 +381,7 @@ FROM decimal_tbl_3_orc ORDER BY d
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@decimal_tbl_3_orc
  #### A masked pattern was here ####
-0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3.1 3.14 3.142 3.1416 3.14159 3.141593 3.1415927 3.14159265 3.141592654 3.1415926536 3.14159265359 3.14159265359 3.1415926535898 3.1415926535898 3.14159265358979 3.141592653589793 3.141592653589793
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3.1 3.14 3.142 3.1416 3.14159 3.141593 3.1415927 3.14159265 3.141592654 3.1415926536 3.14159265359 3.141592653590 3.1415926535898 3.1415926535898 3.14159265358979 3.141592653589793 3.1415926535897930
  PREHOOK: query: create table decimal_tbl_4_orc (pos decimal(38,18), neg decimal(38,18))
  STORED AS ORC
  PREHOOK: type: CREATETABLE
@@ -410,7 +410,7 @@ POSTHOOK: query: select * from decimal_tbl_4_orc
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@decimal_tbl_4_orc
  #### A masked pattern was here ####
-1809242.3151111344 -1809242.3151111344
+1809242.315111134400000000 -1809242.315111134400000000
  PREHOOK: query: EXPLAIN
  SELECT round(pos, 9) as p, round(neg, 9), round(1809242.3151111344BD, 9), round(-1809242.3151111344BD, 9)
  FROM decimal_tbl_4_orc ORDER BY p

http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/vector_decimal_trailing.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/vector_decimal_trailing.q.out b/ql/src/test/results/clientpositive/vector_decimal_trailing.q.out
index ffdb1c9..7dea1a2 100644
--- a/ql/src/test/results/clientpositive/vector_decimal_trailing.q.out
+++ b/ql/src/test/results/clientpositive/vector_decimal_trailing.q.out
@@ -73,16 +73,16 @@ POSTHOOK: query: SELECT * FROM DECIMAL_TRAILING ORDER BY id
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@decimal_trailing
  #### A masked pattern was here ####
-0 0 0
-1 0 0
+0 0.0000 0.00000000
+1 0.0000 0.00000000
  2 NULL NULL
-3 1 1
-4 10 10
-5 100 100
-6 1000 1000
-7 10000 10000
-8 100000 100000
-9 NULL 1000000
+3 1.0000 1.00000000
+4 10.0000 10.00000000
+5 100.0000 100.00000000
+6 1000.0000 1000.00000000
+7 10000.0000 10000.00000000
+8 100000.0000 100000.00000000
+9 NULL 1000000.00000000
  10 NULL NULL
  11 NULL NULL
  12 NULL NULL
@@ -91,18 +91,18 @@ POSTHOOK: Input: default@decimal_trailing
  15 NULL NULL
  16 NULL NULL
  17 NULL NULL
-18 1 1
-19 10 10
-20 100 100
-21 1000 1000
-22 100000 10000
-23 0 0
-24 0 0
-25 0 0
-26 0 0
-27 0 0
-28 12313.2 134134.312525
-29 99999.999 134134.31242553
+18 1.0000 1.00000000
+19 10.0000 10.00000000
+20 100.0000 100.00000000
+21 1000.0000 1000.00000000
+22 100000.0000 10000.00000000
+23 0.0000 0.00000000
+24 0.0000 0.00000000
+25 0.0000 0.00000000
+26 0.0000 0.00000000
+27 0.0000 0.00000000
+28 12313.2000 134134.31252500
+29 99999.9990 134134.31242553
  PREHOOK: query: DROP TABLE DECIMAL_TRAILING_txt
  PREHOOK: type: DROPTABLE
  PREHOOK: Input: default@decimal_trailing_txt

http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/vector_decimal_udf.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/vector_decimal_udf.q.out b/ql/src/test/results/clientpositive/vector_decimal_udf.q.out
index cfd2a55..6837b76 100644
--- a/ql/src/test/results/clientpositive/vector_decimal_udf.q.out
+++ b/ql/src/test/results/clientpositive/vector_decimal_udf.q.out
@@ -92,44 +92,44 @@ POSTHOOK: query: SELECT key + key FROM DECIMAL_UDF
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@decimal_udf
  #### A masked pattern was here ####
--8800
+-8800.0000000000
  NULL
-0
-0
-200
-20
-2
-0.2
-0.02
-400
-40
-4
-0
-0.4
-0.04
-0.6
-0.66
-0.666
--0.6
--0.66
--0.666
-2
-4
-6.28
--2.24
--2.24
--2.244
-2.24
-2.244
-248
-250.4
--2510.98
-6.28
-6.28
-6.28
-2
--2469135780.246913578
-2469135780.24691356
+0.0000000000
+0.0000000000
+200.0000000000
+20.0000000000
+2.0000000000
+0.2000000000
+0.0200000000
+400.0000000000
+40.0000000000
+4.0000000000
+0.0000000000
+0.4000000000
+0.0400000000
+0.6000000000
+0.6600000000
+0.6660000000
+-0.6000000000
+-0.6600000000
+-0.6660000000
+2.0000000000
+4.0000000000
+6.2800000000
+-2.2400000000
+-2.2400000000
+-2.2440000000
+2.2400000000
+2.2440000000
+248.0000000000
+250.4000000000
+-2510.9800000000
+6.2800000000
+6.2800000000
+6.2800000000
+2.0000000000
+-2469135780.2469135780
+2469135780.2469135600
  PREHOOK: query: EXPLAIN SELECT key + value FROM DECIMAL_UDF
  PREHOOK: type: QUERY
  POSTHOOK: query: EXPLAIN SELECT key + value FROM DECIMAL_UDF
@@ -172,44 +172,44 @@ POSTHOOK: query: SELECT key + value FROM DECIMAL_UDF
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@decimal_udf
  #### A masked pattern was here ####
-0
+0.0000000000
  NULL
-0
-0
-200
-20
-2
-0.1
-0.01
-400
-40
-4
-0
-0.2
-0.02
-0.3
-0.33
-0.333
--0.3
--0.33
--0.333
-2
-4
-6.14
--2.12
--2.12
--12.122
-2.12
-2.122
-248
-250.2
--2510.49
-6.14
-6.14
-7.14
-2
--2469135780.123456789
-2469135780.12345678
+0.0000000000
+0.0000000000
+200.0000000000
+20.0000000000
+2.0000000000
+0.1000000000
+0.0100000000
+400.0000000000
+40.0000000000
+4.0000000000
+0.0000000000
+0.2000000000
+0.0200000000
+0.3000000000
+0.3300000000
+0.3330000000
+-0.3000000000
+-0.3300000000
+-0.3330000000
+2.0000000000
+4.0000000000
+6.1400000000
+-2.1200000000
+-2.1200000000
+-12.1220000000
+2.1200000000
+2.1220000000
+248.0000000000
+250.2000000000
+-2510.4900000000
+6.1400000000
+6.1400000000
+7.1400000000
+2.0000000000
+-2469135780.1234567890
+2469135780.1234567800
  PREHOOK: query: EXPLAIN SELECT key + (value/2) FROM DECIMAL_UDF
  PREHOOK: type: QUERY
  POSTHOOK: query: EXPLAIN SELECT key + (value/2) FROM DECIMAL_UDF
@@ -414,44 +414,44 @@ POSTHOOK: query: SELECT key - key FROM DECIMAL_UDF
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@decimal_udf
  #### A masked pattern was here ####
-0
+0.0000000000
  NULL
-0
-0
-0
-0
-0
-0
-0
-0
-0
-0
-0
-0
-0
-0
-0
-0
-0
-0
-0
-0
-0
-0
-0
-0
-0
-0
-0
-0
-0
-0
-0
-0
-0
-0
-0
-0
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
  PREHOOK: query: EXPLAIN SELECT key - value FROM DECIMAL_UDF
  PREHOOK: type: QUERY
  POSTHOOK: query: EXPLAIN SELECT key - value FROM DECIMAL_UDF
@@ -494,44 +494,44 @@ POSTHOOK: query: SELECT key - value FROM DECIMAL_UDF
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@decimal_udf
  #### A masked pattern was here ####
--8800
+-8800.0000000000
  NULL
-0
-0
-0
-0
-0
-0.1
-0.01
-0
-0
-0
-0
-0.2
-0.02
-0.3
-0.33
-0.333
--0.3
--0.33
--0.333
-0
-0
-0.14
--0.12
--0.12
-9.878
-0.12
-0.122
-0
-0.2
--0.49
-0.14
-0.14
--0.86
-0
--0.123456789
-0.12345678
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.1000000000
+0.0100000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.2000000000
+0.0200000000
+0.3000000000
+0.3300000000
+0.3330000000
+-0.3000000000
+-0.3300000000
+-0.3330000000
+0.0000000000
+0.0000000000
+0.1400000000
+-0.1200000000
+-0.1200000000
+9.8780000000
+0.1200000000
+0.1220000000
+0.0000000000
+0.2000000000
+-0.4900000000
+0.1400000000
+0.1400000000
+-0.8600000000
+0.0000000000
+-0.1234567890
+0.1234567800
  PREHOOK: query: EXPLAIN SELECT key - (value/2) FROM DECIMAL_UDF
  PREHOOK: type: QUERY
  POSTHOOK: query: EXPLAIN SELECT key - (value/2) FROM DECIMAL_UDF
@@ -736,42 +736,42 @@ POSTHOOK: query: SELECT key * key FROM DECIMAL_UDF
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@decimal_udf
  #### A masked pattern was here ####
-19360000
+19360000.00000000000000000000
  NULL
-0
-0
-10000
-100
-1
-0.01
-0.0001
-40000
-400
-4
-0
-0.04
-0.0004
-0.09
-0.1089
-0.110889
-0.09
-0.1089
-0.110889
-1
-4
-9.8596
-1.2544
-1.2544
-1.258884
-1.2544
-1.258884
-15376
-15675.04
-1576255.1401
-9.8596
-9.8596
-9.8596
-1
+0.00000000000000000000
+0.00000000000000000000
+10000.00000000000000000000
+100.00000000000000000000
+1.00000000000000000000
+0.01000000000000000000
+0.00010000000000000000
+40000.00000000000000000000
+400.00000000000000000000
+4.00000000000000000000
+0.00000000000000000000
+0.04000000000000000000
+0.00040000000000000000
+0.09000000000000000000
+0.10890000000000000000
+0.11088900000000000000
+0.09000000000000000000
+0.10890000000000000000
+0.11088900000000000000
+1.00000000000000000000
+4.00000000000000000000
+9.85960000000000000000
+1.25440000000000000000
+1.25440000000000000000
+1.25888400000000000000
+1.25440000000000000000
+1.25888400000000000000
+15376.00000000000000000000
+15675.04000000000000000000
+1576255.14010000000000000000
+9.85960000000000000000
+9.85960000000000000000
+9.85960000000000000000
+1.00000000000000000000
  NULL
  NULL
  PREHOOK: query: EXPLAIN SELECT key, value FROM DECIMAL_UDF where key * value > 0
@@ -819,29 +819,29 @@ POSTHOOK: query: SELECT key, value FROM DECIMAL_UDF where key * value > 0
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@decimal_udf
  #### A masked pattern was here ####
-100 100
-10 10
-1 1
-200 200
-20 20
-2 2
-1 1
-2 2
-3.14 3
--1.12 -1
--1.12 -1
--1.122 -11
-1.12 1
-1.122 1
-124 124
-125.2 125
--1255.49 -1255
-3.14 3
-3.14 3
-3.14 4
-1 1
--1234567890.123456789 -1234567890
-1234567890.12345678 1234567890
+100.0000000000 100
+10.0000000000 10
+1.0000000000 1
+200.0000000000 200
+20.0000000000 20
+2.0000000000 2
+1.0000000000 1
+2.0000000000 2
+3.1400000000 3
+-1.1200000000 -1
+-1.1200000000 -1
+-1.1220000000 -11
+1.1200000000 1
+1.1220000000 1
+124.0000000000 124
+125.2000000000 125
+-1255.4900000000 -1255
+3.1400000000 3
+3.1400000000 3
+3.1400000000 4
+1.0000000000 1
+-1234567890.1234567890 -1234567890
+1234567890.1234567800 1234567890
  PREHOOK: query: EXPLAIN SELECT key * value FROM DECIMAL_UDF
  PREHOOK: type: QUERY
  POSTHOOK: query: EXPLAIN SELECT key * value FROM DECIMAL_UDF
@@ -884,44 +884,44 @@ POSTHOOK: query: SELECT key * value FROM DECIMAL_UDF
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@decimal_udf
  #### A masked pattern was here ####
--19360000
+-19360000.0000000000
  NULL
-0
-0
-10000
-100
-1
-0
-0
-40000
-400
-4
-0
-0
-0
-0
-0
-0
-0
-0
-0
-1
-4
-9.42
-1.12
-1.12
-12.342
-1.12
-1.122
-15376
-15650
-1575639.95
-9.42
-9.42
-12.56
-1
-1524157875171467887.50190521
-1524157875171467876.3907942
+0.0000000000
+0.0000000000
+10000.0000000000
+100.0000000000
+1.0000000000
+0.0000000000
+0.0000000000
+40000.0000000000
+400.0000000000
+4.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+0.0000000000
+1.0000000000
+4.0000000000
+9.4200000000
+1.1200000000
+1.1200000000
+12.3420000000
+1.1200000000
+1.1220000000
+15376.0000000000
+15650.0000000000
+1575639.9500000000
+9.4200000000
+9.4200000000
+12.5600000000
+1.0000000000
+1524157875171467887.5019052100
+1524157875171467876.3907942000
  PREHOOK: query: EXPLAIN SELECT key * (value/2) FROM DECIMAL_UDF
  PREHOOK: type: QUERY
  POSTHOOK: query: EXPLAIN SELECT key * (value/2) FROM DECIMAL_UDF
@@ -1220,40 +1220,40 @@ POSTHOOK: query: SELECT key / key FROM DECIMAL_UDF WHERE key is not null and key
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@decimal_udf
  #### A masked pattern was here ####
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
-1
+1.000000000000000000000000
+1.000000000000000000000000
+1.000000000000000000000000
+1.000000000000000000000000
+1.000000000000000000000000
+1.000000000000000000000000
+1.000000000000000000000000
+1.000000000000000000000000
+1.000000000000000000000000
+1.000000000000000000000000
+1.000000000000000000000000
+1.000000000000000000000000
+1.000000000000000000000000
+1.000000000000000000000000
+1.000000000000000000000000
+1.000000000000000000000000
+1.000000000000000000000000
+1.000000000000000000000000
+1.000000000000000000000000
+1.000000000000000000000000
+1.000000000000000000000000
+1.000000000000000000000000
+1.000000000000000000000000
+1.000000000000000000000000
+1.000000000000000000000000
+1.000000000000000000000000
+1.000000000000000000000000
+1.000000000000000000000000
+1.000000000000000000000000
+1.000000000000000000000000
+1.000000000000000000000000
+1.000000000000000000000000
+1.000000000000000000000000
+1.000000000000000000000000
  PREHOOK: query: EXPLAIN SELECT key / value FROM DECIMAL_UDF WHERE value is not null and value <> 0
  PREHOOK: type: QUERY
  POSTHOOK: query: EXPLAIN SELECT key / value FROM DECIMAL_UDF WHERE value is not null and value <> 0
@@ -1299,30 +1299,30 @@ POSTHOOK: query: SELECT key / value FROM DECIMAL_UDF WHERE value is not null and
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@decimal_udf
  #### A masked pattern was here ####
--1
-1
-1
-1
-1
-1
-1
-1
-1
+-1.000000000000000000000
+1.000000000000000000000
+1.000000000000000000000
+1.000000000000000000000
+1.000000000000000000000
+1.000000000000000000000
+1.000000000000000000000
+1.000000000000000000000
+1.000000000000000000000
  1.046666666666666666667
-1.12
-1.12
-0.102
-1.12
-1.122
-1
-1.0016
+1.120000000000000000000
+1.120000000000000000000
+0.102000000000000000000
+1.120000000000000000000
+1.122000000000000000000
+1.000000000000000000000
+1.001600000000000000000
  1.000390438247011952191
  1.046666666666666666667
  1.046666666666666666667
-0.785
-1
-1.0000000001
-1.00000000009999999271
+0.785000000000000000000
+1.000000000000000000000
+1.000000000100000000000
+1.000000000099999992710
  PREHOOK: query: EXPLAIN SELECT key / (value/2) FROM DECIMAL_UDF WHERE value is not null and value <> 0
  PREHOOK: type: QUERY
  POSTHOOK: query: EXPLAIN SELECT key / (value/2) FROM DECIMAL_UDF WHERE value is not null and value <> 0
@@ -1516,44 +1516,44 @@ POSTHOOK: query: SELECT abs(key) FROM DECIMAL_UDF
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@decimal_udf
  #### A masked pattern was here ####
-4400
+4400.0000000000
  NULL
-0
-0
-100
-10
-1
-0.1
-0.01
-200
-20
-2
-0
-0.2
-0.02
-0.3
-0.33
-0.333
-0.3
-0.33
-0.333
-1
-2
-3.14
-1.12
-1.12
-1.122
-1.12
-1.122
-124
-125.2
-1255.49
-3.14
-3.14
-3.14
-1
-1234567890.123456789
-1234567890.12345678
+0.0000000000
+0.0000000000
+100.0000000000
+10.0000000000
+1.0000000000
+0.1000000000
+0.0100000000
+200.0000000000
+20.0000000000
+2.0000000000
+0.0000000000
+0.2000000000
+0.0200000000
+0.3000000000
+0.3300000000
+0.3330000000
+0.3000000000
+0.3300000000
+0.3330000000
+1.0000000000
+2.0000000000
+3.1400000000
+1.1200000000
+1.1200000000
+1.1220000000
+1.1200000000
+1.1220000000
+124.0000000000
+125.2000000000
+1255.4900000000
+3.1400000000
+3.1400000000
+3.1400000000
+1.0000000000
+1234567890.1234567890
+1234567890.1234567800
  PREHOOK: query: -- avg
  EXPLAIN SELECT value, sum(key) / count(key), avg(key), sum(key) FROM DECIMAL_UDF GROUP BY value ORDER BY value
  PREHOOK: type: QUERY
@@ -1643,23 +1643,23 @@ POSTHOOK: query: SELECT value, sum(key) / count(key), avg(key), sum(key) FROM DE
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@decimal_udf
  #### A masked pattern was here ####
--1234567890 -1234567890.123456789 -1234567890.123456789 -1234567890.123456789
--1255 -1255.49 -1255.49 -1255.49
--11 -1.122 -1.122 -1.122
--1 -1.12 -1.12 -2.24
-0 0.02538461538461538461538 0.02538461538462 0.33
-1 1.0484 1.0484 5.242
-2 2 2 4
-3 3.14 3.14 9.42
-4 3.14 3.14 3.14
-10 10 10 10
-20 20 20 20
-100 100 100 100
-124 124 124 124
-125 125.2 125.2 125.2
-200 200 200 200
-4400 -4400 -4400 -4400
-1234567890 1234567890.12345678 1234567890.12345678 1234567890.12345678
+-1234567890 -1234567890.12345678900000000000000 -1234567890.12345678900000 -1234567890.1234567890
+-1255 -1255.49000000000000000000000 -1255.49000000000000 -1255.4900000000
+-11 -1.12200000000000000000000 -1.12200000000000 -1.1220000000
+-1 -1.12000000000000000000000 -1.12000000000000 -2.2400000000
+0 0.02538461538461538461538 0.02538461538462 0.3300000000
+1 1.04840000000000000000000 1.04840000000000 5.2420000000
+2 2.00000000000000000000000 2.00000000000000 4.0000000000
+3 3.14000000000000000000000 3.14000000000000 9.4200000000
+4 3.14000000000000000000000 3.14000000000000 3.1400000000
+10 10.00000000000000000000000 10.00000000000000 10.0000000000
+20 20.00000000000000000000000 20.00000000000000 20.0000000000
+100 100.00000000000000000000000 100.00000000000000 100.0000000000
+124 124.00000000000000000000000 124.00000000000000 124.0000000000
+125 125.20000000000000000000000 125.20000000000000 125.2000000000
+200 200.00000000000000000000000 200.00000000000000 200.0000000000
+4400 -4400.00000000000000000000000 -4400.00000000000000 -4400.0000000000
+1234567890 1234567890.12345678000000000000000 1234567890.12345678000000 1234567890.1234567800
  PREHOOK: query: -- negative
  EXPLAIN SELECT -key FROM DECIMAL_UDF
  PREHOOK: type: QUERY
@@ -1704,44 +1704,44 @@ POSTHOOK: query: SELECT -key FROM DECIMAL_UDF
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@decimal_udf
  #### A masked pattern was here ####
-4400
+4400.0000000000
  NULL
-0
-0
--100
--10
--1
--0.1
--0.01
--200
--20
--2
-0
--0.2
--0.02
--0.3
--0.33
--0.333
-0.3
-0.33
-0.333
--1
--2
--3.14
-1.12
-1.12
-1.122
--1.12
--1.122
--124
--125.2
-1255.49
--3.14
--3.14
--3.14
--1
-1234567890.123456789
--1234567890.12345678
+0.0000000000
+0.0000000000
+-100.0000000000
+-10.0000000000
+-1.0000000000
+-0.1000000000
+-0.0100000000
+-200.0000000000
+-20.0000000000
+-2.0000000000
+0.0000000000
+-0.2000000000
+-0.0200000000
+-0.3000000000
+-0.3300000000
+-0.3330000000
+0.3000000000
+0.3300000000
+0.3330000000
+-1.0000000000
+-2.0000000000
+-3.1400000000
+1.1200000000
+1.1200000000
+1.1220000000
+-1.1200000000
+-1.1220000000
+-124.0000000000
+-125.2000000000
+1255.4900000000
+-3.1400000000
+-3.1400000000
+-3.1400000000
+-1.0000000000
+1234567890.1234567890
+-1234567890.1234567800
  PREHOOK: query: -- positive
  EXPLAIN SELECT +key FROM DECIMAL_UDF
  PREHOOK: type: QUERY
@@ -1773,44 +1773,44 @@ POSTHOOK: query: SELECT +key FROM DECIMAL_UDF
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@decimal_udf
  #### A masked pattern was here ####
--4400
+-4400.0000000000
  NULL
-0
-0
-100
-10
-1
-0.1
-0.01
-200
-20
-2
-0
-0.2
-0.02
-0.3
-0.33
-0.333
--0.3
--0.33
--0.333
-1
-2
-3.14
--1.12
--1.12
--1.122
-1.12
-1.122
-124
-125.2
--1255.49
-3.14
-3.14
-3.14
-1
--1234567890.123456789
-1234567890.12345678
+0.0000000000
+0.0000000000
+100.0000000000
+10.0000000000
+1.0000000000
+0.1000000000
+0.0100000000
+200.0000000000
+20.0000000000
+2.0000000000
+0.0000000000
+0.2000000000
+0.0200000000
+0.3000000000
+0.3300000000
+0.3330000000
+-0.3000000000
+-0.3300000000
+-0.3330000000
+1.0000000000
+2.0000000000
+3.1400000000
+-1.1200000000
+-1.1200000000
+-1.1220000000
+1.1200000000
+1.1220000000
+124.0000000000
+125.2000000000
+-1255.4900000000
+3.1400000000
+3.1400000000
+3.1400000000
+1.0000000000
+-1234567890.1234567890
+1234567890.1234567800
  PREHOOK: query: -- ceiling
  EXPlAIN SELECT CEIL(key) FROM DECIMAL_UDF
  PREHOOK: type: QUERY
@@ -2019,42 +2019,42 @@ POSTHOOK: query: SELECT ROUND(key, 2) FROM DECIMAL_UDF
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@decimal_udf
  #### A masked pattern was here ####
--4400
+-4400.00
  NULL
-0
-0
-100
-10
-1
-0.1
+0.00
+0.00
+100.00
+10.00
+1.00
+0.10
  0.01
-200
-20
-2
-0
-0.2
+200.00
+20.00
+2.00
+0.00
+0.20
  0.02
-0.3
+0.30
  0.33
  0.33
--0.3
+-0.30
  -0.33
  -0.33
-1
-2
+1.00
+2.00
  3.14
  -1.12
  -1.12
  -1.12
  1.12
  1.12
-124
-125.2
+124.00
+125.20
  -1255.49
  3.14
  3.14
  3.14
-1
+1.00
  -1234567890.12
  1234567890.12
  PREHOOK: query: -- power
@@ -2182,44 +2182,44 @@ POSTHOOK: query: SELECT (key + 1) % (key / 2) FROM DECIMAL_UDF
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@decimal_udf
  #### A masked pattern was here ####
--2199
+-2199.000000000000
  NULL
  NULL
  NULL
-1
-1
-0
-0
-0
-1
-1
-0
+1.000000000000
+1.000000000000
+0.000000000000
+0.000000000000
+0.000000000000
+1.000000000000
+1.000000000000
+0.000000000000
  NULL
-0
-0
-0.1
-0.01
-0.001
-0.1
-0.01
-0.001
-0
-0
-1
--0.12
--0.12
--0.122
-0.44
-0.439
-1
-1
--626.745
-1
-1
-1
-0
--617283944.0617283945
-1
+0.000000000000
+0.000000000000
+0.100000000000
+0.010000000000
+0.001000000000
+0.100000000000
+0.010000000000
+0.001000000000
+0.000000000000
+0.000000000000
+1.000000000000
+-0.120000000000
+-0.120000000000
+-0.122000000000
+0.440000000000
+0.439000000000
+1.000000000000
+1.000000000000
+-626.745000000000
+1.000000000000
+1.000000000000
+1.000000000000
+0.000000000000
+-617283944.061728394500
+1.000000000000
  PREHOOK: query: -- stddev, var
  EXPLAIN SELECT value, stddev(key), variance(key) FROM DECIMAL_UDF GROUP BY value
  PREHOOK: type: QUERY
@@ -2498,7 +2498,7 @@ POSTHOOK: query: SELECT MIN(key) FROM DECIMAL_UDF
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@decimal_udf
  #### A masked pattern was here ####
--1234567890.123456789
+-1234567890.1234567890
  PREHOOK: query: -- max
  EXPLAIN SELECT MAX(key) FROM DECIMAL_UDF
  PREHOOK: type: QUERY
@@ -2558,7 +2558,7 @@ POSTHOOK: query: SELECT MAX(key) FROM DECIMAL_UDF
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@decimal_udf
  #### A masked pattern was here ####
-1234567890.12345678
+1234567890.1234567800
  PREHOOK: query: -- count
  EXPLAIN SELECT COUNT(key) FROM DECIMAL_UDF
  PREHOOK: type: QUERY

http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/vector_reduce_groupby_decimal.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/vector_reduce_groupby_decimal.q.out b/ql/src/test/results/clientpositive/vector_reduce_groupby_decimal.q.out
index 77dc175..5352885 100644
--- a/ql/src/test/results/clientpositive/vector_reduce_groupby_decimal.q.out
+++ b/ql/src/test/results/clientpositive/vector_reduce_groupby_decimal.q.out
@@ -113,56 +113,56 @@ LIMIT 50
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@decimal_test
  #### A masked pattern was here ####
--1073051226 -7382.0 -4409.2486486486 -5280.969230769231 -4409.2486486486
--1072081801 8373.0 5001.1702702703 5989.915384615385 5001.1702702703
--1072076362 -5470.0 -3267.2162162162 -3913.1538461538466 -3267.2162162162
--1070883071 -741.0 -442.5972972973 -530.1 -442.5972972973
--1070551679 -947.0 -565.6405405405 -677.4692307692308 -565.6405405405
--1069512165 11417.0 6819.3432432432 8167.546153846154 6819.3432432432
--1069109166 8390.0 5011.3243243243 6002.076923076923 5011.3243243243
--1068623584 -14005.0 -8365.1486486486 -10018.961538461539 -8365.1486486486
--1067386090 -3977.0 -2375.4513513514 -2845.084615384616 -2375.4513513514
--1066922682 -9987.0 -5965.2081081081 -7144.546153846154 -5965.2081081081
--1066226047 -9439.0 -5637.8891891892 -6752.515384615385 -5637.8891891892
--1065117869 2538.0 1515.9405405405 1815.646153846154 1515.9405405405
--1064949302 6454.0 3854.9567567568 4617.092307692308 3854.9567567568
--1063498122 -11480.0 -6856.972972973 -8212.615384615387 -6856.972972973
--1062973443 10541.0 6296.1108108108 7540.869230769231 6296.1108108108
--1061614989 -4234.0 -2528.9567567568 -3028.938461538462 -2528.9567567568
--1061057428 -1085.0 -648.0675675676 -776.1923076923077 -648.0675675676
--1059941909 8782.0 5245.4648648649 6282.507692307693 5245.4648648649
--1059338191 7322.0 4373.4108108108 5238.046153846154 4373.4108108108
--1059047258 12452.0 7437.5459459459 8907.969230769231 7437.5459459459
--1056684111 13991.0 8356.7864864865 10008.946153846155 8356.7864864865
--1055945837 13690.0 8177 9793.615384615387 8177
--1055669248 2570.0 1535.0540540541 1838.538461538462 1535.0540540541
--1055316250 -14990.0 -8953.4864864865 -10723.615384615385 -8953.4864864865
--1053385587 14504.0 8663.2 10375.938461538462 8663.2
--1053238077 -3704.0 -2212.3891891892 -2649.784615384616 -2212.3891891892
--1052745800 -12404.0 -7408.8756756757 -8873.630769230771 -7408.8756756757
--1052322972 -7433.0 -4439.7108108108 -5317.453846153847 -4439.7108108108
--1050684541 -8261.0 -4934.272972973 -5909.792307692308 -4934.272972973
--1050657303 -6999.0 -4180.4837837838 -5006.976923076923 -4180.4837837838
--1050165799 8634.0 5157.0648648649 6176.63076923077 5157.0648648649
+-1073051226 -7382.0 -4409.2486486486 -5280.96923076923100 -4409.2486486486
+-1072081801 8373.0 5001.1702702703 5989.91538461538500 5001.1702702703
+-1072076362 -5470.0 -3267.2162162162 -3913.15384615384660 -3267.2162162162
+-1070883071 -741.0 -442.5972972973 -530.10000000000000 -442.5972972973
+-1070551679 -947.0 -565.6405405405 -677.46923076923080 -565.6405405405
+-1069512165 11417.0 6819.3432432432 8167.54615384615400 6819.3432432432
+-1069109166 8390.0 5011.3243243243 6002.07692307692300 5011.3243243243
+-1068623584 -14005.0 -8365.1486486486 -10018.96153846153900 -8365.1486486486
+-1067386090 -3977.0 -2375.4513513514 -2845.08461538461600 -2375.4513513514
+-1066922682 -9987.0 -5965.2081081081 -7144.54615384615400 -5965.2081081081
+-1066226047 -9439.0 -5637.8891891892 -6752.51538461538500 -5637.8891891892
+-1065117869 2538.0 1515.9405405405 1815.64615384615400 1515.9405405405
+-1064949302 6454.0 3854.9567567568 4617.09230769230800 3854.9567567568
+-1063498122 -11480.0 -6856.9729729730 -8212.61538461538700 -6856.9729729730
+-1062973443 10541.0 6296.1108108108 7540.86923076923100 6296.1108108108
+-1061614989 -4234.0 -2528.9567567568 -3028.93846153846200 -2528.9567567568
+-1061057428 -1085.0 -648.0675675676 -776.19230769230770 -648.0675675676
+-1059941909 8782.0 5245.4648648649 6282.50769230769300 5245.4648648649
+-1059338191 7322.0 4373.4108108108 5238.04615384615400 4373.4108108108
+-1059047258 12452.0 7437.5459459459 8907.96923076923100 7437.5459459459
+-1056684111 13991.0 8356.7864864865 10008.94615384615500 8356.7864864865
+-1055945837 13690.0 8177.0000000000 9793.61538461538700 8177.0000000000
+-1055669248 2570.0 1535.0540540541 1838.53846153846200 1535.0540540541
+-1055316250 -14990.0 -8953.4864864865 -10723.61538461538500 -8953.4864864865
+-1053385587 14504.0 8663.2000000000 10375.93846153846200 8663.2000000000
+-1053238077 -3704.0 -2212.3891891892 -2649.78461538461600 -2212.3891891892
+-1052745800 -12404.0 -7408.8756756757 -8873.63076923077100 -7408.8756756757
+-1052322972 -7433.0 -4439.7108108108 -5317.45384615384700 -4439.7108108108
+-1050684541 -8261.0 -4934.2729729730 -5909.79230769230800 -4934.2729729730
+-1050657303 -6999.0 -4180.4837837838 -5006.97692307692300 -4180.4837837838
+-1050165799 8634.0 5157.0648648649 6176.63076923077000 5157.0648648649
  -1048934049 -524.0 -312.9837837838 -374.86153846153854 -312.9837837838
--1046399794 4130.0 2466.8378378378 2954.5384615384614 2466.8378378378
--1045867222 -8034.0 -4798.6864864865 -5747.400000000001 -4798.6864864865
--1045196363 -5039.0 -3009.7810810811 -3604.823076923077 -3009.7810810811
--1045181724 -5706.0 -3408.1783783784 -4081.9846153846156 -3408.1783783784
--1045087657 -5865.0 -3503.1486486486 -4195.7307692307695 -3503.1486486486
--1044207190 5381.0 3214.0567567568 3849.4846153846156 3214.0567567568
--1044093617 -3422.0 -2043.9513513514 -2448.046153846154 -2043.9513513514
--1043573508 16216.0 9685.772972973 11600.676923076924 9685.772972973
--1043132597 12302.0 7347.9513513514 8800.66153846154 7347.9513513514
--1043082182 9180.0 5483.1891891892 6567.2307692307695 5483.1891891892
--1042805968 5133.0 3065.927027027 3672.0692307692307 3065.927027027
--1042712895 9296.0 5552.4756756757 6650.215384615385 5552.4756756757
--1042396242 9583.0 5723.9 6855.53076923077 5723.9
--1041734429 -836.0 -499.3405405405 -598.0615384615385 -499.3405405405
--1041391389 -12970.0 -7746.9459459459 -9278.538461538463 -7746.9459459459
--1041252354 756.0 451.5567567568 540.8307692307692 451.5567567568
--1039776293 13704.0 8185.3621621622 9803.630769230771 8185.3621621622
--1039762548 -3802.0 -2270.9243243243 -2719.8923076923083 -2270.9243243243
+-1046399794 4130.0 2466.8378378378 2954.53846153846140 2466.8378378378
+-1045867222 -8034.0 -4798.6864864865 -5747.40000000000100 -4798.6864864865
+-1045196363 -5039.0 -3009.7810810811 -3604.82307692307700 -3009.7810810811
+-1045181724 -5706.0 -3408.1783783784 -4081.98461538461560 -3408.1783783784
+-1045087657 -5865.0 -3503.1486486486 -4195.73076923076950 -3503.1486486486
+-1044207190 5381.0 3214.0567567568 3849.48461538461560 3214.0567567568
+-1044093617 -3422.0 -2043.9513513514 -2448.04615384615400 -2043.9513513514
+-1043573508 16216.0 9685.7729729730 11600.67692307692400 9685.7729729730
+-1043132597 12302.0 7347.9513513514 8800.66153846154000 7347.9513513514
+-1043082182 9180.0 5483.1891891892 6567.23076923076950 5483.1891891892
+-1042805968 5133.0 3065.9270270270 3672.06923076923070 3065.9270270270
+-1042712895 9296.0 5552.4756756757 6650.21538461538500 5552.4756756757
+-1042396242 9583.0 5723.9000000000 6855.53076923077000 5723.9000000000
+-1041734429 -836.0 -499.3405405405 -598.06153846153850 -499.3405405405
+-1041391389 -12970.0 -7746.9459459459 -9278.53846153846300 -7746.9459459459
+-1041252354 756.0 451.5567567568 540.83076923076920 451.5567567568
+-1039776293 13704.0 8185.3621621622 9803.63076923077100 8185.3621621622
+-1039762548 -3802.0 -2270.9243243243 -2719.89230769230830 -2270.9243243243
  PREHOOK: query: SELECT sum(hash(*))
    FROM (SELECT cint, cdouble, cdecimal1, cdecimal2, min(cdecimal1) as min_decimal1 FROM decimal_test
          WHERE cdecimal1 is not null and cdecimal2 is not null

http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/windowing_decimal.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/windowing_decimal.q.out b/ql/src/test/results/clientpositive/windowing_decimal.q.out
index 60563ba..b157a23 100644
--- a/ql/src/test/results/clientpositive/windowing_decimal.q.out
+++ b/ql/src/test/results/clientpositive/windowing_decimal.q.out
@@ -57,32 +57,32 @@ from part_dec
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@part_dec
  #### A masked pattern was here ####
-Manufacturer#1 1173.15 1173.15 2346.3
-Manufacturer#1 1173.15 1173.15 2346.3
-Manufacturer#1 1414.42 1173.15 3760.72
-Manufacturer#1 1602.59 1173.15 5363.31
-Manufacturer#1 1632.66 1173.15 6995.97
-Manufacturer#1 1753.76 1173.15 8749.73
-Manufacturer#2 1690.68 1690.68 1690.68
-Manufacturer#2 1698.66 1690.68 3389.34
-Manufacturer#2 1701.6 1690.68 5090.94
-Manufacturer#2 1800.7 1690.68 6891.64
-Manufacturer#2 2031.98 1690.68 8923.62
-Manufacturer#3 1190.27 1190.27 1190.27
-Manufacturer#3 1337.29 1190.27 2527.56
-Manufacturer#3 1410.39 1190.27 3937.95
-Manufacturer#3 1671.68 1190.27 5609.63
-Manufacturer#3 1922.98 1190.27 7532.61
-Manufacturer#4 1206.26 1206.26 1206.26
-Manufacturer#4 1290.35 1206.26 2496.61
-Manufacturer#4 1375.42 1206.26 3872.03
-Manufacturer#4 1620.67 1206.26 5492.7
-Manufacturer#4 1844.92 1206.26 7337.62
-Manufacturer#5 1018.1 1018.1 1018.1
-Manufacturer#5 1464.48 1018.1 2482.58
-Manufacturer#5 1611.66 1018.1 4094.24
-Manufacturer#5 1788.73 1018.1 5882.97
-Manufacturer#5 1789.69 1018.1 7672.66
+Manufacturer#1 1173.150 1173.150 2346.300
+Manufacturer#1 1173.150 1173.150 2346.300
+Manufacturer#1 1414.420 1173.150 3760.720
+Manufacturer#1 1602.590 1173.150 5363.310
+Manufacturer#1 1632.660 1173.150 6995.970
+Manufacturer#1 1753.760 1173.150 8749.730
+Manufacturer#2 1690.680 1690.680 1690.680
+Manufacturer#2 1698.660 1690.680 3389.340
+Manufacturer#2 1701.600 1690.680 5090.940
+Manufacturer#2 1800.700 1690.680 6891.640
+Manufacturer#2 2031.980 1690.680 8923.620
+Manufacturer#3 1190.270 1190.270 1190.270
+Manufacturer#3 1337.290 1190.270 2527.560
+Manufacturer#3 1410.390 1190.270 3937.950
+Manufacturer#3 1671.680 1190.270 5609.630
+Manufacturer#3 1922.980 1190.270 7532.610
+Manufacturer#4 1206.260 1206.260 1206.260
+Manufacturer#4 1290.350 1206.260 2496.610
+Manufacturer#4 1375.420 1206.260 3872.030
+Manufacturer#4 1620.670 1206.260 5492.700
+Manufacturer#4 1844.920 1206.260 7337.620
+Manufacturer#5 1018.100 1018.100 1018.100
+Manufacturer#5 1464.480 1018.100 2482.580
+Manufacturer#5 1611.660 1018.100 4094.240
+Manufacturer#5 1788.730 1018.100 5882.970
+Manufacturer#5 1789.690 1018.100 7672.660
  PREHOOK: query: select p_mfgr, p_retailprice,
  first_value(p_retailprice) over(partition by p_mfgr order by p_retailprice range between 5 preceding and current row) ,
  sum(p_retailprice) over(partition by p_mfgr order by p_retailprice range between 5 preceding and current row)
@@ -97,29 +97,29 @@ from part_dec
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@part_dec
  #### A masked pattern was here ####
-Manufacturer#1 1173.15 1173.15 2346.3
-Manufacturer#1 1173.15 1173.15 2346.3
-Manufacturer#1 1414.42 1414.42 1414.42
-Manufacturer#1 1602.59 1602.59 1602.59
-Manufacturer#1 1632.66 1632.66 1632.66
-Manufacturer#1 1753.76 1753.76 1753.76
-Manufacturer#2 1690.68 1690.68 1690.68
-Manufacturer#2 1698.66 1698.66 1698.66
-Manufacturer#2 1701.6 1698.66 3400.26
-Manufacturer#2 1800.7 1800.7 1800.7
-Manufacturer#2 2031.98 2031.98 2031.98
-Manufacturer#3 1190.27 1190.27 1190.27
-Manufacturer#3 1337.29 1337.29 1337.29
-Manufacturer#3 1410.39 1410.39 1410.39
-Manufacturer#3 1671.68 1671.68 1671.68
-Manufacturer#3 1922.98 1922.98 1922.98
-Manufacturer#4 1206.26 1206.26 1206.26
-Manufacturer#4 1290.35 1290.35 1290.35
-Manufacturer#4 1375.42 1375.42 1375.42
-Manufacturer#4 1620.67 1620.67 1620.67
-Manufacturer#4 1844.92 1844.92 1844.92
-Manufacturer#5 1018.1 1018.1 1018.1
-Manufacturer#5 1464.48 1464.48 1464.48
-Manufacturer#5 1611.66 1611.66 1611.66
-Manufacturer#5 1788.73 1788.73 1788.73
-Manufacturer#5 1789.69 1788.73 3578.42
+Manufacturer#1 1173.150 1173.150 2346.300
+Manufacturer#1 1173.150 1173.150 2346.300
+Manufacturer#1 1414.420 1414.420 1414.420
+Manufacturer#1 1602.590 1602.590 1602.590
+Manufacturer#1 1632.660 1632.660 1632.660
+Manufacturer#1 1753.760 1753.760 1753.760
+Manufacturer#2 1690.680 1690.680 1690.680
+Manufacturer#2 1698.660 1698.660 1698.660
+Manufacturer#2 1701.600 1698.660 3400.260
+Manufacturer#2 1800.700 1800.700 1800.700
+Manufacturer#2 2031.980 2031.980 2031.980
+Manufacturer#3 1190.270 1190.270 1190.270
+Manufacturer#3 1337.290 1337.290 1337.290
+Manufacturer#3 1410.390 1410.390 1410.390
+Manufacturer#3 1671.680 1671.680 1671.680
+Manufacturer#3 1922.980 1922.980 1922.980
+Manufacturer#4 1206.260 1206.260 1206.260
+Manufacturer#4 1290.350 1290.350 1290.350
+Manufacturer#4 1375.420 1375.420 1375.420
+Manufacturer#4 1620.670 1620.670 1620.670
+Manufacturer#4 1844.920 1844.920 1844.920
+Manufacturer#5 1018.100 1018.100 1018.100
+Manufacturer#5 1464.480 1464.480 1464.480
+Manufacturer#5 1611.660 1611.660 1611.660
+Manufacturer#5 1788.730 1788.730 1788.730
+Manufacturer#5 1789.690 1788.730 3578.420

http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/windowing_navfn.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/windowing_navfn.q.out b/ql/src/test/results/clientpositive/windowing_navfn.q.out
index ae7d95a..a79fccc 100644
--- a/ql/src/test/results/clientpositive/windowing_navfn.q.out
+++ b/ql/src/test/results/clientpositive/windowing_navfn.q.out
@@ -287,13 +287,13 @@ POSTHOOK: Input: default@over10k
  65536 98.42
  65536 0.93
  65536 83.48
-65536 75.7
+65536 75.70
  65536 88.04
  65536 94.09
  65536 33.45
  65536 44.41
  65536 22.15
-65536 20.5
+65536 20.50
  65536 58.86
  65536 30.91
  65536 74.47
@@ -310,9 +310,9 @@ POSTHOOK: Input: default@over10k
  65536 80.26
  65536 35.07
  65536 95.88
-65536 30.6
+65536 30.60
  65536 46.97
-65536 58.8
+65536 58.80
  65536 5.72
  65536 29.27
  65536 62.25
@@ -336,7 +336,7 @@ POSTHOOK: Input: default@over10k
  65537 35.86
  65537 47.75
  65537 1.12
-65537 52.9
+65537 52.90
  65537 53.92
  65537 43.45
  65537 7.52
@@ -350,20 +350,20 @@ POSTHOOK: Input: default@over10k
  65537 56.48
  65537 83.21
  65537 56.52
-65537 36.6
-65537 59.7
+65537 36.60
+65537 59.70
  65537 80.14
-65537 66.3
+65537 66.30
  65537 94.87
  65537 40.92
-65537 25.2
+65537 25.20
  65537 7.36
  65538 NULL
  65538 53.35
  65538 54.64
  65538 76.67
  65538 15.17
-65538 1.2
+65538 1.20
  65538 13.71
  65538 81.59
  65538 43.33

http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/windowing_rank.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/windowing_rank.q.out b/ql/src/test/results/clientpositive/windowing_rank.q.out
index 6a74a8e..67975f3 100644
--- a/ql/src/test/results/clientpositive/windowing_rank.q.out
+++ b/ql/src/test/results/clientpositive/windowing_rank.q.out
@@ -508,16 +508,16 @@ where rnk = 1 limit 10
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@over10k
  #### A masked pattern was here ####
-2013-03-01 09:11:58.70307 0.5 1
-2013-03-01 09:11:58.70307 0.5 1
-2013-03-01 09:11:58.70307 0.5 1
-2013-03-01 09:11:58.70307 0.5 1
-2013-03-01 09:11:58.70307 0.5 1
-2013-03-01 09:11:58.70307 0.5 1
-2013-03-01 09:11:58.70307 0.5 1
-2013-03-01 09:11:58.70307 0.5 1
-2013-03-01 09:11:58.70307 0.5 1
-2013-03-01 09:11:58.70307 0.5 1
+2013-03-01 09:11:58.70307 0.50 1
+2013-03-01 09:11:58.70307 0.50 1
+2013-03-01 09:11:58.70307 0.50 1
+2013-03-01 09:11:58.70307 0.50 1
+2013-03-01 09:11:58.70307 0.50 1
+2013-03-01 09:11:58.70307 0.50 1
+2013-03-01 09:11:58.70307 0.50 1
+2013-03-01 09:11:58.70307 0.50 1
+2013-03-01 09:11:58.70307 0.50 1
+2013-03-01 09:11:58.70307 0.50 1
  PREHOOK: query: select ts, dec, rnk
  from
    (select ts, dec,
@@ -546,16 +546,16 @@ where dec = 89.5 limit 10
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@over10k
  #### A masked pattern was here ####
-2013-03-01 09:11:58.703124 89.5 1
-2013-03-01 09:11:58.703124 89.5 1
-2013-03-01 09:11:58.703124 89.5 1
-2013-03-01 09:11:58.703124 89.5 1
-2013-03-01 09:11:58.703124 89.5 1
-2013-03-01 09:11:58.703124 89.5 1
-2013-03-01 09:11:58.703124 89.5 1
-2013-03-01 09:11:58.703124 89.5 1
-2013-03-01 09:11:58.703124 89.5 1
-2013-03-01 09:11:58.703124 89.5 1
+2013-03-01 09:11:58.703124 89.50 1
+2013-03-01 09:11:58.703124 89.50 1
+2013-03-01 09:11:58.703124 89.50 1
+2013-03-01 09:11:58.703124 89.50 1
+2013-03-01 09:11:58.703124 89.50 1
+2013-03-01 09:11:58.703124 89.50 1
+2013-03-01 09:11:58.703124 89.50 1
+2013-03-01 09:11:58.703124 89.50 1
+2013-03-01 09:11:58.703124 89.50 1
+2013-03-01 09:11:58.703124 89.50 1
  PREHOOK: query: select ts, dec, rnk
  from
    (select ts, dec,
@@ -586,13 +586,13 @@ where rnk = 1 limit 10
  POSTHOOK: type: QUERY
  POSTHOOK: Input: default@over10k
  #### A masked pattern was here ####
-2013-03-01 09:11:58.70307 37.3 1
-2013-03-01 09:11:58.70307 37.3 1
-2013-03-01 09:11:58.70307 37.3 1
-2013-03-01 09:11:58.70307 37.3 1
-2013-03-01 09:11:58.70307 37.3 1
-2013-03-01 09:11:58.70307 37.3 1
-2013-03-01 09:11:58.70307 37.3 1
-2013-03-01 09:11:58.70307 37.3 1
-2013-03-01 09:11:58.70307 37.3 1
-2013-03-01 09:11:58.70307 37.3 1
+2013-03-01 09:11:58.70307 37.30 1
+2013-03-01 09:11:58.70307 37.30 1
+2013-03-01 09:11:58.70307 37.30 1
+2013-03-01 09:11:58.70307 37.30 1
+2013-03-01 09:11:58.70307 37.30 1
+2013-03-01 09:11:58.70307 37.30 1
+2013-03-01 09:11:58.70307 37.30 1
+2013-03-01 09:11:58.70307 37.30 1
+2013-03-01 09:11:58.70307 37.30 1
+2013-03-01 09:11:58.70307 37.30 1

http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/windowing_windowspec3.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/windowing_windowspec3.q.out b/ql/src/test/results/clientpositive/windowing_windowspec3.q.out
index aeb5adc..e311cf9 100644
--- a/ql/src/test/results/clientpositive/windowing_windowspec3.q.out
+++ b/ql/src/test/results/clientpositive/windowing_windowspec3.q.out
@@ -215,18 +215,18 @@ POSTHOOK: type: QUERY
  POSTHOOK: Input: default@emp
  #### A masked pattern was here ####
  10 7839 NULL 5000.0 5000.0 5000.0 NULL NULL 1687.5 5000.0
-10 7782 50 2450.0 2450.0 1687.5 NULL 1500.0 NULL 2350.0
-10 7934 100 1300.0 1875.0 1687.5 NULL NULL NULL 2350.0
-10 7987 150.5 1500.0 1750.0 1687.5 NULL NULL NULL 2350.0
-10 7988 200 1500.0 1687.5 1687.5 2450.0 NULL NULL 2350.0
+10 7782 50.00 2450.0 2450.0 1687.5 NULL 1500.0 NULL 2350.0
+10 7934 100.00 1300.0 1875.0 1687.5 NULL NULL NULL 2350.0
+10 7987 150.50 1500.0 1750.0 1687.5 NULL NULL NULL 2350.0
+10 7988 200.00 1500.0 1687.5 1687.5 2450.0 NULL NULL 2350.0
  20 7788 NULL 3000.0 1975.0 1975.0 NULL NULL 2975.0 1975.0
  20 7902 NULL 3000.0 1975.0 1975.0 NULL NULL 2975.0 1975.0
  20 7876 NULL 1100.0 1975.0 1975.0 NULL NULL 2975.0 1975.0
  20 7369 NULL 800.0 1975.0 1975.0 NULL NULL 2975.0 1975.0
-20 7566 100 2975.0 2975.0 2975.0 NULL NULL NULL 2175.0
+20 7566 100.00 2975.0 2975.0 2975.0 NULL NULL NULL 2175.0
  30 7900 NULL 950.0 1900.0 1900.0 NULL NULL 1400.0 1900.0
  30 7698 NULL 2850.0 1900.0 1900.0 NULL NULL 1400.0 1900.0
-30 7499 200.5 1600.0 1600.0 1450.0 NULL NULL 1250.0 1630.0
-30 7844 300 1500.0 1550.0 1400.0 NULL 1250.0 NULL 1566.6666666666667
-30 7521 300.5 1250.0 1450.0 1400.0 NULL 1250.0 NULL 1566.6666666666667
-30 7654 500 1250.0 1333.3333333333333 1333.3333333333333 1375.0 NULL NULL 1566.6666666666667
+30 7499 200.50 1600.0 1600.0 1450.0 NULL NULL 1250.0 1630.0
+30 7844 300.00 1500.0 1550.0 1400.0 NULL 1250.0 NULL 1566.6666666666667
+30 7521 300.50 1250.0 1450.0 1400.0 NULL 1250.0 NULL 1566.6666666666667
+30 7654 500.00 1250.0 1333.3333333333333 1333.3333333333333 1375.0 NULL NULL 1566.6666666666667

http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/fast/BinarySortableSerializeWrite.java
----------------------------------------------------------------------
diff --git a/serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/fast/BinarySortableSerializeWrite.java b/serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/fast/BinarySortableSerializeWrite.java
index 709e53f..9ea6e91 100644
--- a/serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/fast/BinarySortableSerializeWrite.java
+++ b/serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/fast/BinarySortableSerializeWrite.java
@@ -366,7 +366,7 @@ public final class BinarySortableSerializeWrite implements SerializeWrite {
     * DECIMAL.
     */
    @Override
- public void writeHiveDecimal(HiveDecimal dec) throws IOException {
+ public void writeHiveDecimal(HiveDecimal dec, int scale) throws IOException {
      final boolean invert = columnSortOrderIsDesc[++index];

      // This field is not a null.

http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/serde/src/java/org/apache/hadoop/hive/serde2/fast/SerializeWrite.java
----------------------------------------------------------------------
diff --git a/serde/src/java/org/apache/hadoop/hive/serde2/fast/SerializeWrite.java b/serde/src/java/org/apache/hadoop/hive/serde2/fast/SerializeWrite.java
index e6fb8b6..21daa8b 100644
--- a/serde/src/java/org/apache/hadoop/hive/serde2/fast/SerializeWrite.java
+++ b/serde/src/java/org/apache/hadoop/hive/serde2/fast/SerializeWrite.java
@@ -151,5 +151,5 @@ public interface SerializeWrite {
    /*
     * DECIMAL.
     */
- void writeHiveDecimal(HiveDecimal dec) throws IOException;
+ void writeHiveDecimal(HiveDecimal dec, int scale) throws IOException;
  }

http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyHiveDecimal.java
----------------------------------------------------------------------
diff --git a/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyHiveDecimal.java b/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyHiveDecimal.java
index 40601c0..4e82e9b 100644
--- a/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyHiveDecimal.java
+++ b/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyHiveDecimal.java
@@ -102,12 +102,12 @@ public class LazyHiveDecimal extends LazyPrimitive<LazyHiveDecimalObjectInspecto
     * @param hiveDecimal
     * @throws IOException
     */
- public static void writeUTF8(OutputStream outputStream, HiveDecimal hiveDecimal)
+ public static void writeUTF8(OutputStream outputStream, HiveDecimal hiveDecimal, int scale)
      throws IOException {
      if (hiveDecimal == null) {
        outputStream.write(nullBytes);
      } else {
- ByteBuffer b = Text.encode(hiveDecimal.toString());
+ ByteBuffer b = Text.encode(hiveDecimal.toFormatString(scale));
        outputStream.write(b.array(), 0, b.limit());
      }
    }

http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyUtils.java
----------------------------------------------------------------------
diff --git a/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyUtils.java b/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyUtils.java
index d6b2219..29d6ad8 100644
--- a/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyUtils.java
+++ b/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyUtils.java
@@ -304,8 +304,9 @@ public final class LazyUtils {
        break;
      }
      case DECIMAL: {
+ HiveDecimalObjectInspector decimalOI = (HiveDecimalObjectInspector) oi;
        LazyHiveDecimal.writeUTF8(out,
- ((HiveDecimalObjectInspector) oi).getPrimitiveJavaObject(o));
+ decimalOI.getPrimitiveJavaObject(o), decimalOI.scale());
        break;
      }
      default: {

http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/serde/src/java/org/apache/hadoop/hive/serde2/lazy/fast/LazySimpleSerializeWrite.java
----------------------------------------------------------------------
diff --git a/serde/src/java/org/apache/hadoop/hive/serde2/lazy/fast/LazySimpleSerializeWrite.java b/serde/src/java/org/apache/hadoop/hive/serde2/lazy/fast/LazySimpleSerializeWrite.java
index 986d246..b64a803 100644
--- a/serde/src/java/org/apache/hadoop/hive/serde2/lazy/fast/LazySimpleSerializeWrite.java
+++ b/serde/src/java/org/apache/hadoop/hive/serde2/lazy/fast/LazySimpleSerializeWrite.java
@@ -20,7 +20,6 @@ package org.apache.hadoop.hive.serde2.lazy.fast;

  import java.io.IOException;
  import java.nio.ByteBuffer;
-import java.nio.charset.CharacterCodingException;
  import java.sql.Date;
  import java.sql.Timestamp;

@@ -34,7 +33,6 @@ import org.apache.hadoop.hive.common.type.HiveIntervalYearMonth;
  import org.apache.hadoop.hive.common.type.HiveVarchar;
  import org.apache.hadoop.hive.serde2.ByteStream.Output;
  import org.apache.hadoop.hive.serde2.io.DateWritable;
-import org.apache.hadoop.hive.serde2.io.HiveDecimalWritable;
  import org.apache.hadoop.hive.serde2.io.HiveIntervalDayTimeWritable;
  import org.apache.hadoop.hive.serde2.io.HiveIntervalYearMonthWritable;
  import org.apache.hadoop.hive.serde2.io.TimestampWritable;
@@ -47,13 +45,6 @@ import org.apache.hadoop.hive.serde2.lazy.LazyLong;
  import org.apache.hadoop.hive.serde2.lazy.LazySerDeParameters;
  import org.apache.hadoop.hive.serde2.lazy.LazyTimestamp;
  import org.apache.hadoop.hive.serde2.lazy.LazyUtils;
-import org.apache.hadoop.hive.serde2.lazy.objectinspector.primitive.LazyObjectInspectorParameters;
-import org.apache.hadoop.hive.serde2.lazybinary.LazyBinaryUtils;
-import org.apache.hadoop.hive.serde2.objectinspector.primitive.ByteObjectInspector;
-import org.apache.hadoop.hive.serde2.objectinspector.primitive.DateObjectInspector;
-import org.apache.hadoop.hive.serde2.objectinspector.primitive.HiveDecimalObjectInspector;
-import org.apache.hadoop.hive.serde2.objectinspector.primitive.LongObjectInspector;
-import org.apache.hadoop.hive.serde2.objectinspector.primitive.TimestampObjectInspector;
  import org.apache.hadoop.hive.serde2.fast.SerializeWrite;
  import org.apache.hadoop.io.Text;
  import org.apache.hive.common.util.DateUtils;
@@ -506,13 +497,12 @@ public final class LazySimpleSerializeWrite implements SerializeWrite {
     * DECIMAL.
     */
    @Override
- public void writeHiveDecimal(HiveDecimal v) throws IOException {
-
+ public void writeHiveDecimal(HiveDecimal v, int scale) throws IOException {
      if (index > 0) {
        output.write(separator);
      }

- LazyHiveDecimal.writeUTF8(output, v);
+ LazyHiveDecimal.writeUTF8(output, v, scale);

      index++;
    }

http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/fast/LazyBinarySerializeWrite.java
----------------------------------------------------------------------
diff --git a/serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/fast/LazyBinarySerializeWrite.java b/serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/fast/LazyBinarySerializeWrite.java
index ebe4181..8f81df6 100644
--- a/serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/fast/LazyBinarySerializeWrite.java
+++ b/serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/fast/LazyBinarySerializeWrite.java
@@ -713,7 +713,7 @@ public class LazyBinarySerializeWrite implements SerializeWrite {
     * DECIMAL.
     */
    @Override
- public void writeHiveDecimal(HiveDecimal v) throws IOException {
+ public void writeHiveDecimal(HiveDecimal v, int scale) throws IOException {

      // Every 8 fields we write a NULL byte.
      if ((fieldIndex % 8) == 0) {

http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/serde/src/test/org/apache/hadoop/hive/serde2/VerifyFast.java
----------------------------------------------------------------------
diff --git a/serde/src/test/org/apache/hadoop/hive/serde2/VerifyFast.java b/serde/src/test/org/apache/hadoop/hive/serde2/VerifyFast.java
index fa46c9e..fc845a5 100644
--- a/serde/src/test/org/apache/hadoop/hive/serde2/VerifyFast.java
+++ b/serde/src/test/org/apache/hadoop/hive/serde2/VerifyFast.java
@@ -259,12 +259,12 @@ public class VerifyFast {
      }
    }

- public static void serializeWrite(SerializeWrite serializeWrite, PrimitiveCategory primitiveCategory, Object object) throws IOException {
+ public static void serializeWrite(SerializeWrite serializeWrite, PrimitiveTypeInfo primitiveTypeInfo, Object object) throws IOException {
      if (object == null) {
        serializeWrite.writeNull();
        return;
      }
- switch (primitiveCategory) {
+ switch (primitiveTypeInfo.getPrimitiveCategory()) {
        case BOOLEAN:
        {
          boolean value = (Boolean) object;
@@ -330,7 +330,8 @@ public class VerifyFast {
      case DECIMAL:
        {
          HiveDecimal value = (HiveDecimal) object;
- serializeWrite.writeHiveDecimal(value);
+ DecimalTypeInfo decTypeInfo = (DecimalTypeInfo)primitiveTypeInfo;
+ serializeWrite.writeHiveDecimal(value, decTypeInfo.scale());
        }
        break;
      case DATE:
@@ -365,7 +366,7 @@ public class VerifyFast {
        }
        break;
      default:
- throw new Error("Unknown primitive category " + primitiveCategory.name());
+ throw new Error("Unknown primitive category " + primitiveTypeInfo.getPrimitiveCategory().name());
      }
    }
  }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/serde/src/test/org/apache/hadoop/hive/serde2/binarysortable/TestBinarySortableFast.java
----------------------------------------------------------------------
diff --git a/serde/src/test/org/apache/hadoop/hive/serde2/binarysortable/TestBinarySortableFast.java b/serde/src/test/org/apache/hadoop/hive/serde2/binarysortable/TestBinarySortableFast.java
index 4438bdc..ae476ae 100644
--- a/serde/src/test/org/apache/hadoop/hive/serde2/binarysortable/TestBinarySortableFast.java
+++ b/serde/src/test/org/apache/hadoop/hive/serde2/binarysortable/TestBinarySortableFast.java
@@ -62,8 +62,7 @@ public class TestBinarySortableFast extends TestCase {
        int[] perFieldWriteLengths = new int[MyTestPrimitiveClass.primitiveCount];
        for (int index = 0; index < MyTestPrimitiveClass.primitiveCount; index++) {
          Object object = t.getPrimitiveObject(index);
- PrimitiveCategory primitiveCategory = t.getPrimitiveCategory(index);
- VerifyFast.serializeWrite(binarySortableSerializeWrite, primitiveCategory, object);
+ VerifyFast.serializeWrite(binarySortableSerializeWrite, primitiveTypeInfoMap.get(t)[index], object);
          perFieldWriteLengths[index] = output.getLength();
        }
        perFieldWriteLengthsArray[i] = perFieldWriteLengths;

http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/serde/src/test/org/apache/hadoop/hive/serde2/lazy/TestLazySimpleFast.java
----------------------------------------------------------------------
diff --git a/serde/src/test/org/apache/hadoop/hive/serde2/lazy/TestLazySimpleFast.java b/serde/src/test/org/apache/hadoop/hive/serde2/lazy/TestLazySimpleFast.java
index 951d91a..7ebe7ae 100644
--- a/serde/src/test/org/apache/hadoop/hive/serde2/lazy/TestLazySimpleFast.java
+++ b/serde/src/test/org/apache/hadoop/hive/serde2/lazy/TestLazySimpleFast.java
@@ -61,8 +61,7 @@ public class TestLazySimpleFast extends TestCase {

        for (int index = 0; index < MyTestPrimitiveClass.primitiveCount; index++) {
          Object object = t.getPrimitiveObject(index);
- PrimitiveCategory primitiveCategory = t.getPrimitiveCategory(index);
- VerifyFast.serializeWrite(lazySimpleSerializeWrite, primitiveCategory, object);
+ VerifyFast.serializeWrite(lazySimpleSerializeWrite, primitiveTypeInfosArray[i][index], object);
        }

        BytesWritable bytesWritable = new BytesWritable();

http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/serde/src/test/org/apache/hadoop/hive/serde2/lazybinary/TestLazyBinaryFast.java
----------------------------------------------------------------------
diff --git a/serde/src/test/org/apache/hadoop/hive/serde2/lazybinary/TestLazyBinaryFast.java b/serde/src/test/org/apache/hadoop/hive/serde2/lazybinary/TestLazyBinaryFast.java
index a169586..4032743 100644
--- a/serde/src/test/org/apache/hadoop/hive/serde2/lazybinary/TestLazyBinaryFast.java
+++ b/serde/src/test/org/apache/hadoop/hive/serde2/lazybinary/TestLazyBinaryFast.java
@@ -60,8 +60,7 @@ public class TestLazyBinaryFast extends TestCase {

        for (int index = 0; index < MyTestPrimitiveClass.primitiveCount; index++) {
          Object object = t.getPrimitiveObject(index);
- PrimitiveCategory primitiveCategory = t.getPrimitiveCategory(index);
- VerifyFast.serializeWrite(lazyBinarySerializeWrite, primitiveCategory, object);
+ VerifyFast.serializeWrite(lazyBinarySerializeWrite, primitiveTypeInfosArray[i][index], object);
        }

        BytesWritable bytesWritable = new BytesWritable();

http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/storage-api/src/java/org/apache/hadoop/hive/common/type/HiveDecimal.java
----------------------------------------------------------------------
diff --git a/storage-api/src/java/org/apache/hadoop/hive/common/type/HiveDecimal.java b/storage-api/src/java/org/apache/hadoop/hive/common/type/HiveDecimal.java
index 4ed17a2..1c6be91 100644
--- a/storage-api/src/java/org/apache/hadoop/hive/common/type/HiveDecimal.java
+++ b/storage-api/src/java/org/apache/hadoop/hive/common/type/HiveDecimal.java
@@ -102,6 +102,17 @@ public class HiveDecimal implements Comparable<HiveDecimal> {
    public String toString() {
       return bd.toPlainString();
    }
+
+ /**
+ * Return a string representation of the number with the number of decimal digits as
+ * the given scale. Please note that this is different from toString().
+ * @param scale the number of digits after the decimal point
+ * @return the string representation of exact number of decimal digits
+ */
+ public String toFormatString(int scale) {
+ return (bd.scale() == scale ? bd :
+ bd.setScale(scale, RoundingMode.HALF_UP)).toPlainString();
+ }

    public HiveDecimal setScale(int i) {
      return new HiveDecimal(bd.setScale(i, RoundingMode.HALF_UP));

http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/storage-api/src/java/org/apache/hadoop/hive/ql/exec/vector/DecimalColumnVector.java
----------------------------------------------------------------------
diff --git a/storage-api/src/java/org/apache/hadoop/hive/ql/exec/vector/DecimalColumnVector.java b/storage-api/src/java/org/apache/hadoop/hive/ql/exec/vector/DecimalColumnVector.java
index a7d31fa..fe8ad85 100644
--- a/storage-api/src/java/org/apache/hadoop/hive/ql/exec/vector/DecimalColumnVector.java
+++ b/storage-api/src/java/org/apache/hadoop/hive/ql/exec/vector/DecimalColumnVector.java
@@ -17,10 +17,8 @@
   */

  package org.apache.hadoop.hive.ql.exec.vector;
-import java.io.IOException;
  import java.math.BigInteger;

-
  import org.apache.hadoop.hive.serde2.io.HiveDecimalWritable;
  import org.apache.hadoop.hive.common.type.HiveDecimal;

Search Discussions

  • Xuefu at Nov 12, 2015 at 3:59 am
    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/spark/vector_decimal_aggregate.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/spark/vector_decimal_aggregate.q.out b/ql/src/test/results/clientpositive/spark/vector_decimal_aggregate.q.out
    index 04eaaa1..bcf5944 100644
    --- a/ql/src/test/results/clientpositive/spark/vector_decimal_aggregate.q.out
    +++ b/ql/src/test/results/clientpositive/spark/vector_decimal_aggregate.q.out
    @@ -117,14 +117,14 @@ POSTHOOK: query: SELECT cint,
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_vgby
      #### A masked pattern was here ####
    --3728 6 5831542.269248378 -3367.6517567568 5817556.0411483778 6 6984454.211097692 -4033.445769230769 6967702.8672438458471
    --563 2 -515.621072973 -3367.6517567568 -3883.2728297298 2 -617.5607769230769 -4033.445769230769 -4651.0065461538459
    -253665376 1024 9767.0054054054 -9779.5486486487 -347484.0818378374 1024 11697.969230769231 -11712.99230769231 -416182.64030769233089
    -528534767 1024 5831542.269248378 -9777.1594594595 11646372.8607481068 1024 6984454.211097692 -11710.130769230771 13948892.79980307629003
    -626923679 1024 9723.4027027027 -9778.9513513514 10541.0525297287 1024 11645.746153846154 -11712.276923076923 12625.04759999997746
    -6981 3 5831542.269248378 -515.621072973 5830511.027102432 3 6984454.211097692 -617.5607769230769 6983219.0895438458462
    -762 2 5831542.269248378 1531.2194054054 5833073.4886537834 2 6984454.211097692 1833.9456923076925 6986288.1567899996925
    -NULL 3072 9318.4351351351 -4298.1513513514 5018444.1081079808 3072 11160.715384615385 -5147.907692307693 6010604.3076923073536
    +-3728 6 5831542.2692483780 -3367.6517567568 5817556.0411483778 6 6984454.21109769200000 -4033.44576923076900 6967702.86724384584710
    +-563 2 -515.6210729730 -3367.6517567568 -3883.2728297298 2 -617.56077692307690 -4033.44576923076900 -4651.00654615384590
    +253665376 1024 9767.0054054054 -9779.5486486487 -347484.0818378374 1024 11697.96923076923100 -11712.99230769231000 -416182.64030769233089
    +528534767 1024 5831542.2692483780 -9777.1594594595 11646372.8607481068 1024 6984454.21109769200000 -11710.13076923077100 13948892.79980307629003
    +626923679 1024 9723.4027027027 -9778.9513513514 10541.0525297287 1024 11645.74615384615400 -11712.27692307692300 12625.04759999997746
    +6981 3 5831542.2692483780 -515.6210729730 5830511.0271024320 3 6984454.21109769200000 -617.56077692307690 6983219.08954384584620
    +762 2 5831542.2692483780 1531.2194054054 5833073.4886537834 2 6984454.21109769200000 1833.94569230769250 6986288.15678999969250
    +NULL 3072 9318.4351351351 -4298.1513513514 5018444.1081079808 3072 11160.71538461538500 -5147.90769230769300 6010604.30769230735360
      PREHOOK: query: -- Now add the others...
      EXPLAIN SELECT cint,
          COUNT(cdecimal1), MAX(cdecimal1), MIN(cdecimal1), SUM(cdecimal1), AVG(cdecimal1), STDDEV_POP(cdecimal1), STDDEV_SAMP(cdecimal1),
    @@ -221,11 +221,11 @@ POSTHOOK: query: SELECT cint,
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_vgby
      #### A masked pattern was here ####
    --3728 6 5831542.269248378 -3367.6517567568 5817556.0411483778 969592.67352472963333 2174330.2092403853 2381859.406131774 6 6984454.211097692 -4033.445769230769 6967702.8672438458471 1161283.811207307641183333 2604201.2704476737 2852759.5602156054
    --563 2 -515.621072973 -3367.6517567568 -3883.2728297298 -1941.6364148649 1426.0153418918999 2016.6902366556308 2 -617.5607769230769 -4033.445769230769 -4651.0065461538459 -2325.50327307692295 1707.9424961538462 2415.395441814127
    -253665376 1024 9767.0054054054 -9779.5486486487 -347484.0818378374 -339.33992366976309 5708.9563478862 5711.745967572779 1024 11697.969230769231 -11712.99230769231 -416182.64030769233089 -406.428359675480791885 6837.632716002934 6840.973851172274
    -528534767 1024 5831542.269248378 -9777.1594594595 11646372.8607481068 11373.41099682432305 257528.92988206653 257654.7686043977 1024 6984454.211097692 -11710.130769230771 13948892.79980307629003 13621.965624807691689482 308443.1074570801 308593.82484083984
    -626923679 1024 9723.4027027027 -9778.9513513514 10541.0525297287 10.29399661106318 5742.09145323734 5744.897264034267 1024 11645.746153846154 -11712.276923076923 12625.04759999997746 12.329148046874977988 6877.318722794877 6880.679250101603
    -6981 3 5831542.269248378 -515.621072973 5830511.027102432 1943503.67570081066667 2749258.455012492 3367140.1929065133 3 6984454.211097692 -617.5607769230769 6983219.0895438458462 2327739.696514615282066667 3292794.4113115156 4032833.0678006653
    -762 2 5831542.269248378 1531.2194054054 5833073.4886537834 2916536.7443268917 2915005.5249214866 4122440.3477364695 2 6984454.211097692 1833.9456923076925 6986288.1567899996925 3493144.07839499984625 3491310.1327026924 4937458.140118758
    -NULL 3072 9318.4351351351 -4298.1513513514 5018444.1081079808 1633.60810810806667 5695.483082135364 5696.4103077145055 3072 11160.715384615385 -5147.907692307693 6010604.3076923073536 1956.576923076922966667 6821.495748565159 6822.606289190924
    +-3728 6 5831542.2692483780 -3367.6517567568 5817556.0411483778 969592.67352472963333 2174330.2092403853 2381859.406131774 6 6984454.21109769200000 -4033.44576923076900 6967702.86724384584710 1161283.811207307641183333 2604201.2704476737 2852759.5602156054
    +-563 2 -515.6210729730 -3367.6517567568 -3883.2728297298 -1941.63641486490000 1426.0153418918999 2016.6902366556308 2 -617.56077692307690 -4033.44576923076900 -4651.00654615384590 -2325.503273076922950000 1707.9424961538462 2415.395441814127
    +253665376 1024 9767.0054054054 -9779.5486486487 -347484.0818378374 -339.33992366976309 5708.9563478862 5711.745967572779 1024 11697.96923076923100 -11712.99230769231000 -416182.64030769233089 -406.428359675480791885 6837.632716002934 6840.973851172274
    +528534767 1024 5831542.2692483780 -9777.1594594595 11646372.8607481068 11373.41099682432305 257528.92988206653 257654.7686043977 1024 6984454.21109769200000 -11710.13076923077100 13948892.79980307629003 13621.965624807691689482 308443.1074570801 308593.82484083984
    +626923679 1024 9723.4027027027 -9778.9513513514 10541.0525297287 10.29399661106318 5742.09145323734 5744.897264034267 1024 11645.74615384615400 -11712.27692307692300 12625.04759999997746 12.329148046874977988 6877.318722794877 6880.679250101603
    +6981 3 5831542.2692483780 -515.6210729730 5830511.0271024320 1943503.67570081066667 2749258.455012492 3367140.1929065133 3 6984454.21109769200000 -617.56077692307690 6983219.08954384584620 2327739.696514615282066667 3292794.4113115156 4032833.0678006653
    +762 2 5831542.2692483780 1531.2194054054 5833073.4886537834 2916536.74432689170000 2915005.5249214866 4122440.3477364695 2 6984454.21109769200000 1833.94569230769250 6986288.15678999969250 3493144.078394999846250000 3491310.1327026924 4937458.140118758
    +NULL 3072 9318.4351351351 -4298.1513513514 5018444.1081079808 1633.60810810806667 5695.483082135364 5696.4103077145055 3072 11160.71538461538500 -5147.90769230769300 6010604.30769230735360 1956.576923076922966667 6821.495748565159 6822.606289190924

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/spark/vector_decimal_mapjoin.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/spark/vector_decimal_mapjoin.q.out b/ql/src/test/results/clientpositive/spark/vector_decimal_mapjoin.q.out
    index e9fc3f8..d138102 100644
    --- a/ql/src/test/results/clientpositive/spark/vector_decimal_mapjoin.q.out
    +++ b/ql/src/test/results/clientpositive/spark/vector_decimal_mapjoin.q.out
    @@ -161,109 +161,109 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@t1
      POSTHOOK: Input: default@t2
      #### A masked pattern was here ####
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -45 45
    -45 45
    -45 45
    -45 45
    -45 45
    -6 6
    -6 6
    -6 6
    -6 6
    -6 6
    -6 6
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -70 70
    -70 70
    -70 70
    -70 70
    -70 70
    -70 70
    -70 70
    -79 79
    -79 79
    -79 79
    -79 79
    -79 79
    -79 79
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +45.00 45
    +45.00 45
    +45.00 45
    +45.00 45
    +45.00 45
    +6.00 6
    +6.00 6
    +6.00 6
    +6.00 6
    +6.00 6
    +6.00 6
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +70.00 70
    +70.00 70
    +70.00 70
    +70.00 70
    +70.00 70
    +70.00 70
    +70.00 70
    +79.00 79
    +79.00 79
    +79.00 79
    +79.00 79
    +79.00 79
    +79.00 79
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/sum_expr_with_order.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/sum_expr_with_order.q.out b/ql/src/test/results/clientpositive/sum_expr_with_order.q.out
    index 00318e8..5e00930 100644
    --- a/ql/src/test/results/clientpositive/sum_expr_with_order.q.out
    +++ b/ql/src/test/results/clientpositive/sum_expr_with_order.q.out
    @@ -12,4 +12,4 @@ order by c1
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@src
      #### A masked pattern was here ####
    -13009100
    +13009100.000

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/tez/hybridgrace_hashjoin_1.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/tez/hybridgrace_hashjoin_1.q.out b/ql/src/test/results/clientpositive/tez/hybridgrace_hashjoin_1.q.out
    index 4b39b2c..69fab90 100644
    --- a/ql/src/test/results/clientpositive/tez/hybridgrace_hashjoin_1.q.out
    +++ b/ql/src/test/results/clientpositive/tez/hybridgrace_hashjoin_1.q.out
    @@ -1290,105 +1290,105 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_mapjoin
      #### A masked pattern was here ####
      6981 6981 NULL NULL
    -6981 6981 NULL -617.5607769230769
    -6981 6981 NULL -617.5607769230769
    +6981 6981 NULL -617.56077692307690
    +6981 6981 NULL -617.56077692307690
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL 6984454.211097692
    +6981 6981 NULL 6984454.21109769200000
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL -617.5607769230769
    -6981 6981 NULL -617.5607769230769
    +6981 6981 NULL -617.56077692307690
    +6981 6981 NULL -617.56077692307690
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL 6984454.211097692
    +6981 6981 NULL 6984454.21109769200000
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL -617.5607769230769
    -6981 6981 NULL -617.5607769230769
    +6981 6981 NULL -617.56077692307690
    +6981 6981 NULL -617.56077692307690
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL 6984454.211097692
    +6981 6981 NULL 6984454.21109769200000
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL -617.5607769230769
    -6981 6981 NULL -617.5607769230769
    +6981 6981 NULL -617.56077692307690
    +6981 6981 NULL -617.56077692307690
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL 6984454.211097692
    +6981 6981 NULL 6984454.21109769200000
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 5831542.269248378 NULL
    -6981 6981 5831542.269248378 -617.5607769230769
    -6981 6981 5831542.269248378 -617.5607769230769
    -6981 6981 5831542.269248378 NULL
    -6981 6981 5831542.269248378 NULL
    -6981 6981 5831542.269248378 NULL
    -6981 6981 5831542.269248378 6984454.211097692
    -6981 6981 5831542.269248378 NULL
    -6981 6981 5831542.269248378 NULL
    -6981 6981 5831542.269248378 NULL
    +6981 6981 5831542.2692483780 NULL
    +6981 6981 5831542.2692483780 -617.56077692307690
    +6981 6981 5831542.2692483780 -617.56077692307690
    +6981 6981 5831542.2692483780 NULL
    +6981 6981 5831542.2692483780 NULL
    +6981 6981 5831542.2692483780 NULL
    +6981 6981 5831542.2692483780 6984454.21109769200000
    +6981 6981 5831542.2692483780 NULL
    +6981 6981 5831542.2692483780 NULL
    +6981 6981 5831542.2692483780 NULL
      6981 6981 NULL NULL
    -6981 6981 NULL -617.5607769230769
    -6981 6981 NULL -617.5607769230769
    +6981 6981 NULL -617.56077692307690
    +6981 6981 NULL -617.56077692307690
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL 6984454.211097692
    +6981 6981 NULL 6984454.21109769200000
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL -617.5607769230769
    -6981 6981 NULL -617.5607769230769
    +6981 6981 NULL -617.56077692307690
    +6981 6981 NULL -617.56077692307690
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL 6984454.211097692
    +6981 6981 NULL 6984454.21109769200000
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL -617.5607769230769
    -6981 6981 NULL -617.5607769230769
    +6981 6981 NULL -617.56077692307690
    +6981 6981 NULL -617.56077692307690
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL 6984454.211097692
    +6981 6981 NULL 6984454.21109769200000
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 -617.5607769230769
    -6981 6981 -515.621072973 -617.5607769230769
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 6984454.211097692
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 -617.5607769230769
    -6981 6981 -515.621072973 -617.5607769230769
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 6984454.211097692
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 -617.56077692307690
    +6981 6981 -515.6210729730 -617.56077692307690
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 6984454.21109769200000
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 -617.56077692307690
    +6981 6981 -515.6210729730 -617.56077692307690
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 6984454.21109769200000
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
      PREHOOK: query: EXPLAIN SELECT l.cint, r.cint, l.cdecimal1, r.cdecimal2
        FROM decimal_mapjoin l
        JOIN decimal_mapjoin r ON l.cint = r.cint
    @@ -1478,105 +1478,105 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_mapjoin
      #### A masked pattern was here ####
      6981 6981 NULL NULL
    -6981 6981 NULL -617.5607769230769
    -6981 6981 NULL -617.5607769230769
    +6981 6981 NULL -617.56077692307690
    +6981 6981 NULL -617.56077692307690
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL 6984454.211097692
    +6981 6981 NULL 6984454.21109769200000
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL -617.5607769230769
    -6981 6981 NULL -617.5607769230769
    +6981 6981 NULL -617.56077692307690
    +6981 6981 NULL -617.56077692307690
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL 6984454.211097692
    +6981 6981 NULL 6984454.21109769200000
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL -617.5607769230769
    -6981 6981 NULL -617.5607769230769
    +6981 6981 NULL -617.56077692307690
    +6981 6981 NULL -617.56077692307690
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL 6984454.211097692
    +6981 6981 NULL 6984454.21109769200000
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL -617.5607769230769
    -6981 6981 NULL -617.5607769230769
    +6981 6981 NULL -617.56077692307690
    +6981 6981 NULL -617.56077692307690
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL 6984454.211097692
    +6981 6981 NULL 6984454.21109769200000
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 5831542.269248378 NULL
    -6981 6981 5831542.269248378 -617.5607769230769
    -6981 6981 5831542.269248378 -617.5607769230769
    -6981 6981 5831542.269248378 NULL
    -6981 6981 5831542.269248378 NULL
    -6981 6981 5831542.269248378 NULL
    -6981 6981 5831542.269248378 6984454.211097692
    -6981 6981 5831542.269248378 NULL
    -6981 6981 5831542.269248378 NULL
    -6981 6981 5831542.269248378 NULL
    +6981 6981 5831542.2692483780 NULL
    +6981 6981 5831542.2692483780 -617.56077692307690
    +6981 6981 5831542.2692483780 -617.56077692307690
    +6981 6981 5831542.2692483780 NULL
    +6981 6981 5831542.2692483780 NULL
    +6981 6981 5831542.2692483780 NULL
    +6981 6981 5831542.2692483780 6984454.21109769200000
    +6981 6981 5831542.2692483780 NULL
    +6981 6981 5831542.2692483780 NULL
    +6981 6981 5831542.2692483780 NULL
      6981 6981 NULL NULL
    -6981 6981 NULL -617.5607769230769
    -6981 6981 NULL -617.5607769230769
    +6981 6981 NULL -617.56077692307690
    +6981 6981 NULL -617.56077692307690
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL 6984454.211097692
    +6981 6981 NULL 6984454.21109769200000
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL -617.5607769230769
    -6981 6981 NULL -617.5607769230769
    +6981 6981 NULL -617.56077692307690
    +6981 6981 NULL -617.56077692307690
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL 6984454.211097692
    +6981 6981 NULL 6984454.21109769200000
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL -617.5607769230769
    -6981 6981 NULL -617.5607769230769
    +6981 6981 NULL -617.56077692307690
    +6981 6981 NULL -617.56077692307690
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL 6984454.211097692
    +6981 6981 NULL 6984454.21109769200000
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 -617.5607769230769
    -6981 6981 -515.621072973 -617.5607769230769
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 6984454.211097692
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 -617.5607769230769
    -6981 6981 -515.621072973 -617.5607769230769
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 6984454.211097692
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 -617.56077692307690
    +6981 6981 -515.6210729730 -617.56077692307690
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 6984454.21109769200000
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 -617.56077692307690
    +6981 6981 -515.6210729730 -617.56077692307690
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 6984454.21109769200000
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
      PREHOOK: query: DROP TABLE decimal_mapjoin
      PREHOOK: type: DROPTABLE
      PREHOOK: Input: default@decimal_mapjoin

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/tez/mapjoin_decimal.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/tez/mapjoin_decimal.q.out b/ql/src/test/results/clientpositive/tez/mapjoin_decimal.q.out
    index 7ca537d..4b15062 100644
    --- a/ql/src/test/results/clientpositive/tez/mapjoin_decimal.q.out
    +++ b/ql/src/test/results/clientpositive/tez/mapjoin_decimal.q.out
    @@ -166,112 +166,112 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@t1
      POSTHOOK: Input: default@t2
      #### A masked pattern was here ####
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -45 45
    -45 45
    -45 45
    -45 45
    -45 45
    -6 6
    -6 6
    -6 6
    -6 6
    -6 6
    -6 6
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -70 70
    -70 70
    -70 70
    -70 70
    -70 70
    -70 70
    -70 70
    -79 79
    -79 79
    -79 79
    -79 79
    -79 79
    -79 79
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +45.00 45
    +45.00 45
    +45.00 45
    +45.00 45
    +45.00 45
    +6.00 6
    +6.00 6
    +6.00 6
    +6.00 6
    +6.00 6
    +6.00 6
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +70.00 70
    +70.00 70
    +70.00 70
    +70.00 70
    +70.00 70
    +70.00 70
    +70.00 70
    +79.00 79
    +79.00 79
    +79.00 79
    +79.00 79
    +79.00 79
    +79.00 79
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
      PREHOOK: query: select t1.dec, t2.dec from t1 join t2 on (t1.dec=t2.dec) order by t1.dec
      PREHOOK: type: QUERY
      PREHOOK: Input: default@t1
    @@ -282,109 +282,109 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@t1
      POSTHOOK: Input: default@t2
      #### A masked pattern was here ####
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -45 45
    -45 45
    -45 45
    -45 45
    -45 45
    -6 6
    -6 6
    -6 6
    -6 6
    -6 6
    -6 6
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -70 70
    -70 70
    -70 70
    -70 70
    -70 70
    -70 70
    -70 70
    -79 79
    -79 79
    -79 79
    -79 79
    -79 79
    -79 79
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +45.00 45
    +45.00 45
    +45.00 45
    +45.00 45
    +45.00 45
    +6.00 6
    +6.00 6
    +6.00 6
    +6.00 6
    +6.00 6
    +6.00 6
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +70.00 70
    +70.00 70
    +70.00 70
    +70.00 70
    +70.00 70
    +70.00 70
    +70.00 70
    +79.00 79
    +79.00 79
    +79.00 79
    +79.00 79
    +79.00 79
    +79.00 79
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/tez/update_all_types.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/tez/update_all_types.q.out b/ql/src/test/results/clientpositive/tez/update_all_types.q.out
    index 1cfa088..c5c1abb 100644
    --- a/ql/src/test/results/clientpositive/tez/update_all_types.q.out
    +++ b/ql/src/test/results/clientpositive/tez/update_all_types.q.out
    @@ -96,11 +96,11 @@ POSTHOOK: query: select * from acid_uat order by i
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@acid_uat
      #### A masked pattern was here ####
    --51 NULL -1071480828 -1071480828 -1401575336 -51.0 NULL -51 1969-12-31 16:00:08.451 NULL aw724t8c5558x2xneC624 aw724t8c5558x2xneC624 4uE7l74tESBiKfu7c8wM7GA true
    -11 NULL -1069736047 -1069736047 -453772520 11.0 NULL 11 1969-12-31 16:00:02.351 NULL k17Am8uPHWk02cEf1jet k17Am8uPHWk02cEf1jet qrXLLNX1 true
    -11 NULL -1072910839 -1072910839 2048385991 11.0 NULL 11 1969-12-31 16:00:02.351 NULL 0iqrc5 0iqrc5 KbaDXiN85adbHRx58v false
    -11 NULL -1073279343 -1073279343 -1595604468 11.0 NULL 11 1969-12-31 16:00:02.351 NULL oj1YrV5Wa oj1YrV5Wa P76636jJ6qM17d7DIy true
    -8 NULL -1071363017 -1071363017 1349676361 8.0 NULL 8 1969-12-31 16:00:15.892 NULL Anj0oF Anj0oF IwE1G7Qb0B1NEfV030g true
    +-51 NULL -1071480828 -1071480828 -1401575336 -51.0 NULL -51.00 1969-12-31 16:00:08.451 NULL aw724t8c5558x2xneC624 aw724t8c5558x2xneC624 4uE7l74tESBiKfu7c8wM7GA true
    +11 NULL -1069736047 -1069736047 -453772520 11.0 NULL 11.00 1969-12-31 16:00:02.351 NULL k17Am8uPHWk02cEf1jet k17Am8uPHWk02cEf1jet qrXLLNX1 true
    +11 NULL -1072910839 -1072910839 2048385991 11.0 NULL 11.00 1969-12-31 16:00:02.351 NULL 0iqrc5 0iqrc5 KbaDXiN85adbHRx58v false
    +11 NULL -1073279343 -1073279343 -1595604468 11.0 NULL 11.00 1969-12-31 16:00:02.351 NULL oj1YrV5Wa oj1YrV5Wa P76636jJ6qM17d7DIy true
    +8 NULL -1071363017 -1071363017 1349676361 8.0 NULL 8.00 1969-12-31 16:00:15.892 NULL Anj0oF Anj0oF IwE1G7Qb0B1NEfV030g true
      NULL -5470 -1072076362 -1072076362 1864027286 NULL -5470.0 NULL NULL 1969-12-31 2uLyD28144vklju213J1mr 2uLyD28144vklju213J1mr 4KWs6gw7lv2WYd66P true
      NULL -7382 -1073051226 -1073051226 -1887561756 NULL -7382.0 NULL NULL 1969-12-31 A34p7oRr2WvUJNf A34p7oRr2WvUJNf 4hA4KQj2vD3fI6gX82220d false
      NULL -741 -1070883071 -1070883071 -1645852809 NULL -741.0 NULL NULL 1969-12-31 0ruyd6Y50JpdGRf6HqD 0ruyd6Y50JpdGRf6HqD xH7445Rals48VOulSyR5F false
    @@ -150,12 +150,12 @@ POSTHOOK: query: select * from acid_uat order by i
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@acid_uat
      #### A masked pattern was here ####
    --51 NULL -1071480828 -1071480828 -1401575336 -51.0 NULL -51 1969-12-31 16:00:08.451 NULL aw724t8c5558x2xneC624 aw724t8c5558x2xneC624 4uE7l74tESBiKfu7c8wM7GA true
    +-51 NULL -1071480828 -1071480828 -1401575336 -51.0 NULL -51.00 1969-12-31 16:00:08.451 NULL aw724t8c5558x2xneC624 aw724t8c5558x2xneC624 4uE7l74tESBiKfu7c8wM7GA true
      1 2 -1070883071 3 4 3.14 6.28 5.99 NULL 2014-09-01 its a beautiful day in the neighbhorhood a beautiful day for a neighbor wont you be mine true
    -11 NULL -1069736047 -1069736047 -453772520 11.0 NULL 11 1969-12-31 16:00:02.351 NULL k17Am8uPHWk02cEf1jet k17Am8uPHWk02cEf1jet qrXLLNX1 true
    -11 NULL -1072910839 -1072910839 2048385991 11.0 NULL 11 1969-12-31 16:00:02.351 NULL 0iqrc5 0iqrc5 KbaDXiN85adbHRx58v false
    -11 NULL -1073279343 -1073279343 -1595604468 11.0 NULL 11 1969-12-31 16:00:02.351 NULL oj1YrV5Wa oj1YrV5Wa P76636jJ6qM17d7DIy true
    -8 NULL -1071363017 -1071363017 1349676361 8.0 NULL 8 1969-12-31 16:00:15.892 NULL Anj0oF Anj0oF IwE1G7Qb0B1NEfV030g true
    +11 NULL -1069736047 -1069736047 -453772520 11.0 NULL 11.00 1969-12-31 16:00:02.351 NULL k17Am8uPHWk02cEf1jet k17Am8uPHWk02cEf1jet qrXLLNX1 true
    +11 NULL -1072910839 -1072910839 2048385991 11.0 NULL 11.00 1969-12-31 16:00:02.351 NULL 0iqrc5 0iqrc5 KbaDXiN85adbHRx58v false
    +11 NULL -1073279343 -1073279343 -1595604468 11.0 NULL 11.00 1969-12-31 16:00:02.351 NULL oj1YrV5Wa oj1YrV5Wa P76636jJ6qM17d7DIy true
    +8 NULL -1071363017 -1071363017 1349676361 8.0 NULL 8.00 1969-12-31 16:00:15.892 NULL Anj0oF Anj0oF IwE1G7Qb0B1NEfV030g true
      NULL -5470 -1072076362 -1072076362 1864027286 NULL -5470.0 NULL NULL 1969-12-31 2uLyD28144vklju213J1mr 2uLyD28144vklju213J1mr 4KWs6gw7lv2WYd66P true
      NULL -7382 -1073051226 -1073051226 -1887561756 NULL -7382.0 NULL NULL 1969-12-31 A34p7oRr2WvUJNf A34p7oRr2WvUJNf 4hA4KQj2vD3fI6gX82220d false
      NULL -947 -1070551679 -1070551679 1864027286 NULL -947.0 NULL NULL 1969-12-31 iUR3Q iUR3Q 4KWs6gw7lv2WYd66P false
    @@ -184,12 +184,12 @@ POSTHOOK: query: select * from acid_uat order by i
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@acid_uat
      #### A masked pattern was here ####
    --102 -51 -1071480828 -1071480828 -1401575336 -51.0 -51.0 -51 1969-12-31 16:00:08.451 NULL aw724t8c5558x2xneC624 aw724t8c5558x2xneC624 4uE7l74tESBiKfu7c8wM7GA true
    +-102 -51 -1071480828 -1071480828 -1401575336 -51.0 -51.0 -51.00 1969-12-31 16:00:08.451 NULL aw724t8c5558x2xneC624 aw724t8c5558x2xneC624 4uE7l74tESBiKfu7c8wM7GA true
      1 2 -1070883071 3 4 3.14 6.28 5.99 NULL 2014-09-01 its a beautiful day in the neighbhorhood a beautiful day for a neighbor wont you be mine true
    -11 NULL -1069736047 -1069736047 -453772520 11.0 NULL 11 1969-12-31 16:00:02.351 NULL k17Am8uPHWk02cEf1jet k17Am8uPHWk02cEf1jet qrXLLNX1 true
    -11 NULL -1072910839 -1072910839 2048385991 11.0 NULL 11 1969-12-31 16:00:02.351 NULL 0iqrc5 0iqrc5 KbaDXiN85adbHRx58v false
    -11 NULL -1073279343 -1073279343 -1595604468 11.0 NULL 11 1969-12-31 16:00:02.351 NULL oj1YrV5Wa oj1YrV5Wa P76636jJ6qM17d7DIy true
    -8 NULL -1071363017 -1071363017 1349676361 8.0 NULL 8 1969-12-31 16:00:15.892 NULL Anj0oF Anj0oF IwE1G7Qb0B1NEfV030g true
    +11 NULL -1069736047 -1069736047 -453772520 11.0 NULL 11.00 1969-12-31 16:00:02.351 NULL k17Am8uPHWk02cEf1jet k17Am8uPHWk02cEf1jet qrXLLNX1 true
    +11 NULL -1072910839 -1072910839 2048385991 11.0 NULL 11.00 1969-12-31 16:00:02.351 NULL 0iqrc5 0iqrc5 KbaDXiN85adbHRx58v false
    +11 NULL -1073279343 -1073279343 -1595604468 11.0 NULL 11.00 1969-12-31 16:00:02.351 NULL oj1YrV5Wa oj1YrV5Wa P76636jJ6qM17d7DIy true
    +8 NULL -1071363017 -1071363017 1349676361 8.0 NULL 8.00 1969-12-31 16:00:15.892 NULL Anj0oF Anj0oF IwE1G7Qb0B1NEfV030g true
      NULL -5470 -1072076362 -1072076362 1864027286 NULL -5470.0 NULL NULL 1969-12-31 2uLyD28144vklju213J1mr 2uLyD28144vklju213J1mr 4KWs6gw7lv2WYd66P true
      NULL -7382 -1073051226 -1073051226 -1887561756 NULL -7382.0 NULL NULL 1969-12-31 A34p7oRr2WvUJNf A34p7oRr2WvUJNf 4hA4KQj2vD3fI6gX82220d false
      NULL -947 -1070551679 -1070551679 1864027286 NULL -947.0 NULL NULL 1969-12-31 iUR3Q iUR3Q 4KWs6gw7lv2WYd66P false

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/tez/vector_aggregate_9.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/tez/vector_aggregate_9.q.out b/ql/src/test/results/clientpositive/tez/vector_aggregate_9.q.out
    index d6a8517..0be71b1 100644
    --- a/ql/src/test/results/clientpositive/tez/vector_aggregate_9.q.out
    +++ b/ql/src/test/results/clientpositive/tez/vector_aggregate_9.q.out
    @@ -170,4 +170,4 @@ select min(dc), max(dc), sum(dc), avg(dc) from vectortab2korc
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@vectortab2korc
      #### A masked pattern was here ####
    --4997414117561.546875 4994550248722.298828 -10252745435816.02441 -5399023399.587163986308583465
    +-4997414117561.546875000000000000 4994550248722.298828000000000000 -10252745435816.024410000000000000 -5399023399.587163986308583465

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/tez/vector_between_in.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/tez/vector_between_in.q.out b/ql/src/test/results/clientpositive/tez/vector_between_in.q.out
    index 1d720c0..11c3d71 100644
    --- a/ql/src/test/results/clientpositive/tez/vector_between_in.q.out
    +++ b/ql/src/test/results/clientpositive/tez/vector_between_in.q.out
    @@ -650,34 +650,34 @@ POSTHOOK: Input: default@decimal_date_test
      -18.5162162162
      -17.3216216216
      -16.7243243243
    --16.127027027
    +-16.1270270270
      -15.5297297297
      -10.7513513514
      -9.5567567568
      -8.3621621622
    --5.972972973
    +-5.9729729730
      -3.5837837838
      4.1810810811
      4.7783783784
      4.7783783784
      5.3756756757
    -5.972972973
    -5.972972973
    +5.9729729730
    +5.9729729730
      11.3486486486
      11.3486486486
      11.9459459459
      14.9324324324
      19.1135135135
      20.3081081081
    -22.1
    +22.1000000000
      24.4891891892
      33.4486486486
      34.6432432432
      40.0189189189
      42.4081081081
      43.0054054054
    -44.2
    -44.2
    +44.2000000000
    +44.2000000000
      44.7972972973
      45.9918918919
      PREHOOK: query: SELECT COUNT(*) FROM decimal_date_test WHERE cdecimal1 NOT BETWEEN -2000 AND 4390.1351351351

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/tez/vector_cast_constant.q.java1.7.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/tez/vector_cast_constant.q.java1.7.out b/ql/src/test/results/clientpositive/tez/vector_cast_constant.q.java1.7.out
    index 331edd0..12920d2 100644
    --- a/ql/src/test/results/clientpositive/tez/vector_cast_constant.q.java1.7.out
    +++ b/ql/src/test/results/clientpositive/tez/vector_cast_constant.q.java1.7.out
    @@ -204,13 +204,13 @@ POSTHOOK: query: SELECT
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@over1korc
      #### A masked pattern was here ####
    -65536 50.0 50.0 50
    -65537 50.0 50.0 50
    -65538 50.0 50.0 50
    -65539 50.0 50.0 50
    -65540 50.0 50.0 50
    -65541 50.0 50.0 50
    -65542 50.0 50.0 50
    -65543 50.0 50.0 50
    -65544 50.0 50.0 50
    -65545 50.0 50.0 50
    +65536 50.0 50.0 50.0000
    +65537 50.0 50.0 50.0000
    +65538 50.0 50.0 50.0000
    +65539 50.0 50.0 50.0000
    +65540 50.0 50.0 50.0000
    +65541 50.0 50.0 50.0000
    +65542 50.0 50.0 50.0000
    +65543 50.0 50.0 50.0000
    +65544 50.0 50.0 50.0000
    +65545 50.0 50.0 50.0000

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/tez/vector_data_types.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/tez/vector_data_types.q.out b/ql/src/test/results/clientpositive/tez/vector_data_types.q.out
    index 9474c2c..8a21697 100644
    --- a/ql/src/test/results/clientpositive/tez/vector_data_types.q.out
    +++ b/ql/src/test/results/clientpositive/tez/vector_data_types.q.out
    @@ -159,7 +159,7 @@ POSTHOOK: Input: default@over1korc
      #### A masked pattern was here ####
      NULL 374 65560 4294967516 65.43 22.48 true oscar quirinius 2013-03-01 09:11:58.703316 16.86 mathematics
      NULL 409 65536 4294967490 46.97 25.92 false fred miller 2013-03-01 09:11:58.703116 33.45 history
    -NULL 473 65720 4294967324 80.74 40.6 false holly falkner 2013-03-01 09:11:58.703111 18.8 mathematics
    +NULL 473 65720 4294967324 80.74 40.6 false holly falkner 2013-03-01 09:11:58.703111 18.80 mathematics
      -3 275 65622 4294967302 71.78 8.49 false wendy robinson 2013-03-01 09:11:58.703294 95.39 undecided
      -3 344 65733 4294967363 0.56 11.96 true rachel thompson 2013-03-01 09:11:58.703276 88.46 wind surfing
      -3 376 65548 4294967431 96.78 43.23 false fred ellison 2013-03-01 09:11:58.703233 75.39 education
    @@ -252,7 +252,7 @@ POSTHOOK: Input: default@over1korc
      #### A masked pattern was here ####
      NULL 374 65560 4294967516 65.43 22.48 true oscar quirinius 2013-03-01 09:11:58.703316 16.86 mathematics
      NULL 409 65536 4294967490 46.97 25.92 false fred miller 2013-03-01 09:11:58.703116 33.45 history
    -NULL 473 65720 4294967324 80.74 40.6 false holly falkner 2013-03-01 09:11:58.703111 18.8 mathematics
    +NULL 473 65720 4294967324 80.74 40.6 false holly falkner 2013-03-01 09:11:58.703111 18.80 mathematics
      -3 275 65622 4294967302 71.78 8.49 false wendy robinson 2013-03-01 09:11:58.703294 95.39 undecided
      -3 344 65733 4294967363 0.56 11.96 true rachel thompson 2013-03-01 09:11:58.703276 88.46 wind surfing
      -3 376 65548 4294967431 96.78 43.23 false fred ellison 2013-03-01 09:11:58.703233 75.39 education

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/tez/vector_decimal_2.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/tez/vector_decimal_2.q.out b/ql/src/test/results/clientpositive/tez/vector_decimal_2.q.out
    index fc37e0d..3de006c 100644
    --- a/ql/src/test/results/clientpositive/tez/vector_decimal_2.q.out
    +++ b/ql/src/test/results/clientpositive/tez/vector_decimal_2.q.out
    @@ -1184,7 +1184,7 @@ POSTHOOK: query: select cast(cast('2012-12-19 11:12:19.1234567' as timestamp) as
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_2
      #### A masked pattern was here ####
    -1355944339.1234567
    +1355944339.12345670
      PREHOOK: query: explain
      select cast(true as decimal) as c from decimal_2 order by c
      PREHOOK: type: QUERY
    @@ -1588,7 +1588,7 @@ POSTHOOK: query: select cast(0.99999999999999999999 as decimal(20,19)) as c from
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_2
      #### A masked pattern was here ####
    -1
    +1.0000000000000000000
      PREHOOK: query: explain
      select cast('0.99999999999999999999' as decimal(20,20)) as c from decimal_2 order by c
      PREHOOK: type: QUERY

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/tez/vector_decimal_3.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/tez/vector_decimal_3.q.out b/ql/src/test/results/clientpositive/tez/vector_decimal_3.q.out
    index 75f872e..eea91bb 100644
    --- a/ql/src/test/results/clientpositive/tez/vector_decimal_3.q.out
    +++ b/ql/src/test/results/clientpositive/tez/vector_decimal_3.q.out
    @@ -47,43 +47,43 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_3
      #### A masked pattern was here ####
      NULL 0
    --1234567890.123456789 -1234567890
    --4400 4400
    --1255.49 -1255
    --1.122 -11
    --1.12 -1
    --1.12 -1
    --0.333 0
    --0.33 0
    --0.3 0
    -0 0
    -0 0
    -0 0
    -0.01 0
    -0.02 0
    -0.1 0
    -0.2 0
    -0.3 0
    -0.33 0
    -0.333 0
    -1 1
    -1 1
    -1 1
    -1.12 1
    -1.122 1
    -2 2
    -2 2
    -3.14 3
    -3.14 3
    -3.14 3
    -3.14 4
    -10 10
    -20 20
    -100 100
    -124 124
    -125.2 125
    -200 200
    -1234567890.12345678 1234567890
    +-1234567890.123456789000000000 -1234567890
    +-4400.000000000000000000 4400
    +-1255.490000000000000000 -1255
    +-1.122000000000000000 -11
    +-1.120000000000000000 -1
    +-1.120000000000000000 -1
    +-0.333000000000000000 0
    +-0.330000000000000000 0
    +-0.300000000000000000 0
    +0.000000000000000000 0
    +0.000000000000000000 0
    +0.000000000000000000 0
    +0.010000000000000000 0
    +0.020000000000000000 0
    +0.100000000000000000 0
    +0.200000000000000000 0
    +0.300000000000000000 0
    +0.330000000000000000 0
    +0.333000000000000000 0
    +1.000000000000000000 1
    +1.000000000000000000 1
    +1.000000000000000000 1
    +1.120000000000000000 1
    +1.122000000000000000 1
    +2.000000000000000000 2
    +2.000000000000000000 2
    +3.140000000000000000 3
    +3.140000000000000000 3
    +3.140000000000000000 3
    +3.140000000000000000 4
    +10.000000000000000000 10
    +20.000000000000000000 20
    +100.000000000000000000 100
    +124.000000000000000000 124
    +125.200000000000000000 125
    +200.000000000000000000 200
    +1234567890.123456780000000000 1234567890
      PREHOOK: query: SELECT * FROM DECIMAL_3 ORDER BY key DESC, value DESC
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_3
    @@ -92,43 +92,43 @@ POSTHOOK: query: SELECT * FROM DECIMAL_3 ORDER BY key DESC, value DESC
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_3
      #### A masked pattern was here ####
    -1234567890.12345678 1234567890
    -200 200
    -125.2 125
    -124 124
    -100 100
    -20 20
    -10 10
    -3.14 4
    -3.14 3
    -3.14 3
    -3.14 3
    -2 2
    -2 2
    -1.122 1
    -1.12 1
    -1 1
    -1 1
    -1 1
    -0.333 0
    -0.33 0
    -0.3 0
    -0.2 0
    -0.1 0
    -0.02 0
    -0.01 0
    -0 0
    -0 0
    -0 0
    --0.3 0
    --0.33 0
    --0.333 0
    --1.12 -1
    --1.12 -1
    --1.122 -11
    --1255.49 -1255
    --4400 4400
    --1234567890.123456789 -1234567890
    +1234567890.123456780000000000 1234567890
    +200.000000000000000000 200
    +125.200000000000000000 125
    +124.000000000000000000 124
    +100.000000000000000000 100
    +20.000000000000000000 20
    +10.000000000000000000 10
    +3.140000000000000000 4
    +3.140000000000000000 3
    +3.140000000000000000 3
    +3.140000000000000000 3
    +2.000000000000000000 2
    +2.000000000000000000 2
    +1.122000000000000000 1
    +1.120000000000000000 1
    +1.000000000000000000 1
    +1.000000000000000000 1
    +1.000000000000000000 1
    +0.333000000000000000 0
    +0.330000000000000000 0
    +0.300000000000000000 0
    +0.200000000000000000 0
    +0.100000000000000000 0
    +0.020000000000000000 0
    +0.010000000000000000 0
    +0.000000000000000000 0
    +0.000000000000000000 0
    +0.000000000000000000 0
    +-0.300000000000000000 0
    +-0.330000000000000000 0
    +-0.333000000000000000 0
    +-1.120000000000000000 -1
    +-1.120000000000000000 -1
    +-1.122000000000000000 -11
    +-1255.490000000000000000 -1255
    +-4400.000000000000000000 4400
    +-1234567890.123456789000000000 -1234567890
      NULL 0
      PREHOOK: query: SELECT * FROM DECIMAL_3 ORDER BY key, value
      PREHOOK: type: QUERY
    @@ -139,43 +139,43 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_3
      #### A masked pattern was here ####
      NULL 0
    --1234567890.123456789 -1234567890
    --4400 4400
    --1255.49 -1255
    --1.122 -11
    --1.12 -1
    --1.12 -1
    --0.333 0
    --0.33 0
    --0.3 0
    -0 0
    -0 0
    -0 0
    -0.01 0
    -0.02 0
    -0.1 0
    -0.2 0
    -0.3 0
    -0.33 0
    -0.333 0
    -1 1
    -1 1
    -1 1
    -1.12 1
    -1.122 1
    -2 2
    -2 2
    -3.14 3
    -3.14 3
    -3.14 3
    -3.14 4
    -10 10
    -20 20
    -100 100
    -124 124
    -125.2 125
    -200 200
    -1234567890.12345678 1234567890
    +-1234567890.123456789000000000 -1234567890
    +-4400.000000000000000000 4400
    +-1255.490000000000000000 -1255
    +-1.122000000000000000 -11
    +-1.120000000000000000 -1
    +-1.120000000000000000 -1
    +-0.333000000000000000 0
    +-0.330000000000000000 0
    +-0.300000000000000000 0
    +0.000000000000000000 0
    +0.000000000000000000 0
    +0.000000000000000000 0
    +0.010000000000000000 0
    +0.020000000000000000 0
    +0.100000000000000000 0
    +0.200000000000000000 0
    +0.300000000000000000 0
    +0.330000000000000000 0
    +0.333000000000000000 0
    +1.000000000000000000 1
    +1.000000000000000000 1
    +1.000000000000000000 1
    +1.120000000000000000 1
    +1.122000000000000000 1
    +2.000000000000000000 2
    +2.000000000000000000 2
    +3.140000000000000000 3
    +3.140000000000000000 3
    +3.140000000000000000 3
    +3.140000000000000000 4
    +10.000000000000000000 10
    +20.000000000000000000 20
    +100.000000000000000000 100
    +124.000000000000000000 124
    +125.200000000000000000 125
    +200.000000000000000000 200
    +1234567890.123456780000000000 1234567890
      PREHOOK: query: SELECT DISTINCT key FROM DECIMAL_3 ORDER BY key
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_3
    @@ -185,34 +185,34 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_3
      #### A masked pattern was here ####
      NULL
    --1234567890.123456789
    --4400
    --1255.49
    --1.122
    --1.12
    --0.333
    --0.33
    --0.3
    -0
    -0.01
    -0.02
    -0.1
    -0.2
    -0.3
    -0.33
    -0.333
    -1
    -1.12
    -1.122
    -2
    -3.14
    -10
    -20
    -100
    -124
    -125.2
    -200
    -1234567890.12345678
    +-1234567890.123456789000000000
    +-4400.000000000000000000
    +-1255.490000000000000000
    +-1.122000000000000000
    +-1.120000000000000000
    +-0.333000000000000000
    +-0.330000000000000000
    +-0.300000000000000000
    +0.000000000000000000
    +0.010000000000000000
    +0.020000000000000000
    +0.100000000000000000
    +0.200000000000000000
    +0.300000000000000000
    +0.330000000000000000
    +0.333000000000000000
    +1.000000000000000000
    +1.120000000000000000
    +1.122000000000000000
    +2.000000000000000000
    +3.140000000000000000
    +10.000000000000000000
    +20.000000000000000000
    +100.000000000000000000
    +124.000000000000000000
    +125.200000000000000000
    +200.000000000000000000
    +1234567890.123456780000000000
      PREHOOK: query: SELECT key, sum(value) FROM DECIMAL_3 GROUP BY key ORDER BY key
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_3
    @@ -222,34 +222,34 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_3
      #### A masked pattern was here ####
      NULL 0
    --1234567890.123456789 -1234567890
    --4400 4400
    --1255.49 -1255
    --1.122 -11
    --1.12 -2
    --0.333 0
    --0.33 0
    --0.3 0
    -0 0
    -0.01 0
    -0.02 0
    -0.1 0
    -0.2 0
    -0.3 0
    -0.33 0
    -0.333 0
    -1 3
    -1.12 1
    -1.122 1
    -2 4
    -3.14 13
    -10 10
    -20 20
    -100 100
    -124 124
    -125.2 125
    -200 200
    -1234567890.12345678 1234567890
    +-1234567890.123456789000000000 -1234567890
    +-4400.000000000000000000 4400
    +-1255.490000000000000000 -1255
    +-1.122000000000000000 -11
    +-1.120000000000000000 -2
    +-0.333000000000000000 0
    +-0.330000000000000000 0
    +-0.300000000000000000 0
    +0.000000000000000000 0
    +0.010000000000000000 0
    +0.020000000000000000 0
    +0.100000000000000000 0
    +0.200000000000000000 0
    +0.300000000000000000 0
    +0.330000000000000000 0
    +0.333000000000000000 0
    +1.000000000000000000 3
    +1.120000000000000000 1
    +1.122000000000000000 1
    +2.000000000000000000 4
    +3.140000000000000000 13
    +10.000000000000000000 10
    +20.000000000000000000 20
    +100.000000000000000000 100
    +124.000000000000000000 124
    +125.200000000000000000 125
    +200.000000000000000000 200
    +1234567890.123456780000000000 1234567890
      PREHOOK: query: SELECT value, sum(key) FROM DECIMAL_3 GROUP BY value ORDER BY value
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_3
    @@ -258,23 +258,23 @@ POSTHOOK: query: SELECT value, sum(key) FROM DECIMAL_3 GROUP BY value ORDER BY v
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_3
      #### A masked pattern was here ####
    --1234567890 -1234567890.123456789
    --1255 -1255.49
    --11 -1.122
    --1 -2.24
    -0 0.33
    -1 5.242
    -2 4
    -3 9.42
    -4 3.14
    -10 10
    -20 20
    -100 100
    -124 124
    -125 125.2
    -200 200
    -4400 -4400
    -1234567890 1234567890.12345678
    +-1234567890 -1234567890.123456789000000000
    +-1255 -1255.490000000000000000
    +-11 -1.122000000000000000
    +-1 -2.240000000000000000
    +0 0.330000000000000000
    +1 5.242000000000000000
    +2 4.000000000000000000
    +3 9.420000000000000000
    +4 3.140000000000000000
    +10 10.000000000000000000
    +20 20.000000000000000000
    +100 100.000000000000000000
    +124 124.000000000000000000
    +125 125.200000000000000000
    +200 200.000000000000000000
    +4400 -4400.000000000000000000
    +1234567890 1234567890.123456780000000000
      PREHOOK: query: SELECT * FROM DECIMAL_3 a JOIN DECIMAL_3 b ON (a.key = b.key) ORDER BY a.key, a.value, b.value
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_3
    @@ -283,71 +283,71 @@ POSTHOOK: query: SELECT * FROM DECIMAL_3 a JOIN DECIMAL_3 b ON (a.key = b.key) O
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_3
      #### A masked pattern was here ####
    --1234567890.123456789 -1234567890 -1234567890.123456789 -1234567890
    --4400 4400 -4400 4400
    --1255.49 -1255 -1255.49 -1255
    --1.122 -11 -1.122 -11
    --1.12 -1 -1.12 -1
    --1.12 -1 -1.12 -1
    --1.12 -1 -1.12 -1
    --1.12 -1 -1.12 -1
    --0.333 0 -0.333 0
    --0.33 0 -0.33 0
    --0.3 0 -0.3 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0.01 0 0.01 0
    -0.02 0 0.02 0
    -0.1 0 0.1 0
    -0.2 0 0.2 0
    -0.3 0 0.3 0
    -0.33 0 0.33 0
    -0.333 0 0.333 0
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1.12 1 1.12 1
    -1.122 1 1.122 1
    -2 2 2 2
    -2 2 2 2
    -2 2 2 2
    -2 2 2 2
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 4
    -3.14 3 3.14 4
    -3.14 3 3.14 4
    -3.14 4 3.14 3
    -3.14 4 3.14 3
    -3.14 4 3.14 3
    -3.14 4 3.14 4
    -10 10 10 10
    -20 20 20 20
    -100 100 100 100
    -124 124 124 124
    -125.2 125 125.2 125
    -200 200 200 200
    -1234567890.12345678 1234567890 1234567890.12345678 1234567890
    +-1234567890.123456789000000000 -1234567890 -1234567890.123456789000000000 -1234567890
    +-4400.000000000000000000 4400 -4400.000000000000000000 4400
    +-1255.490000000000000000 -1255 -1255.490000000000000000 -1255
    +-1.122000000000000000 -11 -1.122000000000000000 -11
    +-1.120000000000000000 -1 -1.120000000000000000 -1
    +-1.120000000000000000 -1 -1.120000000000000000 -1
    +-1.120000000000000000 -1 -1.120000000000000000 -1
    +-1.120000000000000000 -1 -1.120000000000000000 -1
    +-0.333000000000000000 0 -0.333000000000000000 0
    +-0.330000000000000000 0 -0.330000000000000000 0
    +-0.300000000000000000 0 -0.300000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.010000000000000000 0 0.010000000000000000 0
    +0.020000000000000000 0 0.020000000000000000 0
    +0.100000000000000000 0 0.100000000000000000 0
    +0.200000000000000000 0 0.200000000000000000 0
    +0.300000000000000000 0 0.300000000000000000 0
    +0.330000000000000000 0 0.330000000000000000 0
    +0.333000000000000000 0 0.333000000000000000 0
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.120000000000000000 1 1.120000000000000000 1
    +1.122000000000000000 1 1.122000000000000000 1
    +2.000000000000000000 2 2.000000000000000000 2
    +2.000000000000000000 2 2.000000000000000000 2
    +2.000000000000000000 2 2.000000000000000000 2
    +2.000000000000000000 2 2.000000000000000000 2
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 4
    +3.140000000000000000 3 3.140000000000000000 4
    +3.140000000000000000 3 3.140000000000000000 4
    +3.140000000000000000 4 3.140000000000000000 3
    +3.140000000000000000 4 3.140000000000000000 3
    +3.140000000000000000 4 3.140000000000000000 3
    +3.140000000000000000 4 3.140000000000000000 4
    +10.000000000000000000 10 10.000000000000000000 10
    +20.000000000000000000 20 20.000000000000000000 20
    +100.000000000000000000 100 100.000000000000000000 100
    +124.000000000000000000 124 124.000000000000000000 124
    +125.200000000000000000 125 125.200000000000000000 125
    +200.000000000000000000 200 200.000000000000000000 200
    +1234567890.123456780000000000 1234567890 1234567890.123456780000000000 1234567890
      PREHOOK: query: SELECT * FROM DECIMAL_3 WHERE key=3.14 ORDER BY key, value
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_3
    @@ -356,10 +356,10 @@ POSTHOOK: query: SELECT * FROM DECIMAL_3 WHERE key=3.14 ORDER BY key, value
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_3
      #### A masked pattern was here ####
    -3.14 3
    -3.14 3
    -3.14 3
    -3.14 4
    +3.140000000000000000 3
    +3.140000000000000000 3
    +3.140000000000000000 3
    +3.140000000000000000 4
      PREHOOK: query: SELECT * FROM DECIMAL_3 WHERE key=3.140 ORDER BY key, value
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_3
    @@ -368,10 +368,10 @@ POSTHOOK: query: SELECT * FROM DECIMAL_3 WHERE key=3.140 ORDER BY key, value
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_3
      #### A masked pattern was here ####
    -3.14 3
    -3.14 3
    -3.14 3
    -3.14 4
    +3.140000000000000000 3
    +3.140000000000000000 3
    +3.140000000000000000 3
    +3.140000000000000000 4
      PREHOOK: query: DROP TABLE DECIMAL_3_txt
      PREHOOK: type: DROPTABLE
      PREHOOK: Input: default@decimal_3_txt

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/tez/vector_decimal_4.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/tez/vector_decimal_4.q.out b/ql/src/test/results/clientpositive/tez/vector_decimal_4.q.out
    index 613f5a8..c7d3d9e 100644
    --- a/ql/src/test/results/clientpositive/tez/vector_decimal_4.q.out
    +++ b/ql/src/test/results/clientpositive/tez/vector_decimal_4.q.out
    @@ -57,43 +57,43 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_4_1
      #### A masked pattern was here ####
      NULL 0
    --1234567890.123456789 -1234567890
    --4400 4400
    --1255.49 -1255
    --1.122 -11
    --1.12 -1
    --1.12 -1
    --0.333 0
    --0.33 0
    --0.3 0
    -0 0
    -0 0
    -0 0
    -0.01 0
    -0.02 0
    -0.1 0
    -0.2 0
    -0.3 0
    -0.33 0
    -0.333 0
    +-1234567890.1234567890000000000000000 -1234567890
    +-4400.0000000000000000000000000 4400
    +-1255.4900000000000000000000000 -1255
    +-1.1220000000000000000000000 -11
    +-1.1200000000000000000000000 -1
    +-1.1200000000000000000000000 -1
    +-0.3330000000000000000000000 0
    +-0.3300000000000000000000000 0
    +-0.3000000000000000000000000 0
    +0.0000000000000000000000000 0
    +0.0000000000000000000000000 0
    +0.0000000000000000000000000 0
    +0.0100000000000000000000000 0
    +0.0200000000000000000000000 0
    +0.1000000000000000000000000 0
    +0.2000000000000000000000000 0
    +0.3000000000000000000000000 0
    +0.3300000000000000000000000 0
    +0.3330000000000000000000000 0
      0.9999999999999999999999999 1
    -1 1
    -1 1
    -1.12 1
    -1.122 1
    -2 2
    -2 2
    -3.14 3
    -3.14 3
    -3.14 3
    -3.14 4
    -10 10
    -20 20
    -100 100
    -124 124
    -125.2 125
    -200 200
    -1234567890.12345678 1234567890
    +1.0000000000000000000000000 1
    +1.0000000000000000000000000 1
    +1.1200000000000000000000000 1
    +1.1220000000000000000000000 1
    +2.0000000000000000000000000 2
    +2.0000000000000000000000000 2
    +3.1400000000000000000000000 3
    +3.1400000000000000000000000 3
    +3.1400000000000000000000000 3
    +3.1400000000000000000000000 4
    +10.0000000000000000000000000 10
    +20.0000000000000000000000000 20
    +100.0000000000000000000000000 100
    +124.0000000000000000000000000 124
    +125.2000000000000000000000000 125
    +200.0000000000000000000000000 200
    +1234567890.1234567800000000000000000 1234567890
      PREHOOK: query: SELECT * FROM DECIMAL_4_2 ORDER BY key, value
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_4_2
    @@ -103,43 +103,43 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_4_2
      #### A masked pattern was here ####
      NULL NULL
    --1234567890.123456789 -3703703670.370370367
    --4400 -13200
    --1255.49 -3766.47
    --1.122 -3.366
    --1.12 -3.36
    --1.12 -3.36
    --0.333 -0.999
    --0.33 -0.99
    --0.3 -0.9
    -0 0
    -0 0
    -0 0
    -0.01 0.03
    -0.02 0.06
    -0.1 0.3
    -0.2 0.6
    -0.3 0.9
    -0.33 0.99
    -0.333 0.999
    +-1234567890.1234567890000000000000000 -3703703670.3703703670000000000000000
    +-4400.0000000000000000000000000 -13200.0000000000000000000000000
    +-1255.4900000000000000000000000 -3766.4700000000000000000000000
    +-1.1220000000000000000000000 -3.3660000000000000000000000
    +-1.1200000000000000000000000 -3.3600000000000000000000000
    +-1.1200000000000000000000000 -3.3600000000000000000000000
    +-0.3330000000000000000000000 -0.9990000000000000000000000
    +-0.3300000000000000000000000 -0.9900000000000000000000000
    +-0.3000000000000000000000000 -0.9000000000000000000000000
    +0.0000000000000000000000000 0.0000000000000000000000000
    +0.0000000000000000000000000 0.0000000000000000000000000
    +0.0000000000000000000000000 0.0000000000000000000000000
    +0.0100000000000000000000000 0.0300000000000000000000000
    +0.0200000000000000000000000 0.0600000000000000000000000
    +0.1000000000000000000000000 0.3000000000000000000000000
    +0.2000000000000000000000000 0.6000000000000000000000000
    +0.3000000000000000000000000 0.9000000000000000000000000
    +0.3300000000000000000000000 0.9900000000000000000000000
    +0.3330000000000000000000000 0.9990000000000000000000000
      0.9999999999999999999999999 2.9999999999999999999999997
    -1 3
    -1 3
    -1.12 3.36
    -1.122 3.366
    -2 6
    -2 6
    -3.14 9.42
    -3.14 9.42
    -3.14 9.42
    -3.14 9.42
    -10 30
    -20 60
    -100 300
    -124 372
    -125.2 375.6
    -200 600
    -1234567890.12345678 3703703670.37037034
    +1.0000000000000000000000000 3.0000000000000000000000000
    +1.0000000000000000000000000 3.0000000000000000000000000
    +1.1200000000000000000000000 3.3600000000000000000000000
    +1.1220000000000000000000000 3.3660000000000000000000000
    +2.0000000000000000000000000 6.0000000000000000000000000
    +2.0000000000000000000000000 6.0000000000000000000000000
    +3.1400000000000000000000000 9.4200000000000000000000000
    +3.1400000000000000000000000 9.4200000000000000000000000
    +3.1400000000000000000000000 9.4200000000000000000000000
    +3.1400000000000000000000000 9.4200000000000000000000000
    +10.0000000000000000000000000 30.0000000000000000000000000
    +20.0000000000000000000000000 60.0000000000000000000000000
    +100.0000000000000000000000000 300.0000000000000000000000000
    +124.0000000000000000000000000 372.0000000000000000000000000
    +125.2000000000000000000000000 375.6000000000000000000000000
    +200.0000000000000000000000000 600.0000000000000000000000000
    +1234567890.1234567800000000000000000 3703703670.3703703400000000000000000
      PREHOOK: query: SELECT * FROM DECIMAL_4_2 ORDER BY key
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_4_2
    @@ -149,43 +149,43 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_4_2
      #### A masked pattern was here ####
      NULL NULL
    --1234567890.123456789 -3703703670.370370367
    --4400 -13200
    --1255.49 -3766.47
    --1.122 -3.366
    --1.12 -3.36
    --1.12 -3.36
    --0.333 -0.999
    --0.33 -0.99
    --0.3 -0.9
    -0 0
    -0 0
    -0 0
    -0.01 0.03
    -0.02 0.06
    -0.1 0.3
    -0.2 0.6
    -0.3 0.9
    -0.33 0.99
    -0.333 0.999
    +-1234567890.1234567890000000000000000 -3703703670.3703703670000000000000000
    +-4400.0000000000000000000000000 -13200.0000000000000000000000000
    +-1255.4900000000000000000000000 -3766.4700000000000000000000000
    +-1.1220000000000000000000000 -3.3660000000000000000000000
    +-1.1200000000000000000000000 -3.3600000000000000000000000
    +-1.1200000000000000000000000 -3.3600000000000000000000000
    +-0.3330000000000000000000000 -0.9990000000000000000000000
    +-0.3300000000000000000000000 -0.9900000000000000000000000
    +-0.3000000000000000000000000 -0.9000000000000000000000000
    +0.0000000000000000000000000 0.0000000000000000000000000
    +0.0000000000000000000000000 0.0000000000000000000000000
    +0.0000000000000000000000000 0.0000000000000000000000000
    +0.0100000000000000000000000 0.0300000000000000000000000
    +0.0200000000000000000000000 0.0600000000000000000000000
    +0.1000000000000000000000000 0.3000000000000000000000000
    +0.2000000000000000000000000 0.6000000000000000000000000
    +0.3000000000000000000000000 0.9000000000000000000000000
    +0.3300000000000000000000000 0.9900000000000000000000000
    +0.3330000000000000000000000 0.9990000000000000000000000
      0.9999999999999999999999999 2.9999999999999999999999997
    -1 3
    -1 3
    -1.12 3.36
    -1.122 3.366
    -2 6
    -2 6
    -3.14 9.42
    -3.14 9.42
    -3.14 9.42
    -3.14 9.42
    -10 30
    -20 60
    -100 300
    -124 372
    -125.2 375.6
    -200 600
    -1234567890.12345678 3703703670.37037034
    +1.0000000000000000000000000 3.0000000000000000000000000
    +1.0000000000000000000000000 3.0000000000000000000000000
    +1.1200000000000000000000000 3.3600000000000000000000000
    +1.1220000000000000000000000 3.3660000000000000000000000
    +2.0000000000000000000000000 6.0000000000000000000000000
    +2.0000000000000000000000000 6.0000000000000000000000000
    +3.1400000000000000000000000 9.4200000000000000000000000
    +3.1400000000000000000000000 9.4200000000000000000000000
    +3.1400000000000000000000000 9.4200000000000000000000000
    +3.1400000000000000000000000 9.4200000000000000000000000
    +10.0000000000000000000000000 30.0000000000000000000000000
    +20.0000000000000000000000000 60.0000000000000000000000000
    +100.0000000000000000000000000 300.0000000000000000000000000
    +124.0000000000000000000000000 372.0000000000000000000000000
    +125.2000000000000000000000000 375.6000000000000000000000000
    +200.0000000000000000000000000 600.0000000000000000000000000
    +1234567890.1234567800000000000000000 3703703670.3703703400000000000000000
      PREHOOK: query: SELECT * FROM DECIMAL_4_2 ORDER BY key, value
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_4_2
    @@ -195,43 +195,43 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_4_2
      #### A masked pattern was here ####
      NULL NULL
    --1234567890.123456789 -3703703670.370370367
    --4400 -13200
    --1255.49 -3766.47
    --1.122 -3.366
    --1.12 -3.36
    --1.12 -3.36
    --0.333 -0.999
    --0.33 -0.99
    --0.3 -0.9
    -0 0
    -0 0
    -0 0
    -0.01 0.03
    -0.02 0.06
    -0.1 0.3
    -0.2 0.6
    -0.3 0.9
    -0.33 0.99
    -0.333 0.999
    +-1234567890.1234567890000000000000000 -3703703670.3703703670000000000000000
    +-4400.0000000000000000000000000 -13200.0000000000000000000000000
    +-1255.4900000000000000000000000 -3766.4700000000000000000000000
    +-1.1220000000000000000000000 -3.3660000000000000000000000
    +-1.1200000000000000000000000 -3.3600000000000000000000000
    +-1.1200000000000000000000000 -3.3600000000000000000000000
    +-0.3330000000000000000000000 -0.9990000000000000000000000
    +-0.3300000000000000000000000 -0.9900000000000000000000000
    +-0.3000000000000000000000000 -0.9000000000000000000000000
    +0.0000000000000000000000000 0.0000000000000000000000000
    +0.0000000000000000000000000 0.0000000000000000000000000
    +0.0000000000000000000000000 0.0000000000000000000000000
    +0.0100000000000000000000000 0.0300000000000000000000000
    +0.0200000000000000000000000 0.0600000000000000000000000
    +0.1000000000000000000000000 0.3000000000000000000000000
    +0.2000000000000000000000000 0.6000000000000000000000000
    +0.3000000000000000000000000 0.9000000000000000000000000
    +0.3300000000000000000000000 0.9900000000000000000000000
    +0.3330000000000000000000000 0.9990000000000000000000000
      0.9999999999999999999999999 2.9999999999999999999999997
    -1 3
    -1 3
    -1.12 3.36
    -1.122 3.366
    -2 6
    -2 6
    -3.14 9.42
    -3.14 9.42
    -3.14 9.42
    -3.14 9.42
    -10 30
    -20 60
    -100 300
    -124 372
    -125.2 375.6
    -200 600
    -1234567890.12345678 3703703670.37037034
    +1.0000000000000000000000000 3.0000000000000000000000000
    +1.0000000000000000000000000 3.0000000000000000000000000
    +1.1200000000000000000000000 3.3600000000000000000000000
    +1.1220000000000000000000000 3.3660000000000000000000000
    +2.0000000000000000000000000 6.0000000000000000000000000
    +2.0000000000000000000000000 6.0000000000000000000000000
    +3.1400000000000000000000000 9.4200000000000000000000000
    +3.1400000000000000000000000 9.4200000000000000000000000
    +3.1400000000000000000000000 9.4200000000000000000000000
    +3.1400000000000000000000000 9.4200000000000000000000000
    +10.0000000000000000000000000 30.0000000000000000000000000
    +20.0000000000000000000000000 60.0000000000000000000000000
    +100.0000000000000000000000000 300.0000000000000000000000000
    +124.0000000000000000000000000 372.0000000000000000000000000
    +125.2000000000000000000000000 375.6000000000000000000000000
    +200.0000000000000000000000000 600.0000000000000000000000000
    +1234567890.1234567800000000000000000 3703703670.3703703400000000000000000
      PREHOOK: query: DROP TABLE DECIMAL_4_1
      PREHOOK: type: DROPTABLE
      PREHOOK: Input: default@decimal_4_1

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/tez/vector_decimal_5.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/tez/vector_decimal_5.q.out b/ql/src/test/results/clientpositive/tez/vector_decimal_5.q.out
    index 34c3351..0bfd12e 100644
    --- a/ql/src/test/results/clientpositive/tez/vector_decimal_5.q.out
    +++ b/ql/src/test/results/clientpositive/tez/vector_decimal_5.q.out
    @@ -59,41 +59,41 @@ POSTHOOK: Input: default@decimal_5
      NULL
      NULL
      NULL
    --4400
    --1255.49
    --1.122
    --1.12
    --1.12
    --0.333
    --0.33
    --0.3
    -0
    -0
    -0
    -0.01
    -0.02
    -0.1
    -0.2
    -0.3
    -0.33
    -0.333
    -1
    -1
    -1
    -1.12
    -1.122
    -2
    -2
    -3.14
    -3.14
    -3.14
    -3.14
    -10
    -20
    -100
    -124
    -125.2
    -200
    +-4400.00000
    +-1255.49000
    +-1.12200
    +-1.12000
    +-1.12000
    +-0.33300
    +-0.33000
    +-0.30000
    +0.00000
    +0.00000
    +0.00000
    +0.01000
    +0.02000
    +0.10000
    +0.20000
    +0.30000
    +0.33000
    +0.33300
    +1.00000
    +1.00000
    +1.00000
    +1.12000
    +1.12200
    +2.00000
    +2.00000
    +3.14000
    +3.14000
    +3.14000
    +3.14000
    +10.00000
    +20.00000
    +100.00000
    +124.00000
    +125.20000
    +200.00000
      PREHOOK: query: SELECT DISTINCT key FROM DECIMAL_5 ORDER BY key
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_5
    @@ -103,32 +103,32 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_5
      #### A masked pattern was here ####
      NULL
    --4400
    --1255.49
    --1.122
    --1.12
    --0.333
    --0.33
    --0.3
    -0
    -0.01
    -0.02
    -0.1
    -0.2
    -0.3
    -0.33
    -0.333
    -1
    -1.12
    -1.122
    -2
    -3.14
    -10
    -20
    -100
    -124
    -125.2
    -200
    +-4400.00000
    +-1255.49000
    +-1.12200
    +-1.12000
    +-0.33300
    +-0.33000
    +-0.30000
    +0.00000
    +0.01000
    +0.02000
    +0.10000
    +0.20000
    +0.30000
    +0.33000
    +0.33300
    +1.00000
    +1.12000
    +1.12200
    +2.00000
    +3.14000
    +10.00000
    +20.00000
    +100.00000
    +124.00000
    +125.20000
    +200.00000
      PREHOOK: query: SELECT cast(key as decimal) FROM DECIMAL_5
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_5
    @@ -185,40 +185,40 @@ POSTHOOK: Input: default@decimal_5
      #### A masked pattern was here ####
      NULL
      NULL
    -0
    -0
    -100
    -10
    -1
    -0.1
    -0.01
    -200
    -20
    -2
    -0
    -0.2
    -0.02
    -0.3
    -0.33
    +0.000
    +0.000
    +100.000
    +10.000
    +1.000
    +0.100
    +0.010
    +200.000
    +20.000
    +2.000
    +0.000
    +0.200
    +0.020
    +0.300
    +0.330
      0.333
    --0.3
    --0.33
    +-0.300
    +-0.330
      -0.333
    -1
    -2
    -3.14
    --1.12
    --1.12
    +1.000
    +2.000
    +3.140
    +-1.120
    +-1.120
      -1.122
    -1.12
    +1.120
      1.122
    -124
    -125.2
    +124.000
    +125.200
      NULL
    -3.14
    -3.14
    -3.14
    -1
    +3.140
    +3.140
    +3.140
    +1.000
      NULL
      NULL
      PREHOOK: query: DROP TABLE DECIMAL_5_txt

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/tez/vector_decimal_6.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/tez/vector_decimal_6.q.out b/ql/src/test/results/clientpositive/tez/vector_decimal_6.q.out
    index 9cdd7fc..e0ccbc6 100644
    --- a/ql/src/test/results/clientpositive/tez/vector_decimal_6.q.out
    +++ b/ql/src/test/results/clientpositive/tez/vector_decimal_6.q.out
    @@ -119,27 +119,27 @@ NULL 0
      NULL 3
      NULL 4
      NULL 1234567890
    --4400 4400
    --1255.49 -1255
    --1.122 -11
    --1.12 -1
    --0.333 0
    --0.3 0
    -0 0
    -0 0
    -0.333 0
    -1 1
    -1 1
    -1.12 1
    -1.122 1
    -2 2
    -3.14 3
    -3.14 3
    -3.14 4
    -10 10
    +-4400.00000 4400
    +-1255.49000 -1255
    +-1.12200 -11
    +-1.12000 -1
    +-0.33300 0
    +-0.30000 0
    +0.00000 0
    +0.00000 0
    +0.33300 0
    +1.00000 1
    +1.00000 1
    +1.12000 1
    +1.12200 1
    +2.00000 2
    +3.14000 3
    +3.14000 3
    +3.14000 4
    +10.00000 10
      10.73433 5
    -124 124
    -125.2 125
    +124.00000 124
    +125.20000 125
      23232.23435 2
      PREHOOK: query: SELECT * FROM DECIMAL_6_2 ORDER BY key, value
      PREHOOK: type: QUERY
    @@ -151,27 +151,27 @@ POSTHOOK: Input: default@decimal_6_2
      #### A masked pattern was here ####
      NULL 0
      -1234567890.1235 -1234567890
    --4400 4400
    --1255.49 -1255
    --1.122 -11
    --1.12 -1
    --0.333 0
    --0.3 0
    -0 0
    -0 0
    -0.333 0
    -1 1
    -1 1
    -1.12 1
    -1.122 1
    -2 2
    -3.14 3
    -3.14 3
    -3.14 4
    -10 10
    +-4400.0000 4400
    +-1255.4900 -1255
    +-1.1220 -11
    +-1.1200 -1
    +-0.3330 0
    +-0.3000 0
    +0.0000 0
    +0.0000 0
    +0.3330 0
    +1.0000 1
    +1.0000 1
    +1.1200 1
    +1.1220 1
    +2.0000 2
    +3.1400 3
    +3.1400 3
    +3.1400 4
    +10.0000 10
      10.7343 5
    -124 124
    -125.2 125
    +124.0000 124
    +125.2000 125
      23232.2344 2
      2389432.2375 3
      2389432.2375 4
    @@ -200,54 +200,54 @@ NULL
      NULL
      NULL
      NULL
    --1234567890.1235
    --4400
    --4400
    --1255.49
    --1255.49
    --1.122
    --1.122
    --1.12
    --1.12
    --0.333
    --0.333
    --0.3
    --0.3
    -0
    -0
    -0
    -0
    -0.333
    -0.333
    -1
    -1
    -1
    -1
    -1.12
    -1.12
    -1.122
    -1.122
    -2
    -2
    -3.14
    -3.14
    -3.14
    -3.14
    -3.14
    -3.14
    -10
    -10
    -10.7343
    +-1234567890.12350
    +-4400.00000
    +-4400.00000
    +-1255.49000
    +-1255.49000
    +-1.12200
    +-1.12200
    +-1.12000
    +-1.12000
    +-0.33300
    +-0.33300
    +-0.30000
    +-0.30000
    +0.00000
    +0.00000
    +0.00000
    +0.00000
    +0.33300
    +0.33300
    +1.00000
    +1.00000
    +1.00000
    +1.00000
    +1.12000
    +1.12000
    +1.12200
    +1.12200
    +2.00000
    +2.00000
    +3.14000
    +3.14000
    +3.14000
    +3.14000
    +3.14000
    +3.14000
    +10.00000
    +10.00000
    +10.73430
      10.73433
    -124
    -124
    -125.2
    -125.2
    +124.00000
    +124.00000
    +125.20000
    +125.20000
      23232.23435
    -23232.2344
    -2389432.2375
    -2389432.2375
    -1234567890.1235
    +23232.23440
    +2389432.23750
    +2389432.23750
    +1234567890.12350
      PREHOOK: query: CREATE TABLE DECIMAL_6_3 STORED AS ORC AS SELECT key + 5.5 AS k, value * 11 AS v from DECIMAL_6_1 ORDER BY v
      PREHOOK: type: CREATETABLE_AS_SELECT
      PREHOOK: Input: default@decimal_6_1

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/tez/vector_decimal_aggregate.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/tez/vector_decimal_aggregate.q.out b/ql/src/test/results/clientpositive/tez/vector_decimal_aggregate.q.out
    index 683af86..d10f053 100644
    --- a/ql/src/test/results/clientpositive/tez/vector_decimal_aggregate.q.out
    +++ b/ql/src/test/results/clientpositive/tez/vector_decimal_aggregate.q.out
    @@ -117,14 +117,14 @@ POSTHOOK: query: SELECT cint,
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_vgby
      #### A masked pattern was here ####
    --3728 6 5831542.269248378 -3367.6517567568 5817556.0411483778 6 6984454.211097692 -4033.445769230769 6967702.8672438458471
    --563 2 -515.621072973 -3367.6517567568 -3883.2728297298 2 -617.5607769230769 -4033.445769230769 -4651.0065461538459
    -253665376 1024 9767.0054054054 -9779.5486486487 -347484.0818378374 1024 11697.969230769231 -11712.99230769231 -416182.64030769233089
    -528534767 1024 5831542.269248378 -9777.1594594595 11646372.8607481068 1024 6984454.211097692 -11710.130769230771 13948892.79980307629003
    -626923679 1024 9723.4027027027 -9778.9513513514 10541.0525297287 1024 11645.746153846154 -11712.276923076923 12625.04759999997746
    -6981 3 5831542.269248378 -515.621072973 5830511.027102432 3 6984454.211097692 -617.5607769230769 6983219.0895438458462
    -762 2 5831542.269248378 1531.2194054054 5833073.4886537834 2 6984454.211097692 1833.9456923076925 6986288.1567899996925
    -NULL 3072 9318.4351351351 -4298.1513513514 5018444.1081079808 3072 11160.715384615385 -5147.907692307693 6010604.3076923073536
    +-3728 6 5831542.2692483780 -3367.6517567568 5817556.0411483778 6 6984454.21109769200000 -4033.44576923076900 6967702.86724384584710
    +-563 2 -515.6210729730 -3367.6517567568 -3883.2728297298 2 -617.56077692307690 -4033.44576923076900 -4651.00654615384590
    +253665376 1024 9767.0054054054 -9779.5486486487 -347484.0818378374 1024 11697.96923076923100 -11712.99230769231000 -416182.64030769233089
    +528534767 1024 5831542.2692483780 -9777.1594594595 11646372.8607481068 1024 6984454.21109769200000 -11710.13076923077100 13948892.79980307629003
    +626923679 1024 9723.4027027027 -9778.9513513514 10541.0525297287 1024 11645.74615384615400 -11712.27692307692300 12625.04759999997746
    +6981 3 5831542.2692483780 -515.6210729730 5830511.0271024320 3 6984454.21109769200000 -617.56077692307690 6983219.08954384584620
    +762 2 5831542.2692483780 1531.2194054054 5833073.4886537834 2 6984454.21109769200000 1833.94569230769250 6986288.15678999969250
    +NULL 3072 9318.4351351351 -4298.1513513514 5018444.1081079808 3072 11160.71538461538500 -5147.90769230769300 6010604.30769230735360
      PREHOOK: query: -- Now add the others...
      EXPLAIN SELECT cint,
          COUNT(cdecimal1), MAX(cdecimal1), MIN(cdecimal1), SUM(cdecimal1), AVG(cdecimal1), STDDEV_POP(cdecimal1), STDDEV_SAMP(cdecimal1),
    @@ -221,11 +221,11 @@ POSTHOOK: query: SELECT cint,
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_vgby
      #### A masked pattern was here ####
    --3728 6 5831542.269248378 -3367.6517567568 5817556.0411483778 969592.67352472963333 2174330.2092403853 2381859.406131774 6 6984454.211097692 -4033.445769230769 6967702.8672438458471 1161283.811207307641183333 2604201.2704476737 2852759.5602156054
    --563 2 -515.621072973 -3367.6517567568 -3883.2728297298 -1941.6364148649 1426.0153418918999 2016.6902366556308 2 -617.5607769230769 -4033.445769230769 -4651.0065461538459 -2325.50327307692295 1707.9424961538462 2415.395441814127
    -253665376 1024 9767.0054054054 -9779.5486486487 -347484.0818378374 -339.33992366976309 5708.9563478862 5711.745967572779 1024 11697.969230769231 -11712.99230769231 -416182.64030769233089 -406.428359675480791885 6837.632716002934 6840.973851172274
    -528534767 1024 5831542.269248378 -9777.1594594595 11646372.8607481068 11373.41099682432305 257528.92988206653 257654.7686043977 1024 6984454.211097692 -11710.130769230771 13948892.79980307629003 13621.965624807691689482 308443.1074570801 308593.82484083984
    -626923679 1024 9723.4027027027 -9778.9513513514 10541.0525297287 10.29399661106318 5742.09145323734 5744.897264034267 1024 11645.746153846154 -11712.276923076923 12625.04759999997746 12.329148046874977988 6877.318722794877 6880.679250101603
    -6981 3 5831542.269248378 -515.621072973 5830511.027102432 1943503.67570081066667 2749258.455012492 3367140.1929065133 3 6984454.211097692 -617.5607769230769 6983219.0895438458462 2327739.696514615282066667 3292794.4113115156 4032833.0678006653
    -762 2 5831542.269248378 1531.2194054054 5833073.4886537834 2916536.7443268917 2915005.5249214866 4122440.3477364695 2 6984454.211097692 1833.9456923076925 6986288.1567899996925 3493144.07839499984625 3491310.1327026924 4937458.140118758
    -NULL 3072 9318.4351351351 -4298.1513513514 5018444.1081079808 1633.60810810806667 5695.483082135364 5696.4103077145055 3072 11160.715384615385 -5147.907692307693 6010604.3076923073536 1956.576923076922966667 6821.495748565159 6822.606289190924
    +-3728 6 5831542.2692483780 -3367.6517567568 5817556.0411483778 969592.67352472963333 2174330.2092403853 2381859.406131774 6 6984454.21109769200000 -4033.44576923076900 6967702.86724384584710 1161283.811207307641183333 2604201.2704476737 2852759.5602156054
    +-563 2 -515.6210729730 -3367.6517567568 -3883.2728297298 -1941.63641486490000 1426.0153418918999 2016.6902366556308 2 -617.56077692307690 -4033.44576923076900 -4651.00654615384590 -2325.503273076922950000 1707.9424961538462 2415.395441814127
    +253665376 1024 9767.0054054054 -9779.5486486487 -347484.0818378374 -339.33992366976309 5708.9563478862 5711.745967572779 1024 11697.96923076923100 -11712.99230769231000 -416182.64030769233089 -406.428359675480791885 6837.632716002934 6840.973851172274
    +528534767 1024 5831542.2692483780 -9777.1594594595 11646372.8607481068 11373.41099682432305 257528.92988206653 257654.7686043977 1024 6984454.21109769200000 -11710.13076923077100 13948892.79980307629003 13621.965624807691689482 308443.1074570801 308593.82484083984
    +626923679 1024 9723.4027027027 -9778.9513513514 10541.0525297287 10.29399661106318 5742.09145323734 5744.897264034267 1024 11645.74615384615400 -11712.27692307692300 12625.04759999997746 12.329148046874977988 6877.318722794877 6880.679250101603
    +6981 3 5831542.2692483780 -515.6210729730 5830511.0271024320 1943503.67570081066667 2749258.455012492 3367140.1929065133 3 6984454.21109769200000 -617.56077692307690 6983219.08954384584620 2327739.696514615282066667 3292794.4113115156 4032833.0678006653
    +762 2 5831542.2692483780 1531.2194054054 5833073.4886537834 2916536.74432689170000 2915005.5249214866 4122440.3477364695 2 6984454.21109769200000 1833.94569230769250 6986288.15678999969250 3493144.078394999846250000 3491310.1327026924 4937458.140118758
    +NULL 3072 9318.4351351351 -4298.1513513514 5018444.1081079808 1633.60810810806667 5695.483082135364 5696.4103077145055 3072 11160.71538461538500 -5147.90769230769300 6010604.30769230735360 1956.576923076922966667 6821.495748565159 6822.606289190924

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/tez/vector_decimal_cast.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/tez/vector_decimal_cast.q.out b/ql/src/test/results/clientpositive/tez/vector_decimal_cast.q.out
    index 59b80f2..35b7e87 100644
    --- a/ql/src/test/results/clientpositive/tez/vector_decimal_cast.q.out
    +++ b/ql/src/test/results/clientpositive/tez/vector_decimal_cast.q.out
    @@ -29,13 +29,13 @@ POSTHOOK: query: SELECT cdouble, cint, cboolean1, ctimestamp1, CAST(cdouble AS D
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@alltypesorc
      #### A masked pattern was here ####
    --13326.0 528534767 true 1969-12-31 15:59:46.674 -13326 528534767 1 -13
    --15813.0 528534767 true 1969-12-31 15:59:55.787 -15813 528534767 1 -4
    --9566.0 528534767 true 1969-12-31 15:59:44.187 -9566 528534767 1 -16
    -15007.0 528534767 true 1969-12-31 15:59:50.434 15007 528534767 1 -10
    -7021.0 528534767 true 1969-12-31 16:00:15.007 7021 528534767 1 15
    -4963.0 528534767 true 1969-12-31 16:00:07.021 4963 528534767 1 7
    --7824.0 528534767 true 1969-12-31 16:00:04.963 -7824 528534767 1 5
    --15431.0 528534767 true 1969-12-31 15:59:52.176 -15431 528534767 1 -8
    --15549.0 528534767 true 1969-12-31 15:59:44.569 -15549 528534767 1 -15
    -5780.0 528534767 true 1969-12-31 15:59:44.451 5780 528534767 1 -16
    +-13326.0 528534767 true 1969-12-31 15:59:46.674 -13326.0000000000 528534767.00000000000000 1.00 -13
    +-15813.0 528534767 true 1969-12-31 15:59:55.787 -15813.0000000000 528534767.00000000000000 1.00 -4
    +-9566.0 528534767 true 1969-12-31 15:59:44.187 -9566.0000000000 528534767.00000000000000 1.00 -16
    +15007.0 528534767 true 1969-12-31 15:59:50.434 15007.0000000000 528534767.00000000000000 1.00 -10
    +7021.0 528534767 true 1969-12-31 16:00:15.007 7021.0000000000 528534767.00000000000000 1.00 15
    +4963.0 528534767 true 1969-12-31 16:00:07.021 4963.0000000000 528534767.00000000000000 1.00 7
    +-7824.0 528534767 true 1969-12-31 16:00:04.963 -7824.0000000000 528534767.00000000000000 1.00 5
    +-15431.0 528534767 true 1969-12-31 15:59:52.176 -15431.0000000000 528534767.00000000000000 1.00 -8
    +-15549.0 528534767 true 1969-12-31 15:59:44.569 -15549.0000000000 528534767.00000000000000 1.00 -15
    +5780.0 528534767 true 1969-12-31 15:59:44.451 5780.0000000000 528534767.00000000000000 1.00 -16

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/tez/vector_decimal_expressions.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/tez/vector_decimal_expressions.q.out b/ql/src/test/results/clientpositive/tez/vector_decimal_expressions.q.out
    index 366d883..08c3ae9 100644
    --- a/ql/src/test/results/clientpositive/tez/vector_decimal_expressions.q.out
    +++ b/ql/src/test/results/clientpositive/tez/vector_decimal_expressions.q.out
    @@ -84,13 +84,13 @@ LIMIT 10
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_test
      #### A masked pattern was here ####
    -1836.441995841977 -1166.027234927254 0.8372697814833714 245972.55810810256 5.6189189189 835 1000 -24 835 true 1000.823076923077 835.6189 1000.823076923077 1969-12-31 16:13:55.618918918
    -1856.1322245322462 -1178.5293139292924 0.8372449787014038 251275.4432432497 4.5783783784 844 1011 -13 844 true 1011.5538461538462 844.57837 1011.5538461538462 1969-12-31 16:14:04.578378378
    -1858.7575883576155 -1180.196257796231 0.837241711366943 251986.76756757565 5.772972973 845 1012 -12 845 true 1012.9846153846155 845.77295 1012.9846153846155 1969-12-31 16:14:05.772972973
    -1862.6956340956693 -1182.6966735966386 0.8372368276344616 253055.6391891997 7.5648648649 847 1015 -9 847 true 1015.1307692307693 847.5649 1015.1307692307693 1969-12-31 16:14:07.564864864
    -1883.6985446985233 -1196.0322245322466 0.8372111259286499 258794.49324323673 7.1216216216 857 1026 2 857 true 1026.5769230769233 857.12164 1026.5769230769233 1969-12-31 16:14:17.121621621
    -1886.3239085238924 -1197.6991683991848 0.8372079534581902 259516.37432431948 8.3162162162 858 1028 4 858 true 1028.0076923076924 858.3162 1028.0076923076924 1969-12-31 16:14:18.316216216
    -1887.636590436577 -1198.532640332654 0.8372063705322131 259877.69189188787 8.9135135135 858 1028 4 858 true 1028.723076923077 858.9135 1028.723076923077 1969-12-31 16:14:18.913513513
    -1895.5126819126846 -1203.5334719334692 0.8371969190171343 262050.87567567648 2.4972972973 862 1033 9 862 true 1033.0153846153846 862.4973 1033.0153846153846 1969-12-31 16:14:22.497297297
    -1909.9521829522155 -1212.701663201631 0.8371797936946236 266058.54729730723 9.0675675676 869 1040 16 869 true 1040.8846153846155 869.06757 1040.8846153846155 1969-12-31 16:14:29.067567567
    -1913.8902286902692 -1215.2020790020384 0.8371751679995797 267156.8270270395 0.8594594595 870 1043 19 870 true 1043.0307692307692 870.85944 1043.0307692307692 1969-12-31 16:14:30.859459459
    +1836.44199584197700 -1166.02723492725400 0.8372697814833714 245972.55810810256 5.6189189189 835 1000 -24 835 true 1000.823076923077 835.6189 1000.823076923077 1969-12-31 16:13:55.618918918
    +1856.13222453224620 -1178.52931392929240 0.8372449787014038 251275.4432432497 4.5783783784 844 1011 -13 844 true 1011.5538461538462 844.57837 1011.5538461538462 1969-12-31 16:14:04.578378378
    +1858.75758835761550 -1180.19625779623100 0.837241711366943 251986.76756757565 5.7729729730 845 1012 -12 845 true 1012.9846153846155 845.77295 1012.9846153846155 1969-12-31 16:14:05.772972973
    +1862.69563409566930 -1182.69667359663860 0.8372368276344616 253055.6391891997 7.5648648649 847 1015 -9 847 true 1015.1307692307693 847.5649 1015.1307692307693 1969-12-31 16:14:07.564864864
    +1883.69854469852330 -1196.03222453224660 0.8372111259286499 258794.49324323673 7.1216216216 857 1026 2 857 true 1026.5769230769233 857.12164 1026.5769230769233 1969-12-31 16:14:17.121621621
    +1886.32390852389240 -1197.69916839918480 0.8372079534581902 259516.37432431948 8.3162162162 858 1028 4 858 true 1028.0076923076924 858.3162 1028.0076923076924 1969-12-31 16:14:18.316216216
    +1887.63659043657700 -1198.53264033265400 0.8372063705322131 259877.69189188787 8.9135135135 858 1028 4 858 true 1028.723076923077 858.9135 1028.723076923077 1969-12-31 16:14:18.913513513
    +1895.51268191268460 -1203.53347193346920 0.8371969190171343 262050.87567567648 2.4972972973 862 1033 9 862 true 1033.0153846153846 862.4973 1033.0153846153846 1969-12-31 16:14:22.497297297
    +1909.95218295221550 -1212.70166320163100 0.8371797936946236 266058.54729730723 9.0675675676 869 1040 16 869 true 1040.8846153846155 869.06757 1040.8846153846155 1969-12-31 16:14:29.067567567
    +1913.89022869026920 -1215.20207900203840 0.8371751679995797 267156.8270270395 0.8594594595 870 1043 19 870 true 1043.0307692307692 870.85944 1043.0307692307692 1969-12-31 16:14:30.859459459

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/tez/vector_decimal_mapjoin.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/tez/vector_decimal_mapjoin.q.out b/ql/src/test/results/clientpositive/tez/vector_decimal_mapjoin.q.out
    index 240b875..3712549 100644
    --- a/ql/src/test/results/clientpositive/tez/vector_decimal_mapjoin.q.out
    +++ b/ql/src/test/results/clientpositive/tez/vector_decimal_mapjoin.q.out
    @@ -156,109 +156,109 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@t1
      POSTHOOK: Input: default@t2
      #### A masked pattern was here ####
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -45 45
    -45 45
    -45 45
    -45 45
    -45 45
    -6 6
    -6 6
    -6 6
    -6 6
    -6 6
    -6 6
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -70 70
    -70 70
    -70 70
    -70 70
    -70 70
    -70 70
    -70 70
    -79 79
    -79 79
    -79 79
    -79 79
    -79 79
    -79 79
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +45.00 45
    +45.00 45
    +45.00 45
    +45.00 45
    +45.00 45
    +6.00 6
    +6.00 6
    +6.00 6
    +6.00 6
    +6.00 6
    +6.00 6
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +70.00 70
    +70.00 70
    +70.00 70
    +70.00 70
    +70.00 70
    +70.00 70
    +70.00 70
    +79.00 79
    +79.00 79
    +79.00 79
    +79.00 79
    +79.00 79
    +79.00 79
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
  • Xuefu at Nov 12, 2015 at 3:59 am
    http://git-wip-us.apache.org/repos/asf/hive/blob/9ba2cdfd/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java.orig
    ----------------------------------------------------------------------
    diff --git a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java.orig b/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java.orig
    deleted file mode 100644
    index b214344..0000000
    --- a/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java.orig
    +++ /dev/null
    @@ -1,3372 +0,0 @@
    -/**
    - * 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.
    - */
    -
    -package org.apache.hadoop.hive.conf;
    -
    -import com.google.common.base.Joiner;
    -
    -import org.apache.commons.lang.StringUtils;
    -import org.apache.hadoop.conf.Configuration;
    -import org.apache.hadoop.hive.common.classification.InterfaceAudience.LimitedPrivate;
    -import org.apache.hadoop.hive.conf.Validator.PatternSet;
    -import org.apache.hadoop.hive.conf.Validator.RangeValidator;
    -import org.apache.hadoop.hive.conf.Validator.RatioValidator;
    -import org.apache.hadoop.hive.conf.Validator.StringSet;
    -import org.apache.hadoop.hive.conf.Validator.TimeValidator;
    -import org.apache.hadoop.hive.shims.ShimLoader;
    -import org.apache.hadoop.hive.shims.Utils;
    -import org.apache.hadoop.mapred.JobConf;
    -import org.apache.hadoop.security.UserGroupInformation;
    -import org.apache.hadoop.util.Shell;
    -import org.apache.hive.common.HiveCompat;
    -import org.slf4j.Logger;
    -import org.slf4j.LoggerFactory;
    -
    -import javax.security.auth.login.LoginException;
    -
    -import java.io.ByteArrayOutputStream;
    -import java.io.File;
    -import java.io.IOException;
    -import java.io.InputStream;
    -import java.io.PrintStream;
    -import java.net.URL;
    -import java.util.ArrayList;
    -import java.util.HashMap;
    -import java.util.HashSet;
    -import java.util.Iterator;
    -import java.util.List;
    -import java.util.Map;
    -import java.util.Map.Entry;
    -import java.util.Properties;
    -import java.util.Set;
    -import java.util.concurrent.TimeUnit;
    -import java.util.regex.Matcher;
    -import java.util.regex.Pattern;
    -
    -/**
    - * Hive Configuration.
    - */
    -public class HiveConf extends Configuration {
    - protected String hiveJar;
    - protected Properties origProp;
    - protected String auxJars;
    - private static final Logger l4j = LoggerFactory.getLogger(HiveConf.class);
    - private static boolean loadMetastoreConfig = false;
    - private static boolean loadHiveServer2Config = false;
    - private static URL hiveDefaultURL = null;
    - private static URL hiveSiteURL = null;
    - private static URL hivemetastoreSiteUrl = null;
    - private static URL hiveServer2SiteUrl = null;
    -
    - private static byte[] confVarByteArray = null;
    -
    -
    - private static final Map<String, ConfVars> vars = new HashMap<String, ConfVars>();
    - private static final Map<String, ConfVars> metaConfs = new HashMap<String, ConfVars>();
    - private final List<String> restrictList = new ArrayList<String>();
    - private final Set<String> hiddenSet = new HashSet<String>();
    -
    - private Pattern modWhiteListPattern = null;
    - private volatile boolean isSparkConfigUpdated = false;
    - private static final int LOG_PREFIX_LENGTH = 64;
    -
    - public boolean getSparkConfigUpdated() {
    - return isSparkConfigUpdated;
    - }
    -
    - public void setSparkConfigUpdated(boolean isSparkConfigUpdated) {
    - this.isSparkConfigUpdated = isSparkConfigUpdated;
    - }
    -
    - static {
    - ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
    - if (classLoader == null) {
    - classLoader = HiveConf.class.getClassLoader();
    - }
    -
    - hiveDefaultURL = classLoader.getResource("hive-default.xml");
    -
    - // Look for hive-site.xml on the CLASSPATH and log its location if found.
    - hiveSiteURL = classLoader.getResource("hive-site.xml");
    - hivemetastoreSiteUrl = classLoader.getResource("hivemetastore-site.xml");
    - hiveServer2SiteUrl = classLoader.getResource("hiveserver2-site.xml");
    -
    - for (ConfVars confVar : ConfVars.values()) {
    - vars.put(confVar.varname, confVar);
    - }
    - }
    -
    - /**
    - * Metastore related options that the db is initialized against. When a conf
    - * var in this is list is changed, the metastore instance for the CLI will
    - * be recreated so that the change will take effect.
    - */
    - public static final HiveConf.ConfVars[] metaVars = {
    - HiveConf.ConfVars.METASTOREWAREHOUSE,
    - HiveConf.ConfVars.METASTOREURIS,
    - HiveConf.ConfVars.METASTORE_SERVER_PORT,
    - HiveConf.ConfVars.METASTORETHRIFTCONNECTIONRETRIES,
    - HiveConf.ConfVars.METASTORETHRIFTFAILURERETRIES,
    - HiveConf.ConfVars.METASTORE_CLIENT_CONNECT_RETRY_DELAY,
    - HiveConf.ConfVars.METASTORE_CLIENT_SOCKET_TIMEOUT,
    - HiveConf.ConfVars.METASTORE_CLIENT_SOCKET_LIFETIME,
    - HiveConf.ConfVars.METASTOREPWD,
    - HiveConf.ConfVars.METASTORECONNECTURLHOOK,
    - HiveConf.ConfVars.METASTORECONNECTURLKEY,
    - HiveConf.ConfVars.METASTORESERVERMINTHREADS,
    - HiveConf.ConfVars.METASTORESERVERMAXTHREADS,
    - HiveConf.ConfVars.METASTORE_TCP_KEEP_ALIVE,
    - HiveConf.ConfVars.METASTORE_INT_ORIGINAL,
    - HiveConf.ConfVars.METASTORE_INT_ARCHIVED,
    - HiveConf.ConfVars.METASTORE_INT_EXTRACTED,
    - HiveConf.ConfVars.METASTORE_KERBEROS_KEYTAB_FILE,
    - HiveConf.ConfVars.METASTORE_KERBEROS_PRINCIPAL,
    - HiveConf.ConfVars.METASTORE_USE_THRIFT_SASL,
    - HiveConf.ConfVars.METASTORE_CACHE_PINOBJTYPES,
    - HiveConf.ConfVars.METASTORE_CONNECTION_POOLING_TYPE,
    - HiveConf.ConfVars.METASTORE_VALIDATE_TABLES,
    - HiveConf.ConfVars.METASTORE_VALIDATE_COLUMNS,
    - HiveConf.ConfVars.METASTORE_VALIDATE_CONSTRAINTS,
    - HiveConf.ConfVars.METASTORE_STORE_MANAGER_TYPE,
    - HiveConf.ConfVars.METASTORE_AUTO_CREATE_SCHEMA,
    - HiveConf.ConfVars.METASTORE_AUTO_START_MECHANISM_MODE,
    - HiveConf.ConfVars.METASTORE_TRANSACTION_ISOLATION,
    - HiveConf.ConfVars.METASTORE_CACHE_LEVEL2,
    - HiveConf.ConfVars.METASTORE_CACHE_LEVEL2_TYPE,
    - HiveConf.ConfVars.METASTORE_IDENTIFIER_FACTORY,
    - HiveConf.ConfVars.METASTORE_PLUGIN_REGISTRY_BUNDLE_CHECK,
    - HiveConf.ConfVars.METASTORE_AUTHORIZATION_STORAGE_AUTH_CHECKS,
    - HiveConf.ConfVars.METASTORE_BATCH_RETRIEVE_MAX,
    - HiveConf.ConfVars.METASTORE_EVENT_LISTENERS,
    - HiveConf.ConfVars.METASTORE_EVENT_CLEAN_FREQ,
    - HiveConf.ConfVars.METASTORE_EVENT_EXPIRY_DURATION,
    - HiveConf.ConfVars.METASTORE_FILTER_HOOK,
    - HiveConf.ConfVars.METASTORE_RAW_STORE_IMPL,
    - HiveConf.ConfVars.METASTORE_END_FUNCTION_LISTENERS,
    - HiveConf.ConfVars.METASTORE_PART_INHERIT_TBL_PROPS,
    - HiveConf.ConfVars.METASTORE_BATCH_RETRIEVE_OBJECTS_MAX,
    - HiveConf.ConfVars.METASTORE_INIT_HOOKS,
    - HiveConf.ConfVars.METASTORE_PRE_EVENT_LISTENERS,
    - HiveConf.ConfVars.HMSHANDLERATTEMPTS,
    - HiveConf.ConfVars.HMSHANDLERINTERVAL,
    - HiveConf.ConfVars.HMSHANDLERFORCERELOADCONF,
    - HiveConf.ConfVars.METASTORE_PARTITION_NAME_WHITELIST_PATTERN,
    - HiveConf.ConfVars.METASTORE_ORM_RETRIEVE_MAPNULLS_AS_EMPTY_STRINGS,
    - HiveConf.ConfVars.METASTORE_DISALLOW_INCOMPATIBLE_COL_TYPE_CHANGES,
    - HiveConf.ConfVars.USERS_IN_ADMIN_ROLE,
    - HiveConf.ConfVars.HIVE_AUTHORIZATION_MANAGER,
    - HiveConf.ConfVars.HIVE_TXN_MANAGER,
    - HiveConf.ConfVars.HIVE_TXN_TIMEOUT,
    - HiveConf.ConfVars.HIVE_TXN_MAX_OPEN_BATCH,
    - HiveConf.ConfVars.HIVE_METASTORE_STATS_NDV_DENSITY_FUNCTION,
    - HiveConf.ConfVars.METASTORE_AGGREGATE_STATS_CACHE_ENABLED,
    - HiveConf.ConfVars.METASTORE_AGGREGATE_STATS_CACHE_SIZE,
    - HiveConf.ConfVars.METASTORE_AGGREGATE_STATS_CACHE_MAX_PARTITIONS,
    - HiveConf.ConfVars.METASTORE_AGGREGATE_STATS_CACHE_FPP,
    - HiveConf.ConfVars.METASTORE_AGGREGATE_STATS_CACHE_MAX_VARIANCE,
    - HiveConf.ConfVars.METASTORE_AGGREGATE_STATS_CACHE_TTL,
    - HiveConf.ConfVars.METASTORE_AGGREGATE_STATS_CACHE_MAX_WRITER_WAIT,
    - HiveConf.ConfVars.METASTORE_AGGREGATE_STATS_CACHE_MAX_READER_WAIT,
    - HiveConf.ConfVars.METASTORE_AGGREGATE_STATS_CACHE_MAX_FULL,
    - HiveConf.ConfVars.METASTORE_AGGREGATE_STATS_CACHE_CLEAN_UNTIL,
    - HiveConf.ConfVars.METASTORE_FASTPATH,
    - HiveConf.ConfVars.METASTORE_HBASE_CATALOG_CACHE_SIZE,
    - HiveConf.ConfVars.METASTORE_HBASE_AGGREGATE_STATS_CACHE_SIZE,
    - HiveConf.ConfVars.METASTORE_HBASE_AGGREGATE_STATS_CACHE_MAX_PARTITIONS,
    - HiveConf.ConfVars.METASTORE_HBASE_AGGREGATE_STATS_CACHE_FALSE_POSITIVE_PROBABILITY,
    - HiveConf.ConfVars.METASTORE_HBASE_AGGREGATE_STATS_CACHE_MAX_VARIANCE,
    - HiveConf.ConfVars.METASTORE_HBASE_CACHE_TIME_TO_LIVE,
    - HiveConf.ConfVars.METASTORE_HBASE_CACHE_MAX_WRITER_WAIT,
    - HiveConf.ConfVars.METASTORE_HBASE_CACHE_MAX_READER_WAIT,
    - HiveConf.ConfVars.METASTORE_HBASE_CACHE_MAX_FULL,
    - HiveConf.ConfVars.METASTORE_HBASE_CACHE_CLEAN_UNTIL,
    - HiveConf.ConfVars.METASTORE_HBASE_CONNECTION_CLASS,
    - HiveConf.ConfVars.METASTORE_HBASE_AGGR_STATS_CACHE_ENTRIES,
    - HiveConf.ConfVars.METASTORE_HBASE_AGGR_STATS_MEMORY_TTL,
    - HiveConf.ConfVars.METASTORE_HBASE_AGGR_STATS_INVALIDATOR_FREQUENCY,
    - HiveConf.ConfVars.METASTORE_HBASE_AGGR_STATS_HBASE_TTL
    - };
    -
    - /**
    - * User configurable Metastore vars
    - */
    - public static final HiveConf.ConfVars[] metaConfVars = {
    - HiveConf.ConfVars.METASTORE_TRY_DIRECT_SQL,
    - HiveConf.ConfVars.METASTORE_TRY_DIRECT_SQL_DDL,
    - HiveConf.ConfVars.METASTORE_CLIENT_SOCKET_TIMEOUT
    - };
    -
    - static {
    - for (ConfVars confVar : metaConfVars) {
    - metaConfs.put(confVar.varname, confVar);
    - }
    - }
    -
    - /**
    - * dbVars are the parameters can be set per database. If these
    - * parameters are set as a database property, when switching to that
    - * database, the HiveConf variable will be changed. The change of these
    - * parameters will effectively change the DFS and MapReduce clusters
    - * for different databases.
    - */
    - public static final HiveConf.ConfVars[] dbVars = {
    - HiveConf.ConfVars.HADOOPBIN,
    - HiveConf.ConfVars.METASTOREWAREHOUSE,
    - HiveConf.ConfVars.SCRATCHDIR
    - };
    -
    - /**
    - * ConfVars.
    - *
    - * These are the default configuration properties for Hive. Each HiveConf
    - * object is initialized as follows:
    - *
    - * 1) Hadoop configuration properties are applied.
    - * 2) ConfVar properties with non-null values are overlayed.
    - * 3) hive-site.xml properties are overlayed.
    - *
    - * WARNING: think twice before adding any Hadoop configuration properties
    - * with non-null values to this list as they will override any values defined
    - * in the underlying Hadoop configuration.
    - */
    - public static enum ConfVars {
    - // QL execution stuff
    - SCRIPTWRAPPER("hive.exec.script.wrapper", null, ""),
    - PLAN("hive.exec.plan", "", ""),
    - PLAN_SERIALIZATION("hive.plan.serialization.format", "kryo",
    - "Query plan format serialization between client and task nodes. \n" +
    - "Two supported values are : kryo and javaXML. Kryo is default."),
    - STAGINGDIR("hive.exec.stagingdir", ".hive-staging",
    - "Directory name that will be created inside table locations in order to support HDFS encryption. " +
    - "This is replaces ${hive.exec.scratchdir} for query results with the exception of read-only tables. " +
    - "In all cases ${hive.exec.scratchdir} is still used for other temporary files, such as job plans."),
    - SCRATCHDIR("hive.exec.scratchdir", "/tmp/hive",
    - "HDFS root scratch dir for Hive jobs which gets created with write all (733) permission. " +
    - "For each connecting user, an HDFS scratch dir: ${hive.exec.scratchdir}/<username> is created, " +
    - "with ${hive.scratch.dir.permission}."),
    - LOCALSCRATCHDIR("hive.exec.local.scratchdir",
    - "${system:java.io.tmpdir}" + File.separator + "${system:user.name}",
    - "Local scratch space for Hive jobs"),
    - DOWNLOADED_RESOURCES_DIR("hive.downloaded.resources.dir",
    - "${system:java.io.tmpdir}" + File.separator + "${hive.session.id}_resources",
    - "Temporary local directory for added resources in the remote file system."),
    - SCRATCHDIRPERMISSION("hive.scratch.dir.permission", "700",
    - "The permission for the user specific scratch directories that get created."),
    - SUBMITVIACHILD("hive.exec.submitviachild", false, ""),
    - SUBMITLOCALTASKVIACHILD("hive.exec.submit.local.task.via.child", true,
    - "Determines whether local tasks (typically mapjoin hashtable generation phase) runs in \n" +
    - "separate JVM (true recommended) or not. \n" +
    - "Avoids the overhead of spawning new JVM, but can lead to out-of-memory issues."),
    - SCRIPTERRORLIMIT("hive.exec.script.maxerrsize", 100000,
    - "Maximum number of bytes a script is allowed to emit to standard error (per map-reduce task). \n" +
    - "This prevents runaway scripts from filling logs partitions to capacity"),
    - ALLOWPARTIALCONSUMP("hive.exec.script.allow.partial.consumption", false,
    - "When enabled, this option allows a user script to exit successfully without consuming \n" +
    - "all the data from the standard input."),
    - STREAMREPORTERPERFIX("stream.stderr.reporter.prefix", "reporter:",
    - "Streaming jobs that log to standard error with this prefix can log counter or status information."),
    - STREAMREPORTERENABLED("stream.stderr.reporter.enabled", true,
    - "Enable consumption of status and counter messages for streaming jobs."),
    - COMPRESSRESULT("hive.exec.compress.output", false,
    - "This controls whether the final outputs of a query (to a local/HDFS file or a Hive table) is compressed. \n" +
    - "The compression codec and other options are determined from Hadoop config variables mapred.output.compress*"),
    - COMPRESSINTERMEDIATE("hive.exec.compress.intermediate", false,
    - "This controls whether intermediate files produced by Hive between multiple map-reduce jobs are compressed. \n" +
    - "The compression codec and other options are determined from Hadoop config variables mapred.output.compress*"),
    - COMPRESSINTERMEDIATECODEC("hive.intermediate.compression.codec", "", ""),
    - COMPRESSINTERMEDIATETYPE("hive.intermediate.compression.type", "", ""),
    - BYTESPERREDUCER("hive.exec.reducers.bytes.per.reducer", (long) (256 * 1000 * 1000),
    - "size per reducer.The default is 256Mb, i.e if the input size is 1G, it will use 4 reducers."),
    - MAXREDUCERS("hive.exec.reducers.max", 1009,
    - "max number of reducers will be used. If the one specified in the configuration parameter mapred.reduce.tasks is\n" +
    - "negative, Hive will use this one as the max number of reducers when automatically determine number of reducers."),
    - PREEXECHOOKS("hive.exec.pre.hooks", "",
    - "Comma-separated list of pre-execution hooks to be invoked for each statement. \n" +
    - "A pre-execution hook is specified as the name of a Java class which implements the \n" +
    - "org.apache.hadoop.hive.ql.hooks.ExecuteWithHookContext interface."),
    - POSTEXECHOOKS("hive.exec.post.hooks", "",
    - "Comma-separated list of post-execution hooks to be invoked for each statement. \n" +
    - "A post-execution hook is specified as the name of a Java class which implements the \n" +
    - "org.apache.hadoop.hive.ql.hooks.ExecuteWithHookContext interface."),
    - ONFAILUREHOOKS("hive.exec.failure.hooks", "",
    - "Comma-separated list of on-failure hooks to be invoked for each statement. \n" +
    - "An on-failure hook is specified as the name of Java class which implements the \n" +
    - "org.apache.hadoop.hive.ql.hooks.ExecuteWithHookContext interface."),
    - QUERYREDACTORHOOKS("hive.exec.query.redactor.hooks", "",
    - "Comma-separated list of hooks to be invoked for each query which can \n" +
    - "tranform the query before it's placed in the job.xml file. Must be a Java class which \n" +
    - "extends from the org.apache.hadoop.hive.ql.hooks.Redactor abstract class."),
    - CLIENTSTATSPUBLISHERS("hive.client.stats.publishers", "",
    - "Comma-separated list of statistics publishers to be invoked on counters on each job. \n" +
    - "A client stats publisher is specified as the name of a Java class which implements the \n" +
    - "org.apache.hadoop.hive.ql.stats.ClientStatsPublisher interface."),
    - EXECPARALLEL("hive.exec.parallel", false, "Whether to execute jobs in parallel"),
    - EXECPARALLETHREADNUMBER("hive.exec.parallel.thread.number", 8,
    - "How many jobs at most can be executed in parallel"),
    - HIVESPECULATIVEEXECREDUCERS("hive.mapred.reduce.tasks.speculative.execution", true,
    - "Whether speculative execution for reducers should be turned on. "),
    - HIVECOUNTERSPULLINTERVAL("hive.exec.counters.pull.interval", 1000L,
    - "The interval with which to poll the JobTracker for the counters the running job. \n" +
    - "The smaller it is the more load there will be on the jobtracker, the higher it is the less granular the caught will be."),
    - DYNAMICPARTITIONING("hive.exec.dynamic.partition", true,
    - "Whether or not to allow dynamic partitions in DML/DDL."),
    - DYNAMICPARTITIONINGMODE("hive.exec.dynamic.partition.mode", "strict",
    - "In strict mode, the user must specify at least one static partition\n" +
    - "in case the user accidentally overwrites all partitions.\n" +
    - "In nonstrict mode all partitions are allowed to be dynamic."),
    - DYNAMICPARTITIONMAXPARTS("hive.exec.max.dynamic.partitions", 1000,
    - "Maximum number of dynamic partitions allowed to be created in total."),
    - DYNAMICPARTITIONMAXPARTSPERNODE("hive.exec.max.dynamic.partitions.pernode", 100,
    - "Maximum number of dynamic partitions allowed to be created in each mapper/reducer node."),
    - MAXCREATEDFILES("hive.exec.max.created.files", 100000L,
    - "Maximum number of HDFS files created by all mappers/reducers in a MapReduce job."),
    - DEFAULTPARTITIONNAME("hive.exec.default.partition.name", "__HIVE_DEFAULT_PARTITION__",
    - "The default partition name in case the dynamic partition column value is null/empty string or any other values that cannot be escaped. \n" +
    - "This value must not contain any special character used in HDFS URI (e.g., ':', '%', '/' etc). \n" +
    - "The user has to be aware that the dynamic partition value should not contain this value to avoid confusions."),
    - DEFAULT_ZOOKEEPER_PARTITION_NAME("hive.lockmgr.zookeeper.default.partition.name", "__HIVE_DEFAULT_ZOOKEEPER_PARTITION__", ""),
    -
    - // Whether to show a link to the most failed task + debugging tips
    - SHOW_JOB_FAIL_DEBUG_INFO("hive.exec.show.job.failure.debug.info", true,
    - "If a job fails, whether to provide a link in the CLI to the task with the\n" +
    - "most failures, along with debugging hints if applicable."),
    - JOB_DEBUG_CAPTURE_STACKTRACES("hive.exec.job.debug.capture.stacktraces", true,
    - "Whether or not stack traces parsed from the task logs of a sampled failed task \n" +
    - "for each failed job should be stored in the SessionState"),
    - JOB_DEBUG_TIMEOUT("hive.exec.job.debug.timeout", 30000, ""),
    - TASKLOG_DEBUG_TIMEOUT("hive.exec.tasklog.debug.timeout", 20000, ""),
    - OUTPUT_FILE_EXTENSION("hive.output.file.extension", null,
    - "String used as a file extension for output files. \n" +
    - "If not set, defaults to the codec extension for text files (e.g. \".gz\"), or no extension otherwise."),
    -
    - HIVE_IN_TEST("hive.in.test", false, "internal usage only, true in test mode", true),
    -
    - HIVE_IN_TEZ_TEST("hive.in.tez.test", false, "internal use only, true when in testing tez",
    - true),
    -
    - LOCALMODEAUTO("hive.exec.mode.local.auto", false,
    - "Let Hive determine whether to run in local mode automatically"),
    - LOCALMODEMAXBYTES("hive.exec.mode.local.auto.inputbytes.max", 134217728L,
    - "When hive.exec.mode.local.auto is true, input bytes should less than this for local mode."),
    - LOCALMODEMAXINPUTFILES("hive.exec.mode.local.auto.input.files.max", 4,
    - "When hive.exec.mode.local.auto is true, the number of tasks should less than this for local mode."),
    -
    - DROPIGNORESNONEXISTENT("hive.exec.drop.ignorenonexistent", true,
    - "Do not report an error if DROP TABLE/VIEW/Index/Function specifies a non-existent table/view/index/function"),
    -
    - HIVEIGNOREMAPJOINHINT("hive.ignore.mapjoin.hint", true, "Ignore the mapjoin hint"),
    -
    - HIVE_FILE_MAX_FOOTER("hive.file.max.footer", 100,
    - "maximum number of lines for footer user can define for a table file"),
    -
    - HIVE_RESULTSET_USE_UNIQUE_COLUMN_NAMES("hive.resultset.use.unique.column.names", true,
    - "Make column names unique in the result set by qualifying column names with table alias if needed.\n" +
    - "Table alias will be added to column names for queries of type \"select *\" or \n" +
    - "if query explicitly uses table alias \"select r1.x..\"."),
    -
    - // Hadoop Configuration Properties
    - // Properties with null values are ignored and exist only for the purpose of giving us
    - // a symbolic name to reference in the Hive source code. Properties with non-null
    - // values will override any values set in the underlying Hadoop configuration.
    - HADOOPBIN("hadoop.bin.path", findHadoopBinary(), "", true),
    - HIVE_FS_HAR_IMPL("fs.har.impl", "org.apache.hadoop.hive.shims.HiveHarFileSystem",
    - "The implementation for accessing Hadoop Archives. Note that this won't be applicable to Hadoop versions less than 0.20"),
    - HADOOPFS(ShimLoader.getHadoopShims().getHadoopConfNames().get("HADOOPFS"), null, "", true),
    - HADOOPMAPFILENAME(ShimLoader.getHadoopShims().getHadoopConfNames().get("HADOOPMAPFILENAME"), null, "", true),
    - HADOOPMAPREDINPUTDIR(ShimLoader.getHadoopShims().getHadoopConfNames().get("HADOOPMAPREDINPUTDIR"), null, "", true),
    - HADOOPMAPREDINPUTDIRRECURSIVE(ShimLoader.getHadoopShims().getHadoopConfNames().get("HADOOPMAPREDINPUTDIRRECURSIVE"), false, "", true),
    - MAPREDMAXSPLITSIZE(ShimLoader.getHadoopShims().getHadoopConfNames().get("MAPREDMAXSPLITSIZE"), 256000000L, "", true),
    - MAPREDMINSPLITSIZE(ShimLoader.getHadoopShims().getHadoopConfNames().get("MAPREDMINSPLITSIZE"), 1L, "", true),
    - MAPREDMINSPLITSIZEPERNODE(ShimLoader.getHadoopShims().getHadoopConfNames().get("MAPREDMINSPLITSIZEPERNODE"), 1L, "", true),
    - MAPREDMINSPLITSIZEPERRACK(ShimLoader.getHadoopShims().getHadoopConfNames().get("MAPREDMINSPLITSIZEPERRACK"), 1L, "", true),
    - // The number of reduce tasks per job. Hadoop sets this value to 1 by default
    - // By setting this property to -1, Hive will automatically determine the correct
    - // number of reducers.
    - HADOOPNUMREDUCERS(ShimLoader.getHadoopShims().getHadoopConfNames().get("HADOOPNUMREDUCERS"), -1, "", true),
    - HADOOPJOBNAME(ShimLoader.getHadoopShims().getHadoopConfNames().get("HADOOPJOBNAME"), null, "", true),
    - HADOOPSPECULATIVEEXECREDUCERS(ShimLoader.getHadoopShims().getHadoopConfNames().get("HADOOPSPECULATIVEEXECREDUCERS"), true, "", true),
    - MAPREDSETUPCLEANUPNEEDED(ShimLoader.getHadoopShims().getHadoopConfNames().get("MAPREDSETUPCLEANUPNEEDED"), false, "", true),
    - MAPREDTASKCLEANUPNEEDED(ShimLoader.getHadoopShims().getHadoopConfNames().get("MAPREDTASKCLEANUPNEEDED"), false, "", true),
    -
    - // Metastore stuff. Be sure to update HiveConf.metaVars when you add something here!
    - METASTOREWAREHOUSE("hive.metastore.warehouse.dir", "/user/hive/warehouse",
    - "location of default database for the warehouse"),
    - METASTOREURIS("hive.metastore.uris", "",
    - "Thrift URI for the remote metastore. Used by metastore client to connect to remote metastore."),
    -
    - METASTORE_FASTPATH("hive.metastore.fastpath", false,
    - "Used to avoid all of the proxies and object copies in the metastore. Note, if this is " +
    - "set, you MUST use a local metastore (hive.metastore.uris must be empty) otherwise " +
    - "undefined and most likely undesired behavior will result"),
    - METASTORE_HBASE_CATALOG_CACHE_SIZE("hive.metastore.hbase.catalog.cache.size", 50000, "Maximum number of " +
    - "objects we will place in the hbase metastore catalog cache. The objects will be divided up by " +
    - "types that we need to cache."),
    - METASTORE_HBASE_AGGREGATE_STATS_CACHE_SIZE("hive.metastore.hbase.aggregate.stats.cache.size", 10000,
    - "Maximum number of aggregate stats nodes that we will place in the hbase metastore aggregate stats cache."),
    - METASTORE_HBASE_AGGREGATE_STATS_CACHE_MAX_PARTITIONS("hive.metastore.hbase.aggregate.stats.max.partitions", 10000,
    - "Maximum number of partitions that are aggregated per cache node."),
    - METASTORE_HBASE_AGGREGATE_STATS_CACHE_FALSE_POSITIVE_PROBABILITY("hive.metastore.hbase.aggregate.stats.false.positive.probability",
    - (float) 0.01, "Maximum false positive probability for the Bloom Filter used in each aggregate stats cache node (default 1%)."),
    - METASTORE_HBASE_AGGREGATE_STATS_CACHE_MAX_VARIANCE("hive.metastore.hbase.aggregate.stats.max.variance", (float) 0.1,
    - "Maximum tolerable variance in number of partitions between a cached node and our request (default 10%)."),
    - METASTORE_HBASE_CACHE_TIME_TO_LIVE("hive.metastore.hbase.cache.ttl", "600s", new TimeValidator(TimeUnit.SECONDS),
    - "Number of seconds for a cached node to be active in the cache before they become stale."),
    - METASTORE_HBASE_CACHE_MAX_WRITER_WAIT("hive.metastore.hbase.cache.max.writer.wait", "5000ms", new TimeValidator(TimeUnit.MILLISECONDS),
    - "Number of milliseconds a writer will wait to acquire the writelock before giving up."),
    - METASTORE_HBASE_CACHE_MAX_READER_WAIT("hive.metastore.hbase.cache.max.reader.wait", "1000ms", new TimeValidator(TimeUnit.MILLISECONDS),
    - "Number of milliseconds a reader will wait to acquire the readlock before giving up."),
    - METASTORE_HBASE_CACHE_MAX_FULL("hive.metastore.hbase.cache.max.full", (float) 0.9,
    - "Maximum cache full % after which the cache cleaner thread kicks in."),
    - METASTORE_HBASE_CACHE_CLEAN_UNTIL("hive.metastore.hbase.cache.clean.until", (float) 0.8,
    - "The cleaner thread cleans until cache reaches this % full size."),
    - METASTORE_HBASE_CONNECTION_CLASS("hive.metastore.hbase.connection.class",
    - "org.apache.hadoop.hive.metastore.hbase.VanillaHBaseConnection",
    - "Class used to connection to HBase"),
    - METASTORE_HBASE_AGGR_STATS_CACHE_ENTRIES("hive.metastore.hbase.aggr.stats.cache.entries",
    - 10000, "How many in stats objects to cache in memory"),
    - METASTORE_HBASE_AGGR_STATS_MEMORY_TTL("hive.metastore.hbase.aggr.stats.memory.ttl", "60s",
    - new TimeValidator(TimeUnit.SECONDS),
    - "Number of seconds stats objects live in memory after they are read from HBase."),
    - METASTORE_HBASE_AGGR_STATS_INVALIDATOR_FREQUENCY(
    - "hive.metastore.hbase.aggr.stats.invalidator.frequency", "5s",
    - new TimeValidator(TimeUnit.SECONDS),
    - "How often the stats cache scans its HBase entries and looks for expired entries"),
    - METASTORE_HBASE_AGGR_STATS_HBASE_TTL("hive.metastore.hbase.aggr.stats.hbase.ttl", "604800s",
    - new TimeValidator(TimeUnit.SECONDS),
    - "Number of seconds stats entries live in HBase cache after they are created. They may be" +
    - " invalided by updates or partition drops before this. Default is one week."),
    -
    - METASTORETHRIFTCONNECTIONRETRIES("hive.metastore.connect.retries", 3,
    - "Number of retries while opening a connection to metastore"),
    - METASTORETHRIFTFAILURERETRIES("hive.metastore.failure.retries", 1,
    - "Number of retries upon failure of Thrift metastore calls"),
    - METASTORE_SERVER_PORT("hive.metastore.port", 9083, "Hive metastore listener port"),
    - METASTORE_CLIENT_CONNECT_RETRY_DELAY("hive.metastore.client.connect.retry.delay", "1s",
    - new TimeValidator(TimeUnit.SECONDS),
    - "Number of seconds for the client to wait between consecutive connection attempts"),
    - METASTORE_CLIENT_SOCKET_TIMEOUT("hive.metastore.client.socket.timeout", "600s",
    - new TimeValidator(TimeUnit.SECONDS),
    - "MetaStore Client socket timeout in seconds"),
    - METASTORE_CLIENT_SOCKET_LIFETIME("hive.metastore.client.socket.lifetime", "0s",
    - new TimeValidator(TimeUnit.SECONDS),
    - "MetaStore Client socket lifetime in seconds. After this time is exceeded, client\n" +
    - "reconnects on the next MetaStore operation. A value of 0s means the connection\n" +
    - "has an infinite lifetime."),
    - METASTOREPWD("javax.jdo.option.ConnectionPassword", "mine",
    - "password to use against metastore database"),
    - METASTORECONNECTURLHOOK("hive.metastore.ds.connection.url.hook", "",
    - "Name of the hook to use for retrieving the JDO connection URL. If empty, the value in javax.jdo.option.ConnectionURL is used"),
    - METASTOREMULTITHREADED("javax.jdo.option.Multithreaded", true,
    - "Set this to true if multiple threads access metastore through JDO concurrently."),
    - METASTORECONNECTURLKEY("javax.jdo.option.ConnectionURL",
    - "jdbc:derby:;databaseName=metastore_db;create=true",
    - "JDBC connect string for a JDBC metastore"),
    - HMSHANDLERATTEMPTS("hive.hmshandler.retry.attempts", 10,
    - "The number of times to retry a HMSHandler call if there were a connection error."),
    - HMSHANDLERINTERVAL("hive.hmshandler.retry.interval", "2000ms",
    - new TimeValidator(TimeUnit.MILLISECONDS), "The time between HMSHandler retry attempts on failure."),
    - HMSHANDLERFORCERELOADCONF("hive.hmshandler.force.reload.conf", false,
    - "Whether to force reloading of the HMSHandler configuration (including\n" +
    - "the connection URL, before the next metastore query that accesses the\n" +
    - "datastore. Once reloaded, this value is reset to false. Used for\n" +
    - "testing only."),
    - METASTORESERVERMAXMESSAGESIZE("hive.metastore.server.max.message.size", 100*1024*1024,
    - "Maximum message size in bytes a HMS will accept."),
    - METASTORESERVERMINTHREADS("hive.metastore.server.min.threads", 200,
    - "Minimum number of worker threads in the Thrift server's pool."),
    - METASTORESERVERMAXTHREADS("hive.metastore.server.max.threads", 1000,
    - "Maximum number of worker threads in the Thrift server's pool."),
    - METASTORE_TCP_KEEP_ALIVE("hive.metastore.server.tcp.keepalive", true,
    - "Whether to enable TCP keepalive for the metastore server. Keepalive will prevent accumulation of half-open connections."),
    -
    - METASTORE_INT_ORIGINAL("hive.metastore.archive.intermediate.original",
    - "_INTERMEDIATE_ORIGINAL",
    - "Intermediate dir suffixes used for archiving. Not important what they\n" +
    - "are, as long as collisions are avoided"),
    - METASTORE_INT_ARCHIVED("hive.metastore.archive.intermediate.archived",
    - "_INTERMEDIATE_ARCHIVED", ""),
    - METASTORE_INT_EXTRACTED("hive.metastore.archive.intermediate.extracted",
    - "_INTERMEDIATE_EXTRACTED", ""),
    - METASTORE_KERBEROS_KEYTAB_FILE("hive.metastore.kerberos.keytab.file", "",
    - "The path to the Kerberos Keytab file containing the metastore Thrift server's service principal."),
    - METASTORE_KERBEROS_PRINCIPAL("hive.metastore.kerberos.principal",
    - "hive-metastore/_HOST@EXAMPLE.COM",
    - "The service principal for the metastore Thrift server. \n" +
    - "The special string _HOST will be replaced automatically with the correct host name."),
    - METASTORE_USE_THRIFT_SASL("hive.metastore.sasl.enabled", false,
    - "If true, the metastore Thrift interface will be secured with SASL. Clients must authenticate with Kerberos."),
    - METASTORE_USE_THRIFT_FRAMED_TRANSPORT("hive.metastore.thrift.framed.transport.enabled", false,
    - "If true, the metastore Thrift interface will use TFramedTransport. When false (default) a standard TTransport is used."),
    - METASTORE_USE_THRIFT_COMPACT_PROTOCOL("hive.metastore.thrift.compact.protocol.enabled", false,
    - "If true, the metastore Thrift interface will use TCompactProtocol. When false (default) TBinaryProtocol will be used.\n" +
    - "Setting it to true will break compatibility with older clients running TBinaryProtocol."),
    - METASTORE_CLUSTER_DELEGATION_TOKEN_STORE_CLS("hive.cluster.delegation.token.store.class",
    - "org.apache.hadoop.hive.thrift.MemoryTokenStore",
    - "The delegation token store implementation. Set to org.apache.hadoop.hive.thrift.ZooKeeperTokenStore for load-balanced cluster."),
    - METASTORE_CLUSTER_DELEGATION_TOKEN_STORE_ZK_CONNECTSTR(
    - "hive.cluster.delegation.token.store.zookeeper.connectString", "",
    - "The ZooKeeper token store connect string. You can re-use the configuration value\n" +
    - "set in hive.zookeeper.quorum, by leaving this parameter unset."),
    - METASTORE_CLUSTER_DELEGATION_TOKEN_STORE_ZK_ZNODE(
    - "hive.cluster.delegation.token.store.zookeeper.znode", "/hivedelegation",
    - "The root path for token store data. Note that this is used by both HiveServer2 and\n" +
    - "MetaStore to store delegation Token. One directory gets created for each of them.\n" +
    - "The final directory names would have the servername appended to it (HIVESERVER2,\n" +
    - "METASTORE)."),
    - METASTORE_CLUSTER_DELEGATION_TOKEN_STORE_ZK_ACL(
    - "hive.cluster.delegation.token.store.zookeeper.acl", "",
    - "ACL for token store entries. Comma separated list of ACL entries. For example:\n" +
    - "sasl:hive/host1@MY.DOMAIN:cdrwa,sasl:hive/host2@MY.DOMAIN:cdrwa\n" +
    - "Defaults to all permissions for the hiveserver2/metastore process user."),
    - METASTORE_CACHE_PINOBJTYPES("hive.metastore.cache.pinobjtypes", "Table,StorageDescriptor,SerDeInfo,Partition,Database,Type,FieldSchema,Order",
    - "List of comma separated metastore object types that should be pinned in the cache"),
    - METASTORE_CONNECTION_POOLING_TYPE("datanucleus.connectionPoolingType", "BONECP",
    - "Specify connection pool library for datanucleus"),
    - METASTORE_VALIDATE_TABLES("datanucleus.validateTables", false,
    - "validates existing schema against code. turn this on if you want to verify existing schema"),
    - METASTORE_VALIDATE_COLUMNS("datanucleus.validateColumns", false,
    - "validates existing schema against code. turn this on if you want to verify existing schema"),
    - METASTORE_VALIDATE_CONSTRAINTS("datanucleus.validateConstraints", false,
    - "validates existing schema against code. turn this on if you want to verify existing schema"),
    - METASTORE_STORE_MANAGER_TYPE("datanucleus.storeManagerType", "rdbms", "metadata store type"),
    - METASTORE_AUTO_CREATE_SCHEMA("datanucleus.autoCreateSchema", true,
    - "creates necessary schema on a startup if one doesn't exist. set this to false, after creating it once"),
    - METASTORE_FIXED_DATASTORE("datanucleus.fixedDatastore", false, ""),
    - METASTORE_SCHEMA_VERIFICATION("hive.metastore.schema.verification", false,
    - "Enforce metastore schema version consistency.\n" +
    - "True: Verify that version information stored in metastore matches with one from Hive jars. Also disable automatic\n" +
    - " schema migration attempt. Users are required to manually migrate schema after Hive upgrade which ensures\n" +
    - " proper metastore schema migration. (Default)\n" +
    - "False: Warn if the version information stored in metastore doesn't match with one from in Hive jars."),
    - METASTORE_SCHEMA_VERIFICATION_RECORD_VERSION("hive.metastore.schema.verification.record.version", true,
    - "When true the current MS version is recorded in the VERSION table. If this is disabled and verification is\n" +
    - " enabled the MS will be unusable."),
    - METASTORE_AUTO_START_MECHANISM_MODE("datanucleus.autoStartMechanismMode", "checked",
    - "throw exception if metadata tables are incorrect"),
    - METASTORE_TRANSACTION_ISOLATION("datanucleus.transactionIsolation", "read-committed",
    - "Default transaction isolation level for identity generation."),
    - METASTORE_CACHE_LEVEL2("datanucleus.cache.level2", false,
    - "Use a level 2 cache. Turn this off if metadata is changed independently of Hive metastore server"),
    - METASTORE_CACHE_LEVEL2_TYPE("datanucleus.cache.level2.type", "none", ""),
    - METASTORE_IDENTIFIER_FACTORY("datanucleus.identifierFactory", "datanucleus1",
    - "Name of the identifier factory to use when generating table/column names etc. \n" +
    - "'datanucleus1' is used for backward compatibility with DataNucleus v1"),
    - METASTORE_USE_LEGACY_VALUE_STRATEGY("datanucleus.rdbms.useLegacyNativeValueStrategy", true, ""),
    - METASTORE_PLUGIN_REGISTRY_BUNDLE_CHECK("datanucleus.plugin.pluginRegistryBundleCheck", "LOG",
    - "Defines what happens when plugin bundles are found and are duplicated [EXCEPTION|LOG|NONE]"),
    - METASTORE_BATCH_RETRIEVE_MAX("hive.metastore.batch.retrieve.max", 300,
    - "Maximum number of objects (tables/partitions) can be retrieved from metastore in one batch. \n" +
    - "The higher the number, the less the number of round trips is needed to the Hive metastore server, \n" +
    - "but it may also cause higher memory requirement at the client side."),
    - METASTORE_BATCH_RETRIEVE_OBJECTS_MAX(
    - "hive.metastore.batch.retrieve.table.partition.max", 1000,
    - "Maximum number of objects that metastore internally retrieves in one batch."),
    -
    - METASTORE_INIT_HOOKS("hive.metastore.init.hooks", "",
    - "A comma separated list of hooks to be invoked at the beginning of HMSHandler initialization. \n" +
    - "An init hook is specified as the name of Java class which extends org.apache.hadoop.hive.metastore.MetaStoreInitListener."),
    - METASTORE_PRE_EVENT_LISTENERS("hive.metastore.pre.event.listeners", "",
    - "List of comma separated listeners for metastore events."),
    - METASTORE_EVENT_LISTENERS("hive.metastore.event.listeners", "", ""),
    - METASTORE_EVENT_DB_LISTENER_TTL("hive.metastore.event.db.listener.timetolive", "86400s",
    - new TimeValidator(TimeUnit.SECONDS),
    - "time after which events will be removed from the database listener queue"),
    - METASTORE_AUTHORIZATION_STORAGE_AUTH_CHECKS("hive.metastore.authorization.storage.checks", false,
    - "Should the metastore do authorization checks against the underlying storage (usually hdfs) \n" +
    - "for operations like drop-partition (disallow the drop-partition if the user in\n" +
    - "question doesn't have permissions to delete the corresponding directory\n" +
    - "on the storage)."),
    - METASTORE_EVENT_CLEAN_FREQ("hive.metastore.event.clean.freq", "0s",
    - new TimeValidator(TimeUnit.SECONDS),
    - "Frequency at which timer task runs to purge expired events in metastore."),
    - METASTORE_EVENT_EXPIRY_DURATION("hive.metastore.event.expiry.duration", "0s",
    - new TimeValidator(TimeUnit.SECONDS),
    - "Duration after which events expire from events table"),
    - METASTORE_EXECUTE_SET_UGI("hive.metastore.execute.setugi", true,
    - "In unsecure mode, setting this property to true will cause the metastore to execute DFS operations using \n" +
    - "the client's reported user and group permissions. Note that this property must be set on \n" +
    - "both the client and server sides. Further note that its best effort. \n" +
    - "If client sets its to true and server sets it to false, client setting will be ignored."),
    - METASTORE_PARTITION_NAME_WHITELIST_PATTERN("hive.metastore.partition.name.whitelist.pattern", "",
    - "Partition names will be checked against this regex pattern and rejected if not matched."),
    -
    - METASTORE_INTEGER_JDO_PUSHDOWN("hive.metastore.integral.jdo.pushdown", false,
    - "Allow JDO query pushdown for integral partition columns in metastore. Off by default. This\n" +
    - "improves metastore perf for integral columns, especially if there's a large number of partitions.\n" +
    - "However, it doesn't work correctly with integral values that are not normalized (e.g. have\n" +
    - "leading zeroes, like 0012). If metastore direct SQL is enabled and works, this optimization\n" +
    - "is also irrelevant."),
    - METASTORE_TRY_DIRECT_SQL("hive.metastore.try.direct.sql", true,
    - "Whether the Hive metastore should try to use direct SQL queries instead of the\n" +
    - "DataNucleus for certain read paths. This can improve metastore performance when\n" +
    - "fetching many partitions or column statistics by orders of magnitude; however, it\n" +
    - "is not guaranteed to work on all RDBMS-es and all versions. In case of SQL failures,\n" +
    - "the metastore will fall back to the DataNucleus, so it's safe even if SQL doesn't\n" +
    - "work for all queries on your datastore. If all SQL queries fail (for example, your\n" +
    - "metastore is backed by MongoDB), you might want to disable this to save the\n" +
    - "try-and-fall-back cost."),
    - METASTORE_DIRECT_SQL_PARTITION_BATCH_SIZE("hive.metastore.direct.sql.batch.size", 0,
    - "Batch size for partition and other object retrieval from the underlying DB in direct\n" +
    - "SQL. For some DBs like Oracle and MSSQL, there are hardcoded or perf-based limitations\n" +
    - "that necessitate this. For DBs that can handle the queries, this isn't necessary and\n" +
    - "may impede performance. -1 means no batching, 0 means automatic batching."),
    - METASTORE_TRY_DIRECT_SQL_DDL("hive.metastore.try.direct.sql.ddl", true,
    - "Same as hive.metastore.try.direct.sql, for read statements within a transaction that\n" +
    - "modifies metastore data. Due to non-standard behavior in Postgres, if a direct SQL\n" +
    - "select query has incorrect syntax or something similar inside a transaction, the\n" +
    - "entire transaction will fail and fall-back to DataNucleus will not be possible. You\n" +
    - "should disable the usage of direct SQL inside transactions if that happens in your case."),
    - METASTORE_ORM_RETRIEVE_MAPNULLS_AS_EMPTY_STRINGS("hive.metastore.orm.retrieveMapNullsAsEmptyStrings",false,
    - "Thrift does not support nulls in maps, so any nulls present in maps retrieved from ORM must " +
    - "either be pruned or converted to empty strings. Some backing dbs such as Oracle persist empty strings " +
    - "as nulls, so we should set this parameter if we wish to reverse that behaviour. For others, " +
    - "pruning is the correct behaviour"),
    - METASTORE_DISALLOW_INCOMPATIBLE_COL_TYPE_CHANGES(
    - "hive.metastore.disallow.incompatible.col.type.changes", false,
    - "If true (default is false), ALTER TABLE operations which change the type of a\n" +
    - "column (say STRING) to an incompatible type (say MAP) are disallowed.\n" +
    - "RCFile default SerDe (ColumnarSerDe) serializes the values in such a way that the\n" +
    - "datatypes can be converted from string to any type. The map is also serialized as\n" +
    - "a string, which can be read as a string as well. However, with any binary\n" +
    - "serialization, this is not true. Blocking the ALTER TABLE prevents ClassCastExceptions\n" +
    - "when subsequently trying to access old partitions.\n" +
    - "\n" +
    - "Primitive types like INT, STRING, BIGINT, etc., are compatible with each other and are\n" +
    - "not blocked.\n" +
    - "\n" +
    - "See HIVE-4409 for more details."),
    -
    - NEWTABLEDEFAULTPARA("hive.table.parameters.default", "",
    - "Default property values for newly created tables"),
    - DDL_CTL_PARAMETERS_WHITELIST("hive.ddl.createtablelike.properties.whitelist", "",
    - "Table Properties to copy over when executing a Create Table Like."),
    - METASTORE_RAW_STORE_IMPL("hive.metastore.rawstore.impl", "org.apache.hadoop.hive.metastore.ObjectStore",
    - "Name of the class that implements org.apache.hadoop.hive.metastore.rawstore interface. \n" +
    - "This class is used to store and retrieval of raw metadata objects such as table, database"),
    - METASTORE_CONNECTION_DRIVER("javax.jdo.option.ConnectionDriverName", "org.apache.derby.jdbc.EmbeddedDriver",
    - "Driver class name for a JDBC metastore"),
    - METASTORE_MANAGER_FACTORY_CLASS("javax.jdo.PersistenceManagerFactoryClass",
    - "org.datanucleus.api.jdo.JDOPersistenceManagerFactory",
    - "class implementing the jdo persistence"),
    - METASTORE_EXPRESSION_PROXY_CLASS("hive.metastore.expression.proxy",
    - "org.apache.hadoop.hive.ql.optimizer.ppr.PartitionExpressionForMetastore", ""),
    - METASTORE_DETACH_ALL_ON_COMMIT("javax.jdo.option.DetachAllOnCommit", true,
    - "Detaches all objects from session so that they can be used after transaction is committed"),
    - METASTORE_NON_TRANSACTIONAL_READ("javax.jdo.option.NonTransactionalRead", true,
    - "Reads outside of transactions"),
    - METASTORE_CONNECTION_USER_NAME("javax.jdo.option.ConnectionUserName", "APP",
    - "Username to use against metastore database"),
    - METASTORE_END_FUNCTION_LISTENERS("hive.metastore.end.function.listeners", "",
    - "List of comma separated listeners for the end of metastore functions."),
    - METASTORE_PART_INHERIT_TBL_PROPS("hive.metastore.partition.inherit.table.properties", "",
    - "List of comma separated keys occurring in table properties which will get inherited to newly created partitions. \n" +
    - "* implies all the keys will get inherited."),
    - METASTORE_FILTER_HOOK("hive.metastore.filter.hook", "org.apache.hadoop.hive.metastore.DefaultMetaStoreFilterHookImpl",
    - "Metastore hook class for filtering the metadata read results. If hive.security.authorization.manager"
    - + "is set to instance of HiveAuthorizerFactory, then this value is ignored."),
    - FIRE_EVENTS_FOR_DML("hive.metastore.dml.events", false, "If true, the metastore will be asked" +
    - " to fire events for DML operations"),
    - METASTORE_CLIENT_DROP_PARTITIONS_WITH_EXPRESSIONS("hive.metastore.client.drop.partitions.using.expressions", true,
    - "Choose whether dropping partitions with HCatClient pushes the partition-predicate to the metastore, " +
    - "or drops partitions iteratively"),
    -
    - METASTORE_AGGREGATE_STATS_CACHE_ENABLED("hive.metastore.aggregate.stats.cache.enabled", true,
    - "Whether aggregate stats caching is enabled or not."),
    - METASTORE_AGGREGATE_STATS_CACHE_SIZE("hive.metastore.aggregate.stats.cache.size", 10000,
    - "Maximum number of aggregate stats nodes that we will place in the metastore aggregate stats cache."),
    - METASTORE_AGGREGATE_STATS_CACHE_MAX_PARTITIONS("hive.metastore.aggregate.stats.cache.max.partitions", 10000,
    - "Maximum number of partitions that are aggregated per cache node."),
    - METASTORE_AGGREGATE_STATS_CACHE_FPP("hive.metastore.aggregate.stats.cache.fpp", (float) 0.01,
    - "Maximum false positive probability for the Bloom Filter used in each aggregate stats cache node (default 1%)."),
    - METASTORE_AGGREGATE_STATS_CACHE_MAX_VARIANCE("hive.metastore.aggregate.stats.cache.max.variance", (float) 0.01,
    - "Maximum tolerable variance in number of partitions between a cached node and our request (default 1%)."),
    - METASTORE_AGGREGATE_STATS_CACHE_TTL("hive.metastore.aggregate.stats.cache.ttl", "600s", new TimeValidator(TimeUnit.SECONDS),
    - "Number of seconds for a cached node to be active in the cache before they become stale."),
    - METASTORE_AGGREGATE_STATS_CACHE_MAX_WRITER_WAIT("hive.metastore.aggregate.stats.cache.max.writer.wait", "5000ms",
    - new TimeValidator(TimeUnit.MILLISECONDS),
    - "Number of milliseconds a writer will wait to acquire the writelock before giving up."),
    - METASTORE_AGGREGATE_STATS_CACHE_MAX_READER_WAIT("hive.metastore.aggregate.stats.cache.max.reader.wait", "1000ms",
    - new TimeValidator(TimeUnit.MILLISECONDS),
    - "Number of milliseconds a reader will wait to acquire the readlock before giving up."),
    - METASTORE_AGGREGATE_STATS_CACHE_MAX_FULL("hive.metastore.aggregate.stats.cache.max.full", (float) 0.9,
    - "Maximum cache full % after which the cache cleaner thread kicks in."),
    - METASTORE_AGGREGATE_STATS_CACHE_CLEAN_UNTIL("hive.metastore.aggregate.stats.cache.clean.until", (float) 0.8,
    - "The cleaner thread cleans until cache reaches this % full size."),
    - METASTORE_METRICS("hive.metastore.metrics.enabled", false, "Enable metrics on the metastore."),
    -
    - // Parameters for exporting metadata on table drop (requires the use of the)
    - // org.apache.hadoop.hive.ql.parse.MetaDataExportListener preevent listener
    - METADATA_EXPORT_LOCATION("hive.metadata.export.location", "",
    - "When used in conjunction with the org.apache.hadoop.hive.ql.parse.MetaDataExportListener pre event listener, \n" +
    - "it is the location to which the metadata will be exported. The default is an empty string, which results in the \n" +
    - "metadata being exported to the current user's home directory on HDFS."),
    - MOVE_EXPORTED_METADATA_TO_TRASH("hive.metadata.move.exported.metadata.to.trash", true,
    - "When used in conjunction with the org.apache.hadoop.hive.ql.parse.MetaDataExportListener pre event listener, \n" +
    - "this setting determines if the metadata that is exported will subsequently be moved to the user's trash directory \n" +
    - "alongside the dropped table data. This ensures that the metadata will be cleaned up along with the dropped table data."),
    -
    - // CLI
    - CLIIGNOREERRORS("hive.cli.errors.ignore", false, ""),
    - CLIPRINTCURRENTDB("hive.cli.print.current.db", false,
    - "Whether to include the current database in the Hive prompt."),
    - CLIPROMPT("hive.cli.prompt", "hive",
    - "Command line prompt configuration value. Other hiveconf can be used in this configuration value. \n" +
    - "Variable substitution will only be invoked at the Hive CLI startup."),
    - CLIPRETTYOUTPUTNUMCOLS("hive.cli.pretty.output.num.cols", -1,
    - "The number of columns to use when formatting output generated by the DESCRIBE PRETTY table_name command.\n" +
    - "If the value of this property is -1, then Hive will use the auto-detected terminal width."),
    -
    - HIVE_METASTORE_FS_HANDLER_CLS("hive.metastore.fs.handler.class", "org.apache.hadoop.hive.metastore.HiveMetaStoreFsImpl", ""),
    -
    - // Things we log in the jobconf
    -
    - // session identifier
    - HIVESESSIONID("hive.session.id", "", ""),
    - // whether session is running in silent mode or not
    - HIVESESSIONSILENT("hive.session.silent", false, ""),
    -
    - HIVE_SESSION_HISTORY_ENABLED("hive.session.history.enabled", false,
    - "Whether to log Hive query, query plan, runtime statistics etc."),
    -
    - HIVEQUERYSTRING("hive.query.string", "",
    - "Query being executed (might be multiple per a session)"),
    -
    - HIVEQUERYID("hive.query.id", "",
    - "ID for query being executed (might be multiple per a session)"),
    -
    - HIVEJOBNAMELENGTH("hive.jobname.length", 50, "max jobname length"),
    -
    - // hive jar
    - HIVEJAR("hive.jar.path", "",
    - "The location of hive_cli.jar that is used when submitting jobs in a separate jvm."),
    - HIVEAUXJARS("hive.aux.jars.path", "",
    - "The location of the plugin jars that contain implementations of user defined functions and serdes."),
    -
    - // reloadable jars
    - HIVERELOADABLEJARS("hive.reloadable.aux.jars.path", "",
    - "Jars can be renewed by executing reload command. And these jars can be "
    - + "used as the auxiliary classes like creating a UDF or SerDe."),
    -
    - // hive added files and jars
    - HIVEADDEDFILES("hive.added.files.path", "", "This an internal parameter."),
    - HIVEADDEDJARS("hive.added.jars.path", "", "This an internal parameter."),
    - HIVEADDEDARCHIVES("hive.added.archives.path", "", "This an internal parameter."),
    -
    - HIVE_CURRENT_DATABASE("hive.current.database", "", "Database name used by current session. Internal usage only.", true),
    -
    - // for hive script operator
    - HIVES_AUTO_PROGRESS_TIMEOUT("hive.auto.progress.timeout", "0s",
    - new TimeValidator(TimeUnit.SECONDS),
    - "How long to run autoprogressor for the script/UDTF operators.\n" +
    - "Set to 0 for forever."),
    - HIVESCRIPTAUTOPROGRESS("hive.script.auto.progress", false,
    - "Whether Hive Transform/Map/Reduce Clause should automatically send progress information to TaskTracker \n" +
    - "to avoid the task getting killed because of inactivity. Hive sends progress information when the script is \n" +
    - "outputting to stderr. This option removes the need of periodically producing stderr messages, \n" +
    - "but users should be cautious because this may prevent infinite loops in the scripts to be killed by TaskTracker."),
    - HIVESCRIPTIDENVVAR("hive.script.operator.id.env.var", "HIVE_SCRIPT_OPERATOR_ID",
    - "Name of the environment variable that holds the unique script operator ID in the user's \n" +
    - "transform function (the custom mapper/reducer that the user has specified in the query)"),
    - HIVESCRIPTTRUNCATEENV("hive.script.operator.truncate.env", false,
    - "Truncate each environment variable for external script in scripts operator to 20KB (to fit system limits)"),
    - HIVESCRIPT_ENV_BLACKLIST("hive.script.operator.env.blacklist",
    - "hive.txn.valid.txns,hive.script.operator.env.blacklist",
    - "Comma separated list of keys from the configuration file not to convert to environment " +
    - "variables when envoking the script operator"),
    - HIVEMAPREDMODE("hive.mapred.mode", "nonstrict",
    - "The mode in which the Hive operations are being performed. \n" +
    - "In strict mode, some risky queries are not allowed to run. They include:\n" +
    - " Cartesian Product.\n" +
    - " No partition being picked up for a query.\n" +
    - " Comparing bigints and strings.\n" +
    - " Comparing bigints and doubles.\n" +
    - " Orderby without limit."),
    - HIVEALIAS("hive.alias", "", ""),
    - HIVEMAPSIDEAGGREGATE("hive.map.aggr", true, "Whether to use map-side aggregation in Hive Group By queries"),
    - HIVEGROUPBYSKEW("hive.groupby.skewindata", false, "Whether there is skew in data to optimize group by queries"),
    - HIVEJOINEMITINTERVAL("hive.join.emit.interval", 1000,
    - "How many rows in the right-most join operand Hive should buffer before emitting the join result."),
    - HIVEJOINCACHESIZE("hive.join.cache.size", 25000,
    - "How many rows in the joining tables (except the streaming table) should be cached in memory."),
    -
    - // CBO related
    - HIVE_CBO_ENABLED("hive.cbo.enable", true, "Flag to control enabling Cost Based Optimizations using Calcite framework."),
    - HIVE_CBO_RETPATH_HIVEOP("hive.cbo.returnpath.hiveop", false, "Flag to control calcite plan to hive operator conversion"),
    - HIVE_CBO_EXTENDED_COST_MODEL("hive.cbo.costmodel.extended", false, "Flag to control enabling the extended cost model based on"
    - + "CPU, IO and cardinality. Otherwise, the cost model is based on cardinality."),
    - HIVE_CBO_COST_MODEL_CPU("hive.cbo.costmodel.cpu", "0.000001", "Default cost of a comparison"),
    - HIVE_CBO_COST_MODEL_NET("hive.cbo.costmodel.network", "150.0", "Default cost of a transfering a byte over network;"
    - + " expressed as multiple of CPU cost"),
    - HIVE_CBO_COST_MODEL_LFS_WRITE("hive.cbo.costmodel.local.fs.write", "4.0", "Default cost of writing a byte to local FS;"
    - + " expressed as multiple of NETWORK cost"),
    - HIVE_CBO_COST_MODEL_LFS_READ("hive.cbo.costmodel.local.fs.read", "4.0", "Default cost of reading a byte from local FS;"
    - + " expressed as multiple of NETWORK cost"),
    - HIVE_CBO_COST_MODEL_HDFS_WRITE("hive.cbo.costmodel.hdfs.write", "10.0", "Default cost of writing a byte to HDFS;"
    - + " expressed as multiple of Local FS write cost"),
    - HIVE_CBO_COST_MODEL_HDFS_READ("hive.cbo.costmodel.hdfs.read", "1.5", "Default cost of reading a byte from HDFS;"
    - + " expressed as multiple of Local FS read cost"),
    - AGGR_JOIN_TRANSPOSE("hive.transpose.aggr.join", false, "push aggregates through join"),
    -
    - // hive.mapjoin.bucket.cache.size has been replaced by hive.smbjoin.cache.row,
    - // need to remove by hive .13. Also, do not change default (see SMB operator)
    - HIVEMAPJOINBUCKETCACHESIZE("hive.mapjoin.bucket.cache.size", 100, ""),
    -
    - HIVEMAPJOINUSEOPTIMIZEDTABLE("hive.mapjoin.optimized.hashtable", true,
    - "Whether Hive should use memory-optimized hash table for MapJoin. Only works on Tez,\n" +
    - "because memory-optimized hashtable cannot be serialized."),
    - HIVEMAPJOINOPTIMIZEDTABLEPROBEPERCENT("hive.mapjoin.optimized.hashtable.probe.percent",
    - (float) 0.5, "Probing space percentage of the optimized hashtable"),
    - HIVEUSEHYBRIDGRACEHASHJOIN("hive.mapjoin.hybridgrace.hashtable", true, "Whether to use hybrid" +
    - "grace hash join as the join method for mapjoin. Tez only."),
    - HIVEHYBRIDGRACEHASHJOINMEMCHECKFREQ("hive.mapjoin.hybridgrace.memcheckfrequency", 1024, "For " +
    - "hybrid grace hash join, how often (how many rows apart) we check if memory is full. " +
    - "This number should be power of 2."),
    - HIVEHYBRIDGRACEHASHJOINMINWBSIZE("hive.mapjoin.hybridgrace.minwbsize", 524288, "For hybrid grace" +
    - "Hash join, the minimum write buffer size used by optimized hashtable. Default is 512 KB."),
    - HIVEHYBRIDGRACEHASHJOINMINNUMPARTITIONS("hive.mapjoin.hybridgrace.minnumpartitions", 16, "For" +
    - "Hybrid grace hash join, the minimum number of partitions to create."),
    - HIVEHASHTABLEWBSIZE("hive.mapjoin.optimized.hashtable.wbsize", 8 * 1024 * 1024,
    - "Optimized hashtable (see hive.mapjoin.optimized.hashtable) uses a chain of buffers to\n" +
    - "store data. This is one buffer size. HT may be slightly faster if this is larger, but for small\n" +
    - "joins unnecessary memory will be allocated and then trimmed."),
    -
    - HIVESMBJOINCACHEROWS("hive.smbjoin.cache.rows", 10000,
    - "How many rows with the same key value should be cached in memory per smb joined table."),
    - HIVEGROUPBYMAPINTERVAL("hive.groupby.mapaggr.checkinterval", 100000,
    - "Number of rows after which size of the grouping keys/aggregation classes is performed"),
    - HIVEMAPAGGRHASHMEMORY("hive.map.aggr.hash.percentmemory", (float) 0.5,
    - "Portion of total memory to be used by map-side group aggregation hash table"),
    - HIVEMAPJOINFOLLOWEDBYMAPAGGRHASHMEMORY("hive.mapjoin.followby.map.aggr.hash.percentmemory", (float) 0.3,
    - "Portion of total memory to be used by map-side group aggregation hash table, when this group by is followed by map join"),
    - HIVEMAPAGGRMEMORYTHRESHOLD("hive.map.aggr.hash.force.flush.memory.threshold", (float) 0.9,
    - "The max memory to be used by map-side group aggregation hash table.\n" +
    - "If the memory usage is higher than this number, force to flush data"),
    - HIVEMAPAGGRHASHMINREDUCTION("hive.map.aggr.hash.min.reduction", (float) 0.5,
    - "Hash aggregation will be turned off if the ratio between hash table size and input rows is bigger than this number. \n" +
    - "Set to 1 to make sure hash aggregation is never turned off."),
    - HIVEMULTIGROUPBYSINGLEREDUCER("hive.multigroupby.singlereducer", true,
    - "Whether to optimize multi group by query to generate single M/R job plan. If the multi group by query has \n" +
    - "common group by keys, it will be optimized to generate single M/R job."),
    - HIVE_MAP_GROUPBY_SORT("hive.map.groupby.sorted", false,
    - "If the bucketing/sorting properties of the table exactly match the grouping key, whether to perform \n" +
    - "the group by in the mapper by using BucketizedHiveInputFormat. The only downside to this\n" +
    - "is that it limits the number of mappers to the number of files."),
    - HIVE_MAP_GROUPBY_SORT_TESTMODE("hive.map.groupby.sorted.testmode", false,
    - "If the bucketing/sorting properties of the table exactly match the grouping key, whether to perform \n" +
    - "the group by in the mapper by using BucketizedHiveInputFormat. If the test mode is set, the plan\n" +
    - "is not converted, but a query property is set to denote the same."),
    - HIVE_GROUPBY_ORDERBY_POSITION_ALIAS("hive.groupby.orderby.position.alias", false,
    - "Whether to enable using Column Position Alias in Group By or Order By"),
    - HIVE_NEW_JOB_GROUPING_SET_CARDINALITY("hive.new.job.grouping.set.cardinality", 30,
    - "Whether a new map-reduce job should be launched for grouping sets/rollups/cubes.\n" +
    - "For a query like: select a, b, c, count(1) from T group by a, b, c with rollup;\n" +
    - "4 rows are created per row: (a, b, c), (a, b, null), (a, null, null), (null, null, null).\n" +
    - "This can lead to explosion across map-reduce boundary if the cardinality of T is very high,\n" +
    - "and map-side aggregation does not do a very good job. \n" +
    - "\n" +
    - "This parameter decides if Hive should add an additional map-reduce job. If the grouping set\n" +
    - "cardinality (4 in the example above), is more than this value, a new MR job is added under the\n" +
    - "assumption that the original group by will reduce the data size."),
    -
    - // Max filesize used to do a single copy (after that, distcp is used)
    - HIVE_EXEC_COPYFILE_MAXSIZE("hive.exec.copyfile.maxsize", 32L * 1024 * 1024 /*32M*/,
    - "Maximum file size (in Mb) that Hive uses to do single HDFS copies between directories." +
    - "Distributed copies (distcp) will be used instead for bigger files so that copies can be done faster."),
    -
    - // for hive udtf operator
    - HIVEUDTFAUTOPROGRESS("hive.udtf.auto.progress", false,
    - "Whether Hive should automatically send progress information to TaskTracker \n" +
    - "when using UDTF's to prevent the task getting killed because of inactivity. Users should be cautious \n" +
    - "because this may prevent TaskTracker from killing tasks with infinite loops."),
    -
    - HIVEDEFAULTFILEFORMAT("hive.default.fileformat", "TextFile", new StringSet("TextFile", "SequenceFile", "RCfile", "ORC"),
    - "Default file format for CREATE TABLE statement. Users can explicitly override it by CREATE TABLE ... STORED AS [FORMAT]"),
    - HIVEDEFAULTMANAGEDFILEFORMAT("hive.default.fileformat.managed", "none",
    - new StringSet("none", "TextFile", "SequenceFile", "RCfile", "ORC"),
    - "Default file format for CREATE TABLE statement applied to managed tables only. External tables will be \n" +
    - "created with format specified by hive.default.fileformat. Leaving this null will result in using hive.default.fileformat \n" +
    - "for all tables."),
    - HIVEQUERYRESULTFILEFORMAT("hive.query.result.fileformat", "TextFile", new StringSet("TextFile", "SequenceFile", "RCfile"),
    - "Default file format for storing result of the query."),
    - HIVECHECKFILEFORMAT("hive.fileformat.check", true, "Whether to check file format or not when loading data files"),
    -
    - // default serde for rcfile
    - HIVEDEFAULTRCFILESERDE("hive.default.rcfile.serde",
    - "org.apache.hadoop.hive.serde2.columnar.LazyBinaryColumnarSerDe",
    - "The default SerDe Hive will use for the RCFile format"),
    -
    - HIVEDEFAULTSERDE("hive.default.serde",
    - "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe",
    - "The default SerDe Hive will use for storage formats that do not specify a SerDe."),
    -
    - SERDESUSINGMETASTOREFORSCHEMA("hive.serdes.using.metastore.for.schema",
    - "org.apache.hadoop.hive.ql.io.orc.OrcSerde," +
    - "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe," +
    - "org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe," +
    - "org.apache.hadoop.hive.serde2.dynamic_type.DynamicSerDe," +
    - "org.apache.hadoop.hive.serde2.MetadataTypedColumnsetSerDe," +
    - "org.apache.hadoop.hive.serde2.columnar.LazyBinaryColumnarSerDe," +
    - "org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe," +
    - "org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe",
    - "SerDes retrieving schema from metastore. This is an internal parameter."),
    -
    - HIVEHISTORYFILELOC("hive.querylog.location",
    - "${system:java.io.tmpdir}" + File.separator + "${system:user.name}",
    - "Location of Hive run time structured log file"),
    -
    - HIVE_LOG_INCREMENTAL_PLAN_PROGRESS("hive.querylog.enable.plan.progress", true,
    - "Whether to log the plan's progress every time a job's progress is checked.\n" +
    - "These logs are written to the location specified by hive.querylog.location"),
    -
    - HIVE_LOG_INCREMENTAL_PLAN_PROGRESS_INTERVAL("hive.querylog.plan.progress.interval", "60000ms",
    - new TimeValidator(TimeUnit.MILLISECONDS),
    - "The interval to wait between logging the plan's progress.\n" +
    - "If there is a whole number percentage change in the progress of the mappers or the reducers,\n" +
    - "the progress is logged regardless of this value.\n" +
    - "The actual interval will be the ceiling of (this value divided by the value of\n" +
    - "hive.exec.counters.pull.interval) multiplied by the value of hive.exec.counters.pull.interval\n" +
    - "I.e. if it is not divide evenly by the value of hive.exec.counters.pull.interval it will be\n" +
    - "logged less frequently than specified.\n" +
    - "This only has an effect if hive.querylog.enable.plan.progress is set to true."),
    -
    - HIVESCRIPTSERDE("hive.script.serde", "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe",
    - "The default SerDe for transmitting input data to and reading output data from the user scripts. "),
    - HIVESCRIPTRECORDREADER("hive.script.recordreader",
    - "org.apache.hadoop.hive.ql.exec.TextRecordReader",
    - "The default record reader for reading data from the user scripts. "),
    - HIVESCRIPTRECORDWRITER("hive.script.recordwriter",
    - "org.apache.hadoop.hive.ql.exec.TextRecordWriter",
    - "The default record writer for writing data to the user scripts. "),
    - HIVESCRIPTESCAPE("hive.transform.escape.input", false,
    - "This adds an option to escape special chars (newlines, carriage returns and\n" +
    - "tabs) when they are passed to the user script. This is useful if the Hive tables\n" +
    - "can contain data that contains special characters."),
    - HIVEBINARYRECORDMAX("hive.binary.record.max.length", 1000,
    - "Read from a binary stream and treat each hive.binary.record.max.length bytes as a record. \n" +
    - "The last record before the end of stream can have less than hive.binary.record.max.length bytes"),
    -
    - // HWI
    - HIVEHWILISTENHOST("hive.hwi.listen.host", "0.0.0.0", "This is the host address the Hive Web Interface will listen on"),
    - HIVEHWILISTENPORT("hive.hwi.listen.port", "9999", "This is the port the Hive Web Interface will listen on"),
    - HIVEHWIWARFILE("hive.hwi.war.file", "${env:HWI_WAR_FILE}",
    - "This sets the path to the HWI war file, relative to ${HIVE_HOME}. "),
    -
    - HIVEHADOOPMAXMEM("hive.mapred.local.mem", 0, "mapper/reducer memory in local mode"),
    -
    - //small table file size
    - HIVESMALLTABLESFILESIZE("hive.mapjoin.smalltable.filesize", 25000000L,
    - "The threshold for the input file size of the small tables; if the file size is smaller \n" +
    - "than this threshold, it will try to convert the common join into map join"),
    -
    - HIVESAMPLERANDOMNUM("hive.sample.seednumber", 0,
    - "A number used to percentage sampling. By changing this number, user will change the subsets of data sampled."),
    -
    - // test mode in hive mode
    - HIVETESTMODE("hive.test.mode", false,
    - "Whether Hive is running in test mode. If yes, it turns on sampling and prefixes the output tablename.",
    - false),
    - HIVETESTMODEPREFIX("hive.test.mode.prefix", "test_",
    - "In test mode, specfies prefixes for the output table", false),
    - HIVETESTMODESAMPLEFREQ("hive.test.mode.samplefreq", 32,
    - "In test mode, specfies sampling frequency for table, which is not bucketed,\n" +
    - "For example, the following query:\n" +
    - " INSERT OVERWRITE TABLE dest SELECT col1 from src\n" +
    - "would be converted to\n" +
    - " INSERT OVERWRITE TABLE test_dest\n" +
    - " SELECT col1 from src TABLESAMPLE (BUCKET 1 out of 32 on rand(1))", false),
    - HIVETESTMODENOSAMPLE("hive.test.mode.nosamplelist", "",
    - "In test mode, specifies comma separated table names which would not apply sampling", false),
    - HIVETESTMODEDUMMYSTATAGGR("hive.test.dummystats.aggregator", "", "internal variable for test", false),
    - HIVETESTMODEDUMMYSTATPUB("hive.test.dummystats.publisher", "", "internal variable for test", false),
    - HIVETESTCURRENTTIMESTAMP("hive.test.currenttimestamp", null, "current timestamp for test", false),
    -
    - HIVEMERGEMAPFILES("hive.merge.mapfiles", true,
    - "Merge small files at the end of a map-only job"),
    - HIVEMERGEMAPREDFILES("hive.merge.mapredfiles", false,
    - "Merge small files at the end of a map-reduce job"),
    - HIVEMERGETEZFILES("hive.merge.tezfiles", false, "Merge small files at the end of a Tez DAG"),
    - HIVEMERGESPARKFILES("hive.merge.sparkfiles", false, "Merge small files at the end of a Spark DAG Transformation"),
    - HIVEMERGEMAPFILESSIZE("hive.merge.size.per.task", (long) (256 * 1000 * 1000),
    - "Size of merged files at the end of the job"),
    - HIVEMERGEMAPFILESAVGSIZE("hive.merge.smallfiles.avgsize", (long) (16 * 1000 * 1000),
    - "When the average output file size of a job is less than this number, Hive will start an additional \n" +
    - "map-reduce job to merge the output files into bigger files. This is only done for map-only jobs \n" +
    - "if hive.merge.mapfiles is true, and for map-reduce jobs if hive.merge.mapredfiles is true."),
    - HIVEMERGERCFILEBLOCKLEVEL("hive.merge.rcfile.block.level", true, ""),
    - HIVEMERGEORCFILESTRIPELEVEL("hive.merge.orcfile.stripe.level", true,
    - "When hive.merge.mapfiles, hive.merge.mapredfiles or hive.merge.tezfiles is enabled\n" +
    - "while writing a table with ORC file format, enabling this config will do stripe-level\n" +
    - "fast merge for small ORC files. Note that enabling this config will not honor the\n" +
    - "padding tolerance config (hive.exec.orc.block.padding.tolerance)."),
    -
    - HIVEUSEEXPLICITRCFILEHEADER("hive.exec.rcfile.use.explicit.header", true,
    - "If this is set the header for RCFiles will simply be RCF. If this is not\n" +
    - "set the header will be that borrowed from sequence files, e.g. SEQ- followed\n" +
    - "by the input and output RCFile formats."),
    - HIVEUSERCFILESYNCCACHE("hive.exec.rcfile.use.sync.cache", true, ""),
    -
    - HIVE_RCFILE_RECORD_INTERVAL("hive.io.rcfile.record.interval", Integer.MAX_VALUE, ""),
    - HIVE_RCFILE_COLUMN_NUMBER_CONF("hive.io.rcfile.column.number.conf", 0, ""),
    - HIVE_RCFILE_TOLERATE_CORRUPTIONS("hive.io.rcfile.tolerate.corruptions", false, ""),
    - HIVE_RCFILE_RECORD_BUFFER_SIZE("hive.io.rcfile.record.buffer.size", 4194304, ""), // 4M
    -
    - PARQUET_MEMORY_POOL_RATIO("parquet.memory.pool.ratio", 0.5f,
    - "Maximum fraction of heap that can be used by Parquet file writers in one task.\n" +
    - "It is for avoiding OutOfMemory error in tasks. Work with Parquet 1.6.0 and above.\n" +
    - "This config parameter is defined in Parquet, so that it does not start with 'hive.'."),
    - HIVE_PARQUET_TIMESTAMP_SKIP_CONVERSION("hive.parquet.timestamp.skip.conversion", true,
    - "Current Hive implementation of parquet stores timestamps to UTC, this flag allows skipping of the conversion" +
    - "on reading parquet files from other tools"),
    - HIVE_INT_TIMESTAMP_CONVERSION_IN_SECONDS("hive.int.timestamp.conversion.in.seconds", false,
    - "Boolean/tinyint/smallint/int/bigint value is interpreted as milliseconds during the timestamp conversion.\n" +
    - "Set this flag to true to interpret the value as seconds to be consistent with float/double." ),
    - HIVE_ORC_FILE_MEMORY_POOL("hive.exec.orc.memory.pool", 0.5f,
    - "Maximum fraction of heap that can be used by ORC file writers"),
    - HIVE_ORC_WRITE_FORMAT("hive.exec.orc.write.format", null,
    - "Define the version of the file to write. Possible values are 0.11 and 0.12.\n" +
    - "If this parameter is not defined, ORC will use the run length encoding (RLE)\n" +
    - "introduced in Hive 0.12. Any value other than 0.11 results in the 0.12 encoding."),
    - HIVE_ORC_DEFAULT_STRIPE_SIZE("hive.exec.orc.default.stripe.size",
    - 64L * 1024 * 1024,
    - "Define the default ORC stripe size, in bytes."),
    - HIVE_ORC_DEFAULT_BLOCK_SIZE("hive.exec.orc.default.block.size", 256L * 1024 * 1024,
    - "Define the default file system block size for ORC files."),
    -
    - HIVE_ORC_DICTIONARY_KEY_SIZE_THRESHOLD("hive.exec.orc.dictionary.key.size.threshold", 0.8f,
    - "If the number of keys in a dictionary is greater than this fraction of the total number of\n" +
    - "non-null rows, turn off dictionary encoding. Use 1 to always use dictionary encoding."),
    - HIVE_ORC_DEFAULT_ROW_INDEX_STRIDE("hive.exec.orc.default.row.index.stride", 10000,
    - "Define the default ORC index stride in number of rows. (Stride is the number of rows\n" +
    - "an index entry represents.)"),
    - HIVE_ORC_ROW_INDEX_STRIDE_DICTIONARY_CHECK("hive.orc.row.index.stride.dictionary.check", true,
    - "If enabled dictionary check will happen after first row index stride (default 10000 rows)\n" +
    - "else dictionary check will happen before writing first stripe. In both cases, the decision\n" +
    - "to use dictionary or not will be retained thereafter."),
    - HIVE_ORC_DEFAULT_BUFFER_SIZE("hive.exec.orc.default.buffer.size", 256 * 1024,
    - "Define the default ORC buffer size, in bytes."),
    - HIVE_ORC_DEFAULT_BLOCK_PADDING("hive.exec.orc.default.block.padding", true,
    - "Define the default block padding, which pads stripes to the HDFS block boundaries."),
    - HIVE_ORC_BLOCK_PADDING_TOLERANCE("hive.exec.orc.block.padding.tolerance", 0.05f,
    - "Define the tolerance for block padding as a decimal fraction of stripe size (for\n" +
    - "example, the default value 0.05 is 5% of the stripe size). For the defaults of 64Mb\n" +
    - "ORC stripe and 256Mb HDFS blocks, the default block padding tolerance of 5% will\n" +
    - "reserve a maximum of 3.2Mb for padding within the 256Mb block. In that case, if the\n" +
    - "available size within the block is more than 3.2Mb, a new smaller stripe will be\n" +
    - "inserted to fit within that space. This will make sure that no stripe written will\n" +
    - "cross block boundaries and cause remote reads within a node local task."),
    - HIVE_ORC_DEFAULT_COMPRESS("hive.exec.orc.default.compress", "ZLIB", "Define the default compression codec for ORC file"),
    -
    - HIVE_ORC_ENCODING_STRATEGY("hive.exec.orc.encoding.strategy", "SPEED", new StringSet("SPEED", "COMPRESSION"),
    - "Define the encoding strategy to use while writing data. Changing this will\n" +
    - "only affect the light weight encoding for integers. This flag will not\n" +
    - "change the compression level of higher level compression codec (like ZLIB)."),
    -
    - HIVE_ORC_COMPRESSION_STRATEGY("hive.exec.orc.compression.strategy", "SPEED", new StringSet("SPEED", "COMPRESSION"),
    - "Define the compression strategy to use while writing data. \n" +
    - "This changes the compression level of higher level compression codec (like ZLIB)."),
    -
    - HIVE_ORC_SPLIT_STRATEGY("hive.exec.orc.split.strategy", "HYBRID", new StringSet("HYBRID", "BI", "ETL"),
    - "This is not a user level config. BI strategy is used when the requirement is to spend less time in split generation" +
    - " as opposed to query execution (split generation does not read or cache file footers)." +
    - " ETL strategy is used when spending little more time in split generation is acceptable" +
    - " (split generation reads and caches file footers). HYBRID chooses between the above strategies" +
    - " based on heuristics."),
    -
    - HIVE_ORC_MS_FOOTER_CACHE_ENABLED("hive.orc.splits.ms.footer.cache.enabled", false,
    - "Whether to enable using file metadata cache in metastore for ORC file footers."),
    -
    - HIVE_ORC_INCLUDE_FILE_FOOTER_IN_SPLITS("hive.orc.splits.include.file.footer", false,
    - "If turned on splits generated by orc will include metadata about the stripes in the file. This\n" +
    - "data is read remotely (from the client or HS2 machine) and sent to all the tasks."),
    - HIVE_ORC_INCLUDE_FILE_ID_IN_SPLITS("hive.orc.splits.include.fileid", true,
    - "Include file ID in splits on file systems thaty support it."),
    - HIVE_ORC_CACHE_STRIPE_DETAILS_SIZE("hive.orc.cache.stripe.details.size", 10000,
    - "Max cache size for keeping meta info about orc splits cached in the client."),
    - HIVE_ORC_COMPUTE_SPLITS_NUM_THREADS("hive.orc.compute.splits.num.threads", 10,
    - "How many threads orc should use to create splits in parallel."),
    - HIVE_ORC_SKIP_CORRUPT_DATA("hive.exec.orc.skip.corrupt.data", false,
    - "If ORC reader encounters corrupt data, this value will be used to determine\n" +
    - "whether to skip the corrupt data or throw exception. The default behavior is to throw exception."),
    -
    - HIVE_ORC_ZEROCOPY("hive.exec.orc.zerocopy", false,
    - "Use zerocopy reads with ORC. (This requires Hadoop 2.3 or later.)"),
    -
    - HIVE_LAZYSIMPLE_EXTENDED_BOOLEAN_LITERAL("hive.lazysimple.extended_boolean_literal", false,
    - "LazySimpleSerde uses this property to determine if it treats 'T', 't', 'F', 'f',\n" +
    - "'1', and '0' as extened, legal boolean literal, in addition to 'TRUE' and 'FALSE'.\n" +
    - "The default is false, which means only 'TRUE' and 'FALSE' are treated as legal\n" +
    - "boolean literal."),
    -
    - HIVESKEWJOIN("hive.optimize.skewjoin", false,
    - "Whether to enable skew join optimization. \n" +
    - "The algorithm is as follows: At runtime, detect the keys with a large skew. Instead of\n" +
    - "processing those keys, store them temporarily in an HDFS directory. In a follow-up map-reduce\n" +
    - "job, process those skewed keys. The same key need not be skewed for all the tables, and so,\n" +
    - "the follow-up map-reduce job (for the skewed keys) would be much faster, since it would be a\n" +
    - "map-join."),
    - HIVEDYNAMICPARTITIONHASHJOIN("hive.optimize.dynamic.partition.hashjoin", false,
    - "Whether to enable dynamically partitioned hash join optimization. \n" +
    - "This setting is also dependent on enabling hive.auto.convert.join"),
    - HIVECONVERTJOIN("hive.auto.convert.join", true,
    - "Whether Hive enables the optimization about converting common join into mapjoin based on the input file size"),
    - HIVECONVERTJOINNOCONDITIONALTASK("hive.auto.convert.join.noconditionaltask", true,
    - "Whether Hive enables the optimization about converting common join into mapjoin based on the input file size. \n" +
    - "If this parameter is on, and the sum of size for n-1 of the tables/partitions for a n-way join is smaller than the\n" +
    - "specified size, the join is directly converted to a mapjoin (there is no conditional task)."),
    -
    - HIVECONVERTJOINNOCONDITIONALTASKTHRESHOLD("hive.auto.convert.join.noconditionaltask.size",
    - 10000000L,
    - "If hive.auto.convert.join.noconditionaltask is off, this parameter does not take affect. \n" +
    - "However, if it is on, and the sum of size for n-1 of the tables/partitions for a n-way join is smaller than this size, \n" +
    - "the join is directly converted to a mapjoin(there is no conditional task). The default is 10MB"),
    - HIVECONVERTJOINUSENONSTAGED("hive.auto.convert.join.use.nonstaged", false,
    - "For conditional joins, if input stream from a small alias can be directly applied to join operator without \n" +
    - "filtering or projection, the alias need not to be pre-staged in distributed cache via mapred local task.\n" +
    - "Currently, this is not working with vectorization or tez execution engine."),
    - HIVESKEWJOINKEY("hive.skewjoin.key", 100000,
    - "Determine if we get a skew key in join. If we see more than the specified number of rows with the same key in join operator,\n" +
    - "we think the key as a skew join key. "),
    - HIVESKEWJOINMAPJOINNUMMAPTASK("hive.skewjoin.mapjoin.map.tasks", 10000,
    - "Determine the number of map task used in the follow up map join job for a skew join.\n" +
    - "It should be used together with hive.skewjoin.mapjoin.min.split to perform a fine grained control."),
    - HIVESKEWJOINMAPJOINMINSPLIT("hive.skewjoin.mapjoin.min.split", 33554432L,
    - "Determine the number of map task at most used in the follow up map join job for a skew join by specifying \n" +
    - "the minimum split size. It should be used together with hive.skewjoin.mapjoin.map.tasks to perform a fine grained control."),
    -
    - HIVESENDHEARTBEAT("hive.heartbeat.interval", 1000,
    - "Send a heartbeat after this interval - used by mapjoin and filter operators"),
    - HIVELIMITMAXROWSIZE("hive.limit.row.max.size", 100000L,
    - "When trying a smaller subset of data for simple LIMIT, how much size we need to guarantee each row to have at least."),
    - HIVELIMITOPTLIMITFILE("hive.limit.optimize.limit.file", 10,
    - "When trying a smaller subset of data for simple LIMIT, maximum number of files we can sample."),
    - HIVELIMITOPTENABLE("hive.limit.optimize.enable", false,
    - "Whether to enable to optimization to trying a smaller subset of data for simple LIMIT first."),
    - HIVELIMITOPTMAXFETCH("hive.limit.optimize.fetch.max", 50000,
    - "Maximum number of rows allowed for a smaller subset of data for simple LIMIT, if it is a fetch query. \n" +
    - "Insert queries are not restricted by this limit."),
    - HIVELIMITPUSHDOWNMEMORYUSAGE("hive.limit.pushdown.memory.usage", -1f,
    - "The max memory to be used for hash in RS operator for top K selection."),
    - HIVELIMITTABLESCANPARTITION("hive.limit.query.max.table.partition", -1,
    - "This controls how many partitions can be scanned for each partitioned table.\n" +
    - "The default value \"-1\" means no limit."),
    -
    - HIVEHASHTABLEKEYCOUNTADJUSTMENT("hive.hashtable.key.count.adjustment", 1.0f,
    - "Adjustment to mapjoin hashtable size derived from table and column statistics; the estimate" +
    - " of the number of keys is divided by this value. If the value is 0, statistics are not used" +
    - "and hive.hashtable.initialCapacity is used instead."),
    - HIVEHASHTABLETHRESHOLD("hive.hashtable.initialCapacity", 100000, "Initial capacity of " +
    - "mapjoin hashtable if statistics are absent, or if hive.hashtable.stats.key.estimate.adjustment is set to 0"),
    - HIVEHASHTABLELOADFACTOR("hive.hashtable.loadfactor", (float) 0.75, ""),
    - HIVEHASHTABLEFOLLOWBYGBYMAXMEMORYUSAGE("hive.mapjoin.followby.gby.localtask.max.memory.usage", (float) 0.55,
    - "This number means how much memory the local task can take to hold the key/value into an in-memory hash table \n" +
    - "when this map join is followed by a group by. If the local task's memory usage is more than this number, \n" +
    - "the local task will abort by itself. It means the data of the small table is too large to be held in memory."),
    - HIVEHASHTABLEMAXMEMORYUSAGE("hive.mapjoin.localtask.max.memory.usage", (float) 0.90,
    - "This number means how much memory the local task can take to hold the key/value into an in-memory hash table. \n" +
    - "If the local task's memory usage is more than this number, the local task will abort by itself. \n" +
    - "It means the data of the small table is too large to be held in memory."),
    - HIVEHASHTABLESCALE("hive.mapjoin.check.memory.rows", (long)100000,
    - "The number means after how many rows processed it needs to check the memory usage"),
    -
    - HIVEDEBUGLOCALTASK("hive.debug.localtask",false, ""),
    -
    - HIVEINPUTFORMAT("hive.input.format", "org.apache.hadoop.hive.ql.io.CombineHiveInputFormat",
    - "The default input format. Set this to HiveInputFormat if you encounter problems with CombineHiveInputFormat."),
    - HIVETEZINPUTFORMAT("hive.tez.input.format", "org.apache.hadoop.hive.ql.io.HiveInputFormat",
    - "The default input format for tez. Tez groups splits in the AM."),
    -
    - HIVETEZCONTAINERSIZE("hive.tez.container.size", -1,
    - "By default Tez will spawn containers of the size of a mapper. This can be used to overwrite."),
    - HIVETEZCPUVCORES("hive.tez.cpu.vcores", -1,
    - "By default Tez will ask for however many cpus map-reduce is configured to use per container.\n" +
    - "This can be used to overwrite."),
    - HIVETEZJAVAOPTS("hive.tez.java.opts", null,
    - "By default Tez will use the Java options from map tasks. This can be used to overwrite."),
    - HIVETEZLOGLEVEL("hive.tez.log.level", "INFO",
    - "The log level to use for tasks executing as part of the DAG.\n" +
    - "Used only if hive.tez.java.opts is used to configure Java options."),
    -
    - HIVEENFORCEBUCKETING("hive.enforce.bucketing", false,
    - "Whether bucketing is enforced. If true, while inserting into the table, bucketing is enforced."),
    - HIVEENFORCESORTING("hive.enforce.sorting", false,
    - "Whether sorting is enforced. If true, while inserting into the table, sorting is enforced."),
    - HIVEOPTIMIZEBUCKETINGSORTING("hive.optimize.bucketingsorting", true,
    - "If hive.enforce.bucketing or hive.enforce.sorting is true, don't create a reducer for enforcing \n" +
    - "bucketing/sorting for queries of the form: \n" +
    - "insert overwrite table T2 select * from T1;\n" +
    - "where T1 and T2 are bucketed/sorted by the same keys into the same number of buckets."),
    - HIVEPARTITIONER("hive.mapred.partitioner", "org.apache.hadoop.hive.ql.io.DefaultHivePartitioner", ""),
    - HIVEENFORCESORTMERGEBUCKETMAPJOIN("hive.enforce.sortmergebucketmapjoin", false,
    - "If the user asked for sort-merge bucketed map-side join, and it cannot be performed, should the query fail or not ?"),
    - HIVEENFORCEBUCKETMAPJOIN("hive.enforce.bucketmapjoin", false,
    - "If the user asked for bucketed map-side join, and it cannot be performed, \n" +
    - "should the query fail or not ? For example, if the buckets in the tables being joined are\n" +
    - "not a multiple of each other, bucketed map-side join cannot be performed, and the\n" +
    - "query will fail if hive.enforce.bucketmapjoin is set to true."),
    -
    - HIVE_AUTO_SORTMERGE_JOIN("hive.auto.convert.sortmerge.join", false,
    - "Will the join be automatically converted to a sort-merge join, if the joined tables pass the criteria for sort-merge join."),
    - HIVE_AUTO_SORTMERGE_JOIN_BIGTABLE_SELECTOR(
    - "hive.auto.convert.sortmerge.join.bigtable.selection.policy",
    - "org.apache.hadoop.hive.ql.optimizer.AvgPartitionSizeBasedBigTableSelectorForAutoSMJ",
    - "The policy to choose the big table for automatic conversion to sort-merge join. \n" +
    - "By default, the table with the largest partitions is assigned the big table. All policies are:\n" +
    - ". based on position of the table - the leftmost table is selected\n" +
    - "org.apache.hadoop.hive.ql.optimizer.LeftmostBigTableSMJ.\n" +
    - ". based on total size (all the partitions selected in the query) of the table \n" +
    - "org.apache.hadoop.hive.ql.optimizer.TableSizeBasedBigTableSelectorForAutoS

    <TRUNCATED>
  • Xuefu at Nov 12, 2015 at 3:59 am
    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/parquet_ppd_decimal.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/parquet_ppd_decimal.q.out b/ql/src/test/results/clientpositive/parquet_ppd_decimal.q.out
    index 7c17733..a30820e 100644
    --- a/ql/src/test/results/clientpositive/parquet_ppd_decimal.q.out
    +++ b/ql/src/test/results/clientpositive/parquet_ppd_decimal.q.out
    @@ -28,11 +28,11 @@ select * from newtypestbl where d=0.22
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where d=0.22
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -41,11 +41,11 @@ POSTHOOK: query: select * from newtypestbl where d=0.22
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where d='0.22'
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -54,11 +54,11 @@ POSTHOOK: query: select * from newtypestbl where d='0.22'
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where d='0.22'
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -67,11 +67,11 @@ POSTHOOK: query: select * from newtypestbl where d='0.22'
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where d=cast('0.22' as float)
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -80,11 +80,11 @@ POSTHOOK: query: select * from newtypestbl where d=cast('0.22' as float)
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where d=cast('0.22' as float)
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -93,11 +93,11 @@ POSTHOOK: query: select * from newtypestbl where d=cast('0.22' as float)
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where d!=0.22
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -106,11 +106,11 @@ POSTHOOK: query: select * from newtypestbl where d!=0.22
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where d!=0.22
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -119,11 +119,11 @@ POSTHOOK: query: select * from newtypestbl where d!=0.22
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where d!='0.22'
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -132,11 +132,11 @@ POSTHOOK: query: select * from newtypestbl where d!='0.22'
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where d!='0.22'
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -145,11 +145,11 @@ POSTHOOK: query: select * from newtypestbl where d!='0.22'
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where d!=cast('0.22' as float)
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -158,11 +158,11 @@ POSTHOOK: query: select * from newtypestbl where d!=cast('0.22' as float)
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where d!=cast('0.22' as float)
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -171,11 +171,11 @@ POSTHOOK: query: select * from newtypestbl where d!=cast('0.22' as float)
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where d<11.22
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -184,11 +184,11 @@ POSTHOOK: query: select * from newtypestbl where d<11.22
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where d<11.22
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -197,11 +197,11 @@ POSTHOOK: query: select * from newtypestbl where d<11.22
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where d<'11.22'
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -210,11 +210,11 @@ POSTHOOK: query: select * from newtypestbl where d<'11.22'
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where d<'11.22'
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -223,11 +223,11 @@ POSTHOOK: query: select * from newtypestbl where d<'11.22'
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where d<cast('11.22' as float)
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -236,11 +236,11 @@ POSTHOOK: query: select * from newtypestbl where d<cast('11.22' as float)
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where d<cast('11.22' as float)
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -249,11 +249,11 @@ POSTHOOK: query: select * from newtypestbl where d<cast('11.22' as float)
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where d<1
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -262,11 +262,11 @@ POSTHOOK: query: select * from newtypestbl where d<1
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where d<1
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -275,11 +275,11 @@ POSTHOOK: query: select * from newtypestbl where d<1
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where d<=11.22 sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -288,16 +288,16 @@ POSTHOOK: query: select * from newtypestbl where d<=11.22 sort by c
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where d<=11.22 sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -306,16 +306,16 @@ POSTHOOK: query: select * from newtypestbl where d<=11.22 sort by c
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where d<='11.22' sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -324,16 +324,16 @@ POSTHOOK: query: select * from newtypestbl where d<='11.22' sort by c
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where d<='11.22' sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -342,16 +342,16 @@ POSTHOOK: query: select * from newtypestbl where d<='11.22' sort by c
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where d<=cast('11.22' as float) sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -360,16 +360,16 @@ POSTHOOK: query: select * from newtypestbl where d<=cast('11.22' as float) sort
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where d<=cast('11.22' as float) sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -378,16 +378,16 @@ POSTHOOK: query: select * from newtypestbl where d<=cast('11.22' as float) sort
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where d<=cast('11.22' as decimal)
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -396,11 +396,11 @@ POSTHOOK: query: select * from newtypestbl where d<=cast('11.22' as decimal)
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where d<=cast('11.22' as decimal)
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -409,11 +409,11 @@ POSTHOOK: query: select * from newtypestbl where d<=cast('11.22' as decimal)
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where d<=11.22BD sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -422,16 +422,16 @@ POSTHOOK: query: select * from newtypestbl where d<=11.22BD sort by c
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where d<=11.22BD sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -440,16 +440,16 @@ POSTHOOK: query: select * from newtypestbl where d<=11.22BD sort by c
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where d<=12 sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -458,16 +458,16 @@ POSTHOOK: query: select * from newtypestbl where d<=12 sort by c
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where d<=12 sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -476,16 +476,16 @@ POSTHOOK: query: select * from newtypestbl where d<=12 sort by c
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where d in ('0.22', '1.0')
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -494,11 +494,11 @@ POSTHOOK: query: select * from newtypestbl where d in ('0.22', '1.0')
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where d in ('0.22', '1.0')
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -507,11 +507,11 @@ POSTHOOK: query: select * from newtypestbl where d in ('0.22', '1.0')
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where d in ('0.22', '11.22') sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -520,16 +520,16 @@ POSTHOOK: query: select * from newtypestbl where d in ('0.22', '11.22') sort by
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where d in ('0.22', '11.22') sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -538,16 +538,16 @@ POSTHOOK: query: select * from newtypestbl where d in ('0.22', '11.22') sort by
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where d in ('0.9', '1.0')
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -572,11 +572,11 @@ POSTHOOK: query: select * from newtypestbl where d in ('0.9', 0.22)
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where d in ('0.9', 0.22)
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -585,11 +585,11 @@ POSTHOOK: query: select * from newtypestbl where d in ('0.9', 0.22)
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where d in ('0.9', 0.22, cast('11.22' as float)) sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -598,16 +598,16 @@ POSTHOOK: query: select * from newtypestbl where d in ('0.9', 0.22, cast('11.22'
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where d in ('0.9', 0.22, cast('11.22' as float)) sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -616,16 +616,16 @@ POSTHOOK: query: select * from newtypestbl where d in ('0.9', 0.22, cast('11.22'
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where d between 0 and 1
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -634,11 +634,11 @@ POSTHOOK: query: select * from newtypestbl where d between 0 and 1
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where d between 0 and 1
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -647,11 +647,11 @@ POSTHOOK: query: select * from newtypestbl where d between 0 and 1
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where d between 0 and 1000 sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -660,16 +660,16 @@ POSTHOOK: query: select * from newtypestbl where d between 0 and 1000 sort by c
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where d between 0 and 1000 sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -678,16 +678,16 @@ POSTHOOK: query: select * from newtypestbl where d between 0 and 1000 sort by c
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where d between 0 and '2.0'
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -696,11 +696,11 @@ POSTHOOK: query: select * from newtypestbl where d between 0 and '2.0'
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where d between 0 and '2.0'
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -709,11 +709,11 @@ POSTHOOK: query: select * from newtypestbl where d between 0 and '2.0'
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where d between 0 and cast(3 as float)
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -722,11 +722,11 @@ POSTHOOK: query: select * from newtypestbl where d between 0 and cast(3 as float
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where d between 0 and cast(3 as float)
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -735,11 +735,11 @@ POSTHOOK: query: select * from newtypestbl where d between 0 and cast(3 as float
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where d between 1 and cast(30 as char(10))
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -748,11 +748,11 @@ POSTHOOK: query: select * from newtypestbl where d between 1 and cast(30 as char
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where d between 1 and cast(30 as char(10))
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -761,8 +761,8 @@ POSTHOOK: query: select * from newtypestbl where d between 1 and cast(30 as char
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/parquet_ppd_timestamp.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/parquet_ppd_timestamp.q.out b/ql/src/test/results/clientpositive/parquet_ppd_timestamp.q.out
    index e314c10..3b3e5b7 100644
    --- a/ql/src/test/results/clientpositive/parquet_ppd_timestamp.q.out
    +++ b/ql/src/test/results/clientpositive/parquet_ppd_timestamp.q.out
    @@ -28,11 +28,11 @@ select * from newtypestbl where cast(ts as string)='2011-01-01 01:01:01'
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
      PREHOOK: query: select * from newtypestbl where cast(ts as string)='2011-01-01 01:01:01'
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -41,11 +41,11 @@ POSTHOOK: query: select * from newtypestbl where cast(ts as string)='2011-01-01
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
      PREHOOK: query: select * from newtypestbl where ts=cast('2011-01-01 01:01:01' as timestamp)
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -54,11 +54,11 @@ POSTHOOK: query: select * from newtypestbl where ts=cast('2011-01-01 01:01:01' a
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
      PREHOOK: query: select * from newtypestbl where ts=cast('2011-01-01 01:01:01' as timestamp)
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -67,11 +67,11 @@ POSTHOOK: query: select * from newtypestbl where ts=cast('2011-01-01 01:01:01' a
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
      PREHOOK: query: select * from newtypestbl where ts=cast('2011-01-01 01:01:01' as varchar(20))
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -80,11 +80,11 @@ POSTHOOK: query: select * from newtypestbl where ts=cast('2011-01-01 01:01:01' a
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
      PREHOOK: query: select * from newtypestbl where ts=cast('2011-01-01 01:01:01' as varchar(20))
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -93,11 +93,11 @@ POSTHOOK: query: select * from newtypestbl where ts=cast('2011-01-01 01:01:01' a
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
      PREHOOK: query: select * from newtypestbl where ts!=cast('2011-01-01 01:01:01' as timestamp)
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -106,11 +106,11 @@ POSTHOOK: query: select * from newtypestbl where ts!=cast('2011-01-01 01:01:01'
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
      PREHOOK: query: select * from newtypestbl where ts!=cast('2011-01-01 01:01:01' as timestamp)
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -119,11 +119,11 @@ POSTHOOK: query: select * from newtypestbl where ts!=cast('2011-01-01 01:01:01'
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
      PREHOOK: query: select * from newtypestbl where ts<cast('2011-01-20 01:01:01' as timestamp)
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -132,11 +132,11 @@ POSTHOOK: query: select * from newtypestbl where ts<cast('2011-01-20 01:01:01' a
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
      PREHOOK: query: select * from newtypestbl where ts<cast('2011-01-20 01:01:01' as timestamp)
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -145,11 +145,11 @@ POSTHOOK: query: select * from newtypestbl where ts<cast('2011-01-20 01:01:01' a
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
      PREHOOK: query: select * from newtypestbl where ts<cast('2011-01-22 01:01:01' as timestamp) sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -158,16 +158,16 @@ POSTHOOK: query: select * from newtypestbl where ts<cast('2011-01-22 01:01:01' a
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
      PREHOOK: query: select * from newtypestbl where ts<cast('2011-01-22 01:01:01' as timestamp) sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -176,16 +176,16 @@ POSTHOOK: query: select * from newtypestbl where ts<cast('2011-01-22 01:01:01' a
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
      PREHOOK: query: select * from newtypestbl where ts<cast('2010-10-01 01:01:01' as timestamp)
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -210,11 +210,11 @@ POSTHOOK: query: select * from newtypestbl where ts<=cast('2011-01-01 01:01:01'
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
      PREHOOK: query: select * from newtypestbl where ts<=cast('2011-01-01 01:01:01' as timestamp)
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -223,11 +223,11 @@ POSTHOOK: query: select * from newtypestbl where ts<=cast('2011-01-01 01:01:01'
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
      PREHOOK: query: select * from newtypestbl where ts<=cast('2011-01-20 01:01:01' as timestamp) sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -236,16 +236,16 @@ POSTHOOK: query: select * from newtypestbl where ts<=cast('2011-01-20 01:01:01'
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
      PREHOOK: query: select * from newtypestbl where ts<=cast('2011-01-20 01:01:01' as timestamp) sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -254,16 +254,16 @@ POSTHOOK: query: select * from newtypestbl where ts<=cast('2011-01-20 01:01:01'
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
      PREHOOK: query: select * from newtypestbl where ts in (cast('2011-01-02 01:01:01' as timestamp), cast('2011-01-20 01:01:01' as timestamp))
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -272,11 +272,11 @@ POSTHOOK: query: select * from newtypestbl where ts in (cast('2011-01-02 01:01:0
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
      PREHOOK: query: select * from newtypestbl where ts in (cast('2011-01-02 01:01:01' as timestamp), cast('2011-01-20 01:01:01' as timestamp))
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -285,11 +285,11 @@ POSTHOOK: query: select * from newtypestbl where ts in (cast('2011-01-02 01:01:0
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
      PREHOOK: query: select * from newtypestbl where ts in (cast('2011-01-01 01:01:01' as timestamp), cast('2011-01-20 01:01:01' as timestamp)) sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -298,16 +298,16 @@ POSTHOOK: query: select * from newtypestbl where ts in (cast('2011-01-01 01:01:0
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
      PREHOOK: query: select * from newtypestbl where ts in (cast('2011-01-01 01:01:01' as timestamp), cast('2011-01-20 01:01:01' as timestamp)) sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -316,16 +316,16 @@ POSTHOOK: query: select * from newtypestbl where ts in (cast('2011-01-01 01:01:0
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
      PREHOOK: query: select * from newtypestbl where ts in (cast('2011-01-02 01:01:01' as timestamp), cast('2011-01-08 01:01:01' as timestamp))
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -350,11 +350,11 @@ POSTHOOK: query: select * from newtypestbl where ts between cast('2010-10-01 01:
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
      PREHOOK: query: select * from newtypestbl where ts between cast('2010-10-01 01:01:01' as timestamp) and cast('2011-01-08 01:01:01' as timestamp)
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -363,11 +363,11 @@ POSTHOOK: query: select * from newtypestbl where ts between cast('2010-10-01 01:
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
      PREHOOK: query: select * from newtypestbl where ts between cast('2010-10-01 01:01:01' as timestamp) and cast('2011-01-25 01:01:01' as timestamp) sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -376,16 +376,16 @@ POSTHOOK: query: select * from newtypestbl where ts between cast('2010-10-01 01:
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
      PREHOOK: query: select * from newtypestbl where ts between cast('2010-10-01 01:01:01' as timestamp) and cast('2011-01-25 01:01:01' as timestamp) sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -394,16 +394,16 @@ POSTHOOK: query: select * from newtypestbl where ts between cast('2010-10-01 01:
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -apple bee 0.22 2011-01-01 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    -hello world 11.22 2011-01-20 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +apple bee 0.220 2011-01-01 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
    +hello world 11.220 2011-01-20 01:01:01
      PREHOOK: query: select * from newtypestbl where ts between cast('2010-10-01 01:01:01' as timestamp) and cast('2010-11-01 01:01:01' as timestamp)
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/parquet_ppd_varchar.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/parquet_ppd_varchar.q.out b/ql/src/test/results/clientpositive/parquet_ppd_varchar.q.out
    index 2e9f72f..5a62e80 100644
    --- a/ql/src/test/results/clientpositive/parquet_ppd_varchar.q.out
    +++ b/ql/src/test/results/clientpositive/parquet_ppd_varchar.q.out
    @@ -28,11 +28,11 @@ select * from newtypestbl where v="bee"
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where v="bee"
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -41,11 +41,11 @@ POSTHOOK: query: select * from newtypestbl where v="bee"
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where v!="bee"
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -54,11 +54,11 @@ POSTHOOK: query: select * from newtypestbl where v!="bee"
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where v!="bee"
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -67,11 +67,11 @@ POSTHOOK: query: select * from newtypestbl where v!="bee"
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where v<"world"
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -80,11 +80,11 @@ POSTHOOK: query: select * from newtypestbl where v<"world"
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where v<"world"
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -93,11 +93,11 @@ POSTHOOK: query: select * from newtypestbl where v<"world"
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where v<="world" sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -106,16 +106,16 @@ POSTHOOK: query: select * from newtypestbl where v<="world" sort by c
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where v<="world" sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -124,16 +124,16 @@ POSTHOOK: query: select * from newtypestbl where v<="world" sort by c
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where v="bee "
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -158,11 +158,11 @@ POSTHOOK: query: select * from newtypestbl where v in ("bee", "orange")
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where v in ("bee", "orange")
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -171,11 +171,11 @@ POSTHOOK: query: select * from newtypestbl where v in ("bee", "orange")
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where v in ("bee", "world") sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -184,16 +184,16 @@ POSTHOOK: query: select * from newtypestbl where v in ("bee", "world") sort by c
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where v in ("bee", "world") sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -202,16 +202,16 @@ POSTHOOK: query: select * from newtypestbl where v in ("bee", "world") sort by c
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where v in ("orange")
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -236,11 +236,11 @@ POSTHOOK: query: select * from newtypestbl where v between "bee" and "orange"
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where v between "bee" and "orange"
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -249,11 +249,11 @@ POSTHOOK: query: select * from newtypestbl where v between "bee" and "orange"
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where v between "bee" and "zombie" sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -262,16 +262,16 @@ POSTHOOK: query: select * from newtypestbl where v between "bee" and "zombie" so
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where v between "bee" and "zombie" sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -280,16 +280,16 @@ POSTHOOK: query: select * from newtypestbl where v between "bee" and "zombie" so
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where v between "orange" and "pine"
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/parquet_predicate_pushdown.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/parquet_predicate_pushdown.q.out b/ql/src/test/results/clientpositive/parquet_predicate_pushdown.q.out
    index aa3b272..980b65b 100644
    --- a/ql/src/test/results/clientpositive/parquet_predicate_pushdown.q.out
    +++ b/ql/src/test/results/clientpositive/parquet_predicate_pushdown.q.out
    @@ -241,7 +241,7 @@ POSTHOOK: query: SELECT * FROM tbl_pred WHERE t>2 limit 1
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@tbl_pred
      #### A masked pattern was here ####
    -124 336 65664 4294967435 74.72 42.47 true bob davidson 2013-03-01 09:11:58.703302 45.4 yard duty
    +124 336 65664 4294967435 74.72 42.47 true bob davidson 2013-03-01 09:11:58.703302 45.40 yard duty
      PREHOOK: query: SELECT * FROM tbl_pred WHERE t>2 limit 1
      PREHOOK: type: QUERY
      PREHOOK: Input: default@tbl_pred
    @@ -250,7 +250,7 @@ POSTHOOK: query: SELECT * FROM tbl_pred WHERE t>2 limit 1
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@tbl_pred
      #### A masked pattern was here ####
    -124 336 65664 4294967435 74.72 42.47 true bob davidson 2013-03-01 09:11:58.703302 45.4 yard duty
    +124 336 65664 4294967435 74.72 42.47 true bob davidson 2013-03-01 09:11:58.703302 45.40 yard duty
      PREHOOK: query: SELECT * FROM tbl_pred
        WHERE t IS NOT NULL
        AND t < 0

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/serde_regex.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/serde_regex.q.out b/ql/src/test/results/clientpositive/serde_regex.q.out
    index ad3af57..7bebb0c 100644
    --- a/ql/src/test/results/clientpositive/serde_regex.q.out
    +++ b/ql/src/test/results/clientpositive/serde_regex.q.out
    @@ -201,43 +201,43 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@serde_regex1
      #### A masked pattern was here ####
      NULL 0
    --1234567890.123456789 -1234567890
    --4400 4400
    --1255.49 -1255
    --1.122 -11
    --1.12 -1
    --1.12 -1
    --0.333 0
    --0.33 0
    --0.3 0
    -0 0
    -0 0
    -0 0
    -0.01 0
    -0.02 0
    -0.1 0
    -0.2 0
    -0.3 0
    -0.33 0
    -0.333 0
    -1 1
    -1 1
    -1 1
    -1.12 1
    -1.122 1
    -2 2
    -2 2
    -3.14 3
    -3.14 3
    -3.14 3
    -3.14 4
    -10 10
    -20 20
    -100 100
    -124 124
    -125.2 125
    -200 200
    -1234567890.12345678 1234567890
    +-1234567890.123456789000000000 -1234567890
    +-4400.000000000000000000 4400
    +-1255.490000000000000000 -1255
    +-1.122000000000000000 -11
    +-1.120000000000000000 -1
    +-1.120000000000000000 -1
    +-0.333000000000000000 0
    +-0.330000000000000000 0
    +-0.300000000000000000 0
    +0.000000000000000000 0
    +0.000000000000000000 0
    +0.000000000000000000 0
    +0.010000000000000000 0
    +0.020000000000000000 0
    +0.100000000000000000 0
    +0.200000000000000000 0
    +0.300000000000000000 0
    +0.330000000000000000 0
    +0.333000000000000000 0
    +1.000000000000000000 1
    +1.000000000000000000 1
    +1.000000000000000000 1
    +1.120000000000000000 1
    +1.122000000000000000 1
    +2.000000000000000000 2
    +2.000000000000000000 2
    +3.140000000000000000 3
    +3.140000000000000000 3
    +3.140000000000000000 3
    +3.140000000000000000 4
    +10.000000000000000000 10
    +20.000000000000000000 20
    +100.000000000000000000 100
    +124.000000000000000000 124
    +125.200000000000000000 125
    +200.000000000000000000 200
    +1234567890.123456780000000000 1234567890
      PREHOOK: query: DROP TABLE serde_regex1
      PREHOOK: type: DROPTABLE
      PREHOOK: Input: default@serde_regex1

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/spark/avro_decimal_native.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/spark/avro_decimal_native.q.out b/ql/src/test/results/clientpositive/spark/avro_decimal_native.q.out
    index 318be3d..cebc342 100644
    --- a/ql/src/test/results/clientpositive/spark/avro_decimal_native.q.out
    +++ b/ql/src/test/results/clientpositive/spark/avro_decimal_native.q.out
    @@ -92,9 +92,9 @@ Mary 4.33
      Cluck 5.96
      Tom -12.25
      Mary 33.33
    -Tom 19
    -Beck 0
    -Beck 79.9
    +Tom 19.00
    +Beck 0.00
    +Beck 79.90
      PREHOOK: query: DROP TABLE IF EXISTS avro_dec1
      PREHOOK: type: DROPTABLE
      POSTHOOK: query: DROP TABLE IF EXISTS avro_dec1
    @@ -143,10 +143,10 @@ POSTHOOK: Input: default@avro_dec1
      77.3
      55.7
      4.3
    -6
    +6.0
      12.3
      33.3
    -19
    +19.0
      3.2
      79.9
      PREHOOK: query: DROP TABLE dec

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/spark/decimal_1_1.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/spark/decimal_1_1.q.out b/ql/src/test/results/clientpositive/spark/decimal_1_1.q.out
    index b2704c6..46fbeb7 100644
    --- a/ql/src/test/results/clientpositive/spark/decimal_1_1.q.out
    +++ b/ql/src/test/results/clientpositive/spark/decimal_1_1.q.out
    @@ -26,9 +26,9 @@ POSTHOOK: query: select * from decimal_1_1
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_1_1
      #### A masked pattern was here ####
    -0
    -0
    -0
    +0.0
    +0.0
    +0.0
      0.1
      0.2
      0.9
    @@ -37,13 +37,13 @@ NULL
      0.3
      NULL
      NULL
    -0
    -0
    +0.0
    +0.0
      NULL
    -0
    -0
    -0
    -0
    +0.0
    +0.0
    +0.0
    +0.0
      -0.1
      -0.2
      -0.9
    @@ -52,10 +52,10 @@ NULL
      -0.3
      NULL
      NULL
    -0
    -0
    +0.0
    +0.0
      NULL
    -0
    +0.0
      PREHOOK: query: select d from decimal_1_1 order by d desc
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_1_1
    @@ -69,18 +69,18 @@ POSTHOOK: Input: default@decimal_1_1
      0.3
      0.2
      0.1
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    +0.0
    +0.0
    +0.0
    +0.0
    +0.0
    +0.0
    +0.0
    +0.0
    +0.0
    +0.0
    +0.0
    +0.0
      -0.1
      -0.2
      -0.3

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/spark/mapjoin_decimal.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/spark/mapjoin_decimal.q.out b/ql/src/test/results/clientpositive/spark/mapjoin_decimal.q.out
    index 20b188b..bc785f9 100644
    --- a/ql/src/test/results/clientpositive/spark/mapjoin_decimal.q.out
    +++ b/ql/src/test/results/clientpositive/spark/mapjoin_decimal.q.out
    @@ -172,112 +172,112 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@t1
      POSTHOOK: Input: default@t2
      #### A masked pattern was here ####
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -45 45
    -45 45
    -45 45
    -45 45
    -45 45
    -6 6
    -6 6
    -6 6
    -6 6
    -6 6
    -6 6
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -70 70
    -70 70
    -70 70
    -70 70
    -70 70
    -70 70
    -70 70
    -79 79
    -79 79
    -79 79
    -79 79
    -79 79
    -79 79
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +45.00 45
    +45.00 45
    +45.00 45
    +45.00 45
    +45.00 45
    +6.00 6
    +6.00 6
    +6.00 6
    +6.00 6
    +6.00 6
    +6.00 6
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +70.00 70
    +70.00 70
    +70.00 70
    +70.00 70
    +70.00 70
    +70.00 70
    +70.00 70
    +79.00 79
    +79.00 79
    +79.00 79
    +79.00 79
    +79.00 79
    +79.00 79
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
      PREHOOK: query: select t1.dec, t2.dec from t1 join t2 on (t1.dec=t2.dec) order by t1.dec
      PREHOOK: type: QUERY
      PREHOOK: Input: default@t1
    @@ -288,109 +288,109 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@t1
      POSTHOOK: Input: default@t2
      #### A masked pattern was here ####
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -45 45
    -45 45
    -45 45
    -45 45
    -45 45
    -6 6
    -6 6
    -6 6
    -6 6
    -6 6
    -6 6
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -70 70
    -70 70
    -70 70
    -70 70
    -70 70
    -70 70
    -70 70
    -79 79
    -79 79
    -79 79
    -79 79
    -79 79
    -79 79
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +45.00 45
    +45.00 45
    +45.00 45
    +45.00 45
    +45.00 45
    +6.00 6
    +6.00 6
    +6.00 6
    +6.00 6
    +6.00 6
    +6.00 6
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +70.00 70
    +70.00 70
    +70.00 70
    +70.00 70
    +70.00 70
    +70.00 70
    +70.00 70
    +79.00 79
    +79.00 79
    +79.00 79
    +79.00 79
    +79.00 79
    +79.00 79
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/spark/vector_between_in.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/spark/vector_between_in.q.out b/ql/src/test/results/clientpositive/spark/vector_between_in.q.out
    index 133769a..f1ff784 100644
    --- a/ql/src/test/results/clientpositive/spark/vector_between_in.q.out
    +++ b/ql/src/test/results/clientpositive/spark/vector_between_in.q.out
    @@ -650,34 +650,34 @@ POSTHOOK: Input: default@decimal_date_test
      -18.5162162162
      -17.3216216216
      -16.7243243243
    --16.127027027
    +-16.1270270270
      -15.5297297297
      -10.7513513514
      -9.5567567568
      -8.3621621622
    --5.972972973
    +-5.9729729730
      -3.5837837838
      4.1810810811
      4.7783783784
      4.7783783784
      5.3756756757
    -5.972972973
    -5.972972973
    +5.9729729730
    +5.9729729730
      11.3486486486
      11.3486486486
      11.9459459459
      14.9324324324
      19.1135135135
      20.3081081081
    -22.1
    +22.1000000000
      24.4891891892
      33.4486486486
      34.6432432432
      40.0189189189
      42.4081081081
      43.0054054054
    -44.2
    -44.2
    +44.2000000000
    +44.2000000000
      44.7972972973
      45.9918918919
      PREHOOK: query: SELECT COUNT(*) FROM decimal_date_test WHERE cdecimal1 NOT BETWEEN -2000 AND 4390.1351351351

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/spark/vector_cast_constant.q.java1.7.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/spark/vector_cast_constant.q.java1.7.out b/ql/src/test/results/clientpositive/spark/vector_cast_constant.q.java1.7.out
    index e1acab1..c3e7779 100644
    --- a/ql/src/test/results/clientpositive/spark/vector_cast_constant.q.java1.7.out
    +++ b/ql/src/test/results/clientpositive/spark/vector_cast_constant.q.java1.7.out
    @@ -204,13 +204,13 @@ POSTHOOK: query: SELECT
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@over1korc
      #### A masked pattern was here ####
    -65536 50.0 50.0 50
    -65537 50.0 50.0 50
    -65538 50.0 50.0 50
    -65539 50.0 50.0 50
    -65540 50.0 50.0 50
    -65541 50.0 50.0 50
    -65542 50.0 50.0 50
    -65543 50.0 50.0 50
    -65544 50.0 50.0 50
    -65545 50.0 50.0 50
    +65536 50.0 50.0 50.0000
    +65537 50.0 50.0 50.0000
    +65538 50.0 50.0 50.0000
    +65539 50.0 50.0 50.0000
    +65540 50.0 50.0 50.0000
    +65541 50.0 50.0 50.0000
    +65542 50.0 50.0 50.0000
    +65543 50.0 50.0 50.0000
    +65544 50.0 50.0 50.0000
    +65545 50.0 50.0 50.0000

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/spark/vector_data_types.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/spark/vector_data_types.q.out b/ql/src/test/results/clientpositive/spark/vector_data_types.q.out
    index f6b2920..bcabc98 100644
    --- a/ql/src/test/results/clientpositive/spark/vector_data_types.q.out
    +++ b/ql/src/test/results/clientpositive/spark/vector_data_types.q.out
    @@ -159,7 +159,7 @@ POSTHOOK: Input: default@over1korc
      #### A masked pattern was here ####
      NULL 374 65560 4294967516 65.43 22.48 true oscar quirinius 2013-03-01 09:11:58.703316 16.86 mathematics
      NULL 409 65536 4294967490 46.97 25.92 false fred miller 2013-03-01 09:11:58.703116 33.45 history
    -NULL 473 65720 4294967324 80.74 40.6 false holly falkner 2013-03-01 09:11:58.703111 18.8 mathematics
    +NULL 473 65720 4294967324 80.74 40.6 false holly falkner 2013-03-01 09:11:58.703111 18.80 mathematics
      -3 275 65622 4294967302 71.78 8.49 false wendy robinson 2013-03-01 09:11:58.703294 95.39 undecided
      -3 344 65733 4294967363 0.56 11.96 true rachel thompson 2013-03-01 09:11:58.703276 88.46 wind surfing
      -3 376 65548 4294967431 96.78 43.23 false fred ellison 2013-03-01 09:11:58.703233 75.39 education
    @@ -252,7 +252,7 @@ POSTHOOK: Input: default@over1korc
      #### A masked pattern was here ####
      NULL 374 65560 4294967516 65.43 22.48 true oscar quirinius 2013-03-01 09:11:58.703316 16.86 mathematics
      NULL 409 65536 4294967490 46.97 25.92 false fred miller 2013-03-01 09:11:58.703116 33.45 history
    -NULL 473 65720 4294967324 80.74 40.6 false holly falkner 2013-03-01 09:11:58.703111 18.8 mathematics
    +NULL 473 65720 4294967324 80.74 40.6 false holly falkner 2013-03-01 09:11:58.703111 18.80 mathematics
      -3 275 65622 4294967302 71.78 8.49 false wendy robinson 2013-03-01 09:11:58.703294 95.39 undecided
      -3 344 65733 4294967363 0.56 11.96 true rachel thompson 2013-03-01 09:11:58.703276 88.46 wind surfing
      -3 376 65548 4294967431 96.78 43.23 false fred ellison 2013-03-01 09:11:58.703233 75.39 education
  • Xuefu at Nov 12, 2015 at 3:59 am
    HIVE-12327: WebHCat e2e tests TestJob_1 and TestJob_2 fail (Daniel Dai, reviewed by Thejas Nair)


    Project: http://git-wip-us.apache.org/repos/asf/hive/repo
    Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/16a86b26
    Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/16a86b26
    Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/16a86b26

    Branch: refs/heads/spark
    Commit: 16a86b2612439d6ba1f920deaea822ae4da3dedc
    Parents: 13f8cfe
    Author: Daniel Dai <daijy@hortonworks.com>
    Authored: Tue Nov 3 21:29:46 2015 -0800
    Committer: Daniel Dai <daijy@hortonworks.com>
    Committed: Tue Nov 3 21:29:46 2015 -0800

    ----------------------------------------------------------------------
      .../src/main/java/org/apache/hadoop/mapred/WebHCatJTShim23.java | 4 +++-
      1 file changed, 3 insertions(+), 1 deletion(-)
    ----------------------------------------------------------------------


    http://git-wip-us.apache.org/repos/asf/hive/blob/16a86b26/shims/0.23/src/main/java/org/apache/hadoop/mapred/WebHCatJTShim23.java
    ----------------------------------------------------------------------
    diff --git a/shims/0.23/src/main/java/org/apache/hadoop/mapred/WebHCatJTShim23.java b/shims/0.23/src/main/java/org/apache/hadoop/mapred/WebHCatJTShim23.java
    index 288043f..b020ffe 100644
    --- a/shims/0.23/src/main/java/org/apache/hadoop/mapred/WebHCatJTShim23.java
    +++ b/shims/0.23/src/main/java/org/apache/hadoop/mapred/WebHCatJTShim23.java
    @@ -41,6 +41,7 @@ import java.util.Collections;
      import java.util.HashSet;
      import java.util.List;
      import java.util.Set;
    +import java.util.regex.Pattern;

      public class WebHCatJTShim23 implements WebHCatJTShim {
        private static final Logger LOG = LoggerFactory.getLogger(WebHCatJTShim23.class);
    @@ -139,7 +140,8 @@ public class WebHCatJTShim23 implements WebHCatJTShim {
          }
          catch(IOException ex) {
            String msg = ex.getMessage();
    - if(msg != null && msg.contains("ApplicationNotFoundException")) {
    + if(msg != null && (msg.contains("ApplicationNotFoundException") ||
    + Pattern.compile("History file.*not found").matcher(msg).find())) {
              LOG.info("Job(" + jobid + ") not found: " + msg);
              return null;
            }
  • Xuefu at Nov 12, 2015 at 3:59 am
    Revert inadvertant addition of HiveConf.java.orig file


    Project: http://git-wip-us.apache.org/repos/asf/hive/repo
    Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/9ba2cdfd
    Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/9ba2cdfd
    Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/9ba2cdfd

    Branch: refs/heads/spark
    Commit: 9ba2cdfd9a8eae371048de3fa92131517d8f8d6d
    Parents: 92620d8
    Author: Matt McCline <mmccline@hortonworks.com>
    Authored: Wed Nov 4 14:18:03 2015 -0800
    Committer: Matt McCline <mmccline@hortonworks.com>
    Committed: Wed Nov 4 14:18:03 2015 -0800

    ----------------------------------------------------------------------
      .../apache/hadoop/hive/conf/HiveConf.java.orig | 3372 ------------------
      1 file changed, 3372 deletions(-)
    ----------------------------------------------------------------------
  • Xuefu at Nov 12, 2015 at 3:59 am
    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/tez/vector_decimal_precision.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/tez/vector_decimal_precision.q.out b/ql/src/test/results/clientpositive/tez/vector_decimal_precision.q.out
    index 8b6614e..0b14304 100644
    --- a/ql/src/test/results/clientpositive/tez/vector_decimal_precision.q.out
    +++ b/ql/src/test/results/clientpositive/tez/vector_decimal_precision.q.out
    @@ -99,13 +99,13 @@ NULL
      NULL
      NULL
      NULL
    -0
    -0
    -0
    -0
    -0
    -0.123456789
    -0.123456789
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.1234567890
    +0.1234567890
      1.2345678901
      1.2345678901
      1.2345678901
    @@ -122,14 +122,14 @@ NULL
      12345.6789012346
      123456.7890123456
      123456.7890123457
    -1234567.890123456
    +1234567.8901234560
      1234567.8901234568
    -12345678.90123456
    +12345678.9012345600
      12345678.9012345679
    -123456789.0123456
    +123456789.0123456000
      123456789.0123456789
    -1234567890.123456
    -1234567890.123456789
    +1234567890.1234560000
    +1234567890.1234567890
      PREHOOK: query: SELECT dec, dec + 1, dec - 1 FROM DECIMAL_PRECISION ORDER BY dec
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_precision
    @@ -182,13 +182,13 @@ NULL NULL NULL
      NULL NULL NULL
      NULL NULL NULL
      NULL NULL NULL
    -0 1 -1
    -0 1 -1
    -0 1 -1
    -0 1 -1
    -0 1 -1
    -0.123456789 1.123456789 -0.876543211
    -0.123456789 1.123456789 -0.876543211
    +0.0000000000 1.0000000000 -1.0000000000
    +0.0000000000 1.0000000000 -1.0000000000
    +0.0000000000 1.0000000000 -1.0000000000
    +0.0000000000 1.0000000000 -1.0000000000
    +0.0000000000 1.0000000000 -1.0000000000
    +0.1234567890 1.1234567890 -0.8765432110
    +0.1234567890 1.1234567890 -0.8765432110
      1.2345678901 2.2345678901 0.2345678901
      1.2345678901 2.2345678901 0.2345678901
      1.2345678901 2.2345678901 0.2345678901
    @@ -205,14 +205,14 @@ NULL NULL NULL
      12345.6789012346 12346.6789012346 12344.6789012346
      123456.7890123456 123457.7890123456 123455.7890123456
      123456.7890123457 123457.7890123457 123455.7890123457
    -1234567.890123456 1234568.890123456 1234566.890123456
    +1234567.8901234560 1234568.8901234560 1234566.8901234560
      1234567.8901234568 1234568.8901234568 1234566.8901234568
    -12345678.90123456 12345679.90123456 12345677.90123456
    +12345678.9012345600 12345679.9012345600 12345677.9012345600
      12345678.9012345679 12345679.9012345679 12345677.9012345679
    -123456789.0123456 123456790.0123456 123456788.0123456
    +123456789.0123456000 123456790.0123456000 123456788.0123456000
      123456789.0123456789 123456790.0123456789 123456788.0123456789
    -1234567890.123456 1234567891.123456 1234567889.123456
    -1234567890.123456789 1234567891.123456789 1234567889.123456789
    +1234567890.1234560000 1234567891.1234560000 1234567889.1234560000
    +1234567890.1234567890 1234567891.1234567890 1234567889.1234567890
      PREHOOK: query: SELECT dec, dec * 2, dec / 3 FROM DECIMAL_PRECISION ORDER BY dec
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_precision
    @@ -265,37 +265,37 @@ NULL NULL NULL
      NULL NULL NULL
      NULL NULL NULL
      NULL NULL NULL
    -0 0 0
    -0 0 0
    -0 0 0
    -0 0 0
    -0 0 0
    -0.123456789 0.246913578 0.041152263
    -0.123456789 0.246913578 0.041152263
    +0.0000000000 0.0000000000 0.000000000000
    +0.0000000000 0.0000000000 0.000000000000
    +0.0000000000 0.0000000000 0.000000000000
    +0.0000000000 0.0000000000 0.000000000000
    +0.0000000000 0.0000000000 0.000000000000
    +0.1234567890 0.2469135780 0.041152263000
    +0.1234567890 0.2469135780 0.041152263000
      1.2345678901 2.4691357802 0.411522630033
      1.2345678901 2.4691357802 0.411522630033
      1.2345678901 2.4691357802 0.411522630033
    -12.3456789012 24.6913578024 4.1152263004
    -12.3456789012 24.6913578024 4.1152263004
    -12.3456789012 24.6913578024 4.1152263004
    -123.4567890123 246.9135780246 41.1522630041
    -123.4567890123 246.9135780246 41.1522630041
    -123.4567890123 246.9135780246 41.1522630041
    -1234.5678901235 2469.135780247 411.522630041167
    -1234.5678901235 2469.135780247 411.522630041167
    -1234.5678901235 2469.135780247 411.522630041167
    +12.3456789012 24.6913578024 4.115226300400
    +12.3456789012 24.6913578024 4.115226300400
    +12.3456789012 24.6913578024 4.115226300400
    +123.4567890123 246.9135780246 41.152263004100
    +123.4567890123 246.9135780246 41.152263004100
    +123.4567890123 246.9135780246 41.152263004100
    +1234.5678901235 2469.1357802470 411.522630041167
    +1234.5678901235 2469.1357802470 411.522630041167
    +1234.5678901235 2469.1357802470 411.522630041167
      12345.6789012346 24691.3578024692 4115.226300411533
      12345.6789012346 24691.3578024692 4115.226300411533
    -123456.7890123456 246913.5780246912 41152.2630041152
    +123456.7890123456 246913.5780246912 41152.263004115200
      123456.7890123457 246913.5780246914 41152.263004115233
    -1234567.890123456 2469135.780246912 411522.630041152
    +1234567.8901234560 2469135.7802469120 411522.630041152000
      1234567.8901234568 2469135.7802469136 411522.630041152267
    -12345678.90123456 24691357.80246912 4115226.30041152
    +12345678.9012345600 24691357.8024691200 4115226.300411520000
      12345678.9012345679 24691357.8024691358 4115226.300411522633
    -123456789.0123456 246913578.0246912 41152263.0041152
    -123456789.0123456789 246913578.0246913578 41152263.0041152263
    -1234567890.123456 2469135780.246912 411522630.041152
    -1234567890.123456789 2469135780.246913578 411522630.041152263
    +123456789.0123456000 246913578.0246912000 41152263.004115200000
    +123456789.0123456789 246913578.0246913578 41152263.004115226300
    +1234567890.1234560000 2469135780.2469120000 411522630.041152000000
    +1234567890.1234567890 2469135780.2469135780 411522630.041152263000
      PREHOOK: query: SELECT dec, dec / 9 FROM DECIMAL_PRECISION ORDER BY dec
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_precision
    @@ -348,13 +348,13 @@ NULL NULL
      NULL NULL
      NULL NULL
      NULL NULL
    -0 0
    -0 0
    -0 0
    -0 0
    -0 0
    -0.123456789 0.013717421
    -0.123456789 0.013717421
    +0.0000000000 0.000000000000
    +0.0000000000 0.000000000000
    +0.0000000000 0.000000000000
    +0.0000000000 0.000000000000
    +0.0000000000 0.000000000000
    +0.1234567890 0.013717421000
    +0.1234567890 0.013717421000
      1.2345678901 0.137174210011
      1.2345678901 0.137174210011
      1.2345678901 0.137174210011
    @@ -371,14 +371,14 @@ NULL NULL
      12345.6789012346 1371.742100137178
      123456.7890123456 13717.421001371733
      123456.7890123457 13717.421001371744
    -1234567.890123456 137174.210013717333
    +1234567.8901234560 137174.210013717333
      1234567.8901234568 137174.210013717422
    -12345678.90123456 1371742.100137173333
    +12345678.9012345600 1371742.100137173333
      12345678.9012345679 1371742.100137174211
    -123456789.0123456 13717421.001371733333
    -123456789.0123456789 13717421.0013717421
    -1234567890.123456 137174210.013717333333
    -1234567890.123456789 137174210.013717421
    +123456789.0123456000 13717421.001371733333
    +123456789.0123456789 13717421.001371742100
    +1234567890.1234560000 137174210.013717333333
    +1234567890.1234567890 137174210.013717421000
      PREHOOK: query: SELECT dec, dec / 27 FROM DECIMAL_PRECISION ORDER BY dec
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_precision
    @@ -431,13 +431,13 @@ NULL NULL
      NULL NULL
      NULL NULL
      NULL NULL
    -0 0
    -0 0
    -0 0
    -0 0
    -0 0
    -0.123456789 0.0045724736667
    -0.123456789 0.0045724736667
    +0.0000000000 0.0000000000000
    +0.0000000000 0.0000000000000
    +0.0000000000 0.0000000000000
    +0.0000000000 0.0000000000000
    +0.0000000000 0.0000000000000
    +0.1234567890 0.0045724736667
    +0.1234567890 0.0045724736667
      1.2345678901 0.0457247366704
      1.2345678901 0.0457247366704
      1.2345678901 0.0457247366704
    @@ -454,14 +454,14 @@ NULL NULL
      12345.6789012346 457.2473667123926
      123456.7890123456 4572.4736671239111
      123456.7890123457 4572.4736671239148
    -1234567.890123456 45724.7366712391111
    +1234567.8901234560 45724.7366712391111
      1234567.8901234568 45724.7366712391407
    -12345678.90123456 457247.3667123911111
    +12345678.9012345600 457247.3667123911111
      12345678.9012345679 457247.3667123914037
    -123456789.0123456 4572473.6671239111111
    +123456789.0123456000 4572473.6671239111111
      123456789.0123456789 4572473.6671239140333
    -1234567890.123456 45724736.6712391111111
    -1234567890.123456789 45724736.6712391403333
    +1234567890.1234560000 45724736.6712391111111
    +1234567890.1234567890 45724736.6712391403333
      PREHOOK: query: SELECT dec, dec * dec FROM DECIMAL_PRECISION ORDER BY dec
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_precision
    @@ -514,13 +514,13 @@ NULL NULL
      NULL NULL
      NULL NULL
      NULL NULL
    -0 0
    -0 0
    -0 0
    -0 0
    -0 0
    -0.123456789 0.015241578750190521
    -0.123456789 0.015241578750190521
    +0.0000000000 0.00000000000000000000
    +0.0000000000 0.00000000000000000000
    +0.0000000000 0.00000000000000000000
    +0.0000000000 0.00000000000000000000
    +0.0000000000 0.00000000000000000000
    +0.1234567890 0.01524157875019052100
    +0.1234567890 0.01524157875019052100
      1.2345678901 1.52415787526596567801
      1.2345678901 1.52415787526596567801
      1.2345678901 1.52415787526596567801
    @@ -537,14 +537,14 @@ NULL NULL
      12345.6789012346 152415787.53238916034140423716
      123456.7890123456 15241578753.23881726870921383936
      123456.7890123457 15241578753.23884196006701630849
    -1234567.890123456 1524157875323.881726870921383936
    +1234567.8901234560 1524157875323.88172687092138393600
      1234567.8901234568 1524157875323.88370217954558146624
    -12345678.90123456 152415787532388.1726870921383936
    +12345678.9012345600 152415787532388.17268709213839360000
      12345678.9012345679 152415787532388.36774881877789971041
    -123456789.0123456 15241578753238817.26870921383936
    +123456789.0123456000 15241578753238817.26870921383936000000
      123456789.0123456789 15241578753238836.75019051998750190521
    -1234567890.123456 NULL
    -1234567890.123456789 NULL
    +1234567890.1234560000 NULL
    +1234567890.1234567890 NULL
      PREHOOK: query: EXPLAIN SELECT avg(dec), sum(dec) FROM DECIMAL_PRECISION
      PREHOOK: type: QUERY
      POSTHOOK: query: EXPLAIN SELECT avg(dec), sum(dec) FROM DECIMAL_PRECISION
    @@ -643,7 +643,7 @@ POSTHOOK: query: SELECT MIN(cast('12345678901234567890.12345678' as decimal(38,1
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_precision
      #### A masked pattern was here ####
    -12345678901234567890.12345678
    +12345678901234567890.123456780000000000
      PREHOOK: query: SELECT COUNT(cast('12345678901234567890.12345678' as decimal(38,18))) FROM DECIMAL_PRECISION
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_precision

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/tez/vector_decimal_round_2.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/tez/vector_decimal_round_2.q.out b/ql/src/test/results/clientpositive/tez/vector_decimal_round_2.q.out
    index edde023..8336999 100644
    --- a/ql/src/test/results/clientpositive/tez/vector_decimal_round_2.q.out
    +++ b/ql/src/test/results/clientpositive/tez/vector_decimal_round_2.q.out
    @@ -25,7 +25,7 @@ POSTHOOK: query: select * from decimal_tbl_1_orc
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_tbl_1_orc
      #### A masked pattern was here ####
    -55555
    +55555.000000000000000000
      PREHOOK: query: -- EXPLAIN
      -- SELECT dec, round(null), round(null, 0), round(125, null),
      -- round(1.0/0.0, 0), round(power(-1.0,0.5), 0)
    @@ -121,7 +121,7 @@ FROM decimal_tbl_1_orc ORDER BY d
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_tbl_1_orc
      #### A masked pattern was here ####
    -55555 55555 55555 55555 55555 55560 55600 56000 60000 100000 0 0 0
    +55555 55555 55555.0 55555.00 55555.000 55560 55600 56000 60000 100000 0 0 0
      PREHOOK: query: create table decimal_tbl_2_orc (pos decimal(38,18), neg decimal(38,18))
      STORED AS ORC
      PREHOOK: type: CREATETABLE
    @@ -150,7 +150,7 @@ POSTHOOK: query: select * from decimal_tbl_2_orc
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_tbl_2_orc
      #### A masked pattern was here ####
    -125.315 -125.315
    +125.315000000000000000 -125.315000000000000000
      PREHOOK: query: EXPLAIN
      SELECT
        round(pos) as p, round(pos, 0),
    @@ -240,7 +240,7 @@ FROM decimal_tbl_2_orc ORDER BY p
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_tbl_2_orc
      #### A masked pattern was here ####
    -125 125 125.3 125.32 125.315 125.315 130 100 0 0 -125 -125 -125.3 -125.32 -125.315 -125.315 -130 -100 0 0
    +125 125 125.3 125.32 125.315 125.3150 130 100 0 0 -125 -125 -125.3 -125.32 -125.315 -125.3150 -130 -100 0 0
      PREHOOK: query: create table decimal_tbl_3_orc (dec decimal(38,18))
      STORED AS ORC
      PREHOOK: type: CREATETABLE
    @@ -268,7 +268,7 @@ POSTHOOK: query: select * from decimal_tbl_3_orc
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_tbl_3_orc
      #### A masked pattern was here ####
    -3.141592653589793
    +3.141592653589793000
      PREHOOK: query: EXPLAIN
      SELECT
        round(dec, -15) as d, round(dec, -16),
    @@ -402,7 +402,7 @@ FROM decimal_tbl_3_orc ORDER BY d
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_tbl_3_orc
      #### A masked pattern was here ####
    -0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3.1 3.14 3.142 3.1416 3.14159 3.141593 3.1415927 3.14159265 3.141592654 3.1415926536 3.14159265359 3.14159265359 3.1415926535898 3.1415926535898 3.14159265358979 3.141592653589793 3.141592653589793
    +0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 3.1 3.14 3.142 3.1416 3.14159 3.141593 3.1415927 3.14159265 3.141592654 3.1415926536 3.14159265359 3.141592653590 3.1415926535898 3.1415926535898 3.14159265358979 3.141592653589793 3.1415926535897930
      PREHOOK: query: create table decimal_tbl_4_orc (pos decimal(38,18), neg decimal(38,18))
      STORED AS ORC
      PREHOOK: type: CREATETABLE
    @@ -431,7 +431,7 @@ POSTHOOK: query: select * from decimal_tbl_4_orc
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_tbl_4_orc
      #### A masked pattern was here ####
    -1809242.3151111344 -1809242.3151111344
    +1809242.315111134400000000 -1809242.315111134400000000
      PREHOOK: query: EXPLAIN
      SELECT round(pos, 9) as p, round(neg, 9), round(1809242.3151111344BD, 9), round(-1809242.3151111344BD, 9)
      FROM decimal_tbl_4_orc ORDER BY p

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/tez/vector_decimal_trailing.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/tez/vector_decimal_trailing.q.out b/ql/src/test/results/clientpositive/tez/vector_decimal_trailing.q.out
    index ffdb1c9..7dea1a2 100644
    --- a/ql/src/test/results/clientpositive/tez/vector_decimal_trailing.q.out
    +++ b/ql/src/test/results/clientpositive/tez/vector_decimal_trailing.q.out
    @@ -73,16 +73,16 @@ POSTHOOK: query: SELECT * FROM DECIMAL_TRAILING ORDER BY id
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_trailing
      #### A masked pattern was here ####
    -0 0 0
    -1 0 0
    +0 0.0000 0.00000000
    +1 0.0000 0.00000000
      2 NULL NULL
    -3 1 1
    -4 10 10
    -5 100 100
    -6 1000 1000
    -7 10000 10000
    -8 100000 100000
    -9 NULL 1000000
    +3 1.0000 1.00000000
    +4 10.0000 10.00000000
    +5 100.0000 100.00000000
    +6 1000.0000 1000.00000000
    +7 10000.0000 10000.00000000
    +8 100000.0000 100000.00000000
    +9 NULL 1000000.00000000
      10 NULL NULL
      11 NULL NULL
      12 NULL NULL
    @@ -91,18 +91,18 @@ POSTHOOK: Input: default@decimal_trailing
      15 NULL NULL
      16 NULL NULL
      17 NULL NULL
    -18 1 1
    -19 10 10
    -20 100 100
    -21 1000 1000
    -22 100000 10000
    -23 0 0
    -24 0 0
    -25 0 0
    -26 0 0
    -27 0 0
    -28 12313.2 134134.312525
    -29 99999.999 134134.31242553
    +18 1.0000 1.00000000
    +19 10.0000 10.00000000
    +20 100.0000 100.00000000
    +21 1000.0000 1000.00000000
    +22 100000.0000 10000.00000000
    +23 0.0000 0.00000000
    +24 0.0000 0.00000000
    +25 0.0000 0.00000000
    +26 0.0000 0.00000000
    +27 0.0000 0.00000000
    +28 12313.2000 134134.31252500
    +29 99999.9990 134134.31242553
      PREHOOK: query: DROP TABLE DECIMAL_TRAILING_txt
      PREHOOK: type: DROPTABLE
      PREHOOK: Input: default@decimal_trailing_txt

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/tez/vector_decimal_udf.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/tez/vector_decimal_udf.q.out b/ql/src/test/results/clientpositive/tez/vector_decimal_udf.q.out
    index cc22a56..6df956d 100644
    --- a/ql/src/test/results/clientpositive/tez/vector_decimal_udf.q.out
    +++ b/ql/src/test/results/clientpositive/tez/vector_decimal_udf.q.out
    @@ -95,44 +95,44 @@ POSTHOOK: query: SELECT key + key FROM DECIMAL_UDF
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    --8800
    +-8800.0000000000
      NULL
    -0
    -0
    -200
    -20
    -2
    -0.2
    -0.02
    -400
    -40
    -4
    -0
    -0.4
    -0.04
    -0.6
    -0.66
    -0.666
    --0.6
    --0.66
    --0.666
    -2
    -4
    -6.28
    --2.24
    --2.24
    --2.244
    -2.24
    -2.244
    -248
    -250.4
    --2510.98
    -6.28
    -6.28
    -6.28
    -2
    --2469135780.246913578
    -2469135780.24691356
    +0.0000000000
    +0.0000000000
    +200.0000000000
    +20.0000000000
    +2.0000000000
    +0.2000000000
    +0.0200000000
    +400.0000000000
    +40.0000000000
    +4.0000000000
    +0.0000000000
    +0.4000000000
    +0.0400000000
    +0.6000000000
    +0.6600000000
    +0.6660000000
    +-0.6000000000
    +-0.6600000000
    +-0.6660000000
    +2.0000000000
    +4.0000000000
    +6.2800000000
    +-2.2400000000
    +-2.2400000000
    +-2.2440000000
    +2.2400000000
    +2.2440000000
    +248.0000000000
    +250.4000000000
    +-2510.9800000000
    +6.2800000000
    +6.2800000000
    +6.2800000000
    +2.0000000000
    +-2469135780.2469135780
    +2469135780.2469135600
      PREHOOK: query: EXPLAIN SELECT key + value FROM DECIMAL_UDF
      PREHOOK: type: QUERY
      POSTHOOK: query: EXPLAIN SELECT key + value FROM DECIMAL_UDF
    @@ -178,44 +178,44 @@ POSTHOOK: query: SELECT key + value FROM DECIMAL_UDF
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    -0
    +0.0000000000
      NULL
    -0
    -0
    -200
    -20
    -2
    -0.1
    -0.01
    -400
    -40
    -4
    -0
    -0.2
    -0.02
    -0.3
    -0.33
    -0.333
    --0.3
    --0.33
    --0.333
    -2
    -4
    -6.14
    --2.12
    --2.12
    --12.122
    -2.12
    -2.122
    -248
    -250.2
    --2510.49
    -6.14
    -6.14
    -7.14
    -2
    --2469135780.123456789
    -2469135780.12345678
    +0.0000000000
    +0.0000000000
    +200.0000000000
    +20.0000000000
    +2.0000000000
    +0.1000000000
    +0.0100000000
    +400.0000000000
    +40.0000000000
    +4.0000000000
    +0.0000000000
    +0.2000000000
    +0.0200000000
    +0.3000000000
    +0.3300000000
    +0.3330000000
    +-0.3000000000
    +-0.3300000000
    +-0.3330000000
    +2.0000000000
    +4.0000000000
    +6.1400000000
    +-2.1200000000
    +-2.1200000000
    +-12.1220000000
    +2.1200000000
    +2.1220000000
    +248.0000000000
    +250.2000000000
    +-2510.4900000000
    +6.1400000000
    +6.1400000000
    +7.1400000000
    +2.0000000000
    +-2469135780.1234567890
    +2469135780.1234567800
      PREHOOK: query: EXPLAIN SELECT key + (value/2) FROM DECIMAL_UDF
      PREHOOK: type: QUERY
      POSTHOOK: query: EXPLAIN SELECT key + (value/2) FROM DECIMAL_UDF
    @@ -429,44 +429,44 @@ POSTHOOK: query: SELECT key - key FROM DECIMAL_UDF
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    -0
    +0.0000000000
      NULL
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
      PREHOOK: query: EXPLAIN SELECT key - value FROM DECIMAL_UDF
      PREHOOK: type: QUERY
      POSTHOOK: query: EXPLAIN SELECT key - value FROM DECIMAL_UDF
    @@ -512,44 +512,44 @@ POSTHOOK: query: SELECT key - value FROM DECIMAL_UDF
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    --8800
    +-8800.0000000000
      NULL
    -0
    -0
    -0
    -0
    -0
    -0.1
    -0.01
    -0
    -0
    -0
    -0
    -0.2
    -0.02
    -0.3
    -0.33
    -0.333
    --0.3
    --0.33
    --0.333
    -0
    -0
    -0.14
    --0.12
    --0.12
    -9.878
    -0.12
    -0.122
    -0
    -0.2
    --0.49
    -0.14
    -0.14
    --0.86
    -0
    --0.123456789
    -0.12345678
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.1000000000
    +0.0100000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.2000000000
    +0.0200000000
    +0.3000000000
    +0.3300000000
    +0.3330000000
    +-0.3000000000
    +-0.3300000000
    +-0.3330000000
    +0.0000000000
    +0.0000000000
    +0.1400000000
    +-0.1200000000
    +-0.1200000000
    +9.8780000000
    +0.1200000000
    +0.1220000000
    +0.0000000000
    +0.2000000000
    +-0.4900000000
    +0.1400000000
    +0.1400000000
    +-0.8600000000
    +0.0000000000
    +-0.1234567890
    +0.1234567800
      PREHOOK: query: EXPLAIN SELECT key - (value/2) FROM DECIMAL_UDF
      PREHOOK: type: QUERY
      POSTHOOK: query: EXPLAIN SELECT key - (value/2) FROM DECIMAL_UDF
    @@ -763,42 +763,42 @@ POSTHOOK: query: SELECT key * key FROM DECIMAL_UDF
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    -19360000
    +19360000.00000000000000000000
      NULL
    -0
    -0
    -10000
    -100
    -1
    -0.01
    -0.0001
    -40000
    -400
    -4
    -0
    -0.04
    -0.0004
    -0.09
    -0.1089
    -0.110889
    -0.09
    -0.1089
    -0.110889
    -1
    -4
    -9.8596
    -1.2544
    -1.2544
    -1.258884
    -1.2544
    -1.258884
    -15376
    -15675.04
    -1576255.1401
    -9.8596
    -9.8596
    -9.8596
    -1
    +0.00000000000000000000
    +0.00000000000000000000
    +10000.00000000000000000000
    +100.00000000000000000000
    +1.00000000000000000000
    +0.01000000000000000000
    +0.00010000000000000000
    +40000.00000000000000000000
    +400.00000000000000000000
    +4.00000000000000000000
    +0.00000000000000000000
    +0.04000000000000000000
    +0.00040000000000000000
    +0.09000000000000000000
    +0.10890000000000000000
    +0.11088900000000000000
    +0.09000000000000000000
    +0.10890000000000000000
    +0.11088900000000000000
    +1.00000000000000000000
    +4.00000000000000000000
    +9.85960000000000000000
    +1.25440000000000000000
    +1.25440000000000000000
    +1.25888400000000000000
    +1.25440000000000000000
    +1.25888400000000000000
    +15376.00000000000000000000
    +15675.04000000000000000000
    +1576255.14010000000000000000
    +9.85960000000000000000
    +9.85960000000000000000
    +9.85960000000000000000
    +1.00000000000000000000
      NULL
      NULL
      PREHOOK: query: EXPLAIN SELECT key, value FROM DECIMAL_UDF where key * value > 0
    @@ -849,29 +849,29 @@ POSTHOOK: query: SELECT key, value FROM DECIMAL_UDF where key * value > 0
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    -100 100
    -10 10
    -1 1
    -200 200
    -20 20
    -2 2
    -1 1
    -2 2
    -3.14 3
    --1.12 -1
    --1.12 -1
    --1.122 -11
    -1.12 1
    -1.122 1
    -124 124
    -125.2 125
    --1255.49 -1255
    -3.14 3
    -3.14 3
    -3.14 4
    -1 1
    --1234567890.123456789 -1234567890
    -1234567890.12345678 1234567890
    +100.0000000000 100
    +10.0000000000 10
    +1.0000000000 1
    +200.0000000000 200
    +20.0000000000 20
    +2.0000000000 2
    +1.0000000000 1
    +2.0000000000 2
    +3.1400000000 3
    +-1.1200000000 -1
    +-1.1200000000 -1
    +-1.1220000000 -11
    +1.1200000000 1
    +1.1220000000 1
    +124.0000000000 124
    +125.2000000000 125
    +-1255.4900000000 -1255
    +3.1400000000 3
    +3.1400000000 3
    +3.1400000000 4
    +1.0000000000 1
    +-1234567890.1234567890 -1234567890
    +1234567890.1234567800 1234567890
      PREHOOK: query: EXPLAIN SELECT key * value FROM DECIMAL_UDF
      PREHOOK: type: QUERY
      POSTHOOK: query: EXPLAIN SELECT key * value FROM DECIMAL_UDF
    @@ -917,44 +917,44 @@ POSTHOOK: query: SELECT key * value FROM DECIMAL_UDF
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    --19360000
    +-19360000.0000000000
      NULL
    -0
    -0
    -10000
    -100
    -1
    -0
    -0
    -40000
    -400
    -4
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -1
    -4
    -9.42
    -1.12
    -1.12
    -12.342
    -1.12
    -1.122
    -15376
    -15650
    -1575639.95
    -9.42
    -9.42
    -12.56
    -1
    -1524157875171467887.50190521
    -1524157875171467876.3907942
    +0.0000000000
    +0.0000000000
    +10000.0000000000
    +100.0000000000
    +1.0000000000
    +0.0000000000
    +0.0000000000
    +40000.0000000000
    +400.0000000000
    +4.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +1.0000000000
    +4.0000000000
    +9.4200000000
    +1.1200000000
    +1.1200000000
    +12.3420000000
    +1.1200000000
    +1.1220000000
    +15376.0000000000
    +15650.0000000000
    +1575639.9500000000
    +9.4200000000
    +9.4200000000
    +12.5600000000
    +1.0000000000
    +1524157875171467887.5019052100
    +1524157875171467876.3907942000
      PREHOOK: query: EXPLAIN SELECT key * (value/2) FROM DECIMAL_UDF
      PREHOOK: type: QUERY
      POSTHOOK: query: EXPLAIN SELECT key * (value/2) FROM DECIMAL_UDF
    @@ -1268,40 +1268,40 @@ POSTHOOK: query: SELECT key / key FROM DECIMAL_UDF WHERE key is not null and key
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
      PREHOOK: query: EXPLAIN SELECT key / value FROM DECIMAL_UDF WHERE value is not null and value <> 0
      PREHOOK: type: QUERY
      POSTHOOK: query: EXPLAIN SELECT key / value FROM DECIMAL_UDF WHERE value is not null and value <> 0
    @@ -1350,30 +1350,30 @@ POSTHOOK: query: SELECT key / value FROM DECIMAL_UDF WHERE value is not null and
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    --1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    +-1.000000000000000000000
    +1.000000000000000000000
    +1.000000000000000000000
    +1.000000000000000000000
    +1.000000000000000000000
    +1.000000000000000000000
    +1.000000000000000000000
    +1.000000000000000000000
    +1.000000000000000000000
      1.046666666666666666667
    -1.12
    -1.12
    -0.102
    -1.12
    -1.122
    -1
    -1.0016
    +1.120000000000000000000
    +1.120000000000000000000
    +0.102000000000000000000
    +1.120000000000000000000
    +1.122000000000000000000
    +1.000000000000000000000
    +1.001600000000000000000
      1.000390438247011952191
      1.046666666666666666667
      1.046666666666666666667
    -0.785
    -1
    -1.0000000001
    -1.00000000009999999271
    +0.785000000000000000000
    +1.000000000000000000000
    +1.000000000100000000000
    +1.000000000099999992710
      PREHOOK: query: EXPLAIN SELECT key / (value/2) FROM DECIMAL_UDF WHERE value is not null and value <> 0
      PREHOOK: type: QUERY
      POSTHOOK: query: EXPLAIN SELECT key / (value/2) FROM DECIMAL_UDF WHERE value is not null and value <> 0
    @@ -1576,44 +1576,44 @@ POSTHOOK: query: SELECT abs(key) FROM DECIMAL_UDF
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    -4400
    +4400.0000000000
      NULL
    -0
    -0
    -100
    -10
    -1
    -0.1
    -0.01
    -200
    -20
    -2
    -0
    -0.2
    -0.02
    -0.3
    -0.33
    -0.333
    -0.3
    -0.33
    -0.333
    -1
    -2
    -3.14
    -1.12
    -1.12
    -1.122
    -1.12
    -1.122
    -124
    -125.2
    -1255.49
    -3.14
    -3.14
    -3.14
    -1
    -1234567890.123456789
    -1234567890.12345678
    +0.0000000000
    +0.0000000000
    +100.0000000000
    +10.0000000000
    +1.0000000000
    +0.1000000000
    +0.0100000000
    +200.0000000000
    +20.0000000000
    +2.0000000000
    +0.0000000000
    +0.2000000000
    +0.0200000000
    +0.3000000000
    +0.3300000000
    +0.3330000000
    +0.3000000000
    +0.3300000000
    +0.3330000000
    +1.0000000000
    +2.0000000000
    +3.1400000000
    +1.1200000000
    +1.1200000000
    +1.1220000000
    +1.1200000000
    +1.1220000000
    +124.0000000000
    +125.2000000000
    +1255.4900000000
    +3.1400000000
    +3.1400000000
    +3.1400000000
    +1.0000000000
    +1234567890.1234567890
    +1234567890.1234567800
      PREHOOK: query: -- avg
      EXPLAIN SELECT value, sum(key) / count(key), avg(key), sum(key) FROM DECIMAL_UDF GROUP BY value ORDER BY value
      PREHOOK: type: QUERY
    @@ -1700,23 +1700,23 @@ POSTHOOK: query: SELECT value, sum(key) / count(key), avg(key), sum(key) FROM DE
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    --1234567890 -1234567890.123456789 -1234567890.123456789 -1234567890.123456789
    --1255 -1255.49 -1255.49 -1255.49
    --11 -1.122 -1.122 -1.122
    --1 -1.12 -1.12 -2.24
    -0 0.02538461538461538461538 0.02538461538462 0.33
    -1 1.0484 1.0484 5.242
    -2 2 2 4
    -3 3.14 3.14 9.42
    -4 3.14 3.14 3.14
    -10 10 10 10
    -20 20 20 20
    -100 100 100 100
    -124 124 124 124
    -125 125.2 125.2 125.2
    -200 200 200 200
    -4400 -4400 -4400 -4400
    -1234567890 1234567890.12345678 1234567890.12345678 1234567890.12345678
    +-1234567890 -1234567890.12345678900000000000000 -1234567890.12345678900000 -1234567890.1234567890
    +-1255 -1255.49000000000000000000000 -1255.49000000000000 -1255.4900000000
    +-11 -1.12200000000000000000000 -1.12200000000000 -1.1220000000
    +-1 -1.12000000000000000000000 -1.12000000000000 -2.2400000000
    +0 0.02538461538461538461538 0.02538461538462 0.3300000000
    +1 1.04840000000000000000000 1.04840000000000 5.2420000000
    +2 2.00000000000000000000000 2.00000000000000 4.0000000000
    +3 3.14000000000000000000000 3.14000000000000 9.4200000000
    +4 3.14000000000000000000000 3.14000000000000 3.1400000000
    +10 10.00000000000000000000000 10.00000000000000 10.0000000000
    +20 20.00000000000000000000000 20.00000000000000 20.0000000000
    +100 100.00000000000000000000000 100.00000000000000 100.0000000000
    +124 124.00000000000000000000000 124.00000000000000 124.0000000000
    +125 125.20000000000000000000000 125.20000000000000 125.2000000000
    +200 200.00000000000000000000000 200.00000000000000 200.0000000000
    +4400 -4400.00000000000000000000000 -4400.00000000000000 -4400.0000000000
    +1234567890 1234567890.12345678000000000000000 1234567890.12345678000000 1234567890.1234567800
      PREHOOK: query: -- negative
      EXPLAIN SELECT -key FROM DECIMAL_UDF
      PREHOOK: type: QUERY
    @@ -1764,44 +1764,44 @@ POSTHOOK: query: SELECT -key FROM DECIMAL_UDF
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    -4400
    +4400.0000000000
      NULL
    -0
    -0
    --100
    --10
    --1
    --0.1
    --0.01
    --200
    --20
    --2
    -0
    --0.2
    --0.02
    --0.3
    --0.33
    --0.333
    -0.3
    -0.33
    -0.333
    --1
    --2
    --3.14
    -1.12
    -1.12
    -1.122
    --1.12
    --1.122
    --124
    --125.2
    -1255.49
    --3.14
    --3.14
    --3.14
    --1
    -1234567890.123456789
    --1234567890.12345678
    +0.0000000000
    +0.0000000000
    +-100.0000000000
    +-10.0000000000
    +-1.0000000000
    +-0.1000000000
    +-0.0100000000
    +-200.0000000000
    +-20.0000000000
    +-2.0000000000
    +0.0000000000
    +-0.2000000000
    +-0.0200000000
    +-0.3000000000
    +-0.3300000000
    +-0.3330000000
    +0.3000000000
    +0.3300000000
    +0.3330000000
    +-1.0000000000
    +-2.0000000000
    +-3.1400000000
    +1.1200000000
    +1.1200000000
    +1.1220000000
    +-1.1200000000
    +-1.1220000000
    +-124.0000000000
    +-125.2000000000
    +1255.4900000000
    +-3.1400000000
    +-3.1400000000
    +-3.1400000000
    +-1.0000000000
    +1234567890.1234567890
    +-1234567890.1234567800
      PREHOOK: query: -- positive
      EXPLAIN SELECT +key FROM DECIMAL_UDF
      PREHOOK: type: QUERY
    @@ -1831,44 +1831,44 @@ POSTHOOK: query: SELECT +key FROM DECIMAL_UDF
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    --4400
    +-4400.0000000000
      NULL
    -0
    -0
    -100
    -10
    -1
    -0.1
    -0.01
    -200
    -20
    -2
    -0
    -0.2
    -0.02
    -0.3
    -0.33
    -0.333
    --0.3
    --0.33
    --0.333
    -1
    -2
    -3.14
    --1.12
    --1.12
    --1.122
    -1.12
    -1.122
    -124
    -125.2
    --1255.49
    -3.14
    -3.14
    -3.14
    -1
    --1234567890.123456789
    -1234567890.12345678
    +0.0000000000
    +0.0000000000
    +100.0000000000
    +10.0000000000
    +1.0000000000
    +0.1000000000
    +0.0100000000
    +200.0000000000
    +20.0000000000
    +2.0000000000
    +0.0000000000
    +0.2000000000
    +0.0200000000
    +0.3000000000
    +0.3300000000
    +0.3330000000
    +-0.3000000000
    +-0.3300000000
    +-0.3330000000
    +1.0000000000
    +2.0000000000
    +3.1400000000
    +-1.1200000000
    +-1.1200000000
    +-1.1220000000
    +1.1200000000
    +1.1220000000
    +124.0000000000
    +125.2000000000
    +-1255.4900000000
    +3.1400000000
    +3.1400000000
    +3.1400000000
    +1.0000000000
    +-1234567890.1234567890
    +1234567890.1234567800
      PREHOOK: query: -- ceiling
      EXPlAIN SELECT CEIL(key) FROM DECIMAL_UDF
      PREHOOK: type: QUERY
    @@ -2086,42 +2086,42 @@ POSTHOOK: query: SELECT ROUND(key, 2) FROM DECIMAL_UDF
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    --4400
    +-4400.00
      NULL
    -0
    -0
    -100
    -10
    -1
    -0.1
    +0.00
    +0.00
    +100.00
    +10.00
    +1.00
    +0.10
      0.01
    -200
    -20
    -2
    -0
    -0.2
    +200.00
    +20.00
    +2.00
    +0.00
    +0.20
      0.02
    -0.3
    +0.30
      0.33
      0.33
    --0.3
    +-0.30
      -0.33
      -0.33
    -1
    -2
    +1.00
    +2.00
      3.14
      -1.12
      -1.12
      -1.12
      1.12
      1.12
    -124
    -125.2
    +124.00
    +125.20
      -1255.49
      3.14
      3.14
      3.14
    -1
    +1.00
      -1234567890.12
      1234567890.12
      PREHOOK: query: -- power
    @@ -2255,44 +2255,44 @@ POSTHOOK: query: SELECT (key + 1) % (key / 2) FROM DECIMAL_UDF
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    --2199
    +-2199.000000000000
      NULL
      NULL
      NULL
    -1
    -1
    -0
    -0
    -0
    -1
    -1
    -0
    +1.000000000000
    +1.000000000000
    +0.000000000000
    +0.000000000000
    +0.000000000000
    +1.000000000000
    +1.000000000000
    +0.000000000000
      NULL
    -0
    -0
    -0.1
    -0.01
    -0.001
    -0.1
    -0.01
    -0.001
    -0
    -0
    -1
    --0.12
    --0.12
    --0.122
    -0.44
    -0.439
    -1
    -1
    --626.745
    -1
    -1
    -1
    -0
    --617283944.0617283945
    -1
    +0.000000000000
    +0.000000000000
    +0.100000000000
    +0.010000000000
    +0.001000000000
    +0.100000000000
    +0.010000000000
    +0.001000000000
    +0.000000000000
    +0.000000000000
    +1.000000000000
    +-0.120000000000
    +-0.120000000000
    +-0.122000000000
    +0.440000000000
    +0.439000000000
    +1.000000000000
    +1.000000000000
    +-626.745000000000
    +1.000000000000
    +1.000000000000
    +1.000000000000
    +0.000000000000
    +-617283944.061728394500
    +1.000000000000
      PREHOOK: query: -- stddev, var
      EXPLAIN SELECT value, stddev(key), variance(key) FROM DECIMAL_UDF GROUP BY value
      PREHOOK: type: QUERY
    @@ -2596,7 +2596,7 @@ POSTHOOK: query: SELECT MIN(key) FROM DECIMAL_UDF
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    --1234567890.123456789
    +-1234567890.1234567890
      PREHOOK: query: -- max
      EXPLAIN SELECT MAX(key) FROM DECIMAL_UDF
      PREHOOK: type: QUERY
    @@ -2663,7 +2663,7 @@ POSTHOOK: query: SELECT MAX(key) FROM DECIMAL_UDF
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    -1234567890.12345678
    +1234567890.1234567800
      PREHOOK: query: -- count
      EXPLAIN SELECT COUNT(key) FROM DECIMAL_UDF
      PREHOOK: type: QUERY

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/tez/vector_reduce_groupby_decimal.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/tez/vector_reduce_groupby_decimal.q.out b/ql/src/test/results/clientpositive/tez/vector_reduce_groupby_decimal.q.out
    index 1cd5959..337d83f 100644
    --- a/ql/src/test/results/clientpositive/tez/vector_reduce_groupby_decimal.q.out
    +++ b/ql/src/test/results/clientpositive/tez/vector_reduce_groupby_decimal.q.out
    @@ -111,56 +111,56 @@ LIMIT 50
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_test
      #### A masked pattern was here ####
    --1073051226 -7382.0 -4409.2486486486 -5280.969230769231 -4409.2486486486
    --1072081801 8373.0 5001.1702702703 5989.915384615385 5001.1702702703
    --1072076362 -5470.0 -3267.2162162162 -3913.1538461538466 -3267.2162162162
    --1070883071 -741.0 -442.5972972973 -530.1 -442.5972972973
    --1070551679 -947.0 -565.6405405405 -677.4692307692308 -565.6405405405
    --1069512165 11417.0 6819.3432432432 8167.546153846154 6819.3432432432
    --1069109166 8390.0 5011.3243243243 6002.076923076923 5011.3243243243
    --1068623584 -14005.0 -8365.1486486486 -10018.961538461539 -8365.1486486486
    --1067386090 -3977.0 -2375.4513513514 -2845.084615384616 -2375.4513513514
    --1066922682 -9987.0 -5965.2081081081 -7144.546153846154 -5965.2081081081
    --1066226047 -9439.0 -5637.8891891892 -6752.515384615385 -5637.8891891892
    --1065117869 2538.0 1515.9405405405 1815.646153846154 1515.9405405405
    --1064949302 6454.0 3854.9567567568 4617.092307692308 3854.9567567568
    --1063498122 -11480.0 -6856.972972973 -8212.615384615387 -6856.972972973
    --1062973443 10541.0 6296.1108108108 7540.869230769231 6296.1108108108
    --1061614989 -4234.0 -2528.9567567568 -3028.938461538462 -2528.9567567568
    --1061057428 -1085.0 -648.0675675676 -776.1923076923077 -648.0675675676
    --1059941909 8782.0 5245.4648648649 6282.507692307693 5245.4648648649
    --1059338191 7322.0 4373.4108108108 5238.046153846154 4373.4108108108
    --1059047258 12452.0 7437.5459459459 8907.969230769231 7437.5459459459
    --1056684111 13991.0 8356.7864864865 10008.946153846155 8356.7864864865
    --1055945837 13690.0 8177 9793.615384615387 8177
    --1055669248 2570.0 1535.0540540541 1838.538461538462 1535.0540540541
    --1055316250 -14990.0 -8953.4864864865 -10723.615384615385 -8953.4864864865
    --1053385587 14504.0 8663.2 10375.938461538462 8663.2
    --1053238077 -3704.0 -2212.3891891892 -2649.784615384616 -2212.3891891892
    --1052745800 -12404.0 -7408.8756756757 -8873.630769230771 -7408.8756756757
    --1052322972 -7433.0 -4439.7108108108 -5317.453846153847 -4439.7108108108
    --1050684541 -8261.0 -4934.272972973 -5909.792307692308 -4934.272972973
    --1050657303 -6999.0 -4180.4837837838 -5006.976923076923 -4180.4837837838
    --1050165799 8634.0 5157.0648648649 6176.63076923077 5157.0648648649
    +-1073051226 -7382.0 -4409.2486486486 -5280.96923076923100 -4409.2486486486
    +-1072081801 8373.0 5001.1702702703 5989.91538461538500 5001.1702702703
    +-1072076362 -5470.0 -3267.2162162162 -3913.15384615384660 -3267.2162162162
    +-1070883071 -741.0 -442.5972972973 -530.10000000000000 -442.5972972973
    +-1070551679 -947.0 -565.6405405405 -677.46923076923080 -565.6405405405
    +-1069512165 11417.0 6819.3432432432 8167.54615384615400 6819.3432432432
    +-1069109166 8390.0 5011.3243243243 6002.07692307692300 5011.3243243243
    +-1068623584 -14005.0 -8365.1486486486 -10018.96153846153900 -8365.1486486486
    +-1067386090 -3977.0 -2375.4513513514 -2845.08461538461600 -2375.4513513514
    +-1066922682 -9987.0 -5965.2081081081 -7144.54615384615400 -5965.2081081081
    +-1066226047 -9439.0 -5637.8891891892 -6752.51538461538500 -5637.8891891892
    +-1065117869 2538.0 1515.9405405405 1815.64615384615400 1515.9405405405
    +-1064949302 6454.0 3854.9567567568 4617.09230769230800 3854.9567567568
    +-1063498122 -11480.0 -6856.9729729730 -8212.61538461538700 -6856.9729729730
    +-1062973443 10541.0 6296.1108108108 7540.86923076923100 6296.1108108108
    +-1061614989 -4234.0 -2528.9567567568 -3028.93846153846200 -2528.9567567568
    +-1061057428 -1085.0 -648.0675675676 -776.19230769230770 -648.0675675676
    +-1059941909 8782.0 5245.4648648649 6282.50769230769300 5245.4648648649
    +-1059338191 7322.0 4373.4108108108 5238.04615384615400 4373.4108108108
    +-1059047258 12452.0 7437.5459459459 8907.96923076923100 7437.5459459459
    +-1056684111 13991.0 8356.7864864865 10008.94615384615500 8356.7864864865
    +-1055945837 13690.0 8177.0000000000 9793.61538461538700 8177.0000000000
    +-1055669248 2570.0 1535.0540540541 1838.53846153846200 1535.0540540541
    +-1055316250 -14990.0 -8953.4864864865 -10723.61538461538500 -8953.4864864865
    +-1053385587 14504.0 8663.2000000000 10375.93846153846200 8663.2000000000
    +-1053238077 -3704.0 -2212.3891891892 -2649.78461538461600 -2212.3891891892
    +-1052745800 -12404.0 -7408.8756756757 -8873.63076923077100 -7408.8756756757
    +-1052322972 -7433.0 -4439.7108108108 -5317.45384615384700 -4439.7108108108
    +-1050684541 -8261.0 -4934.2729729730 -5909.79230769230800 -4934.2729729730
    +-1050657303 -6999.0 -4180.4837837838 -5006.97692307692300 -4180.4837837838
    +-1050165799 8634.0 5157.0648648649 6176.63076923077000 5157.0648648649
      -1048934049 -524.0 -312.9837837838 -374.86153846153854 -312.9837837838
    --1046399794 4130.0 2466.8378378378 2954.5384615384614 2466.8378378378
    --1045867222 -8034.0 -4798.6864864865 -5747.400000000001 -4798.6864864865
    --1045196363 -5039.0 -3009.7810810811 -3604.823076923077 -3009.7810810811
    --1045181724 -5706.0 -3408.1783783784 -4081.9846153846156 -3408.1783783784
    --1045087657 -5865.0 -3503.1486486486 -4195.7307692307695 -3503.1486486486
    --1044207190 5381.0 3214.0567567568 3849.4846153846156 3214.0567567568
    --1044093617 -3422.0 -2043.9513513514 -2448.046153846154 -2043.9513513514
    --1043573508 16216.0 9685.772972973 11600.676923076924 9685.772972973
    --1043132597 12302.0 7347.9513513514 8800.66153846154 7347.9513513514
    --1043082182 9180.0 5483.1891891892 6567.2307692307695 5483.1891891892
    --1042805968 5133.0 3065.927027027 3672.0692307692307 3065.927027027
    --1042712895 9296.0 5552.4756756757 6650.215384615385 5552.4756756757
    --1042396242 9583.0 5723.9 6855.53076923077 5723.9
    --1041734429 -836.0 -499.3405405405 -598.0615384615385 -499.3405405405
    --1041391389 -12970.0 -7746.9459459459 -9278.538461538463 -7746.9459459459
    --1041252354 756.0 451.5567567568 540.8307692307692 451.5567567568
    --1039776293 13704.0 8185.3621621622 9803.630769230771 8185.3621621622
    --1039762548 -3802.0 -2270.9243243243 -2719.8923076923083 -2270.9243243243
    +-1046399794 4130.0 2466.8378378378 2954.53846153846140 2466.8378378378
    +-1045867222 -8034.0 -4798.6864864865 -5747.40000000000100 -4798.6864864865
    +-1045196363 -5039.0 -3009.7810810811 -3604.82307692307700 -3009.7810810811
    +-1045181724 -5706.0 -3408.1783783784 -4081.98461538461560 -3408.1783783784
    +-1045087657 -5865.0 -3503.1486486486 -4195.73076923076950 -3503.1486486486
    +-1044207190 5381.0 3214.0567567568 3849.48461538461560 3214.0567567568
    +-1044093617 -3422.0 -2043.9513513514 -2448.04615384615400 -2043.9513513514
    +-1043573508 16216.0 9685.7729729730 11600.67692307692400 9685.7729729730
    +-1043132597 12302.0 7347.9513513514 8800.66153846154000 7347.9513513514
    +-1043082182 9180.0 5483.1891891892 6567.23076923076950 5483.1891891892
    +-1042805968 5133.0 3065.9270270270 3672.06923076923070 3065.9270270270
    +-1042712895 9296.0 5552.4756756757 6650.21538461538500 5552.4756756757
    +-1042396242 9583.0 5723.9000000000 6855.53076923077000 5723.9000000000
    +-1041734429 -836.0 -499.3405405405 -598.06153846153850 -499.3405405405
    +-1041391389 -12970.0 -7746.9459459459 -9278.53846153846300 -7746.9459459459
    +-1041252354 756.0 451.5567567568 540.83076923076920 451.5567567568
    +-1039776293 13704.0 8185.3621621622 9803.63076923077100 8185.3621621622
    +-1039762548 -3802.0 -2270.9243243243 -2719.89230769230830 -2270.9243243243
      PREHOOK: query: SELECT sum(hash(*))
        FROM (SELECT cint, cdouble, cdecimal1, cdecimal2, min(cdecimal1) as min_decimal1 FROM decimal_test
              WHERE cdecimal1 is not null and cdecimal2 is not null

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/update_all_types.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/update_all_types.q.out b/ql/src/test/results/clientpositive/update_all_types.q.out
    index 1cfa088..c5c1abb 100644
    --- a/ql/src/test/results/clientpositive/update_all_types.q.out
    +++ b/ql/src/test/results/clientpositive/update_all_types.q.out
    @@ -96,11 +96,11 @@ POSTHOOK: query: select * from acid_uat order by i
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@acid_uat
      #### A masked pattern was here ####
    --51 NULL -1071480828 -1071480828 -1401575336 -51.0 NULL -51 1969-12-31 16:00:08.451 NULL aw724t8c5558x2xneC624 aw724t8c5558x2xneC624 4uE7l74tESBiKfu7c8wM7GA true
    -11 NULL -1069736047 -1069736047 -453772520 11.0 NULL 11 1969-12-31 16:00:02.351 NULL k17Am8uPHWk02cEf1jet k17Am8uPHWk02cEf1jet qrXLLNX1 true
    -11 NULL -1072910839 -1072910839 2048385991 11.0 NULL 11 1969-12-31 16:00:02.351 NULL 0iqrc5 0iqrc5 KbaDXiN85adbHRx58v false
    -11 NULL -1073279343 -1073279343 -1595604468 11.0 NULL 11 1969-12-31 16:00:02.351 NULL oj1YrV5Wa oj1YrV5Wa P76636jJ6qM17d7DIy true
    -8 NULL -1071363017 -1071363017 1349676361 8.0 NULL 8 1969-12-31 16:00:15.892 NULL Anj0oF Anj0oF IwE1G7Qb0B1NEfV030g true
    +-51 NULL -1071480828 -1071480828 -1401575336 -51.0 NULL -51.00 1969-12-31 16:00:08.451 NULL aw724t8c5558x2xneC624 aw724t8c5558x2xneC624 4uE7l74tESBiKfu7c8wM7GA true
    +11 NULL -1069736047 -1069736047 -453772520 11.0 NULL 11.00 1969-12-31 16:00:02.351 NULL k17Am8uPHWk02cEf1jet k17Am8uPHWk02cEf1jet qrXLLNX1 true
    +11 NULL -1072910839 -1072910839 2048385991 11.0 NULL 11.00 1969-12-31 16:00:02.351 NULL 0iqrc5 0iqrc5 KbaDXiN85adbHRx58v false
    +11 NULL -1073279343 -1073279343 -1595604468 11.0 NULL 11.00 1969-12-31 16:00:02.351 NULL oj1YrV5Wa oj1YrV5Wa P76636jJ6qM17d7DIy true
    +8 NULL -1071363017 -1071363017 1349676361 8.0 NULL 8.00 1969-12-31 16:00:15.892 NULL Anj0oF Anj0oF IwE1G7Qb0B1NEfV030g true
      NULL -5470 -1072076362 -1072076362 1864027286 NULL -5470.0 NULL NULL 1969-12-31 2uLyD28144vklju213J1mr 2uLyD28144vklju213J1mr 4KWs6gw7lv2WYd66P true
      NULL -7382 -1073051226 -1073051226 -1887561756 NULL -7382.0 NULL NULL 1969-12-31 A34p7oRr2WvUJNf A34p7oRr2WvUJNf 4hA4KQj2vD3fI6gX82220d false
      NULL -741 -1070883071 -1070883071 -1645852809 NULL -741.0 NULL NULL 1969-12-31 0ruyd6Y50JpdGRf6HqD 0ruyd6Y50JpdGRf6HqD xH7445Rals48VOulSyR5F false
    @@ -150,12 +150,12 @@ POSTHOOK: query: select * from acid_uat order by i
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@acid_uat
      #### A masked pattern was here ####
    --51 NULL -1071480828 -1071480828 -1401575336 -51.0 NULL -51 1969-12-31 16:00:08.451 NULL aw724t8c5558x2xneC624 aw724t8c5558x2xneC624 4uE7l74tESBiKfu7c8wM7GA true
    +-51 NULL -1071480828 -1071480828 -1401575336 -51.0 NULL -51.00 1969-12-31 16:00:08.451 NULL aw724t8c5558x2xneC624 aw724t8c5558x2xneC624 4uE7l74tESBiKfu7c8wM7GA true
      1 2 -1070883071 3 4 3.14 6.28 5.99 NULL 2014-09-01 its a beautiful day in the neighbhorhood a beautiful day for a neighbor wont you be mine true
    -11 NULL -1069736047 -1069736047 -453772520 11.0 NULL 11 1969-12-31 16:00:02.351 NULL k17Am8uPHWk02cEf1jet k17Am8uPHWk02cEf1jet qrXLLNX1 true
    -11 NULL -1072910839 -1072910839 2048385991 11.0 NULL 11 1969-12-31 16:00:02.351 NULL 0iqrc5 0iqrc5 KbaDXiN85adbHRx58v false
    -11 NULL -1073279343 -1073279343 -1595604468 11.0 NULL 11 1969-12-31 16:00:02.351 NULL oj1YrV5Wa oj1YrV5Wa P76636jJ6qM17d7DIy true
    -8 NULL -1071363017 -1071363017 1349676361 8.0 NULL 8 1969-12-31 16:00:15.892 NULL Anj0oF Anj0oF IwE1G7Qb0B1NEfV030g true
    +11 NULL -1069736047 -1069736047 -453772520 11.0 NULL 11.00 1969-12-31 16:00:02.351 NULL k17Am8uPHWk02cEf1jet k17Am8uPHWk02cEf1jet qrXLLNX1 true
    +11 NULL -1072910839 -1072910839 2048385991 11.0 NULL 11.00 1969-12-31 16:00:02.351 NULL 0iqrc5 0iqrc5 KbaDXiN85adbHRx58v false
    +11 NULL -1073279343 -1073279343 -1595604468 11.0 NULL 11.00 1969-12-31 16:00:02.351 NULL oj1YrV5Wa oj1YrV5Wa P76636jJ6qM17d7DIy true
    +8 NULL -1071363017 -1071363017 1349676361 8.0 NULL 8.00 1969-12-31 16:00:15.892 NULL Anj0oF Anj0oF IwE1G7Qb0B1NEfV030g true
      NULL -5470 -1072076362 -1072076362 1864027286 NULL -5470.0 NULL NULL 1969-12-31 2uLyD28144vklju213J1mr 2uLyD28144vklju213J1mr 4KWs6gw7lv2WYd66P true
      NULL -7382 -1073051226 -1073051226 -1887561756 NULL -7382.0 NULL NULL 1969-12-31 A34p7oRr2WvUJNf A34p7oRr2WvUJNf 4hA4KQj2vD3fI6gX82220d false
      NULL -947 -1070551679 -1070551679 1864027286 NULL -947.0 NULL NULL 1969-12-31 iUR3Q iUR3Q 4KWs6gw7lv2WYd66P false
    @@ -184,12 +184,12 @@ POSTHOOK: query: select * from acid_uat order by i
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@acid_uat
      #### A masked pattern was here ####
    --102 -51 -1071480828 -1071480828 -1401575336 -51.0 -51.0 -51 1969-12-31 16:00:08.451 NULL aw724t8c5558x2xneC624 aw724t8c5558x2xneC624 4uE7l74tESBiKfu7c8wM7GA true
    +-102 -51 -1071480828 -1071480828 -1401575336 -51.0 -51.0 -51.00 1969-12-31 16:00:08.451 NULL aw724t8c5558x2xneC624 aw724t8c5558x2xneC624 4uE7l74tESBiKfu7c8wM7GA true
      1 2 -1070883071 3 4 3.14 6.28 5.99 NULL 2014-09-01 its a beautiful day in the neighbhorhood a beautiful day for a neighbor wont you be mine true
    -11 NULL -1069736047 -1069736047 -453772520 11.0 NULL 11 1969-12-31 16:00:02.351 NULL k17Am8uPHWk02cEf1jet k17Am8uPHWk02cEf1jet qrXLLNX1 true
    -11 NULL -1072910839 -1072910839 2048385991 11.0 NULL 11 1969-12-31 16:00:02.351 NULL 0iqrc5 0iqrc5 KbaDXiN85adbHRx58v false
    -11 NULL -1073279343 -1073279343 -1595604468 11.0 NULL 11 1969-12-31 16:00:02.351 NULL oj1YrV5Wa oj1YrV5Wa P76636jJ6qM17d7DIy true
    -8 NULL -1071363017 -1071363017 1349676361 8.0 NULL 8 1969-12-31 16:00:15.892 NULL Anj0oF Anj0oF IwE1G7Qb0B1NEfV030g true
    +11 NULL -1069736047 -1069736047 -453772520 11.0 NULL 11.00 1969-12-31 16:00:02.351 NULL k17Am8uPHWk02cEf1jet k17Am8uPHWk02cEf1jet qrXLLNX1 true
    +11 NULL -1072910839 -1072910839 2048385991 11.0 NULL 11.00 1969-12-31 16:00:02.351 NULL 0iqrc5 0iqrc5 KbaDXiN85adbHRx58v false
    +11 NULL -1073279343 -1073279343 -1595604468 11.0 NULL 11.00 1969-12-31 16:00:02.351 NULL oj1YrV5Wa oj1YrV5Wa P76636jJ6qM17d7DIy true
    +8 NULL -1071363017 -1071363017 1349676361 8.0 NULL 8.00 1969-12-31 16:00:15.892 NULL Anj0oF Anj0oF IwE1G7Qb0B1NEfV030g true
      NULL -5470 -1072076362 -1072076362 1864027286 NULL -5470.0 NULL NULL 1969-12-31 2uLyD28144vklju213J1mr 2uLyD28144vklju213J1mr 4KWs6gw7lv2WYd66P true
      NULL -7382 -1073051226 -1073051226 -1887561756 NULL -7382.0 NULL NULL 1969-12-31 A34p7oRr2WvUJNf A34p7oRr2WvUJNf 4hA4KQj2vD3fI6gX82220d false
      NULL -947 -1070551679 -1070551679 1864027286 NULL -947.0 NULL NULL 1969-12-31 iUR3Q iUR3Q 4KWs6gw7lv2WYd66P false

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/vector_aggregate_9.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/vector_aggregate_9.q.out b/ql/src/test/results/clientpositive/vector_aggregate_9.q.out
    index 72dc004..e0cf903 100644
    --- a/ql/src/test/results/clientpositive/vector_aggregate_9.q.out
    +++ b/ql/src/test/results/clientpositive/vector_aggregate_9.q.out
    @@ -164,4 +164,4 @@ select min(dc), max(dc), sum(dc), avg(dc) from vectortab2korc
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@vectortab2korc
      #### A masked pattern was here ####
    --4997414117561.546875 4994550248722.298828 -10252745435816.02441 -5399023399.587163986308583465
    +-4997414117561.546875000000000000 4994550248722.298828000000000000 -10252745435816.024410000000000000 -5399023399.587163986308583465

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/vector_between_in.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/vector_between_in.q.out b/ql/src/test/results/clientpositive/vector_between_in.q.out
    index a9b9a4b..b80da1b 100644
    --- a/ql/src/test/results/clientpositive/vector_between_in.q.out
    +++ b/ql/src/test/results/clientpositive/vector_between_in.q.out
    @@ -594,34 +594,34 @@ POSTHOOK: Input: default@decimal_date_test
      -18.5162162162
      -17.3216216216
      -16.7243243243
    --16.127027027
    +-16.1270270270
      -15.5297297297
      -10.7513513514
      -9.5567567568
      -8.3621621622
    --5.972972973
    +-5.9729729730
      -3.5837837838
      4.1810810811
      4.7783783784
      4.7783783784
      5.3756756757
    -5.972972973
    -5.972972973
    +5.9729729730
    +5.9729729730
      11.3486486486
      11.3486486486
      11.9459459459
      14.9324324324
      19.1135135135
      20.3081081081
    -22.1
    +22.1000000000
      24.4891891892
      33.4486486486
      34.6432432432
      40.0189189189
      42.4081081081
      43.0054054054
    -44.2
    -44.2
    +44.2000000000
    +44.2000000000
      44.7972972973
      45.9918918919
      PREHOOK: query: SELECT COUNT(*) FROM decimal_date_test WHERE cdecimal1 NOT BETWEEN -2000 AND 4390.1351351351

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/vector_cast_constant.q.java1.7.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/vector_cast_constant.q.java1.7.out b/ql/src/test/results/clientpositive/vector_cast_constant.q.java1.7.out
    index 9edd6f1..e5d56ec 100644
    --- a/ql/src/test/results/clientpositive/vector_cast_constant.q.java1.7.out
    +++ b/ql/src/test/results/clientpositive/vector_cast_constant.q.java1.7.out
    @@ -207,13 +207,13 @@ POSTHOOK: query: SELECT
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@over1korc
      #### A masked pattern was here ####
    -65536 50.0 50.0 50
    -65537 50.0 50.0 50
    -65538 50.0 50.0 50
    -65539 50.0 50.0 50
    -65540 50.0 50.0 50
    -65541 50.0 50.0 50
    -65542 50.0 50.0 50
    -65543 50.0 50.0 50
    -65544 50.0 50.0 50
    -65545 50.0 50.0 50
    +65536 50.0 50.0 50.0000
    +65537 50.0 50.0 50.0000
    +65538 50.0 50.0 50.0000
    +65539 50.0 50.0 50.0000
    +65540 50.0 50.0 50.0000
    +65541 50.0 50.0 50.0000
    +65542 50.0 50.0 50.0000
    +65543 50.0 50.0 50.0000
    +65544 50.0 50.0 50.0000
    +65545 50.0 50.0 50.0000

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/vector_data_types.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/vector_data_types.q.out b/ql/src/test/results/clientpositive/vector_data_types.q.out
    index 3ed833b..86f1677 100644
    --- a/ql/src/test/results/clientpositive/vector_data_types.q.out
    +++ b/ql/src/test/results/clientpositive/vector_data_types.q.out
    @@ -153,7 +153,7 @@ POSTHOOK: Input: default@over1korc
      #### A masked pattern was here ####
      NULL 374 65560 4294967516 65.43 22.48 true oscar quirinius 2013-03-01 09:11:58.703316 16.86 mathematics
      NULL 409 65536 4294967490 46.97 25.92 false fred miller 2013-03-01 09:11:58.703116 33.45 history
    -NULL 473 65720 4294967324 80.74 40.6 false holly falkner 2013-03-01 09:11:58.703111 18.8 mathematics
    +NULL 473 65720 4294967324 80.74 40.6 false holly falkner 2013-03-01 09:11:58.703111 18.80 mathematics
      -3 275 65622 4294967302 71.78 8.49 false wendy robinson 2013-03-01 09:11:58.703294 95.39 undecided
      -3 344 65733 4294967363 0.56 11.96 true rachel thompson 2013-03-01 09:11:58.703276 88.46 wind surfing
      -3 376 65548 4294967431 96.78 43.23 false fred ellison 2013-03-01 09:11:58.703233 75.39 education
    @@ -239,7 +239,7 @@ POSTHOOK: Input: default@over1korc
      #### A masked pattern was here ####
      NULL 374 65560 4294967516 65.43 22.48 true oscar quirinius 2013-03-01 09:11:58.703316 16.86 mathematics
      NULL 409 65536 4294967490 46.97 25.92 false fred miller 2013-03-01 09:11:58.703116 33.45 history
    -NULL 473 65720 4294967324 80.74 40.6 false holly falkner 2013-03-01 09:11:58.703111 18.8 mathematics
    +NULL 473 65720 4294967324 80.74 40.6 false holly falkner 2013-03-01 09:11:58.703111 18.80 mathematics
      -3 275 65622 4294967302 71.78 8.49 false wendy robinson 2013-03-01 09:11:58.703294 95.39 undecided
      -3 344 65733 4294967363 0.56 11.96 true rachel thompson 2013-03-01 09:11:58.703276 88.46 wind surfing
      -3 376 65548 4294967431 96.78 43.23 false fred ellison 2013-03-01 09:11:58.703233 75.39 education

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/vector_decimal_2.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/vector_decimal_2.q.out b/ql/src/test/results/clientpositive/vector_decimal_2.q.out
    index 8a4d53a..ff82f38 100644
    --- a/ql/src/test/results/clientpositive/vector_decimal_2.q.out
    +++ b/ql/src/test/results/clientpositive/vector_decimal_2.q.out
    @@ -1051,7 +1051,7 @@ POSTHOOK: query: select cast(cast('2012-12-19 11:12:19.1234567' as timestamp) as
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_2
      #### A masked pattern was here ####
    -1355944339.1234567
    +1355944339.12345670
      PREHOOK: query: explain
      select cast(true as decimal) as c from decimal_2 order by c
      PREHOOK: type: QUERY
    @@ -1406,7 +1406,7 @@ POSTHOOK: query: select cast(0.99999999999999999999 as decimal(20,19)) as c from
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_2
      #### A masked pattern was here ####
    -1
    +1.0000000000000000000
      PREHOOK: query: explain
      select cast('0.99999999999999999999' as decimal(20,20)) as c from decimal_2 order by c
      PREHOOK: type: QUERY

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/vector_decimal_3.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/vector_decimal_3.q.out b/ql/src/test/results/clientpositive/vector_decimal_3.q.out
    index 75f872e..eea91bb 100644
    --- a/ql/src/test/results/clientpositive/vector_decimal_3.q.out
    +++ b/ql/src/test/results/clientpositive/vector_decimal_3.q.out
    @@ -47,43 +47,43 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_3
      #### A masked pattern was here ####
      NULL 0
    --1234567890.123456789 -1234567890
    --4400 4400
    --1255.49 -1255
    --1.122 -11
    --1.12 -1
    --1.12 -1
    --0.333 0
    --0.33 0
    --0.3 0
    -0 0
    -0 0
    -0 0
    -0.01 0
    -0.02 0
    -0.1 0
    -0.2 0
    -0.3 0
    -0.33 0
    -0.333 0
    -1 1
    -1 1
    -1 1
    -1.12 1
    -1.122 1
    -2 2
    -2 2
    -3.14 3
    -3.14 3
    -3.14 3
    -3.14 4
    -10 10
    -20 20
    -100 100
    -124 124
    -125.2 125
    -200 200
    -1234567890.12345678 1234567890
    +-1234567890.123456789000000000 -1234567890
    +-4400.000000000000000000 4400
    +-1255.490000000000000000 -1255
    +-1.122000000000000000 -11
    +-1.120000000000000000 -1
    +-1.120000000000000000 -1
    +-0.333000000000000000 0
    +-0.330000000000000000 0
    +-0.300000000000000000 0
    +0.000000000000000000 0
    +0.000000000000000000 0
    +0.000000000000000000 0
    +0.010000000000000000 0
    +0.020000000000000000 0
    +0.100000000000000000 0
    +0.200000000000000000 0
    +0.300000000000000000 0
    +0.330000000000000000 0
    +0.333000000000000000 0
    +1.000000000000000000 1
    +1.000000000000000000 1
    +1.000000000000000000 1
    +1.120000000000000000 1
    +1.122000000000000000 1
    +2.000000000000000000 2
    +2.000000000000000000 2
    +3.140000000000000000 3
    +3.140000000000000000 3
    +3.140000000000000000 3
    +3.140000000000000000 4
    +10.000000000000000000 10
    +20.000000000000000000 20
    +100.000000000000000000 100
    +124.000000000000000000 124
    +125.200000000000000000 125
    +200.000000000000000000 200
    +1234567890.123456780000000000 1234567890
      PREHOOK: query: SELECT * FROM DECIMAL_3 ORDER BY key DESC, value DESC
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_3
    @@ -92,43 +92,43 @@ POSTHOOK: query: SELECT * FROM DECIMAL_3 ORDER BY key DESC, value DESC
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_3
      #### A masked pattern was here ####
    -1234567890.12345678 1234567890
    -200 200
    -125.2 125
    -124 124
    -100 100
    -20 20
    -10 10
    -3.14 4
    -3.14 3
    -3.14 3
    -3.14 3
    -2 2
    -2 2
    -1.122 1
    -1.12 1
    -1 1
    -1 1
    -1 1
    -0.333 0
    -0.33 0
    -0.3 0
    -0.2 0
    -0.1 0
    -0.02 0
    -0.01 0
    -0 0
    -0 0
    -0 0
    --0.3 0
    --0.33 0
    --0.333 0
    --1.12 -1
    --1.12 -1
    --1.122 -11
    --1255.49 -1255
    --4400 4400
    --1234567890.123456789 -1234567890
    +1234567890.123456780000000000 1234567890
    +200.000000000000000000 200
    +125.200000000000000000 125
    +124.000000000000000000 124
    +100.000000000000000000 100
    +20.000000000000000000 20
    +10.000000000000000000 10
    +3.140000000000000000 4
    +3.140000000000000000 3
    +3.140000000000000000 3
    +3.140000000000000000 3
    +2.000000000000000000 2
    +2.000000000000000000 2
    +1.122000000000000000 1
    +1.120000000000000000 1
    +1.000000000000000000 1
    +1.000000000000000000 1
    +1.000000000000000000 1
    +0.333000000000000000 0
    +0.330000000000000000 0
    +0.300000000000000000 0
    +0.200000000000000000 0
    +0.100000000000000000 0
    +0.020000000000000000 0
    +0.010000000000000000 0
    +0.000000000000000000 0
    +0.000000000000000000 0
    +0.000000000000000000 0
    +-0.300000000000000000 0
    +-0.330000000000000000 0
    +-0.333000000000000000 0
    +-1.120000000000000000 -1
    +-1.120000000000000000 -1
    +-1.122000000000000000 -11
    +-1255.490000000000000000 -1255
    +-4400.000000000000000000 4400
    +-1234567890.123456789000000000 -1234567890
      NULL 0
      PREHOOK: query: SELECT * FROM DECIMAL_3 ORDER BY key, value
      PREHOOK: type: QUERY
    @@ -139,43 +139,43 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_3
      #### A masked pattern was here ####
      NULL 0
    --1234567890.123456789 -1234567890
    --4400 4400
    --1255.49 -1255
    --1.122 -11
    --1.12 -1
    --1.12 -1
    --0.333 0
    --0.33 0
    --0.3 0
    -0 0
    -0 0
    -0 0
    -0.01 0
    -0.02 0
    -0.1 0
    -0.2 0
    -0.3 0
    -0.33 0
    -0.333 0
    -1 1
    -1 1
    -1 1
    -1.12 1
    -1.122 1
    -2 2
    -2 2
    -3.14 3
    -3.14 3
    -3.14 3
    -3.14 4
    -10 10
    -20 20
    -100 100
    -124 124
    -125.2 125
    -200 200
    -1234567890.12345678 1234567890
    +-1234567890.123456789000000000 -1234567890
    +-4400.000000000000000000 4400
    +-1255.490000000000000000 -1255
    +-1.122000000000000000 -11
    +-1.120000000000000000 -1
    +-1.120000000000000000 -1
    +-0.333000000000000000 0
    +-0.330000000000000000 0
    +-0.300000000000000000 0
    +0.000000000000000000 0
    +0.000000000000000000 0
    +0.000000000000000000 0
    +0.010000000000000000 0
    +0.020000000000000000 0
    +0.100000000000000000 0
    +0.200000000000000000 0
    +0.300000000000000000 0
    +0.330000000000000000 0
    +0.333000000000000000 0
    +1.000000000000000000 1
    +1.000000000000000000 1
    +1.000000000000000000 1
    +1.120000000000000000 1
    +1.122000000000000000 1
    +2.000000000000000000 2
    +2.000000000000000000 2
    +3.140000000000000000 3
    +3.140000000000000000 3
    +3.140000000000000000 3
    +3.140000000000000000 4
    +10.000000000000000000 10
    +20.000000000000000000 20
    +100.000000000000000000 100
    +124.000000000000000000 124
    +125.200000000000000000 125
    +200.000000000000000000 200
    +1234567890.123456780000000000 1234567890
      PREHOOK: query: SELECT DISTINCT key FROM DECIMAL_3 ORDER BY key
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_3
    @@ -185,34 +185,34 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_3
      #### A masked pattern was here ####
      NULL
    --1234567890.123456789
    --4400
    --1255.49
    --1.122
    --1.12
    --0.333
    --0.33
    --0.3
    -0
    -0.01
    -0.02
    -0.1
    -0.2
    -0.3
    -0.33
    -0.333
    -1
    -1.12
    -1.122
    -2
    -3.14
    -10
    -20
    -100
    -124
    -125.2
    -200
    -1234567890.12345678
    +-1234567890.123456789000000000
    +-4400.000000000000000000
    +-1255.490000000000000000
    +-1.122000000000000000
    +-1.120000000000000000
    +-0.333000000000000000
    +-0.330000000000000000
    +-0.300000000000000000
    +0.000000000000000000
    +0.010000000000000000
    +0.020000000000000000
    +0.100000000000000000
    +0.200000000000000000
    +0.300000000000000000
    +0.330000000000000000
    +0.333000000000000000
    +1.000000000000000000
    +1.120000000000000000
    +1.122000000000000000
    +2.000000000000000000
    +3.140000000000000000
    +10.000000000000000000
    +20.000000000000000000
    +100.000000000000000000
    +124.000000000000000000
    +125.200000000000000000
    +200.000000000000000000
    +1234567890.123456780000000000
      PREHOOK: query: SELECT key, sum(value) FROM DECIMAL_3 GROUP BY key ORDER BY key
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_3
    @@ -222,34 +222,34 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_3
      #### A masked pattern was here ####
      NULL 0
    --1234567890.123456789 -1234567890
    --4400 4400
    --1255.49 -1255
    --1.122 -11
    --1.12 -2
    --0.333 0
    --0.33 0
    --0.3 0
    -0 0
    -0.01 0
    -0.02 0
    -0.1 0
    -0.2 0
    -0.3 0
    -0.33 0
    -0.333 0
    -1 3
    -1.12 1
    -1.122 1
    -2 4
    -3.14 13
    -10 10
    -20 20
    -100 100
    -124 124
    -125.2 125
    -200 200
    -1234567890.12345678 1234567890
    +-1234567890.123456789000000000 -1234567890
    +-4400.000000000000000000 4400
    +-1255.490000000000000000 -1255
    +-1.122000000000000000 -11
    +-1.120000000000000000 -2
    +-0.333000000000000000 0
    +-0.330000000000000000 0
    +-0.300000000000000000 0
    +0.000000000000000000 0
    +0.010000000000000000 0
    +0.020000000000000000 0
    +0.100000000000000000 0
    +0.200000000000000000 0
    +0.300000000000000000 0
    +0.330000000000000000 0
    +0.333000000000000000 0
    +1.000000000000000000 3
    +1.120000000000000000 1
    +1.122000000000000000 1
    +2.000000000000000000 4
    +3.140000000000000000 13
    +10.000000000000000000 10
    +20.000000000000000000 20
    +100.000000000000000000 100
    +124.000000000000000000 124
    +125.200000000000000000 125
    +200.000000000000000000 200
    +1234567890.123456780000000000 1234567890
      PREHOOK: query: SELECT value, sum(key) FROM DECIMAL_3 GROUP BY value ORDER BY value
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_3
    @@ -258,23 +258,23 @@ POSTHOOK: query: SELECT value, sum(key) FROM DECIMAL_3 GROUP BY value ORDER BY v
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_3
      #### A masked pattern was here ####
    --1234567890 -1234567890.123456789
    --1255 -1255.49
    --11 -1.122
    --1 -2.24
    -0 0.33
    -1 5.242
    -2 4
    -3 9.42
    -4 3.14
    -10 10
    -20 20
    -100 100
    -124 124
    -125 125.2
    -200 200
    -4400 -4400
    -1234567890 1234567890.12345678
    +-1234567890 -1234567890.123456789000000000
    +-1255 -1255.490000000000000000
    +-11 -1.122000000000000000
    +-1 -2.240000000000000000
    +0 0.330000000000000000
    +1 5.242000000000000000
    +2 4.000000000000000000
    +3 9.420000000000000000
    +4 3.140000000000000000
    +10 10.000000000000000000
    +20 20.000000000000000000
    +100 100.000000000000000000
    +124 124.000000000000000000
    +125 125.200000000000000000
    +200 200.000000000000000000
    +4400 -4400.000000000000000000
    +1234567890 1234567890.123456780000000000
      PREHOOK: query: SELECT * FROM DECIMAL_3 a JOIN DECIMAL_3 b ON (a.key = b.key) ORDER BY a.key, a.value, b.value
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_3
    @@ -283,71 +283,71 @@ POSTHOOK: query: SELECT * FROM DECIMAL_3 a JOIN DECIMAL_3 b ON (a.key = b.key) O
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_3
      #### A masked pattern was here ####
    --1234567890.123456789 -1234567890 -1234567890.123456789 -1234567890
    --4400 4400 -4400 4400
    --1255.49 -1255 -1255.49 -1255
    --1.122 -11 -1.122 -11
    --1.12 -1 -1.12 -1
    --1.12 -1 -1.12 -1
    --1.12 -1 -1.12 -1
    --1.12 -1 -1.12 -1
    --0.333 0 -0.333 0
    --0.33 0 -0.33 0
    --0.3 0 -0.3 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0.01 0 0.01 0
    -0.02 0 0.02 0
    -0.1 0 0.1 0
    -0.2 0 0.2 0
    -0.3 0 0.3 0
    -0.33 0 0.33 0
    -0.333 0 0.333 0
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1.12 1 1.12 1
    -1.122 1 1.122 1
    -2 2 2 2
    -2 2 2 2
    -2 2 2 2
    -2 2 2 2
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 4
    -3.14 3 3.14 4
    -3.14 3 3.14 4
    -3.14 4 3.14 3
    -3.14 4 3.14 3
    -3.14 4 3.14 3
    -3.14 4 3.14 4
    -10 10 10 10
    -20 20 20 20
    -100 100 100 100
    -124 124 124 124
    -125.2 125 125.2 125
    -200 200 200 200
    -1234567890.12345678 1234567890 1234567890.12345678 1234567890
    +-1234567890.123456789000000000 -1234567890 -1234567890.123456789000000000 -1234567890
    +-4400.000000000000000000 4400 -4400.000000000000000000 4400
    +-1255.490000000000000000 -1255 -1255.490000000000000000 -1255
    +-1.122000000000000000 -11 -1.122000000000000000 -11
    +-1.120000000000000000 -1 -1.120000000000000000 -1
    +-1.120000000000000000 -1 -1.120000000000000000 -1
    +-1.120000000000000000 -1 -1.120000000000000000 -1
    +-1.120000000000000000 -1 -1.120000000000000000 -1
    +-0.333000000000000000 0 -0.333000000000000000 0
    +-0.330000000000000000 0 -0.330000000000000000 0
    +-0.300000000000000000 0 -0.300000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.010000000000000000 0 0.010000000000000000 0
    +0.020000000000000000 0 0.020000000000000000 0
    +0.100000000000000000 0 0.100000000000000000 0
    +0.200000000000000000 0 0.200000000000000000 0
    +0.300000000000000000 0 0.300000000000000000 0
    +0.330000000000000000 0 0.330000000000000000 0
    +0.333000000000000000 0 0.333000000000000000 0
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.120000000000000000 1 1.120000000000000000 1
    +1.122000000000000000 1 1.122000000000000000 1
    +2.000000000000000000 2 2.000000000000000000 2
    +2.000000000000000000 2 2.000000000000000000 2
    +2.000000000000000000 2 2.000000000000000000 2
    +2.000000000000000000 2 2.000000000000000000 2
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 4
    +3.140000000000000000 3 3.140000000000000000 4
    +3.140000000000000000 3 3.140000000000000000 4
    +3.140000000000000000 4 3.140000000000000000 3
    +3.140000000000000000 4 3.140000000000000000 3
    +3.140000000000000000 4 3.140000000000000000 3
    +3.140000000000000000 4 3.140000000000000000 4
    +10.000000000000000000 10 10.000000000000000000 10
    +20.000000000000000000 20 20.000000000000000000 20
    +100.000000000000000000 100 100.000000000000000000 100
    +124.000000000000000000 124 124.000000000000000000 124
    +125.200000000000000000 125 125.200000000000000000 125
    +200.000000000000000000 200 200.000000000000000000 200
    +1234567890.123456780000000000 1234567890 1234567890.123456780000000000 1234567890
      PREHOOK: query: SELECT * FROM DECIMAL_3 WHERE key=3.14 ORDER BY key, value
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_3
    @@ -356,10 +356,10 @@ POSTHOOK: query: SELECT * FROM DECIMAL_3 WHERE key=3.14 ORDER BY key, value
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_3
      #### A masked pattern was here ####
    -3.14 3
    -3.14 3
    -3.14 3
    -3.14 4
    +3.140000000000000000 3
    +3.140000000000000000 3
    +3.140000000000000000 3
    +3.140000000000000000 4
      PREHOOK: query: SELECT * FROM DECIMAL_3 WHERE key=3.140 ORDER BY key, value
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_3
    @@ -368,10 +368,10 @@ POSTHOOK: query: SELECT * FROM DECIMAL_3 WHERE key=3.140 ORDER BY key, value
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_3
      #### A masked pattern was here ####
    -3.14 3
    -3.14 3
    -3.14 3
    -3.14 4
    +3.140000000000000000 3
    +3.140000000000000000 3
    +3.140000000000000000 3
    +3.140000000000000000 4
      PREHOOK: query: DROP TABLE DECIMAL_3_txt
      PREHOOK: type: DROPTABLE
      PREHOOK: Input: default@decimal_3_txt

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/vector_decimal_4.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/vector_decimal_4.q.out b/ql/src/test/results/clientpositive/vector_decimal_4.q.out
    index 613f5a8..c7d3d9e 100644
    --- a/ql/src/test/results/clientpositive/vector_decimal_4.q.out
    +++ b/ql/src/test/results/clientpositive/vector_decimal_4.q.out
    @@ -57,43 +57,43 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_4_1
      #### A masked pattern was here ####
      NULL 0
    --1234567890.123456789 -1234567890
    --4400 4400
    --1255.49 -1255
    --1.122 -11
    --1.12 -1
    --1.12 -1
    --0.333 0
    --0.33 0
    --0.3 0
    -0 0
    -0 0
    -0 0
    -0.01 0
    -0.02 0
    -0.1 0
    -0.2 0
    -0.3 0
    -0.33 0
    -0.333 0
    +-1234567890.1234567890000000000000000 -1234567890
    +-4400.0000000000000000000000000 4400
    +-1255.4900000000000000000000000 -1255
    +-1.1220000000000000000000000 -11
    +-1.1200000000000000000000000 -1
    +-1.1200000000000000000000000 -1
    +-0.3330000000000000000000000 0
    +-0.3300000000000000000000000 0
    +-0.3000000000000000000000000 0
    +0.0000000000000000000000000 0
    +0.0000000000000000000000000 0
    +0.0000000000000000000000000 0
    +0.0100000000000000000000000 0
    +0.0200000000000000000000000 0
    +0.1000000000000000000000000 0
    +0.2000000000000000000000000 0
    +0.3000000000000000000000000 0
    +0.3300000000000000000000000 0
    +0.3330000000000000000000000 0
      0.9999999999999999999999999 1
    -1 1
    -1 1
    -1.12 1
    -1.122 1
    -2 2
    -2 2
    -3.14 3
    -3.14 3
    -3.14 3
    -3.14 4
    -10 10
    -20 20
    -100 100
    -124 124
    -125.2 125
    -200 200
    -1234567890.12345678 1234567890
    +1.0000000000000000000000000 1
    +1.0000000000000000000000000 1
    +1.1200000000000000000000000 1
    +1.1220000000000000000000000 1
    +2.0000000000000000000000000 2
    +2.0000000000000000000000000 2
    +3.1400000000000000000000000 3
    +3.1400000000000000000000000 3
    +3.1400000000000000000000000 3
    +3.1400000000000000000000000 4
    +10.0000000000000000000000000 10
    +20.0000000000000000000000000 20
    +100.0000000000000000000000000 100
    +124.0000000000000000000000000 124
    +125.2000000000000000000000000 125
    +200.0000000000000000000000000 200
    +1234567890.1234567800000000000000000 1234567890
      PREHOOK: query: SELECT * FROM DECIMAL_4_2 ORDER BY key, value
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_4_2
    @@ -103,43 +103,43 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_4_2
      #### A masked pattern was here ####
      NULL NULL
    --1234567890.123456789 -3703703670.370370367
    --4400 -13200
    --1255.49 -3766.47
    --1.122 -3.366
    --1.12 -3.36
    --1.12 -3.36
    --0.333 -0.999
    --0.33 -0.99
    --0.3 -0.9
    -0 0
    -0 0
    -0 0
    -0.01 0.03
    -0.02 0.06
    -0.1 0.3
    -0.2 0.6
    -0.3 0.9
    -0.33 0.99
    -0.333 0.999
    +-1234567890.1234567890000000000000000 -3703703670.3703703670000000000000000
    +-4400.0000000000000000000000000 -13200.0000000000000000000000000
    +-1255.4900000000000000000000000 -3766.4700000000000000000000000
    +-1.1220000000000000000000000 -3.3660000000000000000000000
    +-1.1200000000000000000000000 -3.3600000000000000000000000
    +-1.1200000000000000000000000 -3.3600000000000000000000000
    +-0.3330000000000000000000000 -0.9990000000000000000000000
    +-0.3300000000000000000000000 -0.9900000000000000000000000
    +-0.3000000000000000000000000 -0.9000000000000000000000000
    +0.0000000000000000000000000 0.0000000000000000000000000
    +0.0000000000000000000000000 0.0000000000000000000000000
    +0.0000000000000000000000000 0.0000000000000000000000000
    +0.0100000000000000000000000 0.0300000000000000000000000
    +0.0200000000000000000000000 0.0600000000000000000000000
    +0.1000000000000000000000000 0.3000000000000000000000000
    +0.2000000000000000000000000 0.6000000000000000000000000
    +0.3000000000000000000000000 0.9000000000000000000000000
    +0.3300000000000000000000000 0.9900000000000000000000000
    +0.3330000000000000000000000 0.9990000000000000000000000
      0.9999999999999999999999999 2.9999999999999999999999997
    -1 3
    -1 3
    -1.12 3.36
    -1.122 3.366
    -2 6
    -2 6
    -3.14 9.42
    -3.14 9.42
    -3.14 9.42
    -3.14 9.42
    -10 30
    -20 60
    -100 300
    -124 372
    -125.2 375.6
    -200 600
    -1234567890.12345678 3703703670.37037034
    +1.0000000000000000000000000 3.0000000000000000000000000
    +1.0000000000000000000000000 3.0000000000000000000000000
    +1.1200000000000000000000000 3.3600000000000000000000000
    +1.1220000000000000000000000 3.3660000000000000000000000
    +2.0000000000000000000000000 6.0000000000000000000000000
    +2.0000000000000000000000000 6.0000000000000000000000000
    +3.1400000000000000000000000 9.4200000000000000000000000
    +3.1400000000000000000000000 9.4200000000000000000000000
    +3.1400000000000000000000000 9.4200000000000000000000000
    +3.1400000000000000000000000 9.4200000000000000000000000
    +10.0000000000000000000000000 30.0000000000000000000000000
    +20.0000000000000000000000000 60.0000000000000000000000000
    +100.0000000000000000000000000 300.0000000000000000000000000
    +124.0000000000000000000000000 372.0000000000000000000000000
    +125.2000000000000000000000000 375.6000000000000000000000000
    +200.0000000000000000000000000 600.0000000000000000000000000
    +1234567890.1234567800000000000000000 3703703670.3703703400000000000000000
      PREHOOK: query: SELECT * FROM DECIMAL_4_2 ORDER BY key
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_4_2
    @@ -149,43 +149,43 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_4_2
      #### A masked pattern was here ####
      NULL NULL
    --1234567890.123456789 -3703703670.370370367
    --4400 -13200
    --1255.49 -3766.47
    --1.122 -3.366
    --1.12 -3.36
    --1.12 -3.36
    --0.333 -0.999
    --0.33 -0.99
    --0.3 -0.9
    -0 0
    -0 0
    -0 0
    -0.01 0.03
    -0.02 0.06
    -0.1 0.3
    -0.2 0.6
    -0.3 0.9
    -0.33 0.99
    -0.333 0.999
    +-1234567890.1234567890000000000000000 -3703703670.3703703670000000000000000
    +-4400.0000000000000000000000000 -13200.0000000000000000000000000
    +-1255.4900000000000000000000000 -3766.4700000000000000000000000
    +-1.1220000000000000000000000 -3.3660000000000000000000000
    +-1.1200000000000000000000000 -3.3600000000000000000000000
    +-1.1200000000000000000000000 -3.3600000000000000000000000
    +-0.3330000000000000000000000 -0.9990000000000000000000000
    +-0.3300000000000000000000000 -0.9900000000000000000000000
    +-0.3000000000000000000000000 -0.9000000000000000000000000
    +0.0000000000000000000000000 0.0000000000000000000000000
    +0.0000000000000000000000000 0.0000000000000000000000000
    +0.0000000000000000000000000 0.0000000000000000000000000
    +0.0100000000000000000000000 0.0300000000000000000000000
    +0.0200000000000000000000000 0.0600000000000000000000000
    +0.1000000000000000000000000 0.3000000000000000000000000
    +0.2000000000000000000000000 0.6000000000000000000000000
    +0.3000000000000000000000000 0.9000000000000000000000000
    +0.3300000000000000000000000 0.9900000000000000000000000
    +0.3330000000000000000000000 0.9990000000000000000000000
      0.9999999999999999999999999 2.9999999999999999999999997
    -1 3
    -1 3
    -1.12 3.36
    -1.122 3.366
    -2 6
    -2 6
    -3.14 9.42
    -3.14 9.42
    -3.14 9.42
    -3.14 9.42
    -10 30
    -20 60
    -100 300
    -124 372
    -125.2 375.6
    -200 600
    -1234567890.12345678 3703703670.37037034
    +1.0000000000000000000000000 3.0000000000000000000000000
    +1.0000000000000000000000000 3.0000000000000000000000000
    +1.1200000000000000000000000 3.3600000000000000000000000
    +1.1220000000000000000000000 3.3660000000000000000000000
    +2.0000000000000000000000000 6.0000000000000000000000000
    +2.0000000000000000000000000 6.0000000000000000000000000
    +3.1400000000000000000000000 9.4200000000000000000000000
    +3.1400000000000000000000000 9.4200000000000000000000000
    +3.1400000000000000000000000 9.4200000000000000000000000
    +3.1400000000000000000000000 9.4200000000000000000000000
    +10.0000000000000000000000000 30.0000000000000000000000000
    +20.0000000000000000000000000 60.0000000000000000000000000
    +100.0000000000000000000000000 300.0000000000000000000000000
    +124.0000000000000000000000000 372.0000000000000000000000000
    +125.2000000000000000000000000 375.6000000000000000000000000
    +200.0000000000000000000000000 600.0000000000000000000000000
    +1234567890.1234567800000000000000000 3703703670.3703703400000000000000000
      PREHOOK: query: SELECT * FROM DECIMAL_4_2 ORDER BY key, value
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_4_2
    @@ -195,43 +195,43 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_4_2
      #### A masked pattern was here ####
      NULL NULL
    --1234567890.123456789 -3703703670.370370367
    --4400 -13200
    --1255.49 -3766.47
    --1.122 -3.366
    --1.12 -3.36
    --1.12 -3.36
    --0.333 -0.999
    --0.33 -0.99
    --0.3 -0.9
    -0 0
    -0 0
    -0 0
    -0.01 0.03
    -0.02 0.06
    -0.1 0.3
    -0.2 0.6
    -0.3 0.9
    -0.33 0.99
    -0.333 0.999
    +-1234567890.1234567890000000000000000 -3703703670.3703703670000000000000000
    +-4400.0000000000000000000000000 -13200.0000000000000000000000000
    +-1255.4900000000000000000000000 -3766.4700000000000000000000000
    +-1.1220000000000000000000000 -3.3660000000000000000000000
    +-1.1200000000000000000000000 -3.3600000000000000000000000
    +-1.1200000000000000000000000 -3.3600000000000000000000000
    +-0.3330000000000000000000000 -0.9990000000000000000000000
    +-0.3300000000000000000000000 -0.9900000000000000000000000
    +-0.3000000000000000000000000 -0.9000000000000000000000000
    +0.0000000000000000000000000 0.0000000000000000000000000
    +0.0000000000000000000000000 0.0000000000000000000000000
    +0.0000000000000000000000000 0.0000000000000000000000000
    +0.0100000000000000000000000 0.0300000000000000000000000
    +0.0200000000000000000000000 0.0600000000000000000000000
    +0.1000000000000000000000000 0.3000000000000000000000000
    +0.2000000000000000000000000 0.6000000000000000000000000
    +0.3000000000000000000000000 0.9000000000000000000000000
    +0.3300000000000000000000000 0.9900000000000000000000000
    +0.3330000000000000000000000 0.9990000000000000000000000
      0.9999999999999999999999999 2.9999999999999999999999997
    -1 3
    -1 3
    -1.12 3.36
    -1.122 3.366
    -2 6
    -2 6
    -3.14 9.42
    -3.14 9.42
    -3.14 9.42
    -3.14 9.42
    -10 30
    -20 60
    -100 300
    -124 372
    -125.2 375.6
    -200 600
    -1234567890.12345678 3703703670.37037034
    +1.0000000000000000000000000 3.0000000000000000000000000
    +1.0000000000000000000000000 3.0000000000000000000000000
    +1.1200000000000000000000000 3.3600000000000000000000000
    +1.1220000000000000000000000 3.3660000000000000000000000
    +2.0000000000000000000000000 6.0000000000000000000000000
    +2.0000000000000000000000000 6.0000000000000000000000000
    +3.1400000000000000000000000 9.4200000000000000000000000
    +3.1400000000000000000000000 9.4200000000000000000000000
    +3.1400000000000000000000000 9.4200000000000000000000000
    +3.1400000000000000000000000 9.4200000000000000000000000
    +10.0000000000000000000000000 30.0000000000000000000000000
    +20.0000000000000000000000000 60.0000000000000000000000000
    +100.0000000000000000000000000 300.0000000000000000000000000
    +124.0000000000000000000000000 372.0000000000000000000000000
    +125.2000000000000000000000000 375.6000000000000000000000000
    +200.0000000000000000000000000 600.0000000000000000000000000
    +1234567890.1234567800000000000000000 3703703670.3703703400000000000000000
      PREHOOK: query: DROP TABLE DECIMAL_4_1
      PREHOOK: type: DROPTABLE
      PREHOOK: Input: default@decimal_4_1

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/vector_decimal_5.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/vector_decimal_5.q.out b/ql/src/test/results/clientpositive/vector_decimal_5.q.out
    index 34c3351..0bfd12e 100644
    --- a/ql/src/test/results/clientpositive/vector_decimal_5.q.out
    +++ b/ql/src/test/results/clientpositive/vector_decimal_5.q.out
    @@ -59,41 +59,41 @@ POSTHOOK: Input: default@decimal_5
      NULL
      NULL
      NULL
    --4400
    --1255.49
    --1.122
    --1.12
    --1.12
    --0.333
    --0.33
    --0.3
    -0
    -0
    -0
    -0.01
    -0.02
    -0.1
    -0.2
    -0.3
    -0.33
    -0.333
    -1
    -1
    -1
    -1.12
    -1.122
    -2
    -2
    -3.14
    -3.14
    -3.14
    -3.14
    -10
    -20
    -100
    -124
    -125.2
    -200
    +-4400.00000
    +-1255.49000
    +-1.12200
    +-1.12000
    +-1.12000
    +-0.33300
    +-0.33000
    +-0.30000
    +0.00000
    +0.00000
    +0.00000
    +0.01000
    +0.02000
    +0.10000
    +0.20000
    +0.30000
    +0.33000
    +0.33300
    +1.00000
    +1.00000
    +1.00000
    +1.12000
    +1.12200
    +2.00000
    +2.00000
    +3.14000
    +3.14000
    +3.14000
    +3.14000
    +10.00000
    +20.00000
    +100.00000
    +124.00000
    +125.20000
    +200.00000
      PREHOOK: query: SELECT DISTINCT key FROM DECIMAL_5 ORDER BY key
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_5
    @@ -103,32 +103,32 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_5
      #### A masked pattern was here ####
      NULL
    --4400
    --1255.49
    --1.122
    --1.12
    --0.333
    --0.33
    --0.3
    -0
    -0.01
    -0.02
    -0.1
    -0.2
    -0.3
    -0.33
    -0.333
    -1
    -1.12
    -1.122
    -2
    -3.14
    -10
    -20
    -100
    -124
    -125.2
    -200
    +-4400.00000
    +-1255.49000
    +-1.12200
    +-1.12000
    +-0.33300
    +-0.33000
    +-0.30000
    +0.00000
    +0.01000
    +0.02000
    +0.10000
    +0.20000
    +0.30000
    +0.33000
    +0.33300
    +1.00000
    +1.12000
    +1.12200
    +2.00000
    +3.14000
    +10.00000
    +20.00000
    +100.00000
    +124.00000
    +125.20000
    +200.00000
      PREHOOK: query: SELECT cast(key as decimal) FROM DECIMAL_5
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_5
    @@ -185,40 +185,40 @@ POSTHOOK: Input: default@decimal_5
      #### A masked pattern was here ####
      NULL
      NULL
    -0
    -0
    -100
    -10
    -1
    -0.1
    -0.01
    -200
    -20
    -2
    -0
    -0.2
    -0.02
    -0.3
    -0.33
    +0.000
    +0.000
    +100.000
    +10.000
    +1.000
    +0.100
    +0.010
    +200.000
    +20.000
    +2.000
    +0.000
    +0.200
    +0.020
    +0.300
    +0.330
      0.333
    --0.3
    --0.33
    +-0.300
    +-0.330
      -0.333
    -1
    -2
    -3.14
    --1.12
    --1.12
    +1.000
    +2.000
    +3.140
    +-1.120
    +-1.120
      -1.122
    -1.12
    +1.120
      1.122
    -124
    -125.2
    +124.000
    +125.200
      NULL
    -3.14
    -3.14
    -3.14
    -1
    +3.140
    +3.140
    +3.140
    +1.000
      NULL
      NULL
      PREHOOK: query: DROP TABLE DECIMAL_5_txt

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/vector_decimal_6.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/vector_decimal_6.q.out b/ql/src/test/results/clientpositive/vector_decimal_6.q.out
    index 9cdd7fc..e0ccbc6 100644
    --- a/ql/src/test/results/clientpositive/vector_decimal_6.q.out
    +++ b/ql/src/test/results/clientpositive/vector_decimal_6.q.out
    @@ -119,27 +119,27 @@ NULL 0
      NULL 3
      NULL 4
      NULL 1234567890
    --4400 4400
    --1255.49 -1255
    --1.122 -11
    --1.12 -1
    --0.333 0
    --0.3 0
    -0 0
    -0 0
    -0.333 0
    -1 1
    -1 1
    -1.12 1
    -1.122 1
    -2 2
    -3.14 3
    -3.14 3
    -3.14 4
    -10 10
    +-4400.00000 4400
    +-1255.49000 -1255
    +-1.12200 -11
    +-1.12000 -1
    +-0.33300 0
    +-0.30000 0
    +0.00000 0
    +0.00000 0
    +0.33300 0
    +1.00000 1
    +1.00000 1
    +1.12000 1
    +1.12200 1
    +2.00000 2
    +3.14000 3
    +3.14000 3
    +3.14000 4
    +10.00000 10
      10.73433 5
    -124 124
    -125.2 125
    +124.00000 124
    +125.20000 125
      23232.23435 2
      PREHOOK: query: SELECT * FROM DECIMAL_6_2 ORDER BY key, value
      PREHOOK: type: QUERY
    @@ -151,27 +151,27 @@ POSTHOOK: Input: default@decimal_6_2
      #### A masked pattern was here ####
      NULL 0
      -1234567890.1235 -1234567890
    --4400 4400
    --1255.49 -1255
    --1.122 -11
    --1.12 -1
    --0.333 0
    --0.3 0
    -0 0
    -0 0
    -0.333 0
    -1 1
    -1 1
    -1.12 1
    -1.122 1
    -2 2
    -3.14 3
    -3.14 3
    -3.14 4
    -10 10
    +-4400.0000 4400
    +-1255.4900 -1255
    +-1.1220 -11
    +-1.1200 -1
    +-0.3330 0
    +-0.3000 0
    +0.0000 0
    +0.0000 0
    +0.3330 0
    +1.0000 1
    +1.0000 1
    +1.1200 1
    +1.1220 1
    +2.0000 2
    +3.1400 3
    +3.1400 3
    +3.1400 4
    +10.0000 10
      10.7343 5
    -124 124
    -125.2 125
    +124.0000 124
    +125.2000 125
      23232.2344 2
      2389432.2375 3
      2389432.2375 4
    @@ -200,54 +200,54 @@ NULL
      NULL
      NULL
      NULL
    --1234567890.1235
    --4400
    --4400
    --1255.49
    --1255.49
    --1.122
    --1.122
    --1.12
    --1.12
    --0.333
    --0.333
    --0.3
    --0.3
    -0
    -0
    -0
    -0
    -0.333
    -0.333
    -1
    -1
    -1
    -1
    -1.12
    -1.12
    -1.122
    -1.122
    -2
    -2
    -3.14
    -3.14
    -3.14
    -3.14
    -3.14
    -3.14
    -10
    -10
    -10.7343
    +-1234567890.12350
    +-4400.00000
    +-4400.00000
    +-1255.49000
    +-1255.49000
    +-1.12200
    +-1.12200
    +-1.12000
    +-1.12000
    +-0.33300
    +-0.33300
    +-0.30000
    +-0.30000
    +0.00000
    +0.00000
    +0.00000
    +0.00000
    +0.33300
    +0.33300
    +1.00000
    +1.00000
    +1.00000
    +1.00000
    +1.12000
    +1.12000
    +1.12200
    +1.12200
    +2.00000
    +2.00000
    +3.14000
    +3.14000
    +3.14000
    +3.14000
    +3.14000
    +3.14000
    +10.00000
    +10.00000
    +10.73430
      10.73433
    -124
    -124
    -125.2
    -125.2
    +124.00000
    +124.00000
    +125.20000
    +125.20000
      23232.23435
    -23232.2344
    -2389432.2375
    -2389432.2375
    -1234567890.1235
    +23232.23440
    +2389432.23750
    +2389432.23750
    +1234567890.12350
      PREHOOK: query: CREATE TABLE DECIMAL_6_3 STORED AS ORC AS SELECT key + 5.5 AS k, value * 11 AS v from DECIMAL_6_1 ORDER BY v
      PREHOOK: type: CREATETABLE_AS_SELECT
      PREHOOK: Input: default@decimal_6_1
  • Xuefu at Nov 12, 2015 at 3:59 am
    HIVE-12363: Incorrect results with orc ppd across ORC versions (Gopal V, reviewed by Prasanth Jayachandran)


    Project: http://git-wip-us.apache.org/repos/asf/hive/repo
    Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/1d5da097
    Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/1d5da097
    Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/1d5da097

    Branch: refs/heads/spark
    Commit: 1d5da097a6b0554894f13840542ca96917c9d9d2
    Parents: 4f7f882
    Author: Gopal V <gopalv@apache.org>
    Authored: Wed Nov 11 06:37:04 2015 -0800
    Committer: Gopal V <gopalv@apache.org>
    Committed: Wed Nov 11 06:37:34 2015 -0800

    ----------------------------------------------------------------------
      .../java/org/apache/hadoop/hive/ql/io/orc/RecordReaderImpl.java | 5 ++++-
      1 file changed, 4 insertions(+), 1 deletion(-)
    ----------------------------------------------------------------------


    http://git-wip-us.apache.org/repos/asf/hive/blob/1d5da097/ql/src/java/org/apache/hadoop/hive/ql/io/orc/RecordReaderImpl.java
    ----------------------------------------------------------------------
    diff --git a/ql/src/java/org/apache/hadoop/hive/ql/io/orc/RecordReaderImpl.java b/ql/src/java/org/apache/hadoop/hive/ql/io/orc/RecordReaderImpl.java
    index 0696277..04b9eaf 100644
    --- a/ql/src/java/org/apache/hadoop/hive/ql/io/orc/RecordReaderImpl.java
    +++ b/ql/src/java/org/apache/hadoop/hive/ql/io/orc/RecordReaderImpl.java
    @@ -53,6 +53,7 @@ import org.apache.hadoop.io.Text;
      public class RecordReaderImpl implements RecordReader {
        static final Logger LOG = LoggerFactory.getLogger(RecordReaderImpl.class);
        private static final boolean isLogDebugEnabled = LOG.isDebugEnabled();
    + private static final Object UNKNOWN_VALUE = new Object();
        private final Path path;
        private final long firstRow;
        private final List<StripeInformation> stripes =
    @@ -310,7 +311,7 @@ public class RecordReaderImpl implements RecordReader {
              return Boolean.TRUE;
            }
          } else {
    - return null;
    + return UNKNOWN_VALUE; // null is not safe here
          }
        }

    @@ -359,6 +360,8 @@ public class RecordReaderImpl implements RecordReader {
            } else {
              return TruthValue.NULL;
            }
    + } else if (min == UNKNOWN_VALUE) {
    + return TruthValue.YES_NO_NULL;
          }

          TruthValue result;
  • Xuefu at Nov 12, 2015 at 3:59 am
    HIVE-12317: Emit current database in lineage info (Jimmy, reviewed by Yongzhi)


    Project: http://git-wip-us.apache.org/repos/asf/hive/repo
    Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/92620d8e
    Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/92620d8e
    Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/92620d8e

    Branch: refs/heads/spark
    Commit: 92620d8e3275231eadf6ee87b7a937860339f92d
    Parents: 16a86b2
    Author: Jimmy Xiang <jxiang@apache.org>
    Authored: Mon Nov 2 13:43:56 2015 -0800
    Committer: Jimmy Xiang <jxiang@apache.org>
    Committed: Wed Nov 4 07:24:48 2015 -0800

    ----------------------------------------------------------------------
      .../hadoop/hive/ql/hooks/LineageLogger.java | 1 +
      .../clientpositive/cbo_rp_lineage2.q.out | 68 +++++++++---------
      .../test/results/clientpositive/lineage2.q.out | 72 ++++++++++----------
      .../test/results/clientpositive/lineage3.q.out | 60 ++++++++--------
      4 files changed, 101 insertions(+), 100 deletions(-)
    ----------------------------------------------------------------------


    http://git-wip-us.apache.org/repos/asf/hive/blob/92620d8e/ql/src/java/org/apache/hadoop/hive/ql/hooks/LineageLogger.java
    ----------------------------------------------------------------------
    diff --git a/ql/src/java/org/apache/hadoop/hive/ql/hooks/LineageLogger.java b/ql/src/java/org/apache/hadoop/hive/ql/hooks/LineageLogger.java
    index 1146cae..178a2de 100644
    --- a/ql/src/java/org/apache/hadoop/hive/ql/hooks/LineageLogger.java
    +++ b/ql/src/java/org/apache/hadoop/hive/ql/hooks/LineageLogger.java
    @@ -169,6 +169,7 @@ public class LineageLogger implements ExecuteWithHookContext {
              }
              writer.name("engine").value(
                HiveConf.getVar(conf, HiveConf.ConfVars.HIVE_EXECUTION_ENGINE));
    + writer.name("database").value(ss.getCurrentDatabase());
              writer.name("hash").value(getQueryHash(queryStr));
              writer.name("queryText").value(queryStr);


    http://git-wip-us.apache.org/repos/asf/hive/blob/92620d8e/ql/src/test/results/clientpositive/cbo_rp_lineage2.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/cbo_rp_lineage2.q.out b/ql/src/test/results/clientpositive/cbo_rp_lineage2.q.out
    index 9fc1e7b..41f3d09 100644
    --- a/ql/src/test/results/clientpositive/cbo_rp_lineage2.q.out
    +++ b/ql/src/test/results/clientpositive/cbo_rp_lineage2.q.out
    @@ -5,12 +5,12 @@ PREHOOK: type: CREATETABLE_AS_SELECT
      PREHOOK: Input: default@src1
      PREHOOK: Output: database:default
      PREHOOK: Output: default@src2
    -{"version":"1.0","engine":"mr","hash":"3a39d46286e4c2cd2139c9bb248f7b4f","queryText":"create table src2 as select key key2, value value2 from src1","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.src2.key2"},{"id":1,"vertexType":"COLUMN","vertexId":"default.src2.value2"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.value"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"3a39d46286e4c2cd2139c9bb248f7b4f","queryText":"create table src2 as select key key2, value value2 from src1","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.src2.key2"},{"id":1,"vertexType":"COLUMN","vertexId":"default.src2.value2"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.value"}]}
      PREHOOK: query: select * from src1 where key is not null and value is not null limit 3
      PREHOOK: type: QUERY
      PREHOOK: Input: default@src1
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"b5b224847b2333e790a2c229434a04c8","queryText":"select * from src1 where key is not null and value is not null limit 3","edges":[],"vertices":[]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"b5b224847b2333e790a2c229434a04c8","queryText":"select * from src1 where key is not null and value is not null limit 3","edges":[],"vertices":[]}
      238 val_238

      311 val_311
    @@ -18,7 +18,7 @@ PREHOOK: query: select * from src1 where key > 10 and value > 'val' order by key
      PREHOOK: type: QUERY
      PREHOOK: Input: default@src1
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"773d9d0ea92e797eae292ae1eeea11ab","queryText":"select * from src1 where key > 10 and value > 'val' order by key limit 5","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[2,3],"targets":[0,1],"expression":"((UDFToDouble(src1.key) > UDFToDouble(10)) and (src1.value > 'val'))","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"src1.key"},{"id":1,"vertexType":"COLUMN","vertexId":"src1.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.value"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"773d9d0ea92e797eae292ae1eeea11ab","queryText":"select * from src1 where key > 10 and value > 'val' order by key limit 5","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[2,3],"targets":[0,1],"expression":"((UDFToDouble(src1.key) > UDFToDouble(10)) and (src1.value > 'val'))","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"src1.key"},{"id":1,"vertexType":"COLUMN","vertexId":"src1.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.value"}]}
      146 val_146
      150 val_150
      213 val_213
    @@ -31,17 +31,17 @@ PREHOOK: type: CREATETABLE_AS_SELECT
      PREHOOK: Input: default@src1
      PREHOOK: Output: database:default
      PREHOOK: Output: default@dest1
    -{"version":"1.0","engine":"mr","hash":"712fe958c357bcfc978b95c43eb19084","queryText":"create table dest1 as select * from src1","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest1.key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest1.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.value"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"712fe958c357bcfc978b95c43eb19084","queryText":"create table dest1 as select * from src1","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest1.key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest1.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.value"}]}
      PREHOOK: query: insert into table dest1 select * from src2
      PREHOOK: type: QUERY
      PREHOOK: Input: default@src2
      PREHOOK: Output: default@dest1
    -{"version":"1.0","engine":"mr","hash":"ecc718a966d8887b18084a55dd96f0bc","queryText":"insert into table dest1 select * from src2","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest1.key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest1.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src2.key2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src2.value2"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"ecc718a966d8887b18084a55dd96f0bc","queryText":"insert into table dest1 select * from src2","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest1.key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest1.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src2.key2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src2.value2"}]}
      PREHOOK: query: select key k, dest1.value from dest1
      PREHOOK: type: QUERY
      PREHOOK: Input: default@dest1
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"416b6f4cd63edd4f9d8213d2d7819d21","queryText":"select key k, dest1.value from dest1","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"k"},{"id":1,"vertexType":"COLUMN","vertexId":"dest1.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest1.value"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"416b6f4cd63edd4f9d8213d2d7819d21","queryText":"select key k, dest1.value from dest1","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"k"},{"id":1,"vertexType":"COLUMN","vertexId":"dest1.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest1.value"}]}
      238 val_238

      311 val_311
    @@ -97,7 +97,7 @@ PREHOOK: type: QUERY
      PREHOOK: Input: default@src1
      PREHOOK: Input: default@src2
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"50fa3d1074b3fda37ce11dc6ec92ebf3","queryText":"select key from src1 union select key2 from src2 order by key","edges":[{"sources":[1,2],"targets":[0],"expression":"KEY.reducesinkkey0","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src2.key2"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"50fa3d1074b3fda37ce11dc6ec92ebf3","queryText":"select key from src1 union select key2 from src2 order by key","edges":[{"sources":[1,2],"targets":[0],"expression":"KEY.reducesinkkey0","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src2.key2"}]}

      128
      146
    @@ -119,7 +119,7 @@ PREHOOK: type: QUERY
      PREHOOK: Input: default@src1
      PREHOOK: Input: default@src2
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"a739460bd79c8c91ec35e22c97329769","queryText":"select key k from src1 union select key2 from src2 order by k","edges":[{"sources":[1,2],"targets":[0],"expression":"KEY.reducesinkkey0","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"k"},{"id":1,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src2.key2"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"a739460bd79c8c91ec35e22c97329769","queryText":"select key k from src1 union select key2 from src2 order by k","edges":[{"sources":[1,2],"targets":[0],"expression":"KEY.reducesinkkey0","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"k"},{"id":1,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src2.key2"}]}

      128
      146
    @@ -140,7 +140,7 @@ PREHOOK: query: select key, count(1) a from dest1 group by key
      PREHOOK: type: QUERY
      PREHOOK: Input: default@dest1
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"3901b5e3a164064736b3234355046340","queryText":"select key, count(1) a from dest1 group by key","edges":[],"vertices":[]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"3901b5e3a164064736b3234355046340","queryText":"select key, count(1) a from dest1 group by key","edges":[],"vertices":[]}
       20
      128 2
      146 2
    @@ -161,7 +161,7 @@ PREHOOK: query: select key k, count(*) from dest1 group by key
      PREHOOK: type: QUERY
      PREHOOK: Input: default@dest1
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"0d5a212f10847aeaab31e8c31121e6d4","queryText":"select key k, count(*) from dest1 group by key","edges":[],"vertices":[]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"0d5a212f10847aeaab31e8c31121e6d4","queryText":"select key k, count(*) from dest1 group by key","edges":[],"vertices":[]}
       20
      128 2
      146 2
    @@ -182,7 +182,7 @@ PREHOOK: query: select key k, count(value) from dest1 group by key
      PREHOOK: type: QUERY
      PREHOOK: Input: default@dest1
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"56429eccb04ded722f5bd9d9d8cf7260","queryText":"select key k, count(value) from dest1 group by key","edges":[],"vertices":[]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"56429eccb04ded722f5bd9d9d8cf7260","queryText":"select key k, count(value) from dest1 group by key","edges":[],"vertices":[]}
       20
      128 2
      146 2
    @@ -203,7 +203,7 @@ PREHOOK: query: select value, max(length(key)) from dest1 group by value
      PREHOOK: type: QUERY
      PREHOOK: Input: default@dest1
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"7e1cfc3dece85b41b6f7c46365580cde","queryText":"select value, max(length(key)) from dest1 group by value","edges":[],"vertices":[]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"7e1cfc3dece85b41b6f7c46365580cde","queryText":"select value, max(length(key)) from dest1 group by value","edges":[],"vertices":[]}
       3
      val_146 3
      val_150 3
    @@ -227,7 +227,7 @@ PREHOOK: query: select value, max(length(key)) from dest1 group by value order b
      PREHOOK: type: QUERY
      PREHOOK: Input: default@dest1
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"c6578ce1dd72498c4af33f20f164e483","queryText":"select value, max(length(key)) from dest1 group by value order by value limit 5","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"expression":"max(length(dest1.key))","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"value"},{"id":1,"vertexType":"COLUMN","vertexId":"_c1"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest1.value"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest1.key"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"c6578ce1dd72498c4af33f20f164e483","queryText":"select value, max(length(key)) from dest1 group by value order by value limit 5","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"expression":"max(length(dest1.key))","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"value"},{"id":1,"vertexType":"COLUMN","vertexId":"_c1"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest1.value"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest1.key"}]}
       3
      val_146 3
      val_150 3
    @@ -237,7 +237,7 @@ PREHOOK: query: select key, length(value) from dest1
      PREHOOK: type: QUERY
      PREHOOK: Input: default@dest1
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"91fbcea5cb34362071555cd93e8d0abe","queryText":"select key, length(value) from dest1","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"expression":"length(dest1.value)","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"key"},{"id":1,"vertexType":"COLUMN","vertexId":"_c1"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest1.value"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"91fbcea5cb34362071555cd93e8d0abe","queryText":"select key, length(value) from dest1","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"expression":"length(dest1.value)","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"key"},{"id":1,"vertexType":"COLUMN","vertexId":"_c1"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest1.value"}]}
      238 7
       0
      311 7
    @@ -292,7 +292,7 @@ PREHOOK: query: select length(value) + 3 from dest1
      PREHOOK: type: QUERY
      PREHOOK: Input: default@dest1
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"3d8a347cc9052111cb328938d37b9b03","queryText":"select length(value) + 3 from dest1","edges":[{"sources":[1],"targets":[0],"expression":"(length(dest1.value) + 3)","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"_c0"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest1.value"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"3d8a347cc9052111cb328938d37b9b03","queryText":"select length(value) + 3 from dest1","edges":[{"sources":[1],"targets":[0],"expression":"(length(dest1.value) + 3)","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"_c0"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest1.value"}]}
      10
      3
      10
    @@ -347,7 +347,7 @@ PREHOOK: query: select 5 from dest1
      PREHOOK: type: QUERY
      PREHOOK: Input: default@dest1
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"bae960bf4376ec00e37258469b17360d","queryText":"select 5 from dest1","edges":[{"sources":[],"targets":[0],"expression":"5","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"_c0"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"bae960bf4376ec00e37258469b17360d","queryText":"select 5 from dest1","edges":[{"sources":[],"targets":[0],"expression":"5","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"_c0"}]}
      5
      5
      5
    @@ -402,7 +402,7 @@ PREHOOK: query: select 3 * 5 from dest1
      PREHOOK: type: QUERY
      PREHOOK: Input: default@dest1
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"753abad4d55afd3df34fdc73abfcd44d","queryText":"select 3 * 5 from dest1","edges":[{"sources":[],"targets":[0],"expression":"(3 * 5)","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"_c0"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"753abad4d55afd3df34fdc73abfcd44d","queryText":"select 3 * 5 from dest1","edges":[{"sources":[],"targets":[0],"expression":"(3 * 5)","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"_c0"}]}
      15
      15
      15
    @@ -461,31 +461,31 @@ PREHOOK: Input: default@src1
      PREHOOK: Input: default@src2
      PREHOOK: Output: database:default
      PREHOOK: Output: default@dest2
    -{"version":"1.0","engine":"mr","hash":"386791c174a4999fc916e300b5e76bf2","queryText":"create table dest2 as select * from src1 JOIN src2 ON src1.key = src2.key2","edges":[{"sources":[4],"targets":[0],"edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"edgeType":"PROJECTION"},{"sources":[4,6],"targets":[0,1,2,3],"expression":"(src1.key = src2.key2)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest2.key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest2.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest2.key2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest2.value2"},{"id":4,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":5,"vertexType":"COLUMN","vertexId":"default.src1.value"},{"id":6,"vertexType":"COLUMN","vertexId":"default.src2.key2"},{"id":7,"vertexType":"COLUMN","vertexId":"default.src2.val
      ue2"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"386791c174a4999fc916e300b5e76bf2","queryText":"create table dest2 as select * from src1 JOIN src2 ON src1.key = src2.key2","edges":[{"sources":[4],"targets":[0],"edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"edgeType":"PROJECTION"},{"sources":[4,6],"targets":[0,1,2,3],"expression":"(src1.key = src2.key2)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest2.key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest2.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest2.key2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest2.value2"},{"id":4,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":5,"vertexType":"COLUMN","vertexId":"default.src1.value"},{"id":6,"vertexType":"COLUMN","vertexId":"default.src2.key2"},{"id":7,"vertexType":"COLUMN","vertex
      Id":"default.src2.value2"}]}
      PREHOOK: query: insert overwrite table dest2 select * from src1 JOIN src2 ON src1.key = src2.key2
      PREHOOK: type: QUERY
      PREHOOK: Input: default@src1
      PREHOOK: Input: default@src2
      PREHOOK: Output: default@dest2
    -{"version":"1.0","engine":"mr","hash":"e494b771d94800dc3430bf5d0810cd9f","queryText":"insert overwrite table dest2 select * from src1 JOIN src2 ON src1.key = src2.key2","edges":[{"sources":[4],"targets":[0],"edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"edgeType":"PROJECTION"},{"sources":[4,6],"targets":[0,1,2,3],"expression":"(src1.key = src2.key2)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest2.key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest2.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest2.key2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest2.value2"},{"id":4,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":5,"vertexType":"COLUMN","vertexId":"default.src1.value"},{"id":6,"vertexType":"COLUMN","vertexId":"default.src2.key2"},{"id":7,"vertexType":"COLUMN","vertexId":"default.s
      rc2.value2"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"e494b771d94800dc3430bf5d0810cd9f","queryText":"insert overwrite table dest2 select * from src1 JOIN src2 ON src1.key = src2.key2","edges":[{"sources":[4],"targets":[0],"edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"edgeType":"PROJECTION"},{"sources":[4,6],"targets":[0,1,2,3],"expression":"(src1.key = src2.key2)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest2.key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest2.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest2.key2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest2.value2"},{"id":4,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":5,"vertexType":"COLUMN","vertexId":"default.src1.value"},{"id":6,"vertexType":"COLUMN","vertexId":"default.src2.key2"},{"id":7,"vertexType":"COLUMN",
      "vertexId":"default.src2.value2"}]}
      PREHOOK: query: insert into table dest2 select * from src1 JOIN src2 ON src1.key = src2.key2
      PREHOOK: type: QUERY
      PREHOOK: Input: default@src1
      PREHOOK: Input: default@src2
      PREHOOK: Output: default@dest2
    -{"version":"1.0","engine":"mr","hash":"efeaddd0d36105b1013b414627850dc2","queryText":"insert into table dest2 select * from src1 JOIN src2 ON src1.key = src2.key2","edges":[{"sources":[4],"targets":[0],"edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"edgeType":"PROJECTION"},{"sources":[4,6],"targets":[0,1,2,3],"expression":"(src1.key = src2.key2)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest2.key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest2.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest2.key2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest2.value2"},{"id":4,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":5,"vertexType":"COLUMN","vertexId":"default.src1.value"},{"id":6,"vertexType":"COLUMN","vertexId":"default.src2.key2"},{"id":7,"vertexType":"COLUMN","vertexId":"default.src2.v
      alue2"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"efeaddd0d36105b1013b414627850dc2","queryText":"insert into table dest2 select * from src1 JOIN src2 ON src1.key = src2.key2","edges":[{"sources":[4],"targets":[0],"edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"edgeType":"PROJECTION"},{"sources":[4,6],"targets":[0,1,2,3],"expression":"(src1.key = src2.key2)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest2.key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest2.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest2.key2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest2.value2"},{"id":4,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":5,"vertexType":"COLUMN","vertexId":"default.src1.value"},{"id":6,"vertexType":"COLUMN","vertexId":"default.src2.key2"},{"id":7,"vertexType":"COLUMN","vert
      exId":"default.src2.value2"}]}
      PREHOOK: query: insert into table dest2
        select * from src1 JOIN src2 ON length(src1.value) = length(src2.value2) + 1
      PREHOOK: type: QUERY
      PREHOOK: Input: default@src1
      PREHOOK: Input: default@src2
      PREHOOK: Output: default@dest2
    -{"version":"1.0","engine":"mr","hash":"e9450a56b3d103642e06bef0e4f0d482","queryText":"insert into table dest2\n select * from src1 JOIN src2 ON length(src1.value) = length(src2.value2) + 1","edges":[{"sources":[4],"targets":[0],"edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"edgeType":"PROJECTION"},{"sources":[5,7],"targets":[0,1,2,3],"expression":"(length(src1.value) = (length(src2.value2) + 1))","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest2.key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest2.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest2.key2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest2.value2"},{"id":4,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":5,"vertexType":"COLUMN","vertexId":"default.src1.value"},{"id":6,"vertexType":"COLUMN","vertexId":"default.src2.key2"},{"i
      d":7,"vertexType":"COLUMN","vertexId":"default.src2.value2"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"e9450a56b3d103642e06bef0e4f0d482","queryText":"insert into table dest2\n select * from src1 JOIN src2 ON length(src1.value) = length(src2.value2) + 1","edges":[{"sources":[4],"targets":[0],"edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"edgeType":"PROJECTION"},{"sources":[5,7],"targets":[0,1,2,3],"expression":"(length(src1.value) = (length(src2.value2) + 1))","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest2.key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest2.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest2.key2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest2.value2"},{"id":4,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":5,"vertexType":"COLUMN","vertexId":"default.src1.value"},{"id":6,"vertexType":"COLUMN","vertexId":"de
      fault.src2.key2"},{"id":7,"vertexType":"COLUMN","vertexId":"default.src2.value2"}]}
      PREHOOK: query: select * from src1 where length(key) > 2
      PREHOOK: type: QUERY
      PREHOOK: Input: default@src1
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"4028c94d222d5dd221f651d414386972","queryText":"select * from src1 where length(key) > 2","edges":[],"vertices":[]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"4028c94d222d5dd221f651d414386972","queryText":"select * from src1 where length(key) > 2","edges":[],"vertices":[]}
      238 val_238
      311 val_311
      255 val_255
    @@ -503,7 +503,7 @@ PREHOOK: query: select * from src1 where length(key) > 2 and value > 'a'
      PREHOOK: type: QUERY
      PREHOOK: Input: default@src1
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"5727531f7743cfcd60d634d8c835515f","queryText":"select * from src1 where length(key) > 2 and value > 'a'","edges":[],"vertices":[]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"5727531f7743cfcd60d634d8c835515f","queryText":"select * from src1 where length(key) > 2 and value > 'a'","edges":[],"vertices":[]}
      238 val_238
      311 val_311
      255 val_255
    @@ -523,14 +523,14 @@ PREHOOK: Input: default@src1
      PREHOOK: Input: default@src2
      PREHOOK: Output: database:default
      PREHOOK: Output: default@dest3
    -{"version":"1.0","engine":"mr","hash":"a2c4e9a3ec678039814f5d84b1e38ce4","queryText":"create table dest3 as\n select * from src1 JOIN src2 ON src1.key = src2.key2 WHERE length(key) > 1","edges":[{"sources":[4],"targets":[0],"edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"edgeType":"PROJECTION"},{"sources":[4,6],"targets":[0,1,2,3],"expression":"(src1.key = src2.key2)","edgeType":"PREDICATE"},{"sources":[4],"targets":[0,1,2,3],"expression":"(length(src1.key) > 1)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest3.key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest3.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest3.key2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest3.value2"},{"id":4,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":5,"vertexType":"COLUMN","vertexId":"default.src1.value"
      },{"id":6,"vertexType":"COLUMN","vertexId":"default.src2.key2"},{"id":7,"vertexType":"COLUMN","vertexId":"default.src2.value2"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"a2c4e9a3ec678039814f5d84b1e38ce4","queryText":"create table dest3 as\n select * from src1 JOIN src2 ON src1.key = src2.key2 WHERE length(key) > 1","edges":[{"sources":[4],"targets":[0],"edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"edgeType":"PROJECTION"},{"sources":[4,6],"targets":[0,1,2,3],"expression":"(src1.key = src2.key2)","edgeType":"PREDICATE"},{"sources":[4],"targets":[0,1,2,3],"expression":"(length(src1.key) > 1)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest3.key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest3.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest3.key2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest3.value2"},{"id":4,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":5,"vertexType":"COLUMN","vertexId"
      :"default.src1.value"},{"id":6,"vertexType":"COLUMN","vertexId":"default.src2.key2"},{"id":7,"vertexType":"COLUMN","vertexId":"default.src2.value2"}]}
      PREHOOK: query: insert overwrite table dest2
        select * from src1 JOIN src2 ON src1.key = src2.key2 WHERE length(key) > 3
      PREHOOK: type: QUERY
      PREHOOK: Input: default@src1
      PREHOOK: Input: default@src2
      PREHOOK: Output: default@dest2
    -{"version":"1.0","engine":"mr","hash":"76d84512204ddc576ad4d93f252e4358","queryText":"insert overwrite table dest2\n select * from src1 JOIN src2 ON src1.key = src2.key2 WHERE length(key) > 3","edges":[{"sources":[4],"targets":[0],"edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"edgeType":"PROJECTION"},{"sources":[4,6],"targets":[0,1,2,3],"expression":"(src1.key = src2.key2)","edgeType":"PREDICATE"},{"sources":[4],"targets":[0,1,2,3],"expression":"(length(src1.key) > 3)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest2.key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest2.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest2.key2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest2.value2"},{"id":4,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":5,"vertexType":"COLUMN","vertexId":"default.src1
      .value"},{"id":6,"vertexType":"COLUMN","vertexId":"default.src2.key2"},{"id":7,"vertexType":"COLUMN","vertexId":"default.src2.value2"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"76d84512204ddc576ad4d93f252e4358","queryText":"insert overwrite table dest2\n select * from src1 JOIN src2 ON src1.key = src2.key2 WHERE length(key) > 3","edges":[{"sources":[4],"targets":[0],"edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"edgeType":"PROJECTION"},{"sources":[4,6],"targets":[0,1,2,3],"expression":"(src1.key = src2.key2)","edgeType":"PREDICATE"},{"sources":[4],"targets":[0,1,2,3],"expression":"(length(src1.key) > 3)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest2.key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest2.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest2.key2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest2.value2"},{"id":4,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":5,"vertexType":"COLUMN","ve
      rtexId":"default.src1.value"},{"id":6,"vertexType":"COLUMN","vertexId":"default.src2.key2"},{"id":7,"vertexType":"COLUMN","vertexId":"default.src2.value2"}]}
      PREHOOK: query: drop table if exists dest_l1
      PREHOOK: type: DROPTABLE
      PREHOOK: query: CREATE TABLE dest_l1(key INT, value STRING) STORED AS TEXTFILE
    @@ -552,7 +552,7 @@ PREHOOK: type: QUERY
      PREHOOK: Input: default@src
      PREHOOK: Input: default@src1
      PREHOOK: Output: default@dest_l1
    -{"version":"1.0","engine":"mr","hash":"60b589744e2527dd235a6c8168d6a653","queryText":"INSERT OVERWRITE TABLE dest_l1\nSELECT j.*\nFROM (SELECT t1.key, p1.value\n FROM src1 t1\n LEFT OUTER JOIN src p1\n ON (t1.key = p1.key)\n UNION ALL\n SELECT t2.key, p2.value\n FROM src1 t2\n LEFT OUTER JOIN src p2\n ON (t2.key = p2.key)) j","edges":[{"sources":[2],"targets":[0],"expression":"UDFToInteger(key)","edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"expression":"value","edgeType":"PROJECTION"},{"sources":[4,2],"targets":[0,1],"expression":"(null-subquery1:j-subquery1:p1.key = null-subquery1:j-subquery1:t1.key)","edgeType":"PREDICATE"},{"sources":[4,2],"targets":[0,1],"expression":"(null-subquery2:j-subquery2:p2.key = null-subquery2:j-subquery2:t2.key)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest_l1.key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_l1.value"},{"id":2,"vertexType":"COLUM
      N","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src.value"},{"id":4,"vertexType":"COLUMN","vertexId":"default.src.key"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"60b589744e2527dd235a6c8168d6a653","queryText":"INSERT OVERWRITE TABLE dest_l1\nSELECT j.*\nFROM (SELECT t1.key, p1.value\n FROM src1 t1\n LEFT OUTER JOIN src p1\n ON (t1.key = p1.key)\n UNION ALL\n SELECT t2.key, p2.value\n FROM src1 t2\n LEFT OUTER JOIN src p2\n ON (t2.key = p2.key)) j","edges":[{"sources":[2],"targets":[0],"expression":"UDFToInteger(key)","edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"expression":"value","edgeType":"PROJECTION"},{"sources":[4,2],"targets":[0,1],"expression":"(null-subquery1:j-subquery1:p1.key = null-subquery1:j-subquery1:t1.key)","edgeType":"PREDICATE"},{"sources":[4,2],"targets":[0,1],"expression":"(null-subquery2:j-subquery2:p2.key = null-subquery2:j-subquery2:t2.key)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest_l1.key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_l1.value"},{"id":
      2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src.value"},{"id":4,"vertexType":"COLUMN","vertexId":"default.src.key"}]}
      PREHOOK: query: drop table if exists emp
      PREHOOK: type: DROPTABLE
      PREHOOK: query: drop table if exists dept
    @@ -593,7 +593,7 @@ PREHOOK: Input: default@dept
      PREHOOK: Input: default@emp
      PREHOOK: Input: default@project
      PREHOOK: Output: default@tgt
    -{"version":"1.0","engine":"mr","hash":"f59797e0422d2e51515063374dfac361","queryText":"INSERT INTO TABLE tgt\nSELECT emd.dept_name, emd.name, emd.emp_id, emd.mgr_id, p.project_id, p.project_name\nFROM (\n SELECT d.dept_name, em.name, em.emp_id, em.mgr_id, em.dept_id\n FROM (\n SELECT e.name, e.dept_id, e.emp_id emp_id, m.emp_id mgr_id\n FROM emp e JOIN emp m ON e.emp_id = m.emp_id\n ) em\n JOIN dept d ON d.dept_id = em.dept_id\n ) emd JOIN project p ON emd.dept_id = p.project_id","edges":[{"sources":[6],"targets":[0],"edgeType":"PROJECTION"},{"sources":[7],"targets":[1],"edgeType":"PROJECTION"},{"sources":[8],"targets":[2,3],"edgeType":"PROJECTION"},{"sources":[9],"targets":[4],"edgeType":"PROJECTION"},{"sources":[10],"targets":[5],"edgeType":"PROJECTION"},{"sources":[8],"targets":[0,1,2,3,4,5],"expression":"(e.emp_id = m.emp_id)","edgeType":"PREDICATE"},{"sources":[11,12],"targets":[0,1,2,3,4,5],"expression":"(em._col1 = d.dept_id)","edgeType":"PREDICATE"},{"sources":[1
      1,9],"targets":[0,1,2,3,4,5],"expression":"(emd._col4 = p.project_id)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.tgt.dept_name"},{"id":1,"vertexType":"COLUMN","vertexId":"default.tgt.name"},{"id":2,"vertexType":"COLUMN","vertexId":"default.tgt.emp_id"},{"id":3,"vertexType":"COLUMN","vertexId":"default.tgt.mgr_id"},{"id":4,"vertexType":"COLUMN","vertexId":"default.tgt.proj_id"},{"id":5,"vertexType":"COLUMN","vertexId":"default.tgt.proj_name"},{"id":6,"vertexType":"COLUMN","vertexId":"default.dept.dept_name"},{"id":7,"vertexType":"COLUMN","vertexId":"default.emp.name"},{"id":8,"vertexType":"COLUMN","vertexId":"default.emp.emp_id"},{"id":9,"vertexType":"COLUMN","vertexId":"default.project.project_id"},{"id":10,"vertexType":"COLUMN","vertexId":"default.project.project_name"},{"id":11,"vertexType":"COLUMN","vertexId":"default.emp.dept_id"},{"id":12,"vertexType":"COLUMN","vertexId":"default.dept.dept_id"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"f59797e0422d2e51515063374dfac361","queryText":"INSERT INTO TABLE tgt\nSELECT emd.dept_name, emd.name, emd.emp_id, emd.mgr_id, p.project_id, p.project_name\nFROM (\n SELECT d.dept_name, em.name, em.emp_id, em.mgr_id, em.dept_id\n FROM (\n SELECT e.name, e.dept_id, e.emp_id emp_id, m.emp_id mgr_id\n FROM emp e JOIN emp m ON e.emp_id = m.emp_id\n ) em\n JOIN dept d ON d.dept_id = em.dept_id\n ) emd JOIN project p ON emd.dept_id = p.project_id","edges":[{"sources":[6],"targets":[0],"edgeType":"PROJECTION"},{"sources":[7],"targets":[1],"edgeType":"PROJECTION"},{"sources":[8],"targets":[2,3],"edgeType":"PROJECTION"},{"sources":[9],"targets":[4],"edgeType":"PROJECTION"},{"sources":[10],"targets":[5],"edgeType":"PROJECTION"},{"sources":[8],"targets":[0,1,2,3,4,5],"expression":"(e.emp_id = m.emp_id)","edgeType":"PREDICATE"},{"sources":[11,12],"targets":[0,1,2,3,4,5],"expression":"(em._col1 = d.dept_id)","edgeType":"PRED
      ICATE"},{"sources":[11,9],"targets":[0,1,2,3,4,5],"expression":"(emd._col4 = p.project_id)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.tgt.dept_name"},{"id":1,"vertexType":"COLUMN","vertexId":"default.tgt.name"},{"id":2,"vertexType":"COLUMN","vertexId":"default.tgt.emp_id"},{"id":3,"vertexType":"COLUMN","vertexId":"default.tgt.mgr_id"},{"id":4,"vertexType":"COLUMN","vertexId":"default.tgt.proj_id"},{"id":5,"vertexType":"COLUMN","vertexId":"default.tgt.proj_name"},{"id":6,"vertexType":"COLUMN","vertexId":"default.dept.dept_name"},{"id":7,"vertexType":"COLUMN","vertexId":"default.emp.name"},{"id":8,"vertexType":"COLUMN","vertexId":"default.emp.emp_id"},{"id":9,"vertexType":"COLUMN","vertexId":"default.project.project_id"},{"id":10,"vertexType":"COLUMN","vertexId":"default.project.project_name"},{"id":11,"vertexType":"COLUMN","vertexId":"default.emp.dept_id"},{"id":12,"vertexType":"COLUMN","vertexId":"default.dept.dept_id"}]}
      PREHOOK: query: drop table if exists dest_l2
      PREHOOK: type: DROPTABLE
      PREHOOK: query: create table dest_l2 (id int, c1 tinyint, c2 int, c3 bigint) stored as textfile
    @@ -604,7 +604,7 @@ PREHOOK: query: insert into dest_l2 values(0, 1, 100, 10000)
      PREHOOK: type: QUERY
      PREHOOK: Input: default@values__tmp__table__1
      PREHOOK: Output: default@dest_l2
    -{"version":"1.0","engine":"mr","hash":"e001334e3f8384806b0f25a7c303045f","queryText":"insert into dest_l2 values(0, 1, 100, 10000)","edges":[{"sources":[],"targets":[0],"expression":"UDFToInteger(tmp_values_col1)","edgeType":"PROJECTION"},{"sources":[],"targets":[1],"expression":"UDFToByte(tmp_values_col2)","edgeType":"PROJECTION"},{"sources":[],"targets":[2],"expression":"UDFToInteger(tmp_values_col3)","edgeType":"PROJECTION"},{"sources":[],"targets":[3],"expression":"UDFToLong(tmp_values_col4)","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest_l2.id"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_l2.c1"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest_l2.c2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest_l2.c3"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"e001334e3f8384806b0f25a7c303045f","queryText":"insert into dest_l2 values(0, 1, 100, 10000)","edges":[{"sources":[],"targets":[0],"expression":"UDFToInteger(tmp_values_col1)","edgeType":"PROJECTION"},{"sources":[],"targets":[1],"expression":"UDFToByte(tmp_values_col2)","edgeType":"PROJECTION"},{"sources":[],"targets":[2],"expression":"UDFToInteger(tmp_values_col3)","edgeType":"PROJECTION"},{"sources":[],"targets":[3],"expression":"UDFToLong(tmp_values_col4)","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest_l2.id"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_l2.c1"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest_l2.c2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest_l2.c3"}]}
      PREHOOK: query: select * from (
        select c1 + c2 x from dest_l2
        union all
    @@ -612,7 +612,7 @@ PREHOOK: query: select * from (
      PREHOOK: type: QUERY
      PREHOOK: Input: default@dest_l2
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"a2c96a96be9d315ede966be5b45ef20e","queryText":"select * from (\n select c1 + c2 x from dest_l2\n union all\n select sum(c3) y from (select c3 from dest_l2) v1) v2 order by x","edges":[{"sources":[1,2,3],"targets":[0],"expression":"KEY.reducesinkkey0","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"v2.x"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_l2.c1"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest_l2.c2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest_l2.c3"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"a2c96a96be9d315ede966be5b45ef20e","queryText":"select * from (\n select c1 + c2 x from dest_l2\n union all\n select sum(c3) y from (select c3 from dest_l2) v1) v2 order by x","edges":[{"sources":[1,2,3],"targets":[0],"expression":"KEY.reducesinkkey0","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"v2.x"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_l2.c1"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest_l2.c2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest_l2.c3"}]}
      101
      10000
      PREHOOK: query: drop table if exists dest_l3
    @@ -625,7 +625,7 @@ PREHOOK: query: insert into dest_l3 values(0, "s1", "s2", 15)
      PREHOOK: type: QUERY
      PREHOOK: Input: default@values__tmp__table__2
      PREHOOK: Output: default@dest_l3
    -{"version":"1.0","engine":"mr","hash":"09df51ba6ba2d07f2304523ee505f094","queryText":"insert into dest_l3 values(0, \"s1\", \"s2\", 15)","edges":[{"sources":[],"targets":[0],"expression":"UDFToInteger(tmp_values_col1)","edgeType":"PROJECTION"},{"sources":[],"targets":[1,2],"edgeType":"PROJECTION"},{"sources":[],"targets":[3],"expression":"UDFToInteger(tmp_values_col4)","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest_l3.id"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_l3.c1"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest_l3.c2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest_l3.c3"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"09df51ba6ba2d07f2304523ee505f094","queryText":"insert into dest_l3 values(0, \"s1\", \"s2\", 15)","edges":[{"sources":[],"targets":[0],"expression":"UDFToInteger(tmp_values_col1)","edgeType":"PROJECTION"},{"sources":[],"targets":[1,2],"edgeType":"PROJECTION"},{"sources":[],"targets":[3],"expression":"UDFToInteger(tmp_values_col4)","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest_l3.id"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_l3.c1"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest_l3.c2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest_l3.c3"}]}
      PREHOOK: query: select sum(a.c1) over (partition by a.c1 order by a.id)
      from dest_l2 a
      where a.c2 != 10
    @@ -634,7 +634,7 @@ having count(a.c2) > 0
      PREHOOK: type: QUERY
      PREHOOK: Input: default@dest_l2
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"0ae7aa4a0cbd1283210fa79e8a19104a","queryText":"select sum(a.c1) over (partition by a.c1 order by a.id)\nfrom dest_l2 a\nwhere a.c2 != 10\ngroup by a.c1, a.c2, a.id\nhaving count(a.c2) > 0","edges":[{"sources":[1,2,3],"targets":[0],"expression":"$win$_col_0","edgeType":"PROJECTION"},{"sources":[2],"targets":[0],"expression":"(a.c2 <> 10)","edgeType":"PREDICATE"},{"sources":[2],"targets":[0],"expression":"(count(default.dest_l2.c2) > 0)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"_c0"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_l2.c1"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest_l2.c2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest_l2.id"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"0ae7aa4a0cbd1283210fa79e8a19104a","queryText":"select sum(a.c1) over (partition by a.c1 order by a.id)\nfrom dest_l2 a\nwhere a.c2 != 10\ngroup by a.c1, a.c2, a.id\nhaving count(a.c2) > 0","edges":[{"sources":[1,2,3],"targets":[0],"expression":"$win$_col_0","edgeType":"PROJECTION"},{"sources":[2],"targets":[0],"expression":"(a.c2 <> 10)","edgeType":"PREDICATE"},{"sources":[2],"targets":[0],"expression":"(count(default.dest_l2.c2) > 0)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"_c0"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_l2.c1"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest_l2.c2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest_l2.id"}]}
      1
      PREHOOK: query: select sum(a.c1), count(b.c1), b.c2, b.c3
      from dest_l2 a join dest_l3 b on (a.id = b.id)
    @@ -646,7 +646,7 @@ PREHOOK: type: QUERY
      PREHOOK: Input: default@dest_l2
      PREHOOK: Input: default@dest_l3
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"01879c619517509d9f5b6ead998bb4bb","queryText":"select sum(a.c1), count(b.c1), b.c2, b.c3\nfrom dest_l2 a join dest_l3 b on (a.id = b.id)\nwhere a.c2 != 10 and b.c3 > 0\ngroup by a.c1, a.c2, a.id, b.c1, b.c2, b.c3\nhaving count(a.c2) > 0\norder by b.c3 limit 5","edges":[{"sources":[4],"targets":[0],"expression":"sum(default.dest_l2.c1)","edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"expression":"count(default.dest_l3.c1)","edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"edgeType":"PROJECTION"},{"sources":[8,9],"targets":[0,1,2,3],"expression":"(a.id = b.id)","edgeType":"PREDICATE"},{"sources":[10,7],"targets":[0,1,2,3],"expression":"((a.c2 <> 10) and (b.c3 > 0))","edgeType":"PREDICATE"},{"sources":[10],"targets":[0,1,2,3],"expression":"(count(default.dest_l2.c2) > 0)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"_c0"},{"id":1,"vertexType":"COLUM
      N","vertexId":"_c1"},{"id":2,"vertexType":"COLUMN","vertexId":"b.c2"},{"id":3,"vertexType":"COLUMN","vertexId":"b.c3"},{"id":4,"vertexType":"COLUMN","vertexId":"default.dest_l2.c1"},{"id":5,"vertexType":"COLUMN","vertexId":"default.dest_l3.c1"},{"id":6,"vertexType":"COLUMN","vertexId":"default.dest_l3.c2"},{"id":7,"vertexType":"COLUMN","vertexId":"default.dest_l3.c3"},{"id":8,"vertexType":"COLUMN","vertexId":"default.dest_l2.id"},{"id":9,"vertexType":"COLUMN","vertexId":"default.dest_l3.id"},{"id":10,"vertexType":"COLUMN","vertexId":"default.dest_l2.c2"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"01879c619517509d9f5b6ead998bb4bb","queryText":"select sum(a.c1), count(b.c1), b.c2, b.c3\nfrom dest_l2 a join dest_l3 b on (a.id = b.id)\nwhere a.c2 != 10 and b.c3 > 0\ngroup by a.c1, a.c2, a.id, b.c1, b.c2, b.c3\nhaving count(a.c2) > 0\norder by b.c3 limit 5","edges":[{"sources":[4],"targets":[0],"expression":"sum(default.dest_l2.c1)","edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"expression":"count(default.dest_l3.c1)","edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"edgeType":"PROJECTION"},{"sources":[8,9],"targets":[0,1,2,3],"expression":"(a.id = b.id)","edgeType":"PREDICATE"},{"sources":[10,7],"targets":[0,1,2,3],"expression":"((a.c2 <> 10) and (b.c3 > 0))","edgeType":"PREDICATE"},{"sources":[10],"targets":[0,1,2,3],"expression":"(count(default.dest_l2.c2) > 0)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"_c0"},{"id":
      1,"vertexType":"COLUMN","vertexId":"_c1"},{"id":2,"vertexType":"COLUMN","vertexId":"b.c2"},{"id":3,"vertexType":"COLUMN","vertexId":"b.c3"},{"id":4,"vertexType":"COLUMN","vertexId":"default.dest_l2.c1"},{"id":5,"vertexType":"COLUMN","vertexId":"default.dest_l3.c1"},{"id":6,"vertexType":"COLUMN","vertexId":"default.dest_l3.c2"},{"id":7,"vertexType":"COLUMN","vertexId":"default.dest_l3.c3"},{"id":8,"vertexType":"COLUMN","vertexId":"default.dest_l2.id"},{"id":9,"vertexType":"COLUMN","vertexId":"default.dest_l3.id"},{"id":10,"vertexType":"COLUMN","vertexId":"default.dest_l2.c2"}]}
      1 1 s2 15
      PREHOOK: query: drop table if exists t
      PREHOOK: type: DROPTABLE
    @@ -659,7 +659,7 @@ PREHOOK: Input: default@dest_l2
      PREHOOK: Input: default@dest_l3
      PREHOOK: Output: database:default
      PREHOOK: Output: default@t
    -{"version":"1.0","engine":"mr","hash":"0d2f15b494111ffe236d5be42a76fa28","queryText":"create table t as\nselect distinct a.c2, a.c3 from dest_l2 a\ninner join dest_l3 b on (a.id = b.id)\nwhere a.id > 0 and b.c3 = 15","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[4,5],"targets":[0,1],"expression":"(a.id = b.id)","edgeType":"PREDICATE"},{"sources":[4,6],"targets":[0,1],"expression":"((a.id > 0) and (b.c3 = 15))","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.t.c2"},{"id":1,"vertexType":"COLUMN","vertexId":"default.t.c3"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest_l2.c2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest_l2.c3"},{"id":4,"vertexType":"COLUMN","vertexId":"default.dest_l2.id"},{"id":5,"vertexType":"COLUMN","vertexId":"default.dest_l3.id"},{"id":6,"vertexType":"COLUMN","vertexId":"default.dest_l3.c3"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"0d2f15b494111ffe236d5be42a76fa28","queryText":"create table t as\nselect distinct a.c2, a.c3 from dest_l2 a\ninner join dest_l3 b on (a.id = b.id)\nwhere a.id > 0 and b.c3 = 15","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[4,5],"targets":[0,1],"expression":"(a.id = b.id)","edgeType":"PREDICATE"},{"sources":[4,6],"targets":[0,1],"expression":"((a.id > 0) and (b.c3 = 15))","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.t.c2"},{"id":1,"vertexType":"COLUMN","vertexId":"default.t.c3"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest_l2.c2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest_l2.c3"},{"id":4,"vertexType":"COLUMN","vertexId":"default.dest_l2.id"},{"id":5,"vertexType":"COLUMN","vertexId":"default.dest_l3.id"},{"id":6,"vertexType":"COLUMN","vertexId":"default.dest_l3.c3"}]}
      PREHOOK: query: SELECT substr(src1.key,1,1), count(DISTINCT substr(src1.value,5)),
      concat(substr(src1.key,1,1),sum(substr(src1.value,5)))
      from src1
    @@ -667,7 +667,7 @@ GROUP BY substr(src1.key,1,1)
      PREHOOK: type: QUERY
      PREHOOK: Input: default@src1
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"5b1022708124ee2b80f9e2e8a0dcb15c","queryText":"SELECT substr(src1.key,1,1), count(DISTINCT substr(src1.value,5)),\nconcat(substr(src1.key,1,1),sum(substr(src1.value,5)))\nfrom src1\nGROUP BY substr(src1.key,1,1)","edges":[{"sources":[3],"targets":[0],"expression":"substr(src1.key, 1, 1)","edgeType":"PROJECTION"},{"sources":[4],"targets":[1],"expression":"count(DISTINCT KEY._col1:0._col0)","edgeType":"PROJECTION"},{"sources":[3,5],"targets":[2],"expression":"concat(substr(src1.key, 1, 1), sum(substr(src1.value, 5)))","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"_c0"},{"id":1,"vertexType":"COLUMN","vertexId":"_c1"},{"id":2,"vertexType":"COLUMN","vertexId":"_c2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":4,"vertexType":"TABLE","vertexId":"default.src1"},{"id":5,"vertexType":"COLUMN","vertexId":"default.src1.value"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"5b1022708124ee2b80f9e2e8a0dcb15c","queryText":"SELECT substr(src1.key,1,1), count(DISTINCT substr(src1.value,5)),\nconcat(substr(src1.key,1,1),sum(substr(src1.value,5)))\nfrom src1\nGROUP BY substr(src1.key,1,1)","edges":[{"sources":[3],"targets":[0],"expression":"substr(src1.key, 1, 1)","edgeType":"PROJECTION"},{"sources":[4],"targets":[1],"expression":"count(DISTINCT KEY._col1:0._col0)","edgeType":"PROJECTION"},{"sources":[3,5],"targets":[2],"expression":"concat(substr(src1.key, 1, 1), sum(substr(src1.value, 5)))","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"_c0"},{"id":1,"vertexType":"COLUMN","vertexId":"_c1"},{"id":2,"vertexType":"COLUMN","vertexId":"_c2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":4,"vertexType":"TABLE","vertexId":"default.src1"},{"id":5,"vertexType":"COLUMN","vertexId":"default.src1.value"}]}
       7 1543.0
      1 3 1296.0
      2 6 21257.0
  • Xuefu at Nov 12, 2015 at 3:59 am
    HIVE-12063: Pad Decimal numbers with trailing zeros to the scale of the column (reviewed by Szehon)


    Project: http://git-wip-us.apache.org/repos/asf/hive/repo
    Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/13f8cfec
    Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/13f8cfec
    Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/13f8cfec

    Branch: refs/heads/spark
    Commit: 13f8cfece819bec7ea045db92c18c6d7fc3784d0
    Parents: 318c2ef
    Author: Xuefu Zhang <xzhang@cloudera.com>
    Authored: Tue Nov 3 19:41:17 2015 -0800
    Committer: Xuefu Zhang <xzhang@cloudera.com>
    Committed: Tue Nov 3 19:41:17 2015 -0800

    ----------------------------------------------------------------------
      .../hive/ql/exec/vector/VectorSerializeRow.java | 4 +-
      .../expressions/FilterStructColumnInList.java | 3 +-
      .../vector/expressions/StructColumnInList.java | 3 +-
      .../hive/ql/exec/vector/TestVectorSerDeRow.java | 19 +-
      .../test/results/clientpositive/acid_join.q.out | 2 +-
      .../alter_partition_change_col.q.out | 240 ++---
      .../clientpositive/alter_table_cascade.q.out | 40 +-
      .../clientpositive/ansi_sql_arithmetic.q.out | 2 +-
      .../results/clientpositive/avro_decimal.q.out | 10 +-
      .../clientpositive/avro_decimal_native.q.out | 10 +-
      .../clientpositive/cast_qualified_types.q.out | 2 +-
      .../results/clientpositive/decimal_1_1.q.out | 48 +-
      .../test/results/clientpositive/decimal_3.q.out | 514 +++++-----
      .../test/results/clientpositive/decimal_4.q.out | 144 +--
      .../test/results/clientpositive/decimal_5.q.out | 180 ++--
      .../test/results/clientpositive/decimal_6.q.out | 92 +-
      .../results/clientpositive/decimal_join2.q.out | 260 ++---
      .../clientpositive/decimal_precision.q.out | 170 ++--
      .../clientpositive/decimal_trailing.q.out | 42 +-
      .../results/clientpositive/decimal_udf.q.out | 960 +++++++++----------
      .../insert_nonacid_from_acid.q.out | 20 +-
      .../llap/hybridgrace_hashjoin_1.q.out | 204 ++--
      .../clientpositive/llap/mapjoin_decimal.q.out | 424 ++++----
      .../results/clientpositive/orc_file_dump.q.out | 6 +-
      .../clientpositive/orc_predicate_pushdown.q.out | 4 +-
      .../clientpositive/parquet_decimal.q.out | 16 +-
      .../clientpositive/parquet_ppd_boolean.q.out | 180 ++--
      .../clientpositive/parquet_ppd_char.q.out | 220 ++---
      .../clientpositive/parquet_ppd_date.q.out | 330 +++----
      .../clientpositive/parquet_ppd_decimal.q.out | 660 ++++++-------
      .../clientpositive/parquet_ppd_timestamp.q.out | 320 +++----
      .../clientpositive/parquet_ppd_varchar.q.out | 220 ++---
      .../parquet_predicate_pushdown.q.out | 4 +-
      .../results/clientpositive/serde_regex.q.out | 74 +-
      .../spark/avro_decimal_native.q.out | 10 +-
      .../clientpositive/spark/decimal_1_1.q.out | 48 +-
      .../clientpositive/spark/mapjoin_decimal.q.out | 424 ++++----
      .../spark/vector_between_in.q.out | 14 +-
      .../spark/vector_cast_constant.q.java1.7.out | 20 +-
      .../spark/vector_data_types.q.out | 4 +-
      .../spark/vector_decimal_aggregate.q.out | 32 +-
      .../spark/vector_decimal_mapjoin.q.out | 212 ++--
      .../clientpositive/sum_expr_with_order.q.out | 2 +-
      .../tez/hybridgrace_hashjoin_1.q.out | 204 ++--
      .../clientpositive/tez/mapjoin_decimal.q.out | 424 ++++----
      .../clientpositive/tez/update_all_types.q.out | 30 +-
      .../clientpositive/tez/vector_aggregate_9.q.out | 2 +-
      .../clientpositive/tez/vector_between_in.q.out | 14 +-
      .../tez/vector_cast_constant.q.java1.7.out | 20 +-
      .../clientpositive/tez/vector_data_types.q.out | 4 +-
      .../clientpositive/tez/vector_decimal_2.q.out | 4 +-
      .../clientpositive/tez/vector_decimal_3.q.out | 514 +++++-----
      .../clientpositive/tez/vector_decimal_4.q.out | 288 +++---
      .../clientpositive/tez/vector_decimal_5.q.out | 180 ++--
      .../clientpositive/tez/vector_decimal_6.q.out | 172 ++--
      .../tez/vector_decimal_aggregate.q.out | 32 +-
      .../tez/vector_decimal_cast.q.out | 20 +-
      .../tez/vector_decimal_expressions.q.out | 20 +-
      .../tez/vector_decimal_mapjoin.q.out | 212 ++--
      .../tez/vector_decimal_precision.q.out | 170 ++--
      .../tez/vector_decimal_round_2.q.out | 14 +-
      .../tez/vector_decimal_trailing.q.out | 42 +-
      .../clientpositive/tez/vector_decimal_udf.q.out | 960 +++++++++----------
      .../tez/vector_reduce_groupby_decimal.q.out | 98 +-
      .../clientpositive/update_all_types.q.out | 30 +-
      .../clientpositive/vector_aggregate_9.q.out | 2 +-
      .../clientpositive/vector_between_in.q.out | 14 +-
      .../vector_cast_constant.q.java1.7.out | 20 +-
      .../clientpositive/vector_data_types.q.out | 4 +-
      .../clientpositive/vector_decimal_2.q.out | 4 +-
      .../clientpositive/vector_decimal_3.q.out | 514 +++++-----
      .../clientpositive/vector_decimal_4.q.out | 288 +++---
      .../clientpositive/vector_decimal_5.q.out | 180 ++--
      .../clientpositive/vector_decimal_6.q.out | 172 ++--
      .../vector_decimal_aggregate.q.out | 32 +-
      .../clientpositive/vector_decimal_cast.q.out | 20 +-
      .../vector_decimal_expressions.q.out | 20 +-
      .../clientpositive/vector_decimal_mapjoin.q.out | 212 ++--
      .../vector_decimal_precision.q.out | 170 ++--
      .../clientpositive/vector_decimal_round_2.q.out | 14 +-
      .../vector_decimal_trailing.q.out | 42 +-
      .../clientpositive/vector_decimal_udf.q.out | 960 +++++++++----------
      .../vector_reduce_groupby_decimal.q.out | 98 +-
      .../clientpositive/windowing_decimal.q.out | 104 +-
      .../clientpositive/windowing_navfn.q.out | 20 +-
      .../results/clientpositive/windowing_rank.q.out | 60 +-
      .../clientpositive/windowing_windowspec3.q.out | 18 +-
      .../fast/BinarySortableSerializeWrite.java | 2 +-
      .../hadoop/hive/serde2/fast/SerializeWrite.java | 2 +-
      .../hive/serde2/lazy/LazyHiveDecimal.java | 4 +-
      .../hadoop/hive/serde2/lazy/LazyUtils.java | 3 +-
      .../lazy/fast/LazySimpleSerializeWrite.java | 14 +-
      .../fast/LazyBinarySerializeWrite.java | 2 +-
      .../apache/hadoop/hive/serde2/VerifyFast.java | 9 +-
      .../binarysortable/TestBinarySortableFast.java | 3 +-
      .../hive/serde2/lazy/TestLazySimpleFast.java | 3 +-
      .../serde2/lazybinary/TestLazyBinaryFast.java | 3 +-
      .../hadoop/hive/common/type/HiveDecimal.java | 11 +
      .../ql/exec/vector/DecimalColumnVector.java | 2 -
      99 files changed, 6331 insertions(+), 6342 deletions(-)
    ----------------------------------------------------------------------


    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorSerializeRow.java
    ----------------------------------------------------------------------
    diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorSerializeRow.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorSerializeRow.java
    index fe889b5..c98c260 100644
    --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorSerializeRow.java
    +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorSerializeRow.java
    @@ -491,7 +491,7 @@ public final class VectorSerializeRow<T extends SerializeWrite> {

            if (colVector.isRepeating) {
              if (colVector.noNulls || !colVector.isNull[0]) {
    - serializeWrite.writeHiveDecimal(colVector.vector[0].getHiveDecimal());
    + serializeWrite.writeHiveDecimal(colVector.vector[0].getHiveDecimal(), colVector.scale);
                return true;
              } else {
                serializeWrite.writeNull();
    @@ -499,7 +499,7 @@ public final class VectorSerializeRow<T extends SerializeWrite> {
              }
            } else {
              if (colVector.noNulls || !colVector.isNull[batchIndex]) {
    - serializeWrite.writeHiveDecimal(colVector.vector[batchIndex].getHiveDecimal());
    + serializeWrite.writeHiveDecimal(colVector.vector[batchIndex].getHiveDecimal(), colVector.scale);
                return true;
              } else {
                serializeWrite.writeNull();

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterStructColumnInList.java
    ----------------------------------------------------------------------
    diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterStructColumnInList.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterStructColumnInList.java
    index 00f22bb..70b393c 100644
    --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterStructColumnInList.java
    +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/FilterStructColumnInList.java
    @@ -110,8 +110,9 @@ public class FilterStructColumnInList extends FilterStringColumnInList implement
                  break;

                case DECIMAL:
    + DecimalColumnVector decColVector = ((DecimalColumnVector) colVec);
                  binarySortableSerializeWrite.writeHiveDecimal(
    - ((DecimalColumnVector) colVec).vector[adjustedIndex].getHiveDecimal());
    + decColVector.vector[adjustedIndex].getHiveDecimal(), decColVector.scale);
                  break;

                default:

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/StructColumnInList.java
    ----------------------------------------------------------------------
    diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/StructColumnInList.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/StructColumnInList.java
    index 724497a..769c70a 100644
    --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/StructColumnInList.java
    +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/vector/expressions/StructColumnInList.java
    @@ -111,8 +111,9 @@ public class StructColumnInList extends StringColumnInList implements IStructInE
                  break;

                case DECIMAL:
    + DecimalColumnVector decColVector = ((DecimalColumnVector) colVec);
                  binarySortableSerializeWrite.writeHiveDecimal(
    - ((DecimalColumnVector) colVec).vector[adjustedIndex].getHiveDecimal());
    + decColVector.vector[adjustedIndex].getHiveDecimal(), decColVector.scale);
                  break;

                default:

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/TestVectorSerDeRow.java
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/TestVectorSerDeRow.java b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/TestVectorSerDeRow.java
    index 23e44f0..eaff732 100644
    --- a/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/TestVectorSerDeRow.java
    +++ b/ql/src/test/org/apache/hadoop/hive/ql/exec/vector/TestVectorSerDeRow.java
    @@ -57,21 +57,10 @@ import org.apache.hadoop.hive.serde2.lazy.fast.LazySimpleSerializeWrite;
      import org.apache.hadoop.hive.serde2.lazybinary.fast.LazyBinaryDeserializeRead;
      import org.apache.hadoop.hive.serde2.lazybinary.fast.LazyBinarySerializeWrite;
      import org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector.PrimitiveCategory;
    -import org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableByteObjectInspector;
    -import org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableDateObjectInspector;
    -import org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableDoubleObjectInspector;
    -import org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableFloatObjectInspector;
    -import org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableIntObjectInspector;
    -import org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableLongObjectInspector;
    -import org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableShortObjectInspector;
    -import org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableStringObjectInspector;
    -import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
      import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils;
      import org.apache.hadoop.hive.serde2.objectinspector.StructObjectInspector;
    -import org.apache.hadoop.hive.serde2.typeinfo.CharTypeInfo;
      import org.apache.hadoop.hive.serde2.typeinfo.DecimalTypeInfo;
      import org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo;
    -import org.apache.hadoop.hive.serde2.typeinfo.VarcharTypeInfo;
      import org.apache.hadoop.hive.serde2.fast.SerializeWrite;
      import org.apache.hadoop.io.BooleanWritable;
      import org.apache.hadoop.io.BytesWritable;
    @@ -415,10 +404,10 @@ public class TestVectorSerDeRow extends TestCase {
        private Output serializeRow(Object[] row, RandomRowObjectSource source, SerializeWrite serializeWrite) throws HiveException, IOException {
          Output output = new Output();
          serializeWrite.set(output);
    - PrimitiveCategory[] primitiveCategories = source.primitiveCategories();
    - for (int i = 0; i < primitiveCategories.length; i++) {
    + PrimitiveTypeInfo[] primitiveTypeInfos = source.primitiveTypeInfos();
    + for (int i = 0; i < primitiveTypeInfos.length; i++) {
            Object object = row[i];
    - PrimitiveCategory primitiveCategory = primitiveCategories[i];
    + PrimitiveCategory primitiveCategory = primitiveTypeInfos[i].getPrimitiveCategory();
            switch (primitiveCategory) {
            case BOOLEAN:
              {
    @@ -529,7 +518,7 @@ public class TestVectorSerDeRow extends TestCase {
              {
                HiveDecimalWritable expectedWritable = (HiveDecimalWritable) object;
                HiveDecimal value = expectedWritable.getHiveDecimal();
    - serializeWrite.writeHiveDecimal(value);
    + serializeWrite.writeHiveDecimal(value, ((DecimalTypeInfo)primitiveTypeInfos[i]).scale());
              }
              break;
            default:

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/acid_join.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/acid_join.q.out b/ql/src/test/results/clientpositive/acid_join.q.out
    index a1edb89..fcc7d75 100644
    --- a/ql/src/test/results/clientpositive/acid_join.q.out
    +++ b/ql/src/test/results/clientpositive/acid_join.q.out
    @@ -65,7 +65,7 @@ POSTHOOK: query: select * from acidjoin3 order by name
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@acidjoin3
      #### A masked pattern was here ####
    -aaa 35 3
    +aaa 35 3.00
      bbb 32 3.01
      ccc 32 3.02
      ddd 35 3.03

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/alter_partition_change_col.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/alter_partition_change_col.q.out b/ql/src/test/results/clientpositive/alter_partition_change_col.q.out
    index 50520aa..9e397c1 100644
    --- a/ql/src/test/results/clientpositive/alter_partition_change_col.q.out
    +++ b/ql/src/test/results/clientpositive/alter_partition_change_col.q.out
    @@ -213,16 +213,16 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@alter_partition_change_col1
      POSTHOOK: Input: default@alter_partition_change_col1@p1=abc/p2=123
      #### A masked pattern was here ####
    -Beck 0 abc 123
    -Beck 77 abc 123
    -Beck 80 abc 123
    -Cluck 6 abc 123
    -Mary 33 abc 123
    -Mary 4 abc 123
    -Snow 56 abc 123
    -Tom -12 abc 123
    -Tom 19 abc 123
    -Tom 235 abc 123
    +Beck 0.0000 abc 123
    +Beck 77.0000 abc 123
    +Beck 80.0000 abc 123
    +Cluck 6.0000 abc 123
    +Mary 33.0000 abc 123
    +Mary 4.0000 abc 123
    +Snow 56.0000 abc 123
    +Tom -12.0000 abc 123
    +Tom 19.0000 abc 123
    +Tom 235.0000 abc 123
      PREHOOK: query: select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__'
      PREHOOK: type: QUERY
      PREHOOK: Input: default@alter_partition_change_col1
    @@ -233,16 +233,16 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@alter_partition_change_col1
      POSTHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123
      #### A masked pattern was here ####
    -Beck 0 __HIVE_DEFAULT_PARTITION__ 123
    -Beck 77 __HIVE_DEFAULT_PARTITION__ 123
    -Beck 80 __HIVE_DEFAULT_PARTITION__ 123
    -Cluck 6 __HIVE_DEFAULT_PARTITION__ 123
    -Mary 33 __HIVE_DEFAULT_PARTITION__ 123
    -Mary 4 __HIVE_DEFAULT_PARTITION__ 123
    -Snow 56 __HIVE_DEFAULT_PARTITION__ 123
    -Tom -12 __HIVE_DEFAULT_PARTITION__ 123
    -Tom 19 __HIVE_DEFAULT_PARTITION__ 123
    -Tom 235 __HIVE_DEFAULT_PARTITION__ 123
    +Beck 0.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Beck 77.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Beck 80.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Cluck 6.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Mary 33.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Mary 4.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Snow 56.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Tom -12.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Tom 19.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Tom 235.0000 __HIVE_DEFAULT_PARTITION__ 123
      PREHOOK: query: -- now change the column type of the existing partition
      alter table alter_partition_change_col1 partition (p1='abc', p2='123') change c2 c2 decimal(14,4)
      PREHOOK: type: ALTERTABLE_RENAMECOL
    @@ -280,16 +280,16 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@alter_partition_change_col1
      POSTHOOK: Input: default@alter_partition_change_col1@p1=abc/p2=123
      #### A masked pattern was here ####
    -Beck 0 abc 123
    -Beck 77.341 abc 123
    -Beck 79.9 abc 123
    -Cluck 5.96 abc 123
    -Mary 33.33 abc 123
    -Mary 4.329 abc 123
    -Snow 55.71 abc 123
    -Tom -12.25 abc 123
    -Tom 19 abc 123
    -Tom 234.79 abc 123
    +Beck 0.0000 abc 123
    +Beck 77.3410 abc 123
    +Beck 79.9000 abc 123
    +Cluck 5.9600 abc 123
    +Mary 33.3300 abc 123
    +Mary 4.3290 abc 123
    +Snow 55.7100 abc 123
    +Tom -12.2500 abc 123
    +Tom 19.0000 abc 123
    +Tom 234.7900 abc 123
      PREHOOK: query: select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__'
      PREHOOK: type: QUERY
      PREHOOK: Input: default@alter_partition_change_col1
    @@ -300,16 +300,16 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@alter_partition_change_col1
      POSTHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123
      #### A masked pattern was here ####
    -Beck 0 __HIVE_DEFAULT_PARTITION__ 123
    -Beck 77 __HIVE_DEFAULT_PARTITION__ 123
    -Beck 80 __HIVE_DEFAULT_PARTITION__ 123
    -Cluck 6 __HIVE_DEFAULT_PARTITION__ 123
    -Mary 33 __HIVE_DEFAULT_PARTITION__ 123
    -Mary 4 __HIVE_DEFAULT_PARTITION__ 123
    -Snow 56 __HIVE_DEFAULT_PARTITION__ 123
    -Tom -12 __HIVE_DEFAULT_PARTITION__ 123
    -Tom 19 __HIVE_DEFAULT_PARTITION__ 123
    -Tom 235 __HIVE_DEFAULT_PARTITION__ 123
    +Beck 0.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Beck 77.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Beck 80.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Cluck 6.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Mary 33.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Mary 4.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Snow 56.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Tom -12.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Tom 19.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Tom 235.0000 __HIVE_DEFAULT_PARTITION__ 123
      PREHOOK: query: -- change column for default partition value
      alter table alter_partition_change_col1 partition (p1='__HIVE_DEFAULT_PARTITION__', p2='123') change c2 c2 decimal(14,4)
      PREHOOK: type: ALTERTABLE_RENAMECOL
    @@ -347,16 +347,16 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@alter_partition_change_col1
      POSTHOOK: Input: default@alter_partition_change_col1@p1=abc/p2=123
      #### A masked pattern was here ####
    -Beck 0 abc 123
    -Beck 77.341 abc 123
    -Beck 79.9 abc 123
    -Cluck 5.96 abc 123
    -Mary 33.33 abc 123
    -Mary 4.329 abc 123
    -Snow 55.71 abc 123
    -Tom -12.25 abc 123
    -Tom 19 abc 123
    -Tom 234.79 abc 123
    +Beck 0.0000 abc 123
    +Beck 77.3410 abc 123
    +Beck 79.9000 abc 123
    +Cluck 5.9600 abc 123
    +Mary 33.3300 abc 123
    +Mary 4.3290 abc 123
    +Snow 55.7100 abc 123
    +Tom -12.2500 abc 123
    +Tom 19.0000 abc 123
    +Tom 234.7900 abc 123
      PREHOOK: query: select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__'
      PREHOOK: type: QUERY
      PREHOOK: Input: default@alter_partition_change_col1
    @@ -367,16 +367,16 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@alter_partition_change_col1
      POSTHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123
      #### A masked pattern was here ####
    -Beck 0 __HIVE_DEFAULT_PARTITION__ 123
    -Beck 77.341 __HIVE_DEFAULT_PARTITION__ 123
    -Beck 79.9 __HIVE_DEFAULT_PARTITION__ 123
    -Cluck 5.96 __HIVE_DEFAULT_PARTITION__ 123
    -Mary 33.33 __HIVE_DEFAULT_PARTITION__ 123
    -Mary 4.329 __HIVE_DEFAULT_PARTITION__ 123
    -Snow 55.71 __HIVE_DEFAULT_PARTITION__ 123
    -Tom -12.25 __HIVE_DEFAULT_PARTITION__ 123
    -Tom 19 __HIVE_DEFAULT_PARTITION__ 123
    -Tom 234.79 __HIVE_DEFAULT_PARTITION__ 123
    +Beck 0.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Beck 77.3410 __HIVE_DEFAULT_PARTITION__ 123
    +Beck 79.9000 __HIVE_DEFAULT_PARTITION__ 123
    +Cluck 5.9600 __HIVE_DEFAULT_PARTITION__ 123
    +Mary 33.3300 __HIVE_DEFAULT_PARTITION__ 123
    +Mary 4.3290 __HIVE_DEFAULT_PARTITION__ 123
    +Snow 55.7100 __HIVE_DEFAULT_PARTITION__ 123
    +Tom -12.2500 __HIVE_DEFAULT_PARTITION__ 123
    +Tom 19.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Tom 234.7900 __HIVE_DEFAULT_PARTITION__ 123
      PREHOOK: query: -- Try out replace columns
      alter table alter_partition_change_col1 partition (p1='abc', p2='123') replace columns (c1 string)
      PREHOOK: type: ALTERTABLE_REPLACECOLS
    @@ -449,16 +449,16 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@alter_partition_change_col1
      POSTHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123
      #### A masked pattern was here ####
    -Beck 0 __HIVE_DEFAULT_PARTITION__ 123
    -Beck 77.341 __HIVE_DEFAULT_PARTITION__ 123
    -Beck 79.9 __HIVE_DEFAULT_PARTITION__ 123
    -Cluck 5.96 __HIVE_DEFAULT_PARTITION__ 123
    -Mary 33.33 __HIVE_DEFAULT_PARTITION__ 123
    -Mary 4.329 __HIVE_DEFAULT_PARTITION__ 123
    -Snow 55.71 __HIVE_DEFAULT_PARTITION__ 123
    -Tom -12.25 __HIVE_DEFAULT_PARTITION__ 123
    -Tom 19 __HIVE_DEFAULT_PARTITION__ 123
    -Tom 234.79 __HIVE_DEFAULT_PARTITION__ 123
    +Beck 0.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Beck 77.3410 __HIVE_DEFAULT_PARTITION__ 123
    +Beck 79.9000 __HIVE_DEFAULT_PARTITION__ 123
    +Cluck 5.9600 __HIVE_DEFAULT_PARTITION__ 123
    +Mary 33.3300 __HIVE_DEFAULT_PARTITION__ 123
    +Mary 4.3290 __HIVE_DEFAULT_PARTITION__ 123
    +Snow 55.7100 __HIVE_DEFAULT_PARTITION__ 123
    +Tom -12.2500 __HIVE_DEFAULT_PARTITION__ 123
    +Tom 19.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Tom 234.7900 __HIVE_DEFAULT_PARTITION__ 123
      PREHOOK: query: alter table alter_partition_change_col1 replace columns (c1 string)
      PREHOOK: type: ALTERTABLE_REPLACECOLS
      PREHOOK: Input: default@alter_partition_change_col1
    @@ -593,16 +593,16 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@alter_partition_change_col1
      POSTHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123
      #### A masked pattern was here ####
    -Beck 0 __HIVE_DEFAULT_PARTITION__ 123
    -Beck 77.341 __HIVE_DEFAULT_PARTITION__ 123
    -Beck 79.9 __HIVE_DEFAULT_PARTITION__ 123
    -Cluck 5.96 __HIVE_DEFAULT_PARTITION__ 123
    -Mary 33.33 __HIVE_DEFAULT_PARTITION__ 123
    -Mary 4.329 __HIVE_DEFAULT_PARTITION__ 123
    -Snow 55.71 __HIVE_DEFAULT_PARTITION__ 123
    -Tom -12.25 __HIVE_DEFAULT_PARTITION__ 123
    -Tom 19 __HIVE_DEFAULT_PARTITION__ 123
    -Tom 234.79 __HIVE_DEFAULT_PARTITION__ 123
    +Beck 0.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Beck 77.3410 __HIVE_DEFAULT_PARTITION__ 123
    +Beck 79.9000 __HIVE_DEFAULT_PARTITION__ 123
    +Cluck 5.9600 __HIVE_DEFAULT_PARTITION__ 123
    +Mary 33.3300 __HIVE_DEFAULT_PARTITION__ 123
    +Mary 4.3290 __HIVE_DEFAULT_PARTITION__ 123
    +Snow 55.7100 __HIVE_DEFAULT_PARTITION__ 123
    +Tom -12.2500 __HIVE_DEFAULT_PARTITION__ 123
    +Tom 19.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Tom 234.7900 __HIVE_DEFAULT_PARTITION__ 123
      PREHOOK: query: alter table alter_partition_change_col1 partition (p1='abc', p2='123') add columns (c2 decimal(14,4))
      PREHOOK: type: ALTERTABLE_ADDCOLS
      PREHOOK: Input: default@alter_partition_change_col1
    @@ -638,16 +638,16 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@alter_partition_change_col1
      POSTHOOK: Input: default@alter_partition_change_col1@p1=abc/p2=123
      #### A masked pattern was here ####
    -Beck 0 abc 123
    -Beck 77.341 abc 123
    -Beck 79.9 abc 123
    -Cluck 5.96 abc 123
    -Mary 33.33 abc 123
    -Mary 4.329 abc 123
    -Snow 55.71 abc 123
    -Tom -12.25 abc 123
    -Tom 19 abc 123
    -Tom 234.79 abc 123
    +Beck 0.0000 abc 123
    +Beck 77.3410 abc 123
    +Beck 79.9000 abc 123
    +Cluck 5.9600 abc 123
    +Mary 33.3300 abc 123
    +Mary 4.3290 abc 123
    +Snow 55.7100 abc 123
    +Tom -12.2500 abc 123
    +Tom 19.0000 abc 123
    +Tom 234.7900 abc 123
      PREHOOK: query: select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__'
      PREHOOK: type: QUERY
      PREHOOK: Input: default@alter_partition_change_col1
    @@ -658,16 +658,16 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@alter_partition_change_col1
      POSTHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123
      #### A masked pattern was here ####
    -Beck 0 __HIVE_DEFAULT_PARTITION__ 123
    -Beck 77.341 __HIVE_DEFAULT_PARTITION__ 123
    -Beck 79.9 __HIVE_DEFAULT_PARTITION__ 123
    -Cluck 5.96 __HIVE_DEFAULT_PARTITION__ 123
    -Mary 33.33 __HIVE_DEFAULT_PARTITION__ 123
    -Mary 4.329 __HIVE_DEFAULT_PARTITION__ 123
    -Snow 55.71 __HIVE_DEFAULT_PARTITION__ 123
    -Tom -12.25 __HIVE_DEFAULT_PARTITION__ 123
    -Tom 19 __HIVE_DEFAULT_PARTITION__ 123
    -Tom 234.79 __HIVE_DEFAULT_PARTITION__ 123
    +Beck 0.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Beck 77.3410 __HIVE_DEFAULT_PARTITION__ 123
    +Beck 79.9000 __HIVE_DEFAULT_PARTITION__ 123
    +Cluck 5.9600 __HIVE_DEFAULT_PARTITION__ 123
    +Mary 33.3300 __HIVE_DEFAULT_PARTITION__ 123
    +Mary 4.3290 __HIVE_DEFAULT_PARTITION__ 123
    +Snow 55.7100 __HIVE_DEFAULT_PARTITION__ 123
    +Tom -12.2500 __HIVE_DEFAULT_PARTITION__ 123
    +Tom 19.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Tom 234.7900 __HIVE_DEFAULT_PARTITION__ 123
      PREHOOK: query: -- Try changing column for all partitions at once
      alter table alter_partition_change_col1 partition (p1, p2='123') change column c2 c2 decimal(10,0)
      PREHOOK: type: ALTERTABLE_RENAMECOL
    @@ -724,16 +724,16 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@alter_partition_change_col1
      POSTHOOK: Input: default@alter_partition_change_col1@p1=abc/p2=123
      #### A masked pattern was here ####
    -Beck 0 abc 123
    -Beck 77 abc 123
    -Beck 80 abc 123
    -Cluck 6 abc 123
    -Mary 33 abc 123
    -Mary 4 abc 123
    -Snow 56 abc 123
    -Tom -12 abc 123
    -Tom 19 abc 123
    -Tom 235 abc 123
    +Beck 0.0000 abc 123
    +Beck 77.0000 abc 123
    +Beck 80.0000 abc 123
    +Cluck 6.0000 abc 123
    +Mary 33.0000 abc 123
    +Mary 4.0000 abc 123
    +Snow 56.0000 abc 123
    +Tom -12.0000 abc 123
    +Tom 19.0000 abc 123
    +Tom 235.0000 abc 123
      PREHOOK: query: select * from alter_partition_change_col1 where p1='__HIVE_DEFAULT_PARTITION__'
      PREHOOK: type: QUERY
      PREHOOK: Input: default@alter_partition_change_col1
    @@ -744,13 +744,13 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@alter_partition_change_col1
      POSTHOOK: Input: default@alter_partition_change_col1@p1=__HIVE_DEFAULT_PARTITION__/p2=123
      #### A masked pattern was here ####
    -Beck 0 __HIVE_DEFAULT_PARTITION__ 123
    -Beck 77 __HIVE_DEFAULT_PARTITION__ 123
    -Beck 80 __HIVE_DEFAULT_PARTITION__ 123
    -Cluck 6 __HIVE_DEFAULT_PARTITION__ 123
    -Mary 33 __HIVE_DEFAULT_PARTITION__ 123
    -Mary 4 __HIVE_DEFAULT_PARTITION__ 123
    -Snow 56 __HIVE_DEFAULT_PARTITION__ 123
    -Tom -12 __HIVE_DEFAULT_PARTITION__ 123
    -Tom 19 __HIVE_DEFAULT_PARTITION__ 123
    -Tom 235 __HIVE_DEFAULT_PARTITION__ 123
    +Beck 0.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Beck 77.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Beck 80.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Cluck 6.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Mary 33.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Mary 4.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Snow 56.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Tom -12.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Tom 19.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Tom 235.0000 __HIVE_DEFAULT_PARTITION__ 123

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/alter_table_cascade.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/alter_table_cascade.q.out b/ql/src/test/results/clientpositive/alter_table_cascade.q.out
    index 3bf1a43..1d8204c 100644
    --- a/ql/src/test/results/clientpositive/alter_table_cascade.q.out
    +++ b/ql/src/test/results/clientpositive/alter_table_cascade.q.out
    @@ -833,16 +833,16 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@alter_table_cascade
      POSTHOOK: Input: default@alter_table_cascade@p1=xyz/p2=123
      #### A masked pattern was here ####
    -Beck 0 xyz 123
    -Beck 77.341 xyz 123
    -Beck 79.9 xyz 123
    -Cluck 5.96 xyz 123
    -Mary 33.33 xyz 123
    -Mary 4.329 xyz 123
    -Snow 55.71 xyz 123
    -Tom -12.25 xyz 123
    -Tom 19 xyz 123
    -Tom 234.79 xyz 123
    +Beck 0.0000 xyz 123
    +Beck 77.3410 xyz 123
    +Beck 79.9000 xyz 123
    +Cluck 5.9600 xyz 123
    +Mary 33.3300 xyz 123
    +Mary 4.3290 xyz 123
    +Snow 55.7100 xyz 123
    +Tom -12.2500 xyz 123
    +Tom 19.0000 xyz 123
    +Tom 234.7900 xyz 123
      PREHOOK: query: select * from alter_table_cascade where p1='abc'
      PREHOOK: type: QUERY
      PREHOOK: Input: default@alter_table_cascade
    @@ -873,16 +873,16 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@alter_table_cascade
      POSTHOOK: Input: default@alter_table_cascade@p1=__HIVE_DEFAULT_PARTITION__/p2=123
      #### A masked pattern was here ####
    -Beck 0 __HIVE_DEFAULT_PARTITION__ 123
    -Beck 77.341 __HIVE_DEFAULT_PARTITION__ 123
    -Beck 79.9 __HIVE_DEFAULT_PARTITION__ 123
    -Cluck 5.96 __HIVE_DEFAULT_PARTITION__ 123
    -Mary 33.33 __HIVE_DEFAULT_PARTITION__ 123
    -Mary 4.329 __HIVE_DEFAULT_PARTITION__ 123
    -Snow 55.71 __HIVE_DEFAULT_PARTITION__ 123
    -Tom -12.25 __HIVE_DEFAULT_PARTITION__ 123
    -Tom 19 __HIVE_DEFAULT_PARTITION__ 123
    -Tom 234.79 __HIVE_DEFAULT_PARTITION__ 123
    +Beck 0.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Beck 77.3410 __HIVE_DEFAULT_PARTITION__ 123
    +Beck 79.9000 __HIVE_DEFAULT_PARTITION__ 123
    +Cluck 5.9600 __HIVE_DEFAULT_PARTITION__ 123
    +Mary 33.3300 __HIVE_DEFAULT_PARTITION__ 123
    +Mary 4.3290 __HIVE_DEFAULT_PARTITION__ 123
    +Snow 55.7100 __HIVE_DEFAULT_PARTITION__ 123
    +Tom -12.2500 __HIVE_DEFAULT_PARTITION__ 123
    +Tom 19.0000 __HIVE_DEFAULT_PARTITION__ 123
    +Tom 234.7900 __HIVE_DEFAULT_PARTITION__ 123
      PREHOOK: query: --

      drop table if exists alter_table_restrict

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/ansi_sql_arithmetic.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/ansi_sql_arithmetic.q.out b/ql/src/test/results/clientpositive/ansi_sql_arithmetic.q.out
    index 5e5a2f6..021c4ee 100644
    --- a/ql/src/test/results/clientpositive/ansi_sql_arithmetic.q.out
    +++ b/ql/src/test/results/clientpositive/ansi_sql_arithmetic.q.out
    @@ -44,7 +44,7 @@ POSTHOOK: query: select cast(key as int) / cast(key as int) from src limit 1
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@src
      #### A masked pattern was here ####
    -1
    +1.00000000000
      PREHOOK: query: -- With ansi sql arithmetic disabled, int / int => double
      explain select cast(key as int) / cast(key as int) from src limit 1
      PREHOOK: type: QUERY

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/avro_decimal.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/avro_decimal.q.out b/ql/src/test/results/clientpositive/avro_decimal.q.out
    index 7ba376e..64e65ca 100644
    --- a/ql/src/test/results/clientpositive/avro_decimal.q.out
    +++ b/ql/src/test/results/clientpositive/avro_decimal.q.out
    @@ -106,9 +106,9 @@ Mary 4.33
      Cluck 5.96
      Tom -12.25
      Mary 33.33
    -Tom 19
    -Beck 0
    -Beck 79.9
    +Tom 19.00
    +Beck 0.00
    +Beck 79.90
      PREHOOK: query: DROP TABLE IF EXISTS avro_dec1
      PREHOOK: type: DROPTABLE
      POSTHOOK: query: DROP TABLE IF EXISTS avro_dec1
    @@ -175,10 +175,10 @@ POSTHOOK: Input: default@avro_dec1
      77.3
      55.7
      4.3
    -6
    +6.0
      12.3
      33.3
    -19
    +19.0
      3.2
      79.9
      PREHOOK: query: DROP TABLE dec

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/avro_decimal_native.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/avro_decimal_native.q.out b/ql/src/test/results/clientpositive/avro_decimal_native.q.out
    index 318be3d..cebc342 100644
    --- a/ql/src/test/results/clientpositive/avro_decimal_native.q.out
    +++ b/ql/src/test/results/clientpositive/avro_decimal_native.q.out
    @@ -92,9 +92,9 @@ Mary 4.33
      Cluck 5.96
      Tom -12.25
      Mary 33.33
    -Tom 19
    -Beck 0
    -Beck 79.9
    +Tom 19.00
    +Beck 0.00
    +Beck 79.90
      PREHOOK: query: DROP TABLE IF EXISTS avro_dec1
      PREHOOK: type: DROPTABLE
      POSTHOOK: query: DROP TABLE IF EXISTS avro_dec1
    @@ -143,10 +143,10 @@ POSTHOOK: Input: default@avro_dec1
      77.3
      55.7
      4.3
    -6
    +6.0
      12.3
      33.3
    -19
    +19.0
      3.2
      79.9
      PREHOOK: query: DROP TABLE dec

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/cast_qualified_types.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/cast_qualified_types.q.out b/ql/src/test/results/clientpositive/cast_qualified_types.q.out
    index 1924c5d..099a199 100644
    --- a/ql/src/test/results/clientpositive/cast_qualified_types.q.out
    +++ b/ql/src/test/results/clientpositive/cast_qualified_types.q.out
    @@ -18,4 +18,4 @@ limit 1
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@src
      #### A masked pattern was here ####
    -0 0 0
    +0.00 0 0

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/decimal_1_1.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/decimal_1_1.q.out b/ql/src/test/results/clientpositive/decimal_1_1.q.out
    index b2704c6..46fbeb7 100644
    --- a/ql/src/test/results/clientpositive/decimal_1_1.q.out
    +++ b/ql/src/test/results/clientpositive/decimal_1_1.q.out
    @@ -26,9 +26,9 @@ POSTHOOK: query: select * from decimal_1_1
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_1_1
      #### A masked pattern was here ####
    -0
    -0
    -0
    +0.0
    +0.0
    +0.0
      0.1
      0.2
      0.9
    @@ -37,13 +37,13 @@ NULL
      0.3
      NULL
      NULL
    -0
    -0
    +0.0
    +0.0
      NULL
    -0
    -0
    -0
    -0
    +0.0
    +0.0
    +0.0
    +0.0
      -0.1
      -0.2
      -0.9
    @@ -52,10 +52,10 @@ NULL
      -0.3
      NULL
      NULL
    -0
    -0
    +0.0
    +0.0
      NULL
    -0
    +0.0
      PREHOOK: query: select d from decimal_1_1 order by d desc
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_1_1
    @@ -69,18 +69,18 @@ POSTHOOK: Input: default@decimal_1_1
      0.3
      0.2
      0.1
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    +0.0
    +0.0
    +0.0
    +0.0
    +0.0
    +0.0
    +0.0
    +0.0
    +0.0
    +0.0
    +0.0
    +0.0
      -0.1
      -0.2
      -0.3

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/decimal_3.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/decimal_3.q.out b/ql/src/test/results/clientpositive/decimal_3.q.out
    index 8e9a30a..3ded9a7 100644
    --- a/ql/src/test/results/clientpositive/decimal_3.q.out
    +++ b/ql/src/test/results/clientpositive/decimal_3.q.out
    @@ -33,43 +33,43 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_3
      #### A masked pattern was here ####
      NULL 0
    --1234567890.123456789 -1234567890
    --4400 4400
    --1255.49 -1255
    --1.122 -11
    --1.12 -1
    --1.12 -1
    --0.333 0
    --0.33 0
    --0.3 0
    -0 0
    -0 0
    -0 0
    -0.01 0
    -0.02 0
    -0.1 0
    -0.2 0
    -0.3 0
    -0.33 0
    -0.333 0
    -1 1
    -1 1
    -1 1
    -1.12 1
    -1.122 1
    -2 2
    -2 2
    -3.14 3
    -3.14 3
    -3.14 3
    -3.14 4
    -10 10
    -20 20
    -100 100
    -124 124
    -125.2 125
    -200 200
    -1234567890.12345678 1234567890
    +-1234567890.123456789000000000 -1234567890
    +-4400.000000000000000000 4400
    +-1255.490000000000000000 -1255
    +-1.122000000000000000 -11
    +-1.120000000000000000 -1
    +-1.120000000000000000 -1
    +-0.333000000000000000 0
    +-0.330000000000000000 0
    +-0.300000000000000000 0
    +0.000000000000000000 0
    +0.000000000000000000 0
    +0.000000000000000000 0
    +0.010000000000000000 0
    +0.020000000000000000 0
    +0.100000000000000000 0
    +0.200000000000000000 0
    +0.300000000000000000 0
    +0.330000000000000000 0
    +0.333000000000000000 0
    +1.000000000000000000 1
    +1.000000000000000000 1
    +1.000000000000000000 1
    +1.120000000000000000 1
    +1.122000000000000000 1
    +2.000000000000000000 2
    +2.000000000000000000 2
    +3.140000000000000000 3
    +3.140000000000000000 3
    +3.140000000000000000 3
    +3.140000000000000000 4
    +10.000000000000000000 10
    +20.000000000000000000 20
    +100.000000000000000000 100
    +124.000000000000000000 124
    +125.200000000000000000 125
    +200.000000000000000000 200
    +1234567890.123456780000000000 1234567890
      PREHOOK: query: SELECT * FROM DECIMAL_3 ORDER BY key DESC, value DESC
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_3
    @@ -78,43 +78,43 @@ POSTHOOK: query: SELECT * FROM DECIMAL_3 ORDER BY key DESC, value DESC
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_3
      #### A masked pattern was here ####
    -1234567890.12345678 1234567890
    -200 200
    -125.2 125
    -124 124
    -100 100
    -20 20
    -10 10
    -3.14 4
    -3.14 3
    -3.14 3
    -3.14 3
    -2 2
    -2 2
    -1.122 1
    -1.12 1
    -1 1
    -1 1
    -1 1
    -0.333 0
    -0.33 0
    -0.3 0
    -0.2 0
    -0.1 0
    -0.02 0
    -0.01 0
    -0 0
    -0 0
    -0 0
    --0.3 0
    --0.33 0
    --0.333 0
    --1.12 -1
    --1.12 -1
    --1.122 -11
    --1255.49 -1255
    --4400 4400
    --1234567890.123456789 -1234567890
    +1234567890.123456780000000000 1234567890
    +200.000000000000000000 200
    +125.200000000000000000 125
    +124.000000000000000000 124
    +100.000000000000000000 100
    +20.000000000000000000 20
    +10.000000000000000000 10
    +3.140000000000000000 4
    +3.140000000000000000 3
    +3.140000000000000000 3
    +3.140000000000000000 3
    +2.000000000000000000 2
    +2.000000000000000000 2
    +1.122000000000000000 1
    +1.120000000000000000 1
    +1.000000000000000000 1
    +1.000000000000000000 1
    +1.000000000000000000 1
    +0.333000000000000000 0
    +0.330000000000000000 0
    +0.300000000000000000 0
    +0.200000000000000000 0
    +0.100000000000000000 0
    +0.020000000000000000 0
    +0.010000000000000000 0
    +0.000000000000000000 0
    +0.000000000000000000 0
    +0.000000000000000000 0
    +-0.300000000000000000 0
    +-0.330000000000000000 0
    +-0.333000000000000000 0
    +-1.120000000000000000 -1
    +-1.120000000000000000 -1
    +-1.122000000000000000 -11
    +-1255.490000000000000000 -1255
    +-4400.000000000000000000 4400
    +-1234567890.123456789000000000 -1234567890
      NULL 0
      PREHOOK: query: SELECT * FROM DECIMAL_3 ORDER BY key, value
      PREHOOK: type: QUERY
    @@ -125,43 +125,43 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_3
      #### A masked pattern was here ####
      NULL 0
    --1234567890.123456789 -1234567890
    --4400 4400
    --1255.49 -1255
    --1.122 -11
    --1.12 -1
    --1.12 -1
    --0.333 0
    --0.33 0
    --0.3 0
    -0 0
    -0 0
    -0 0
    -0.01 0
    -0.02 0
    -0.1 0
    -0.2 0
    -0.3 0
    -0.33 0
    -0.333 0
    -1 1
    -1 1
    -1 1
    -1.12 1
    -1.122 1
    -2 2
    -2 2
    -3.14 3
    -3.14 3
    -3.14 3
    -3.14 4
    -10 10
    -20 20
    -100 100
    -124 124
    -125.2 125
    -200 200
    -1234567890.12345678 1234567890
    +-1234567890.123456789000000000 -1234567890
    +-4400.000000000000000000 4400
    +-1255.490000000000000000 -1255
    +-1.122000000000000000 -11
    +-1.120000000000000000 -1
    +-1.120000000000000000 -1
    +-0.333000000000000000 0
    +-0.330000000000000000 0
    +-0.300000000000000000 0
    +0.000000000000000000 0
    +0.000000000000000000 0
    +0.000000000000000000 0
    +0.010000000000000000 0
    +0.020000000000000000 0
    +0.100000000000000000 0
    +0.200000000000000000 0
    +0.300000000000000000 0
    +0.330000000000000000 0
    +0.333000000000000000 0
    +1.000000000000000000 1
    +1.000000000000000000 1
    +1.000000000000000000 1
    +1.120000000000000000 1
    +1.122000000000000000 1
    +2.000000000000000000 2
    +2.000000000000000000 2
    +3.140000000000000000 3
    +3.140000000000000000 3
    +3.140000000000000000 3
    +3.140000000000000000 4
    +10.000000000000000000 10
    +20.000000000000000000 20
    +100.000000000000000000 100
    +124.000000000000000000 124
    +125.200000000000000000 125
    +200.000000000000000000 200
    +1234567890.123456780000000000 1234567890
      PREHOOK: query: SELECT DISTINCT key FROM DECIMAL_3 ORDER BY key
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_3
    @@ -171,34 +171,34 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_3
      #### A masked pattern was here ####
      NULL
    --1234567890.123456789
    --4400
    --1255.49
    --1.122
    --1.12
    --0.333
    --0.33
    --0.3
    -0
    -0.01
    -0.02
    -0.1
    -0.2
    -0.3
    -0.33
    -0.333
    -1
    -1.12
    -1.122
    -2
    -3.14
    -10
    -20
    -100
    -124
    -125.2
    -200
    -1234567890.12345678
    +-1234567890.123456789000000000
    +-4400.000000000000000000
    +-1255.490000000000000000
    +-1.122000000000000000
    +-1.120000000000000000
    +-0.333000000000000000
    +-0.330000000000000000
    +-0.300000000000000000
    +0.000000000000000000
    +0.010000000000000000
    +0.020000000000000000
    +0.100000000000000000
    +0.200000000000000000
    +0.300000000000000000
    +0.330000000000000000
    +0.333000000000000000
    +1.000000000000000000
    +1.120000000000000000
    +1.122000000000000000
    +2.000000000000000000
    +3.140000000000000000
    +10.000000000000000000
    +20.000000000000000000
    +100.000000000000000000
    +124.000000000000000000
    +125.200000000000000000
    +200.000000000000000000
    +1234567890.123456780000000000
      PREHOOK: query: SELECT key, sum(value) FROM DECIMAL_3 GROUP BY key ORDER BY key
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_3
    @@ -208,34 +208,34 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_3
      #### A masked pattern was here ####
      NULL 0
    --1234567890.123456789 -1234567890
    --4400 4400
    --1255.49 -1255
    --1.122 -11
    --1.12 -2
    --0.333 0
    --0.33 0
    --0.3 0
    -0 0
    -0.01 0
    -0.02 0
    -0.1 0
    -0.2 0
    -0.3 0
    -0.33 0
    -0.333 0
    -1 3
    -1.12 1
    -1.122 1
    -2 4
    -3.14 13
    -10 10
    -20 20
    -100 100
    -124 124
    -125.2 125
    -200 200
    -1234567890.12345678 1234567890
    +-1234567890.123456789000000000 -1234567890
    +-4400.000000000000000000 4400
    +-1255.490000000000000000 -1255
    +-1.122000000000000000 -11
    +-1.120000000000000000 -2
    +-0.333000000000000000 0
    +-0.330000000000000000 0
    +-0.300000000000000000 0
    +0.000000000000000000 0
    +0.010000000000000000 0
    +0.020000000000000000 0
    +0.100000000000000000 0
    +0.200000000000000000 0
    +0.300000000000000000 0
    +0.330000000000000000 0
    +0.333000000000000000 0
    +1.000000000000000000 3
    +1.120000000000000000 1
    +1.122000000000000000 1
    +2.000000000000000000 4
    +3.140000000000000000 13
    +10.000000000000000000 10
    +20.000000000000000000 20
    +100.000000000000000000 100
    +124.000000000000000000 124
    +125.200000000000000000 125
    +200.000000000000000000 200
    +1234567890.123456780000000000 1234567890
      PREHOOK: query: SELECT value, sum(key) FROM DECIMAL_3 GROUP BY value ORDER BY value
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_3
    @@ -244,23 +244,23 @@ POSTHOOK: query: SELECT value, sum(key) FROM DECIMAL_3 GROUP BY value ORDER BY v
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_3
      #### A masked pattern was here ####
    --1234567890 -1234567890.123456789
    --1255 -1255.49
    --11 -1.122
    --1 -2.24
    -0 0.33
    -1 5.242
    -2 4
    -3 9.42
    -4 3.14
    -10 10
    -20 20
    -100 100
    -124 124
    -125 125.2
    -200 200
    -4400 -4400
    -1234567890 1234567890.12345678
    +-1234567890 -1234567890.123456789000000000
    +-1255 -1255.490000000000000000
    +-11 -1.122000000000000000
    +-1 -2.240000000000000000
    +0 0.330000000000000000
    +1 5.242000000000000000
    +2 4.000000000000000000
    +3 9.420000000000000000
    +4 3.140000000000000000
    +10 10.000000000000000000
    +20 20.000000000000000000
    +100 100.000000000000000000
    +124 124.000000000000000000
    +125 125.200000000000000000
    +200 200.000000000000000000
    +4400 -4400.000000000000000000
    +1234567890 1234567890.123456780000000000
      PREHOOK: query: SELECT * FROM DECIMAL_3 a JOIN DECIMAL_3 b ON (a.key = b.key) ORDER BY a.key, a.value, b.value
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_3
    @@ -269,71 +269,71 @@ POSTHOOK: query: SELECT * FROM DECIMAL_3 a JOIN DECIMAL_3 b ON (a.key = b.key) O
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_3
      #### A masked pattern was here ####
    --1234567890.123456789 -1234567890 -1234567890.123456789 -1234567890
    --4400 4400 -4400 4400
    --1255.49 -1255 -1255.49 -1255
    --1.122 -11 -1.122 -11
    --1.12 -1 -1.12 -1
    --1.12 -1 -1.12 -1
    --1.12 -1 -1.12 -1
    --1.12 -1 -1.12 -1
    --0.333 0 -0.333 0
    --0.33 0 -0.33 0
    --0.3 0 -0.3 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0.01 0 0.01 0
    -0.02 0 0.02 0
    -0.1 0 0.1 0
    -0.2 0 0.2 0
    -0.3 0 0.3 0
    -0.33 0 0.33 0
    -0.333 0 0.333 0
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1.12 1 1.12 1
    -1.122 1 1.122 1
    -2 2 2 2
    -2 2 2 2
    -2 2 2 2
    -2 2 2 2
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 4
    -3.14 3 3.14 4
    -3.14 3 3.14 4
    -3.14 4 3.14 3
    -3.14 4 3.14 3
    -3.14 4 3.14 3
    -3.14 4 3.14 4
    -10 10 10 10
    -20 20 20 20
    -100 100 100 100
    -124 124 124 124
    -125.2 125 125.2 125
    -200 200 200 200
    -1234567890.12345678 1234567890 1234567890.12345678 1234567890
    +-1234567890.123456789000000000 -1234567890 -1234567890.123456789000000000 -1234567890
    +-4400.000000000000000000 4400 -4400.000000000000000000 4400
    +-1255.490000000000000000 -1255 -1255.490000000000000000 -1255
    +-1.122000000000000000 -11 -1.122000000000000000 -11
    +-1.120000000000000000 -1 -1.120000000000000000 -1
    +-1.120000000000000000 -1 -1.120000000000000000 -1
    +-1.120000000000000000 -1 -1.120000000000000000 -1
    +-1.120000000000000000 -1 -1.120000000000000000 -1
    +-0.333000000000000000 0 -0.333000000000000000 0
    +-0.330000000000000000 0 -0.330000000000000000 0
    +-0.300000000000000000 0 -0.300000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.010000000000000000 0 0.010000000000000000 0
    +0.020000000000000000 0 0.020000000000000000 0
    +0.100000000000000000 0 0.100000000000000000 0
    +0.200000000000000000 0 0.200000000000000000 0
    +0.300000000000000000 0 0.300000000000000000 0
    +0.330000000000000000 0 0.330000000000000000 0
    +0.333000000000000000 0 0.333000000000000000 0
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.120000000000000000 1 1.120000000000000000 1
    +1.122000000000000000 1 1.122000000000000000 1
    +2.000000000000000000 2 2.000000000000000000 2
    +2.000000000000000000 2 2.000000000000000000 2
    +2.000000000000000000 2 2.000000000000000000 2
    +2.000000000000000000 2 2.000000000000000000 2
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 4
    +3.140000000000000000 3 3.140000000000000000 4
    +3.140000000000000000 3 3.140000000000000000 4
    +3.140000000000000000 4 3.140000000000000000 3
    +3.140000000000000000 4 3.140000000000000000 3
    +3.140000000000000000 4 3.140000000000000000 3
    +3.140000000000000000 4 3.140000000000000000 4
    +10.000000000000000000 10 10.000000000000000000 10
    +20.000000000000000000 20 20.000000000000000000 20
    +100.000000000000000000 100 100.000000000000000000 100
    +124.000000000000000000 124 124.000000000000000000 124
    +125.200000000000000000 125 125.200000000000000000 125
    +200.000000000000000000 200 200.000000000000000000 200
    +1234567890.123456780000000000 1234567890 1234567890.123456780000000000 1234567890
      PREHOOK: query: SELECT * FROM DECIMAL_3 WHERE key=3.14 ORDER BY key, value
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_3
    @@ -342,10 +342,10 @@ POSTHOOK: query: SELECT * FROM DECIMAL_3 WHERE key=3.14 ORDER BY key, value
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_3
      #### A masked pattern was here ####
    -3.14 3
    -3.14 3
    -3.14 3
    -3.14 4
    +3.140000000000000000 3
    +3.140000000000000000 3
    +3.140000000000000000 3
    +3.140000000000000000 4
      PREHOOK: query: SELECT * FROM DECIMAL_3 WHERE key=3.140 ORDER BY key, value
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_3
    @@ -354,10 +354,10 @@ POSTHOOK: query: SELECT * FROM DECIMAL_3 WHERE key=3.140 ORDER BY key, value
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_3
      #### A masked pattern was here ####
    -3.14 3
    -3.14 3
    -3.14 3
    -3.14 4
    +3.140000000000000000 3
    +3.140000000000000000 3
    +3.140000000000000000 3
    +3.140000000000000000 4
      PREHOOK: query: DROP TABLE DECIMAL_3
      PREHOOK: type: DROPTABLE
      PREHOOK: Input: default@decimal_3

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/decimal_4.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/decimal_4.q.out b/ql/src/test/results/clientpositive/decimal_4.q.out
    index 50662af..8eb1de4 100644
    --- a/ql/src/test/results/clientpositive/decimal_4.q.out
    +++ b/ql/src/test/results/clientpositive/decimal_4.q.out
    @@ -57,43 +57,43 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_4_1
      #### A masked pattern was here ####
      NULL 0
    --1234567890.123456789 -1234567890
    --4400 4400
    --1255.49 -1255
    --1.122 -11
    --1.12 -1
    --1.12 -1
    --0.333 0
    --0.33 0
    --0.3 0
    -0 0
    -0 0
    -0 0
    -0.01 0
    -0.02 0
    -0.1 0
    -0.2 0
    -0.3 0
    -0.33 0
    -0.333 0
    +-1234567890.1234567890000000000000000 -1234567890
    +-4400.0000000000000000000000000 4400
    +-1255.4900000000000000000000000 -1255
    +-1.1220000000000000000000000 -11
    +-1.1200000000000000000000000 -1
    +-1.1200000000000000000000000 -1
    +-0.3330000000000000000000000 0
    +-0.3300000000000000000000000 0
    +-0.3000000000000000000000000 0
    +0.0000000000000000000000000 0
    +0.0000000000000000000000000 0
    +0.0000000000000000000000000 0
    +0.0100000000000000000000000 0
    +0.0200000000000000000000000 0
    +0.1000000000000000000000000 0
    +0.2000000000000000000000000 0
    +0.3000000000000000000000000 0
    +0.3300000000000000000000000 0
    +0.3330000000000000000000000 0
      0.9999999999999999999999999 1
    -1 1
    -1 1
    -1.12 1
    -1.122 1
    -2 2
    -2 2
    -3.14 3
    -3.14 3
    -3.14 3
    -3.14 4
    -10 10
    -20 20
    -100 100
    -124 124
    -125.2 125
    -200 200
    -1234567890.12345678 1234567890
    +1.0000000000000000000000000 1
    +1.0000000000000000000000000 1
    +1.1200000000000000000000000 1
    +1.1220000000000000000000000 1
    +2.0000000000000000000000000 2
    +2.0000000000000000000000000 2
    +3.1400000000000000000000000 3
    +3.1400000000000000000000000 3
    +3.1400000000000000000000000 3
    +3.1400000000000000000000000 4
    +10.0000000000000000000000000 10
    +20.0000000000000000000000000 20
    +100.0000000000000000000000000 100
    +124.0000000000000000000000000 124
    +125.2000000000000000000000000 125
    +200.0000000000000000000000000 200
    +1234567890.1234567800000000000000000 1234567890
      PREHOOK: query: SELECT * FROM DECIMAL_4_2 ORDER BY key
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_4_2
    @@ -103,43 +103,43 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_4_2
      #### A masked pattern was here ####
      NULL NULL
    --1234567890.123456789 -3703703670.370370367
    --4400 -13200
    --1255.49 -3766.47
    --1.122 -3.366
    --1.12 -3.36
    --1.12 -3.36
    --0.333 -0.999
    --0.33 -0.99
    --0.3 -0.9
    -0 0
    -0 0
    -0 0
    -0.01 0.03
    -0.02 0.06
    -0.1 0.3
    -0.2 0.6
    -0.3 0.9
    -0.33 0.99
    -0.333 0.999
    +-1234567890.1234567890000000000000000 -3703703670.3703703670000000000000000
    +-4400.0000000000000000000000000 -13200.0000000000000000000000000
    +-1255.4900000000000000000000000 -3766.4700000000000000000000000
    +-1.1220000000000000000000000 -3.3660000000000000000000000
    +-1.1200000000000000000000000 -3.3600000000000000000000000
    +-1.1200000000000000000000000 -3.3600000000000000000000000
    +-0.3330000000000000000000000 -0.9990000000000000000000000
    +-0.3300000000000000000000000 -0.9900000000000000000000000
    +-0.3000000000000000000000000 -0.9000000000000000000000000
    +0.0000000000000000000000000 0.0000000000000000000000000
    +0.0000000000000000000000000 0.0000000000000000000000000
    +0.0000000000000000000000000 0.0000000000000000000000000
    +0.0100000000000000000000000 0.0300000000000000000000000
    +0.0200000000000000000000000 0.0600000000000000000000000
    +0.1000000000000000000000000 0.3000000000000000000000000
    +0.2000000000000000000000000 0.6000000000000000000000000
    +0.3000000000000000000000000 0.9000000000000000000000000
    +0.3300000000000000000000000 0.9900000000000000000000000
    +0.3330000000000000000000000 0.9990000000000000000000000
      0.9999999999999999999999999 2.9999999999999999999999997
    -1 3
    -1 3
    -1.12 3.36
    -1.122 3.366
    -2 6
    -2 6
    -3.14 9.42
    -3.14 9.42
    -3.14 9.42
    -3.14 9.42
    -10 30
    -20 60
    -100 300
    -124 372
    -125.2 375.6
    -200 600
    -1234567890.12345678 3703703670.37037034
    +1.0000000000000000000000000 3.0000000000000000000000000
    +1.0000000000000000000000000 3.0000000000000000000000000
    +1.1200000000000000000000000 3.3600000000000000000000000
    +1.1220000000000000000000000 3.3660000000000000000000000
    +2.0000000000000000000000000 6.0000000000000000000000000
    +2.0000000000000000000000000 6.0000000000000000000000000
    +3.1400000000000000000000000 9.4200000000000000000000000
    +3.1400000000000000000000000 9.4200000000000000000000000
    +3.1400000000000000000000000 9.4200000000000000000000000
    +3.1400000000000000000000000 9.4200000000000000000000000
    +10.0000000000000000000000000 30.0000000000000000000000000
    +20.0000000000000000000000000 60.0000000000000000000000000
    +100.0000000000000000000000000 300.0000000000000000000000000
    +124.0000000000000000000000000 372.0000000000000000000000000
    +125.2000000000000000000000000 375.6000000000000000000000000
    +200.0000000000000000000000000 600.0000000000000000000000000
    +1234567890.1234567800000000000000000 3703703670.3703703400000000000000000
      PREHOOK: query: DROP TABLE DECIMAL_4_1
      PREHOOK: type: DROPTABLE
      PREHOOK: Input: default@decimal_4_1

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/decimal_5.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/decimal_5.q.out b/ql/src/test/results/clientpositive/decimal_5.q.out
    index 0f24b8a..0c46538 100644
    --- a/ql/src/test/results/clientpositive/decimal_5.q.out
    +++ b/ql/src/test/results/clientpositive/decimal_5.q.out
    @@ -35,41 +35,41 @@ POSTHOOK: Input: default@decimal_5
      NULL
      NULL
      NULL
    --4400
    --1255.49
    --1.122
    --1.12
    --1.12
    --0.333
    --0.33
    --0.3
    -0
    -0
    -0
    -0.01
    -0.02
    -0.1
    -0.2
    -0.3
    -0.33
    -0.333
    -1
    -1
    -1
    -1.12
    -1.122
    -2
    -2
    -3.14
    -3.14
    -3.14
    -3.14
    -10
    -20
    -100
    -124
    -125.2
    -200
    +-4400.00000
    +-1255.49000
    +-1.12200
    +-1.12000
    +-1.12000
    +-0.33300
    +-0.33000
    +-0.30000
    +0.00000
    +0.00000
    +0.00000
    +0.01000
    +0.02000
    +0.10000
    +0.20000
    +0.30000
    +0.33000
    +0.33300
    +1.00000
    +1.00000
    +1.00000
    +1.12000
    +1.12200
    +2.00000
    +2.00000
    +3.14000
    +3.14000
    +3.14000
    +3.14000
    +10.00000
    +20.00000
    +100.00000
    +124.00000
    +125.20000
    +200.00000
      PREHOOK: query: SELECT DISTINCT key FROM DECIMAL_5 ORDER BY key
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_5
    @@ -79,32 +79,32 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_5
      #### A masked pattern was here ####
      NULL
    --4400
    --1255.49
    --1.122
    --1.12
    --0.333
    --0.33
    --0.3
    -0
    -0.01
    -0.02
    -0.1
    -0.2
    -0.3
    -0.33
    -0.333
    -1
    -1.12
    -1.122
    -2
    -3.14
    -10
    -20
    -100
    -124
    -125.2
    -200
    +-4400.00000
    +-1255.49000
    +-1.12200
    +-1.12000
    +-0.33300
    +-0.33000
    +-0.30000
    +0.00000
    +0.01000
    +0.02000
    +0.10000
    +0.20000
    +0.30000
    +0.33000
    +0.33300
    +1.00000
    +1.12000
    +1.12200
    +2.00000
    +3.14000
    +10.00000
    +20.00000
    +100.00000
    +124.00000
    +125.20000
    +200.00000
      PREHOOK: query: SELECT cast(key as decimal) FROM DECIMAL_5
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_5
    @@ -161,40 +161,40 @@ POSTHOOK: Input: default@decimal_5
      #### A masked pattern was here ####
      NULL
      NULL
    -0
    -0
    -100
    -10
    -1
    -0.1
    -0.01
    -200
    -20
    -2
    -0
    -0.2
    -0.02
    -0.3
    -0.33
    +0.000
    +0.000
    +100.000
    +10.000
    +1.000
    +0.100
    +0.010
    +200.000
    +20.000
    +2.000
    +0.000
    +0.200
    +0.020
    +0.300
    +0.330
      0.333
    --0.3
    --0.33
    +-0.300
    +-0.330
      -0.333
    -1
    -2
    -3.14
    --1.12
    --1.12
    +1.000
    +2.000
    +3.140
    +-1.120
    +-1.120
      -1.122
    -1.12
    +1.120
      1.122
    -124
    -125.2
    +124.000
    +125.200
      NULL
    -3.14
    -3.14
    -3.14
    -1
    +3.140
    +3.140
    +3.140
    +1.000
      NULL
      NULL
      PREHOOK: query: DROP TABLE DECIMAL_5

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/decimal_6.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/decimal_6.q.out b/ql/src/test/results/clientpositive/decimal_6.q.out
    index 0344fa9..e1ce600 100644
    --- a/ql/src/test/results/clientpositive/decimal_6.q.out
    +++ b/ql/src/test/results/clientpositive/decimal_6.q.out
    @@ -78,54 +78,54 @@ NULL
      NULL
      NULL
      NULL
    --1234567890.1235
    --4400
    --4400
    --1255.49
    --1255.49
    --1.122
    --1.122
    --1.12
    --1.12
    --0.333
    --0.333
    --0.3
    --0.3
    -0
    -0
    -0
    -0
    -0.333
    -0.333
    -1
    -1
    -1
    -1
    -1.12
    -1.12
    -1.122
    -1.122
    -2
    -2
    -3.14
    -3.14
    -3.14
    -3.14
    -3.14
    -3.14
    -10
    -10
    -10.7343
    +-1234567890.12350
    +-4400.00000
    +-4400.00000
    +-1255.49000
    +-1255.49000
    +-1.12200
    +-1.12200
    +-1.12000
    +-1.12000
    +-0.33300
    +-0.33300
    +-0.30000
    +-0.30000
    +0.00000
    +0.00000
    +0.00000
    +0.00000
    +0.33300
    +0.33300
    +1.00000
    +1.00000
    +1.00000
    +1.00000
    +1.12000
    +1.12000
    +1.12200
    +1.12200
    +2.00000
    +2.00000
    +3.14000
    +3.14000
    +3.14000
    +3.14000
    +3.14000
    +3.14000
    +10.00000
    +10.00000
    +10.73430
      10.73433
    -124
    -124
    -125.2
    -125.2
    +124.00000
    +124.00000
    +125.20000
    +125.20000
      23232.23435
    -23232.2344
    -2389432.2375
    -2389432.2375
    -1234567890.1235
    +23232.23440
    +2389432.23750
    +2389432.23750
    +1234567890.12350
      PREHOOK: query: CREATE TABLE DECIMAL_6_3 AS SELECT key + 5.5 AS k, value * 11 AS v from DECIMAL_6_1 ORDER BY v
      PREHOOK: type: CREATETABLE_AS_SELECT
      PREHOOK: Input: default@decimal_6_1

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/decimal_join2.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/decimal_join2.q.out b/ql/src/test/results/clientpositive/decimal_join2.q.out
    index 604f99b..a3ca231 100644
    --- a/ql/src/test/results/clientpositive/decimal_join2.q.out
    +++ b/ql/src/test/results/clientpositive/decimal_join2.q.out
    @@ -132,71 +132,71 @@ POSTHOOK: query: SELECT * FROM DECIMAL_3 a JOIN DECIMAL_3 b ON (a.key = b.key) O
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_3
      #### A masked pattern was here ####
    --1234567890.123456789 -1234567890 -1234567890.123456789 -1234567890
    --4400 4400 -4400 4400
    --1255.49 -1255 -1255.49 -1255
    --1.122 -11 -1.122 -11
    --1.12 -1 -1.12 -1
    --1.12 -1 -1.12 -1
    --1.12 -1 -1.12 -1
    --1.12 -1 -1.12 -1
    --0.333 0 -0.333 0
    --0.33 0 -0.33 0
    --0.3 0 -0.3 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0.01 0 0.01 0
    -0.02 0 0.02 0
    -0.1 0 0.1 0
    -0.2 0 0.2 0
    -0.3 0 0.3 0
    -0.33 0 0.33 0
    -0.333 0 0.333 0
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1.12 1 1.12 1
    -1.122 1 1.122 1
    -2 2 2 2
    -2 2 2 2
    -2 2 2 2
    -2 2 2 2
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 4
    -3.14 3 3.14 4
    -3.14 3 3.14 4
    -3.14 4 3.14 3
    -3.14 4 3.14 3
    -3.14 4 3.14 3
    -3.14 4 3.14 4
    -10 10 10 10
    -20 20 20 20
    -100 100 100 100
    -124 124 124 124
    -125.2 125 125.2 125
    -200 200 200 200
    -1234567890.12345678 1234567890 1234567890.12345678 1234567890
    +-1234567890.123456789000000000 -1234567890 -1234567890.123456789000000000 -1234567890
    +-4400.000000000000000000 4400 -4400.000000000000000000 4400
    +-1255.490000000000000000 -1255 -1255.490000000000000000 -1255
    +-1.122000000000000000 -11 -1.122000000000000000 -11
    +-1.120000000000000000 -1 -1.120000000000000000 -1
    +-1.120000000000000000 -1 -1.120000000000000000 -1
    +-1.120000000000000000 -1 -1.120000000000000000 -1
    +-1.120000000000000000 -1 -1.120000000000000000 -1
    +-0.333000000000000000 0 -0.333000000000000000 0
    +-0.330000000000000000 0 -0.330000000000000000 0
    +-0.300000000000000000 0 -0.300000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.010000000000000000 0 0.010000000000000000 0
    +0.020000000000000000 0 0.020000000000000000 0
    +0.100000000000000000 0 0.100000000000000000 0
    +0.200000000000000000 0 0.200000000000000000 0
    +0.300000000000000000 0 0.300000000000000000 0
    +0.330000000000000000 0 0.330000000000000000 0
    +0.333000000000000000 0 0.333000000000000000 0
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.120000000000000000 1 1.120000000000000000 1
    +1.122000000000000000 1 1.122000000000000000 1
    +2.000000000000000000 2 2.000000000000000000 2
    +2.000000000000000000 2 2.000000000000000000 2
    +2.000000000000000000 2 2.000000000000000000 2
    +2.000000000000000000 2 2.000000000000000000 2
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 4
    +3.140000000000000000 3 3.140000000000000000 4
    +3.140000000000000000 3 3.140000000000000000 4
    +3.140000000000000000 4 3.140000000000000000 3
    +3.140000000000000000 4 3.140000000000000000 3
    +3.140000000000000000 4 3.140000000000000000 3
    +3.140000000000000000 4 3.140000000000000000 4
    +10.000000000000000000 10 10.000000000000000000 10
    +20.000000000000000000 20 20.000000000000000000 20
    +100.000000000000000000 100 100.000000000000000000 100
    +124.000000000000000000 124 124.000000000000000000 124
    +125.200000000000000000 125 125.200000000000000000 125
    +200.000000000000000000 200 200.000000000000000000 200
    +1234567890.123456780000000000 1234567890 1234567890.123456780000000000 1234567890
      PREHOOK: query: EXPLAIN
      SELECT * FROM DECIMAL_3 a JOIN DECIMAL_3 b ON (a.key = b.key) ORDER BY a.key, a.value, b.key, b.value
      PREHOOK: type: QUERY
    @@ -282,71 +282,71 @@ POSTHOOK: query: SELECT * FROM DECIMAL_3 a JOIN DECIMAL_3 b ON (a.key = b.key) O
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_3
      #### A masked pattern was here ####
    --1234567890.123456789 -1234567890 -1234567890.123456789 -1234567890
    --4400 4400 -4400 4400
    --1255.49 -1255 -1255.49 -1255
    --1.122 -11 -1.122 -11
    --1.12 -1 -1.12 -1
    --1.12 -1 -1.12 -1
    --1.12 -1 -1.12 -1
    --1.12 -1 -1.12 -1
    --0.333 0 -0.333 0
    --0.33 0 -0.33 0
    --0.3 0 -0.3 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0 0 0 0
    -0.01 0 0.01 0
    -0.02 0 0.02 0
    -0.1 0 0.1 0
    -0.2 0 0.2 0
    -0.3 0 0.3 0
    -0.33 0 0.33 0
    -0.333 0 0.333 0
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1 1 1 1
    -1.12 1 1.12 1
    -1.122 1 1.122 1
    -2 2 2 2
    -2 2 2 2
    -2 2 2 2
    -2 2 2 2
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 3
    -3.14 3 3.14 4
    -3.14 3 3.14 4
    -3.14 3 3.14 4
    -3.14 4 3.14 3
    -3.14 4 3.14 3
    -3.14 4 3.14 3
    -3.14 4 3.14 4
    -10 10 10 10
    -20 20 20 20
    -100 100 100 100
    -124 124 124 124
    -125.2 125 125.2 125
    -200 200 200 200
    -1234567890.12345678 1234567890 1234567890.12345678 1234567890
    +-1234567890.123456789000000000 -1234567890 -1234567890.123456789000000000 -1234567890
    +-4400.000000000000000000 4400 -4400.000000000000000000 4400
    +-1255.490000000000000000 -1255 -1255.490000000000000000 -1255
    +-1.122000000000000000 -11 -1.122000000000000000 -11
    +-1.120000000000000000 -1 -1.120000000000000000 -1
    +-1.120000000000000000 -1 -1.120000000000000000 -1
    +-1.120000000000000000 -1 -1.120000000000000000 -1
    +-1.120000000000000000 -1 -1.120000000000000000 -1
    +-0.333000000000000000 0 -0.333000000000000000 0
    +-0.330000000000000000 0 -0.330000000000000000 0
    +-0.300000000000000000 0 -0.300000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.000000000000000000 0 0.000000000000000000 0
    +0.010000000000000000 0 0.010000000000000000 0
    +0.020000000000000000 0 0.020000000000000000 0
    +0.100000000000000000 0 0.100000000000000000 0
    +0.200000000000000000 0 0.200000000000000000 0
    +0.300000000000000000 0 0.300000000000000000 0
    +0.330000000000000000 0 0.330000000000000000 0
    +0.333000000000000000 0 0.333000000000000000 0
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.000000000000000000 1 1.000000000000000000 1
    +1.120000000000000000 1 1.120000000000000000 1
    +1.122000000000000000 1 1.122000000000000000 1
    +2.000000000000000000 2 2.000000000000000000 2
    +2.000000000000000000 2 2.000000000000000000 2
    +2.000000000000000000 2 2.000000000000000000 2
    +2.000000000000000000 2 2.000000000000000000 2
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 3
    +3.140000000000000000 3 3.140000000000000000 4
    +3.140000000000000000 3 3.140000000000000000 4
    +3.140000000000000000 3 3.140000000000000000 4
    +3.140000000000000000 4 3.140000000000000000 3
    +3.140000000000000000 4 3.140000000000000000 3
    +3.140000000000000000 4 3.140000000000000000 3
    +3.140000000000000000 4 3.140000000000000000 4
    +10.000000000000000000 10 10.000000000000000000 10
    +20.000000000000000000 20 20.000000000000000000 20
    +100.000000000000000000 100 100.000000000000000000 100
    +124.000000000000000000 124 124.000000000000000000 124
    +125.200000000000000000 125 125.200000000000000000 125
    +200.000000000000000000 200 200.000000000000000000 200
    +1234567890.123456780000000000 1234567890 1234567890.123456780000000000 1234567890
      PREHOOK: query: DROP TABLE DECIMAL_3_txt
      PREHOOK: type: DROPTABLE
      PREHOOK: Input: default@decimal_3_txt

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/decimal_precision.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/decimal_precision.q.out b/ql/src/test/results/clientpositive/decimal_precision.q.out
    index 69a6045..5542b40 100644
    --- a/ql/src/test/results/clientpositive/decimal_precision.q.out
    +++ b/ql/src/test/results/clientpositive/decimal_precision.q.out
    @@ -76,13 +76,13 @@ NULL
      NULL
      NULL
      NULL
    -0
    -0
    -0
    -0
    -0
    -0.123456789
    -0.123456789
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.1234567890
    +0.1234567890
      1.2345678901
      1.2345678901
      1.2345678901
    @@ -99,14 +99,14 @@ NULL
      12345.6789012346
      123456.7890123456
      123456.7890123457
    -1234567.890123456
    +1234567.8901234560
      1234567.8901234568
    -12345678.90123456
    +12345678.9012345600
      12345678.9012345679
    -123456789.0123456
    +123456789.0123456000
      123456789.0123456789
    -1234567890.123456
    -1234567890.123456789
    +1234567890.1234560000
    +1234567890.1234567890
      PREHOOK: query: SELECT dec, dec + 1, dec - 1 FROM DECIMAL_PRECISION ORDER BY dec
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_precision
    @@ -159,13 +159,13 @@ NULL NULL NULL
      NULL NULL NULL
      NULL NULL NULL
      NULL NULL NULL
    -0 1 -1
    -0 1 -1
    -0 1 -1
    -0 1 -1
    -0 1 -1
    -0.123456789 1.123456789 -0.876543211
    -0.123456789 1.123456789 -0.876543211
    +0.0000000000 1.0000000000 -1.0000000000
    +0.0000000000 1.0000000000 -1.0000000000
    +0.0000000000 1.0000000000 -1.0000000000
    +0.0000000000 1.0000000000 -1.0000000000
    +0.0000000000 1.0000000000 -1.0000000000
    +0.1234567890 1.1234567890 -0.8765432110
    +0.1234567890 1.1234567890 -0.8765432110
      1.2345678901 2.2345678901 0.2345678901
      1.2345678901 2.2345678901 0.2345678901
      1.2345678901 2.2345678901 0.2345678901
    @@ -182,14 +182,14 @@ NULL NULL NULL
      12345.6789012346 12346.6789012346 12344.6789012346
      123456.7890123456 123457.7890123456 123455.7890123456
      123456.7890123457 123457.7890123457 123455.7890123457
    -1234567.890123456 1234568.890123456 1234566.890123456
    +1234567.8901234560 1234568.8901234560 1234566.8901234560
      1234567.8901234568 1234568.8901234568 1234566.8901234568
    -12345678.90123456 12345679.90123456 12345677.90123456
    +12345678.9012345600 12345679.9012345600 12345677.9012345600
      12345678.9012345679 12345679.9012345679 12345677.9012345679
    -123456789.0123456 123456790.0123456 123456788.0123456
    +123456789.0123456000 123456790.0123456000 123456788.0123456000
      123456789.0123456789 123456790.0123456789 123456788.0123456789
    -1234567890.123456 1234567891.123456 1234567889.123456
    -1234567890.123456789 1234567891.123456789 1234567889.123456789
    +1234567890.1234560000 1234567891.1234560000 1234567889.1234560000
    +1234567890.1234567890 1234567891.1234567890 1234567889.1234567890
      PREHOOK: query: SELECT dec, dec * 2, dec / 3 FROM DECIMAL_PRECISION ORDER BY dec
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_precision
    @@ -242,37 +242,37 @@ NULL NULL NULL
      NULL NULL NULL
      NULL NULL NULL
      NULL NULL NULL
    -0 0 0
    -0 0 0
    -0 0 0
    -0 0 0
    -0 0 0
    -0.123456789 0.246913578 0.041152263
    -0.123456789 0.246913578 0.041152263
    +0.0000000000 0.0000000000 0.000000000000
    +0.0000000000 0.0000000000 0.000000000000
    +0.0000000000 0.0000000000 0.000000000000
    +0.0000000000 0.0000000000 0.000000000000
    +0.0000000000 0.0000000000 0.000000000000
    +0.1234567890 0.2469135780 0.041152263000
    +0.1234567890 0.2469135780 0.041152263000
      1.2345678901 2.4691357802 0.411522630033
      1.2345678901 2.4691357802 0.411522630033
      1.2345678901 2.4691357802 0.411522630033
    -12.3456789012 24.6913578024 4.1152263004
    -12.3456789012 24.6913578024 4.1152263004
    -12.3456789012 24.6913578024 4.1152263004
    -123.4567890123 246.9135780246 41.1522630041
    -123.4567890123 246.9135780246 41.1522630041
    -123.4567890123 246.9135780246 41.1522630041
    -1234.5678901235 2469.135780247 411.522630041167
    -1234.5678901235 2469.135780247 411.522630041167
    -1234.5678901235 2469.135780247 411.522630041167
    +12.3456789012 24.6913578024 4.115226300400
    +12.3456789012 24.6913578024 4.115226300400
    +12.3456789012 24.6913578024 4.115226300400
    +123.4567890123 246.9135780246 41.152263004100
    +123.4567890123 246.9135780246 41.152263004100
    +123.4567890123 246.9135780246 41.152263004100
    +1234.5678901235 2469.1357802470 411.522630041167
    +1234.5678901235 2469.1357802470 411.522630041167
    +1234.5678901235 2469.1357802470 411.522630041167
      12345.6789012346 24691.3578024692 4115.226300411533
      12345.6789012346 24691.3578024692 4115.226300411533
    -123456.7890123456 246913.5780246912 41152.2630041152
    +123456.7890123456 246913.5780246912 41152.263004115200
      123456.7890123457 246913.5780246914 41152.263004115233
    -1234567.890123456 2469135.780246912 411522.630041152
    +1234567.8901234560 2469135.7802469120 411522.630041152000
      1234567.8901234568 2469135.7802469136 411522.630041152267
    -12345678.90123456 24691357.80246912 4115226.30041152
    +12345678.9012345600 24691357.8024691200 4115226.300411520000
      12345678.9012345679 24691357.8024691358 4115226.300411522633
    -123456789.0123456 246913578.0246912 41152263.0041152
    -123456789.0123456789 246913578.0246913578 41152263.0041152263
    -1234567890.123456 2469135780.246912 411522630.041152
    -1234567890.123456789 2469135780.246913578 411522630.041152263
    +123456789.0123456000 246913578.0246912000 41152263.004115200000
    +123456789.0123456789 246913578.0246913578 41152263.004115226300
    +1234567890.1234560000 2469135780.2469120000 411522630.041152000000
    +1234567890.1234567890 2469135780.2469135780 411522630.041152263000
      PREHOOK: query: SELECT dec, dec / 9 FROM DECIMAL_PRECISION ORDER BY dec
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_precision
    @@ -325,13 +325,13 @@ NULL NULL
      NULL NULL
      NULL NULL
      NULL NULL
    -0 0
    -0 0
    -0 0
    -0 0
    -0 0
    -0.123456789 0.013717421
    -0.123456789 0.013717421
    +0.0000000000 0.000000000000
    +0.0000000000 0.000000000000
    +0.0000000000 0.000000000000
    +0.0000000000 0.000000000000
    +0.0000000000 0.000000000000
    +0.1234567890 0.013717421000
    +0.1234567890 0.013717421000
      1.2345678901 0.137174210011
      1.2345678901 0.137174210011
      1.2345678901 0.137174210011
    @@ -348,14 +348,14 @@ NULL NULL
      12345.6789012346 1371.742100137178
      123456.7890123456 13717.421001371733
      123456.7890123457 13717.421001371744
    -1234567.890123456 137174.210013717333
    +1234567.8901234560 137174.210013717333
      1234567.8901234568 137174.210013717422
    -12345678.90123456 1371742.100137173333
    +12345678.9012345600 1371742.100137173333
      12345678.9012345679 1371742.100137174211
    -123456789.0123456 13717421.001371733333
    -123456789.0123456789 13717421.0013717421
    -1234567890.123456 137174210.013717333333
    -1234567890.123456789 137174210.013717421
    +123456789.0123456000 13717421.001371733333
    +123456789.0123456789 13717421.001371742100
    +1234567890.1234560000 137174210.013717333333
    +1234567890.1234567890 137174210.013717421000
      PREHOOK: query: SELECT dec, dec / 27 FROM DECIMAL_PRECISION ORDER BY dec
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_precision
    @@ -408,13 +408,13 @@ NULL NULL
      NULL NULL
      NULL NULL
      NULL NULL
    -0 0
    -0 0
    -0 0
    -0 0
    -0 0
    -0.123456789 0.0045724736667
    -0.123456789 0.0045724736667
    +0.0000000000 0.0000000000000
    +0.0000000000 0.0000000000000
    +0.0000000000 0.0000000000000
    +0.0000000000 0.0000000000000
    +0.0000000000 0.0000000000000
    +0.1234567890 0.0045724736667
    +0.1234567890 0.0045724736667
      1.2345678901 0.0457247366704
      1.2345678901 0.0457247366704
      1.2345678901 0.0457247366704
    @@ -431,14 +431,14 @@ NULL NULL
      12345.6789012346 457.2473667123926
      123456.7890123456 4572.4736671239111
      123456.7890123457 4572.4736671239148
    -1234567.890123456 45724.7366712391111
    +1234567.8901234560 45724.7366712391111
      1234567.8901234568 45724.7366712391407
    -12345678.90123456 457247.3667123911111
    +12345678.9012345600 457247.3667123911111
      12345678.9012345679 457247.3667123914037
    -123456789.0123456 4572473.6671239111111
    +123456789.0123456000 4572473.6671239111111
      123456789.0123456789 4572473.6671239140333
    -1234567890.123456 45724736.6712391111111
    -1234567890.123456789 45724736.6712391403333
    +1234567890.1234560000 45724736.6712391111111
    +1234567890.1234567890 45724736.6712391403333
      PREHOOK: query: SELECT dec, dec * dec FROM DECIMAL_PRECISION ORDER BY dec
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_precision
    @@ -491,13 +491,13 @@ NULL NULL
      NULL NULL
      NULL NULL
      NULL NULL
    -0 0
    -0 0
    -0 0
    -0 0
    -0 0
    -0.123456789 0.015241578750190521
    -0.123456789 0.015241578750190521
    +0.0000000000 0.00000000000000000000
    +0.0000000000 0.00000000000000000000
    +0.0000000000 0.00000000000000000000
    +0.0000000000 0.00000000000000000000
    +0.0000000000 0.00000000000000000000
    +0.1234567890 0.01524157875019052100
    +0.1234567890 0.01524157875019052100
      1.2345678901 1.52415787526596567801
      1.2345678901 1.52415787526596567801
      1.2345678901 1.52415787526596567801
    @@ -514,14 +514,14 @@ NULL NULL
      12345.6789012346 152415787.53238916034140423716
      123456.7890123456 15241578753.23881726870921383936
      123456.7890123457 15241578753.23884196006701630849
    -1234567.890123456 1524157875323.881726870921383936
    +1234567.8901234560 1524157875323.88172687092138393600
      1234567.8901234568 1524157875323.88370217954558146624
    -12345678.90123456 152415787532388.1726870921383936
    +12345678.9012345600 152415787532388.17268709213839360000
      12345678.9012345679 152415787532388.36774881877789971041
    -123456789.0123456 15241578753238817.26870921383936
    +123456789.0123456000 15241578753238817.26870921383936000000
      123456789.0123456789 15241578753238836.75019051998750190521
    -1234567890.123456 NULL
    -1234567890.123456789 NULL
    +1234567890.1234560000 NULL
    +1234567890.1234567890 NULL
      PREHOOK: query: EXPLAIN SELECT avg(dec), sum(dec) FROM DECIMAL_PRECISION
      PREHOOK: type: QUERY
      POSTHOOK: query: EXPLAIN SELECT avg(dec), sum(dec) FROM DECIMAL_PRECISION
    @@ -613,7 +613,7 @@ POSTHOOK: query: SELECT MIN(cast('12345678901234567890.12345678' as decimal(38,1
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_precision
      #### A masked pattern was here ####
    -12345678901234567890.12345678
    +12345678901234567890.123456780000000000
      PREHOOK: query: SELECT COUNT(cast('12345678901234567890.12345678' as decimal(38,18))) FROM DECIMAL_PRECISION
      PREHOOK: type: QUERY
      PREHOOK: Input: default@decimal_precision

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/decimal_trailing.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/decimal_trailing.q.out b/ql/src/test/results/clientpositive/decimal_trailing.q.out
    index 6cfe282..1b70737 100644
    --- a/ql/src/test/results/clientpositive/decimal_trailing.q.out
    +++ b/ql/src/test/results/clientpositive/decimal_trailing.q.out
    @@ -40,16 +40,16 @@ POSTHOOK: query: SELECT * FROM DECIMAL_TRAILING ORDER BY id
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_trailing
      #### A masked pattern was here ####
    -0 0 0
    -1 0 0
    +0 0.0000 0.00000000
    +1 0.0000 0.00000000
      2 NULL NULL
    -3 1 1
    -4 10 10
    -5 100 100
    -6 1000 1000
    -7 10000 10000
    -8 100000 100000
    -9 NULL 1000000
    +3 1.0000 1.00000000
    +4 10.0000 10.00000000
    +5 100.0000 100.00000000
    +6 1000.0000 1000.00000000
    +7 10000.0000 10000.00000000
    +8 100000.0000 100000.00000000
    +9 NULL 1000000.00000000
      10 NULL NULL
      11 NULL NULL
      12 NULL NULL
    @@ -58,18 +58,18 @@ POSTHOOK: Input: default@decimal_trailing
      15 NULL NULL
      16 NULL NULL
      17 NULL NULL
    -18 1 1
    -19 10 10
    -20 100 100
    -21 1000 1000
    -22 100000 10000
    -23 0 0
    -24 0 0
    -25 0 0
    -26 0 0
    -27 0 0
    -28 12313.2 134134.312525
    -29 99999.999 134134.31242553
    +18 1.0000 1.00000000
    +19 10.0000 10.00000000
    +20 100.0000 100.00000000
    +21 1000.0000 1000.00000000
    +22 100000.0000 10000.00000000
    +23 0.0000 0.00000000
    +24 0.0000 0.00000000
    +25 0.0000 0.00000000
    +26 0.0000 0.00000000
    +27 0.0000 0.00000000
    +28 12313.2000 134134.31252500
    +29 99999.9990 134134.31242553
      PREHOOK: query: DROP TABLE DECIMAL_TRAILING
      PREHOOK: type: DROPTABLE
      PREHOOK: Input: default@decimal_trailing
  • Xuefu at Nov 12, 2015 at 3:59 am
    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/decimal_udf.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/decimal_udf.q.out b/ql/src/test/results/clientpositive/decimal_udf.q.out
    index ce1fe3f..abbfc50 100644
    --- a/ql/src/test/results/clientpositive/decimal_udf.q.out
    +++ b/ql/src/test/results/clientpositive/decimal_udf.q.out
    @@ -55,44 +55,44 @@ POSTHOOK: query: SELECT key + key FROM DECIMAL_UDF
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    --8800
    +-8800.0000000000
      NULL
    -0
    -0
    -200
    -20
    -2
    -0.2
    -0.02
    -400
    -40
    -4
    -0
    -0.4
    -0.04
    -0.6
    -0.66
    -0.666
    --0.6
    --0.66
    --0.666
    -2
    -4
    -6.28
    --2.24
    --2.24
    --2.244
    -2.24
    -2.244
    -248
    -250.4
    --2510.98
    -6.28
    -6.28
    -6.28
    -2
    --2469135780.246913578
    -2469135780.24691356
    +0.0000000000
    +0.0000000000
    +200.0000000000
    +20.0000000000
    +2.0000000000
    +0.2000000000
    +0.0200000000
    +400.0000000000
    +40.0000000000
    +4.0000000000
    +0.0000000000
    +0.4000000000
    +0.0400000000
    +0.6000000000
    +0.6600000000
    +0.6660000000
    +-0.6000000000
    +-0.6600000000
    +-0.6660000000
    +2.0000000000
    +4.0000000000
    +6.2800000000
    +-2.2400000000
    +-2.2400000000
    +-2.2440000000
    +2.2400000000
    +2.2440000000
    +248.0000000000
    +250.4000000000
    +-2510.9800000000
    +6.2800000000
    +6.2800000000
    +6.2800000000
    +2.0000000000
    +-2469135780.2469135780
    +2469135780.2469135600
      PREHOOK: query: EXPLAIN SELECT key + value FROM DECIMAL_UDF
      PREHOOK: type: QUERY
      POSTHOOK: query: EXPLAIN SELECT key + value FROM DECIMAL_UDF
    @@ -122,44 +122,44 @@ POSTHOOK: query: SELECT key + value FROM DECIMAL_UDF
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    -0
    +0.0000000000
      NULL
    -0
    -0
    -200
    -20
    -2
    -0.1
    -0.01
    -400
    -40
    -4
    -0
    -0.2
    -0.02
    -0.3
    -0.33
    -0.333
    --0.3
    --0.33
    --0.333
    -2
    -4
    -6.14
    --2.12
    --2.12
    --12.122
    -2.12
    -2.122
    -248
    -250.2
    --2510.49
    -6.14
    -6.14
    -7.14
    -2
    --2469135780.123456789
    -2469135780.12345678
    +0.0000000000
    +0.0000000000
    +200.0000000000
    +20.0000000000
    +2.0000000000
    +0.1000000000
    +0.0100000000
    +400.0000000000
    +40.0000000000
    +4.0000000000
    +0.0000000000
    +0.2000000000
    +0.0200000000
    +0.3000000000
    +0.3300000000
    +0.3330000000
    +-0.3000000000
    +-0.3300000000
    +-0.3330000000
    +2.0000000000
    +4.0000000000
    +6.1400000000
    +-2.1200000000
    +-2.1200000000
    +-12.1220000000
    +2.1200000000
    +2.1220000000
    +248.0000000000
    +250.2000000000
    +-2510.4900000000
    +6.1400000000
    +6.1400000000
    +7.1400000000
    +2.0000000000
    +-2469135780.1234567890
    +2469135780.1234567800
      PREHOOK: query: EXPLAIN SELECT key + (value/2) FROM DECIMAL_UDF
      PREHOOK: type: QUERY
      POSTHOOK: query: EXPLAIN SELECT key + (value/2) FROM DECIMAL_UDF
    @@ -325,44 +325,44 @@ POSTHOOK: query: SELECT key - key FROM DECIMAL_UDF
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    -0
    +0.0000000000
      NULL
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
      PREHOOK: query: EXPLAIN SELECT key - value FROM DECIMAL_UDF
      PREHOOK: type: QUERY
      POSTHOOK: query: EXPLAIN SELECT key - value FROM DECIMAL_UDF
    @@ -392,44 +392,44 @@ POSTHOOK: query: SELECT key - value FROM DECIMAL_UDF
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    --8800
    +-8800.0000000000
      NULL
    -0
    -0
    -0
    -0
    -0
    -0.1
    -0.01
    -0
    -0
    -0
    -0
    -0.2
    -0.02
    -0.3
    -0.33
    -0.333
    --0.3
    --0.33
    --0.333
    -0
    -0
    -0.14
    --0.12
    --0.12
    -9.878
    -0.12
    -0.122
    -0
    -0.2
    --0.49
    -0.14
    -0.14
    --0.86
    -0
    --0.123456789
    -0.12345678
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.1000000000
    +0.0100000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.2000000000
    +0.0200000000
    +0.3000000000
    +0.3300000000
    +0.3330000000
    +-0.3000000000
    +-0.3300000000
    +-0.3330000000
    +0.0000000000
    +0.0000000000
    +0.1400000000
    +-0.1200000000
    +-0.1200000000
    +9.8780000000
    +0.1200000000
    +0.1220000000
    +0.0000000000
    +0.2000000000
    +-0.4900000000
    +0.1400000000
    +0.1400000000
    +-0.8600000000
    +0.0000000000
    +-0.1234567890
    +0.1234567800
      PREHOOK: query: EXPLAIN SELECT key - (value/2) FROM DECIMAL_UDF
      PREHOOK: type: QUERY
      POSTHOOK: query: EXPLAIN SELECT key - (value/2) FROM DECIMAL_UDF
    @@ -595,42 +595,42 @@ POSTHOOK: query: SELECT key * key FROM DECIMAL_UDF
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    -19360000
    +19360000.00000000000000000000
      NULL
    -0
    -0
    -10000
    -100
    -1
    -0.01
    -0.0001
    -40000
    -400
    -4
    -0
    -0.04
    -0.0004
    -0.09
    -0.1089
    -0.110889
    -0.09
    -0.1089
    -0.110889
    -1
    -4
    -9.8596
    -1.2544
    -1.2544
    -1.258884
    -1.2544
    -1.258884
    -15376
    -15675.04
    -1576255.1401
    -9.8596
    -9.8596
    -9.8596
    -1
    +0.00000000000000000000
    +0.00000000000000000000
    +10000.00000000000000000000
    +100.00000000000000000000
    +1.00000000000000000000
    +0.01000000000000000000
    +0.00010000000000000000
    +40000.00000000000000000000
    +400.00000000000000000000
    +4.00000000000000000000
    +0.00000000000000000000
    +0.04000000000000000000
    +0.00040000000000000000
    +0.09000000000000000000
    +0.10890000000000000000
    +0.11088900000000000000
    +0.09000000000000000000
    +0.10890000000000000000
    +0.11088900000000000000
    +1.00000000000000000000
    +4.00000000000000000000
    +9.85960000000000000000
    +1.25440000000000000000
    +1.25440000000000000000
    +1.25888400000000000000
    +1.25440000000000000000
    +1.25888400000000000000
    +15376.00000000000000000000
    +15675.04000000000000000000
    +1576255.14010000000000000000
    +9.85960000000000000000
    +9.85960000000000000000
    +9.85960000000000000000
    +1.00000000000000000000
      NULL
      NULL
      PREHOOK: query: EXPLAIN SELECT key, value FROM DECIMAL_UDF where key * value > 0
    @@ -665,29 +665,29 @@ POSTHOOK: query: SELECT key, value FROM DECIMAL_UDF where key * value > 0
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    -100 100
    -10 10
    -1 1
    -200 200
    -20 20
    -2 2
    -1 1
    -2 2
    -3.14 3
    --1.12 -1
    --1.12 -1
    --1.122 -11
    -1.12 1
    -1.122 1
    -124 124
    -125.2 125
    --1255.49 -1255
    -3.14 3
    -3.14 3
    -3.14 4
    -1 1
    --1234567890.123456789 -1234567890
    -1234567890.12345678 1234567890
    +100.0000000000 100
    +10.0000000000 10
    +1.0000000000 1
    +200.0000000000 200
    +20.0000000000 20
    +2.0000000000 2
    +1.0000000000 1
    +2.0000000000 2
    +3.1400000000 3
    +-1.1200000000 -1
    +-1.1200000000 -1
    +-1.1220000000 -11
    +1.1200000000 1
    +1.1220000000 1
    +124.0000000000 124
    +125.2000000000 125
    +-1255.4900000000 -1255
    +3.1400000000 3
    +3.1400000000 3
    +3.1400000000 4
    +1.0000000000 1
    +-1234567890.1234567890 -1234567890
    +1234567890.1234567800 1234567890
      PREHOOK: query: EXPLAIN SELECT key * value FROM DECIMAL_UDF
      PREHOOK: type: QUERY
      POSTHOOK: query: EXPLAIN SELECT key * value FROM DECIMAL_UDF
    @@ -717,44 +717,44 @@ POSTHOOK: query: SELECT key * value FROM DECIMAL_UDF
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    --19360000
    +-19360000.0000000000
      NULL
    -0
    -0
    -10000
    -100
    -1
    -0
    -0
    -40000
    -400
    -4
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -0
    -1
    -4
    -9.42
    -1.12
    -1.12
    -12.342
    -1.12
    -1.122
    -15376
    -15650
    -1575639.95
    -9.42
    -9.42
    -12.56
    -1
    -1524157875171467887.50190521
    -1524157875171467876.3907942
    +0.0000000000
    +0.0000000000
    +10000.0000000000
    +100.0000000000
    +1.0000000000
    +0.0000000000
    +0.0000000000
    +40000.0000000000
    +400.0000000000
    +4.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +0.0000000000
    +1.0000000000
    +4.0000000000
    +9.4200000000
    +1.1200000000
    +1.1200000000
    +12.3420000000
    +1.1200000000
    +1.1220000000
    +15376.0000000000
    +15650.0000000000
    +1575639.9500000000
    +9.4200000000
    +9.4200000000
    +12.5600000000
    +1.0000000000
    +1524157875171467887.5019052100
    +1524157875171467876.3907942000
      PREHOOK: query: EXPLAIN SELECT key * (value/2) FROM DECIMAL_UDF
      PREHOOK: type: QUERY
      POSTHOOK: query: EXPLAIN SELECT key * (value/2) FROM DECIMAL_UDF
    @@ -989,40 +989,40 @@ POSTHOOK: query: SELECT key / key FROM DECIMAL_UDF WHERE key is not null and key
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
    +1.000000000000000000000000
      PREHOOK: query: EXPLAIN SELECT key / value FROM DECIMAL_UDF WHERE value is not null and value <> 0
      PREHOOK: type: QUERY
      POSTHOOK: query: EXPLAIN SELECT key / value FROM DECIMAL_UDF WHERE value is not null and value <> 0
    @@ -1055,30 +1055,30 @@ POSTHOOK: query: SELECT key / value FROM DECIMAL_UDF WHERE value is not null and
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    --1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    -1
    +-1.000000000000000000000
    +1.000000000000000000000
    +1.000000000000000000000
    +1.000000000000000000000
    +1.000000000000000000000
    +1.000000000000000000000
    +1.000000000000000000000
    +1.000000000000000000000
    +1.000000000000000000000
      1.046666666666666666667
    -1.12
    -1.12
    -0.102
    -1.12
    -1.122
    -1
    -1.0016
    +1.120000000000000000000
    +1.120000000000000000000
    +0.102000000000000000000
    +1.120000000000000000000
    +1.122000000000000000000
    +1.000000000000000000000
    +1.001600000000000000000
      1.000390438247011952191
      1.046666666666666666667
      1.046666666666666666667
    -0.785
    -1
    -1.0000000001
    -1.00000000009999999271
    +0.785000000000000000000
    +1.000000000000000000000
    +1.000000000100000000000
    +1.000000000099999992710
      PREHOOK: query: EXPLAIN SELECT key / (value/2) FROM DECIMAL_UDF WHERE value is not null and value <> 0
      PREHOOK: type: QUERY
      POSTHOOK: query: EXPLAIN SELECT key / (value/2) FROM DECIMAL_UDF WHERE value is not null and value <> 0
    @@ -1233,44 +1233,44 @@ POSTHOOK: query: SELECT abs(key) FROM DECIMAL_UDF
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    -4400
    +4400.0000000000
      NULL
    -0
    -0
    -100
    -10
    -1
    -0.1
    -0.01
    -200
    -20
    -2
    -0
    -0.2
    -0.02
    -0.3
    -0.33
    -0.333
    -0.3
    -0.33
    -0.333
    -1
    -2
    -3.14
    -1.12
    -1.12
    -1.122
    -1.12
    -1.122
    -124
    -125.2
    -1255.49
    -3.14
    -3.14
    -3.14
    -1
    -1234567890.123456789
    -1234567890.12345678
    +0.0000000000
    +0.0000000000
    +100.0000000000
    +10.0000000000
    +1.0000000000
    +0.1000000000
    +0.0100000000
    +200.0000000000
    +20.0000000000
    +2.0000000000
    +0.0000000000
    +0.2000000000
    +0.0200000000
    +0.3000000000
    +0.3300000000
    +0.3330000000
    +0.3000000000
    +0.3300000000
    +0.3330000000
    +1.0000000000
    +2.0000000000
    +3.1400000000
    +1.1200000000
    +1.1200000000
    +1.1220000000
    +1.1200000000
    +1.1220000000
    +124.0000000000
    +125.2000000000
    +1255.4900000000
    +3.1400000000
    +3.1400000000
    +3.1400000000
    +1.0000000000
    +1234567890.1234567890
    +1234567890.1234567800
      PREHOOK: query: -- avg
      EXPLAIN SELECT value, sum(key) / count(key), avg(key), sum(key) FROM DECIMAL_UDF GROUP BY value ORDER BY value
      PREHOOK: type: QUERY
    @@ -1359,23 +1359,23 @@ POSTHOOK: query: SELECT value, sum(key) / count(key), avg(key), sum(key) FROM DE
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    --1234567890 -1234567890.123456789 -1234567890.123456789 -1234567890.123456789
    --1255 -1255.49 -1255.49 -1255.49
    --11 -1.122 -1.122 -1.122
    --1 -1.12 -1.12 -2.24
    -0 0.02538461538461538461538 0.02538461538462 0.33
    -1 1.0484 1.0484 5.242
    -2 2 2 4
    -3 3.14 3.14 9.42
    -4 3.14 3.14 3.14
    -10 10 10 10
    -20 20 20 20
    -100 100 100 100
    -124 124 124 124
    -125 125.2 125.2 125.2
    -200 200 200 200
    -4400 -4400 -4400 -4400
    -1234567890 1234567890.12345678 1234567890.12345678 1234567890.12345678
    +-1234567890 -1234567890.12345678900000000000000 -1234567890.12345678900000 -1234567890.1234567890
    +-1255 -1255.49000000000000000000000 -1255.49000000000000 -1255.4900000000
    +-11 -1.12200000000000000000000 -1.12200000000000 -1.1220000000
    +-1 -1.12000000000000000000000 -1.12000000000000 -2.2400000000
    +0 0.02538461538461538461538 0.02538461538462 0.3300000000
    +1 1.04840000000000000000000 1.04840000000000 5.2420000000
    +2 2.00000000000000000000000 2.00000000000000 4.0000000000
    +3 3.14000000000000000000000 3.14000000000000 9.4200000000
    +4 3.14000000000000000000000 3.14000000000000 3.1400000000
    +10 10.00000000000000000000000 10.00000000000000 10.0000000000
    +20 20.00000000000000000000000 20.00000000000000 20.0000000000
    +100 100.00000000000000000000000 100.00000000000000 100.0000000000
    +124 124.00000000000000000000000 124.00000000000000 124.0000000000
    +125 125.20000000000000000000000 125.20000000000000 125.2000000000
    +200 200.00000000000000000000000 200.00000000000000 200.0000000000
    +4400 -4400.00000000000000000000000 -4400.00000000000000 -4400.0000000000
    +1234567890 1234567890.12345678000000000000000 1234567890.12345678000000 1234567890.1234567800
      PREHOOK: query: -- negative
      EXPLAIN SELECT -key FROM DECIMAL_UDF
      PREHOOK: type: QUERY
    @@ -1407,44 +1407,44 @@ POSTHOOK: query: SELECT -key FROM DECIMAL_UDF
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    -4400
    +4400.0000000000
      NULL
    -0
    -0
    --100
    --10
    --1
    --0.1
    --0.01
    --200
    --20
    --2
    -0
    --0.2
    --0.02
    --0.3
    --0.33
    --0.333
    -0.3
    -0.33
    -0.333
    --1
    --2
    --3.14
    -1.12
    -1.12
    -1.122
    --1.12
    --1.122
    --124
    --125.2
    -1255.49
    --3.14
    --3.14
    --3.14
    --1
    -1234567890.123456789
    --1234567890.12345678
    +0.0000000000
    +0.0000000000
    +-100.0000000000
    +-10.0000000000
    +-1.0000000000
    +-0.1000000000
    +-0.0100000000
    +-200.0000000000
    +-20.0000000000
    +-2.0000000000
    +0.0000000000
    +-0.2000000000
    +-0.0200000000
    +-0.3000000000
    +-0.3300000000
    +-0.3330000000
    +0.3000000000
    +0.3300000000
    +0.3330000000
    +-1.0000000000
    +-2.0000000000
    +-3.1400000000
    +1.1200000000
    +1.1200000000
    +1.1220000000
    +-1.1200000000
    +-1.1220000000
    +-124.0000000000
    +-125.2000000000
    +1255.4900000000
    +-3.1400000000
    +-3.1400000000
    +-3.1400000000
    +-1.0000000000
    +1234567890.1234567890
    +-1234567890.1234567800
      PREHOOK: query: -- positive
      EXPLAIN SELECT +key FROM DECIMAL_UDF
      PREHOOK: type: QUERY
    @@ -1476,44 +1476,44 @@ POSTHOOK: query: SELECT +key FROM DECIMAL_UDF
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    --4400
    +-4400.0000000000
      NULL
    -0
    -0
    -100
    -10
    -1
    -0.1
    -0.01
    -200
    -20
    -2
    -0
    -0.2
    -0.02
    -0.3
    -0.33
    -0.333
    --0.3
    --0.33
    --0.333
    -1
    -2
    -3.14
    --1.12
    --1.12
    --1.122
    -1.12
    -1.122
    -124
    -125.2
    --1255.49
    -3.14
    -3.14
    -3.14
    -1
    --1234567890.123456789
    -1234567890.12345678
    +0.0000000000
    +0.0000000000
    +100.0000000000
    +10.0000000000
    +1.0000000000
    +0.1000000000
    +0.0100000000
    +200.0000000000
    +20.0000000000
    +2.0000000000
    +0.0000000000
    +0.2000000000
    +0.0200000000
    +0.3000000000
    +0.3300000000
    +0.3330000000
    +-0.3000000000
    +-0.3300000000
    +-0.3330000000
    +1.0000000000
    +2.0000000000
    +3.1400000000
    +-1.1200000000
    +-1.1200000000
    +-1.1220000000
    +1.1200000000
    +1.1220000000
    +124.0000000000
    +125.2000000000
    +-1255.4900000000
    +3.1400000000
    +3.1400000000
    +3.1400000000
    +1.0000000000
    +-1234567890.1234567890
    +1234567890.1234567800
      PREHOOK: query: -- ceiling
      EXPlAIN SELECT CEIL(key) FROM DECIMAL_UDF
      PREHOOK: type: QUERY
    @@ -1683,42 +1683,42 @@ POSTHOOK: query: SELECT ROUND(key, 2) FROM DECIMAL_UDF
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    --4400
    +-4400.00
      NULL
    -0
    -0
    -100
    -10
    -1
    -0.1
    +0.00
    +0.00
    +100.00
    +10.00
    +1.00
    +0.10
      0.01
    -200
    -20
    -2
    -0
    -0.2
    +200.00
    +20.00
    +2.00
    +0.00
    +0.20
      0.02
    -0.3
    +0.30
      0.33
      0.33
    --0.3
    +-0.30
      -0.33
      -0.33
    -1
    -2
    +1.00
    +2.00
      3.14
      -1.12
      -1.12
      -1.12
      1.12
      1.12
    -124
    -125.2
    +124.00
    +125.20
      -1255.49
      3.14
      3.14
      3.14
    -1
    +1.00
      -1234567890.12
      1234567890.12
      PREHOOK: query: -- power
    @@ -1821,44 +1821,44 @@ POSTHOOK: query: SELECT (key + 1) % (key / 2) FROM DECIMAL_UDF
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    --2199
    +-2199.000000000000
      NULL
      NULL
      NULL
    -1
    -1
    -0
    -0
    -0
    -1
    -1
    -0
    +1.000000000000
    +1.000000000000
    +0.000000000000
    +0.000000000000
    +0.000000000000
    +1.000000000000
    +1.000000000000
    +0.000000000000
      NULL
    -0
    -0
    -0.1
    -0.01
    -0.001
    -0.1
    -0.01
    -0.001
    -0
    -0
    -1
    --0.12
    --0.12
    --0.122
    -0.44
    -0.439
    -1
    -1
    --626.745
    -1
    -1
    -1
    -0
    --617283944.0617283945
    -1
    +0.000000000000
    +0.000000000000
    +0.100000000000
    +0.010000000000
    +0.001000000000
    +0.100000000000
    +0.010000000000
    +0.001000000000
    +0.000000000000
    +0.000000000000
    +1.000000000000
    +-0.120000000000
    +-0.120000000000
    +-0.122000000000
    +0.440000000000
    +0.439000000000
    +1.000000000000
    +1.000000000000
    +-626.745000000000
    +1.000000000000
    +1.000000000000
    +1.000000000000
    +0.000000000000
    +-617283944.061728394500
    +1.000000000000
      PREHOOK: query: -- stddev, var
      EXPLAIN SELECT value, stddev(key), variance(key) FROM DECIMAL_UDF GROUP BY value
      PREHOOK: type: QUERY
    @@ -2134,7 +2134,7 @@ POSTHOOK: query: SELECT MIN(key) FROM DECIMAL_UDF
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    --1234567890.123456789
    +-1234567890.1234567890
      PREHOOK: query: -- max
      EXPLAIN SELECT MAX(key) FROM DECIMAL_UDF
      PREHOOK: type: QUERY
    @@ -2193,7 +2193,7 @@ POSTHOOK: query: SELECT MAX(key) FROM DECIMAL_UDF
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_udf
      #### A masked pattern was here ####
    -1234567890.12345678
    +1234567890.1234567800
      PREHOOK: query: -- count
      EXPLAIN SELECT COUNT(key) FROM DECIMAL_UDF
      PREHOOK: type: QUERY

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/insert_nonacid_from_acid.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/insert_nonacid_from_acid.q.out b/ql/src/test/results/clientpositive/insert_nonacid_from_acid.q.out
    index 1f613c4..f7a9853 100644
    --- a/ql/src/test/results/clientpositive/insert_nonacid_from_acid.q.out
    +++ b/ql/src/test/results/clientpositive/insert_nonacid_from_acid.q.out
    @@ -31,11 +31,11 @@ POSTHOOK: query: select * from sample_06 where gpa = 3.00
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@sample_06
      #### A masked pattern was here ####
    -aaa 35 3
    -bbb 32 3
    -ccc 32 3
    -ddd 35 3
    -eee 32 3
    +aaa 35 3.00
    +bbb 32 3.00
    +ccc 32 3.00
    +ddd 35 3.00
    +eee 32 3.00
      PREHOOK: query: create table tab1 (name varchar(50), age int, gpa decimal(3, 2))
      PREHOOK: type: CREATETABLE
      PREHOOK: Output: database:default
    @@ -63,8 +63,8 @@ POSTHOOK: query: select * from tab1
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@tab1
      #### A masked pattern was here ####
    -aaa 35 3
    -bbb 32 3
    -ccc 32 3
    -ddd 35 3
    -eee 32 3
    +aaa 35 3.00
    +bbb 32 3.00
    +ccc 32 3.00
    +ddd 35 3.00
    +eee 32 3.00

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/llap/hybridgrace_hashjoin_1.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/llap/hybridgrace_hashjoin_1.q.out b/ql/src/test/results/clientpositive/llap/hybridgrace_hashjoin_1.q.out
    index 1586f8a..36a032a 100644
    --- a/ql/src/test/results/clientpositive/llap/hybridgrace_hashjoin_1.q.out
    +++ b/ql/src/test/results/clientpositive/llap/hybridgrace_hashjoin_1.q.out
    @@ -1320,105 +1320,105 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_mapjoin
      #### A masked pattern was here ####
      6981 6981 NULL NULL
    -6981 6981 NULL -617.5607769230769
    -6981 6981 NULL -617.5607769230769
    +6981 6981 NULL -617.56077692307690
    +6981 6981 NULL -617.56077692307690
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL 6984454.211097692
    +6981 6981 NULL 6984454.21109769200000
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL -617.5607769230769
    -6981 6981 NULL -617.5607769230769
    +6981 6981 NULL -617.56077692307690
    +6981 6981 NULL -617.56077692307690
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL 6984454.211097692
    +6981 6981 NULL 6984454.21109769200000
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL -617.5607769230769
    -6981 6981 NULL -617.5607769230769
    +6981 6981 NULL -617.56077692307690
    +6981 6981 NULL -617.56077692307690
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL 6984454.211097692
    +6981 6981 NULL 6984454.21109769200000
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL -617.5607769230769
    -6981 6981 NULL -617.5607769230769
    +6981 6981 NULL -617.56077692307690
    +6981 6981 NULL -617.56077692307690
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL 6984454.211097692
    +6981 6981 NULL 6984454.21109769200000
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 5831542.269248378 NULL
    -6981 6981 5831542.269248378 -617.5607769230769
    -6981 6981 5831542.269248378 -617.5607769230769
    -6981 6981 5831542.269248378 NULL
    -6981 6981 5831542.269248378 NULL
    -6981 6981 5831542.269248378 NULL
    -6981 6981 5831542.269248378 6984454.211097692
    -6981 6981 5831542.269248378 NULL
    -6981 6981 5831542.269248378 NULL
    -6981 6981 5831542.269248378 NULL
    +6981 6981 5831542.2692483780 NULL
    +6981 6981 5831542.2692483780 -617.56077692307690
    +6981 6981 5831542.2692483780 -617.56077692307690
    +6981 6981 5831542.2692483780 NULL
    +6981 6981 5831542.2692483780 NULL
    +6981 6981 5831542.2692483780 NULL
    +6981 6981 5831542.2692483780 6984454.21109769200000
    +6981 6981 5831542.2692483780 NULL
    +6981 6981 5831542.2692483780 NULL
    +6981 6981 5831542.2692483780 NULL
      6981 6981 NULL NULL
    -6981 6981 NULL -617.5607769230769
    -6981 6981 NULL -617.5607769230769
    +6981 6981 NULL -617.56077692307690
    +6981 6981 NULL -617.56077692307690
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL 6984454.211097692
    +6981 6981 NULL 6984454.21109769200000
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL -617.5607769230769
    -6981 6981 NULL -617.5607769230769
    +6981 6981 NULL -617.56077692307690
    +6981 6981 NULL -617.56077692307690
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL 6984454.211097692
    +6981 6981 NULL 6984454.21109769200000
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL -617.5607769230769
    -6981 6981 NULL -617.5607769230769
    +6981 6981 NULL -617.56077692307690
    +6981 6981 NULL -617.56077692307690
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL 6984454.211097692
    +6981 6981 NULL 6984454.21109769200000
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 -617.5607769230769
    -6981 6981 -515.621072973 -617.5607769230769
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 6984454.211097692
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 -617.5607769230769
    -6981 6981 -515.621072973 -617.5607769230769
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 6984454.211097692
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 -617.56077692307690
    +6981 6981 -515.6210729730 -617.56077692307690
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 6984454.21109769200000
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 -617.56077692307690
    +6981 6981 -515.6210729730 -617.56077692307690
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 6984454.21109769200000
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
      PREHOOK: query: EXPLAIN SELECT l.cint, r.cint, l.cdecimal1, r.cdecimal2
        FROM decimal_mapjoin l
        JOIN decimal_mapjoin r ON l.cint = r.cint
    @@ -1508,105 +1508,105 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@decimal_mapjoin
      #### A masked pattern was here ####
      6981 6981 NULL NULL
    -6981 6981 NULL -617.5607769230769
    -6981 6981 NULL -617.5607769230769
    +6981 6981 NULL -617.56077692307690
    +6981 6981 NULL -617.56077692307690
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL 6984454.211097692
    +6981 6981 NULL 6984454.21109769200000
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL -617.5607769230769
    -6981 6981 NULL -617.5607769230769
    +6981 6981 NULL -617.56077692307690
    +6981 6981 NULL -617.56077692307690
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL 6984454.211097692
    +6981 6981 NULL 6984454.21109769200000
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL -617.5607769230769
    -6981 6981 NULL -617.5607769230769
    +6981 6981 NULL -617.56077692307690
    +6981 6981 NULL -617.56077692307690
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL 6984454.211097692
    +6981 6981 NULL 6984454.21109769200000
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL -617.5607769230769
    -6981 6981 NULL -617.5607769230769
    +6981 6981 NULL -617.56077692307690
    +6981 6981 NULL -617.56077692307690
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL 6984454.211097692
    +6981 6981 NULL 6984454.21109769200000
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 5831542.269248378 NULL
    -6981 6981 5831542.269248378 -617.5607769230769
    -6981 6981 5831542.269248378 -617.5607769230769
    -6981 6981 5831542.269248378 NULL
    -6981 6981 5831542.269248378 NULL
    -6981 6981 5831542.269248378 NULL
    -6981 6981 5831542.269248378 6984454.211097692
    -6981 6981 5831542.269248378 NULL
    -6981 6981 5831542.269248378 NULL
    -6981 6981 5831542.269248378 NULL
    +6981 6981 5831542.2692483780 NULL
    +6981 6981 5831542.2692483780 -617.56077692307690
    +6981 6981 5831542.2692483780 -617.56077692307690
    +6981 6981 5831542.2692483780 NULL
    +6981 6981 5831542.2692483780 NULL
    +6981 6981 5831542.2692483780 NULL
    +6981 6981 5831542.2692483780 6984454.21109769200000
    +6981 6981 5831542.2692483780 NULL
    +6981 6981 5831542.2692483780 NULL
    +6981 6981 5831542.2692483780 NULL
      6981 6981 NULL NULL
    -6981 6981 NULL -617.5607769230769
    -6981 6981 NULL -617.5607769230769
    +6981 6981 NULL -617.56077692307690
    +6981 6981 NULL -617.56077692307690
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL 6984454.211097692
    +6981 6981 NULL 6984454.21109769200000
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL -617.5607769230769
    -6981 6981 NULL -617.5607769230769
    +6981 6981 NULL -617.56077692307690
    +6981 6981 NULL -617.56077692307690
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL 6984454.211097692
    +6981 6981 NULL 6984454.21109769200000
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL -617.5607769230769
    -6981 6981 NULL -617.5607769230769
    +6981 6981 NULL -617.56077692307690
    +6981 6981 NULL -617.56077692307690
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 NULL 6984454.211097692
    +6981 6981 NULL 6984454.21109769200000
      6981 6981 NULL NULL
      6981 6981 NULL NULL
      6981 6981 NULL NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 -617.5607769230769
    -6981 6981 -515.621072973 -617.5607769230769
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 6984454.211097692
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 -617.5607769230769
    -6981 6981 -515.621072973 -617.5607769230769
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 6984454.211097692
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    -6981 6981 -515.621072973 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 -617.56077692307690
    +6981 6981 -515.6210729730 -617.56077692307690
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 6984454.21109769200000
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 -617.56077692307690
    +6981 6981 -515.6210729730 -617.56077692307690
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 6984454.21109769200000
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
    +6981 6981 -515.6210729730 NULL
      PREHOOK: query: DROP TABLE decimal_mapjoin
      PREHOOK: type: DROPTABLE
      PREHOOK: Input: default@decimal_mapjoin

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/llap/mapjoin_decimal.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/llap/mapjoin_decimal.q.out b/ql/src/test/results/clientpositive/llap/mapjoin_decimal.q.out
    index 98d9ceb..4c8b295 100644
    --- a/ql/src/test/results/clientpositive/llap/mapjoin_decimal.q.out
    +++ b/ql/src/test/results/clientpositive/llap/mapjoin_decimal.q.out
    @@ -169,112 +169,112 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@t1
      POSTHOOK: Input: default@t2
      #### A masked pattern was here ####
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -45 45
    -45 45
    -45 45
    -45 45
    -45 45
    -6 6
    -6 6
    -6 6
    -6 6
    -6 6
    -6 6
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -70 70
    -70 70
    -70 70
    -70 70
    -70 70
    -70 70
    -70 70
    -79 79
    -79 79
    -79 79
    -79 79
    -79 79
    -79 79
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +45.00 45
    +45.00 45
    +45.00 45
    +45.00 45
    +45.00 45
    +6.00 6
    +6.00 6
    +6.00 6
    +6.00 6
    +6.00 6
    +6.00 6
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +70.00 70
    +70.00 70
    +70.00 70
    +70.00 70
    +70.00 70
    +70.00 70
    +70.00 70
    +79.00 79
    +79.00 79
    +79.00 79
    +79.00 79
    +79.00 79
    +79.00 79
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
      PREHOOK: query: select t1.dec, t2.dec from t1 join t2 on (t1.dec=t2.dec) order by t1.dec
      PREHOOK: type: QUERY
      PREHOOK: Input: default@t1
    @@ -285,109 +285,109 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@t1
      POSTHOOK: Input: default@t2
      #### A masked pattern was here ####
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -14 14
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -17 17
    -45 45
    -45 45
    -45 45
    -45 45
    -45 45
    -6 6
    -6 6
    -6 6
    -6 6
    -6 6
    -6 6
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -62 62
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -64 64
    -70 70
    -70 70
    -70 70
    -70 70
    -70 70
    -70 70
    -70 70
    -79 79
    -79 79
    -79 79
    -79 79
    -79 79
    -79 79
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -89 89
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    -9 9
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +14.00 14
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +17.00 17
    +45.00 45
    +45.00 45
    +45.00 45
    +45.00 45
    +45.00 45
    +6.00 6
    +6.00 6
    +6.00 6
    +6.00 6
    +6.00 6
    +6.00 6
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +62.00 62
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +64.00 64
    +70.00 70
    +70.00 70
    +70.00 70
    +70.00 70
    +70.00 70
    +70.00 70
    +70.00 70
    +79.00 79
    +79.00 79
    +79.00 79
    +79.00 79
    +79.00 79
    +79.00 79
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +89.00 89
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9
    +9.00 9

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/orc_file_dump.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/orc_file_dump.q.out b/ql/src/test/results/clientpositive/orc_file_dump.q.out
    index c494d47..50d5701 100644
    --- a/ql/src/test/results/clientpositive/orc_file_dump.q.out
    +++ b/ql/src/test/results/clientpositive/orc_file_dump.q.out
    @@ -196,7 +196,7 @@ File length: 33458 bytes
      Padding length: 0 bytes
      Padding ratio: 0%
      -- END ORC FILE DUMP --
    -124 336 65664 4294967435 74.72 42.47 true bob davidson 2013-03-01 09:11:58.703302 45.4 yard duty
    +124 336 65664 4294967435 74.72 42.47 true bob davidson 2013-03-01 09:11:58.703302 45.40 yard duty
      PREHOOK: query: alter table orc_ppd set tblproperties("orc.bloom.filter.fpp"="0.01")
      PREHOOK: type: ALTERTABLE_PROPERTIES
      PREHOOK: Input: default@orc_ppd
    @@ -314,7 +314,7 @@ File length: 38613 bytes
      Padding length: 0 bytes
      Padding ratio: 0%
      -- END ORC FILE DUMP --
    -124 336 65664 4294967435 74.72 42.47 true bob davidson 2013-03-01 09:11:58.703302 45.4 yard duty
    +124 336 65664 4294967435 74.72 42.47 true bob davidson 2013-03-01 09:11:58.703302 45.40 yard duty
      PREHOOK: query: CREATE TABLE orc_ppd_part(t tinyint,
                 si smallint,
                 i int,
    @@ -444,4 +444,4 @@ File length: 33458 bytes
      Padding length: 0 bytes
      Padding ratio: 0%
      -- END ORC FILE DUMP --
    -124 336 65664 4294967435 74.72 42.47 true bob davidson 2013-03-01 09:11:58.703302 45.4 yard duty 2015 10
    +124 336 65664 4294967435 74.72 42.47 true bob davidson 2013-03-01 09:11:58.703302 45.40 yard duty 2015 10

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/orc_predicate_pushdown.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/orc_predicate_pushdown.q.out b/ql/src/test/results/clientpositive/orc_predicate_pushdown.q.out
    index 0d4cd15..6a528dd 100644
    --- a/ql/src/test/results/clientpositive/orc_predicate_pushdown.q.out
    +++ b/ql/src/test/results/clientpositive/orc_predicate_pushdown.q.out
    @@ -251,7 +251,7 @@ POSTHOOK: query: SELECT * FROM orc_pred WHERE t>2 limit 1
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@orc_pred
      #### A masked pattern was here ####
    -124 336 65664 4294967435 74.72 42.47 true bob davidson 2013-03-01 09:11:58.703302 45.4 yard duty
    +124 336 65664 4294967435 74.72 42.47 true bob davidson 2013-03-01 09:11:58.703302 45.40 yard duty
      PREHOOK: query: SELECT * FROM orc_pred WHERE t>2 limit 1
      PREHOOK: type: QUERY
      PREHOOK: Input: default@orc_pred
    @@ -260,7 +260,7 @@ POSTHOOK: query: SELECT * FROM orc_pred WHERE t>2 limit 1
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@orc_pred
      #### A masked pattern was here ####
    -124 336 65664 4294967435 74.72 42.47 true bob davidson 2013-03-01 09:11:58.703302 45.4 yard duty
    +124 336 65664 4294967435 74.72 42.47 true bob davidson 2013-03-01 09:11:58.703302 45.40 yard duty
      PREHOOK: query: SELECT SUM(HASH(t)) FROM orc_pred
        WHERE t IS NOT NULL
        AND t < 0

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/parquet_decimal.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/parquet_decimal.q.out b/ql/src/test/results/clientpositive/parquet_decimal.q.out
    index 493bd4f..a19cd6d 100644
    --- a/ql/src/test/results/clientpositive/parquet_decimal.q.out
    +++ b/ql/src/test/results/clientpositive/parquet_decimal.q.out
    @@ -63,9 +63,9 @@ Mary 4.33
      Cluck 5.96
      Tom -12.25
      Mary 33.33
    -Tom 19
    -Beck 0
    -Beck 79.9
    +Tom 19.00
    +Beck 0.00
    +Beck 79.90
      PREHOOK: query: SELECT value, count(*) FROM parq_dec GROUP BY value ORDER BY value
      PREHOOK: type: QUERY
      PREHOOK: Input: default@parq_dec
    @@ -75,14 +75,14 @@ POSTHOOK: type: QUERY
      POSTHOOK: Input: default@parq_dec
      #### A masked pattern was here ####
      -12.25 1
    -0 1
    +0.00 1
      4.33 1
      5.96 1
    -19 1
    +19.00 1
      33.33 1
      55.71 1
      77.34 1
    -79.9 1
    +79.90 1
      234.79 1
      PREHOOK: query: TRUNCATE TABLE parq_dec
      PREHOOK: type: TRUNCATETABLE
    @@ -158,12 +158,12 @@ POSTHOOK: Input: default@parq_dec1
      77.3
      55.7
      4.3
    -6
    +6.0
      12.3
      33.3
      0.2
      3.2
    -8
    +8.0
      PREHOOK: query: DROP TABLE dec
      PREHOOK: type: DROPTABLE
      PREHOOK: Input: default@dec

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/parquet_ppd_boolean.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/parquet_ppd_boolean.q.out b/ql/src/test/results/clientpositive/parquet_ppd_boolean.q.out
    index 1355849..6e62ee4 100644
    --- a/ql/src/test/results/clientpositive/parquet_ppd_boolean.q.out
    +++ b/ql/src/test/results/clientpositive/parquet_ppd_boolean.q.out
    @@ -26,11 +26,11 @@ POSTHOOK: query: select * from newtypestbl where b=true
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 true
    -apple bee 0.22 true
    -apple bee 0.22 true
    -apple bee 0.22 true
    -apple bee 0.22 true
    +apple bee 0.220 true
    +apple bee 0.220 true
    +apple bee 0.220 true
    +apple bee 0.220 true
    +apple bee 0.220 true
      PREHOOK: query: select * from newtypestbl where b!=true
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -39,11 +39,11 @@ POSTHOOK: query: select * from newtypestbl where b!=true
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -hello world 11.22 false
    -hello world 11.22 false
    -hello world 11.22 false
    -hello world 11.22 false
    -hello world 11.22 false
    +hello world 11.220 false
    +hello world 11.220 false
    +hello world 11.220 false
    +hello world 11.220 false
    +hello world 11.220 false
      PREHOOK: query: select * from newtypestbl where b<true
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -52,11 +52,11 @@ POSTHOOK: query: select * from newtypestbl where b<true
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -hello world 11.22 false
    -hello world 11.22 false
    -hello world 11.22 false
    -hello world 11.22 false
    -hello world 11.22 false
    +hello world 11.220 false
    +hello world 11.220 false
    +hello world 11.220 false
    +hello world 11.220 false
    +hello world 11.220 false
      PREHOOK: query: select * from newtypestbl where b>true
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -73,16 +73,16 @@ POSTHOOK: query: select * from newtypestbl where b<=true sort by c
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 true
    -apple bee 0.22 true
    -apple bee 0.22 true
    -apple bee 0.22 true
    -apple bee 0.22 true
    -hello world 11.22 false
    -hello world 11.22 false
    -hello world 11.22 false
    -hello world 11.22 false
    -hello world 11.22 false
    +apple bee 0.220 true
    +apple bee 0.220 true
    +apple bee 0.220 true
    +apple bee 0.220 true
    +apple bee 0.220 true
    +hello world 11.220 false
    +hello world 11.220 false
    +hello world 11.220 false
    +hello world 11.220 false
    +hello world 11.220 false
      PREHOOK: query: select * from newtypestbl where b=false
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -91,11 +91,11 @@ POSTHOOK: query: select * from newtypestbl where b=false
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -hello world 11.22 false
    -hello world 11.22 false
    -hello world 11.22 false
    -hello world 11.22 false
    -hello world 11.22 false
    +hello world 11.220 false
    +hello world 11.220 false
    +hello world 11.220 false
    +hello world 11.220 false
    +hello world 11.220 false
      PREHOOK: query: select * from newtypestbl where b!=false
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -104,11 +104,11 @@ POSTHOOK: query: select * from newtypestbl where b!=false
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 true
    -apple bee 0.22 true
    -apple bee 0.22 true
    -apple bee 0.22 true
    -apple bee 0.22 true
    +apple bee 0.220 true
    +apple bee 0.220 true
    +apple bee 0.220 true
    +apple bee 0.220 true
    +apple bee 0.220 true
      PREHOOK: query: select * from newtypestbl where b<false
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -125,11 +125,11 @@ POSTHOOK: query: select * from newtypestbl where b>false
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 true
    -apple bee 0.22 true
    -apple bee 0.22 true
    -apple bee 0.22 true
    -apple bee 0.22 true
    +apple bee 0.220 true
    +apple bee 0.220 true
    +apple bee 0.220 true
    +apple bee 0.220 true
    +apple bee 0.220 true
      PREHOOK: query: select * from newtypestbl where b<=false
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -138,11 +138,11 @@ POSTHOOK: query: select * from newtypestbl where b<=false
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -hello world 11.22 false
    -hello world 11.22 false
    -hello world 11.22 false
    -hello world 11.22 false
    -hello world 11.22 false
    +hello world 11.220 false
    +hello world 11.220 false
    +hello world 11.220 false
    +hello world 11.220 false
    +hello world 11.220 false
      PREHOOK: query: select * from newtypestbl where b=true
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -151,11 +151,11 @@ POSTHOOK: query: select * from newtypestbl where b=true
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 true
    -apple bee 0.22 true
    -apple bee 0.22 true
    -apple bee 0.22 true
    -apple bee 0.22 true
    +apple bee 0.220 true
    +apple bee 0.220 true
    +apple bee 0.220 true
    +apple bee 0.220 true
    +apple bee 0.220 true
      PREHOOK: query: select * from newtypestbl where b!=true
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -164,11 +164,11 @@ POSTHOOK: query: select * from newtypestbl where b!=true
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -hello world 11.22 false
    -hello world 11.22 false
    -hello world 11.22 false
    -hello world 11.22 false
    -hello world 11.22 false
    +hello world 11.220 false
    +hello world 11.220 false
    +hello world 11.220 false
    +hello world 11.220 false
    +hello world 11.220 false
      PREHOOK: query: select * from newtypestbl where b<true
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -177,11 +177,11 @@ POSTHOOK: query: select * from newtypestbl where b<true
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -hello world 11.22 false
    -hello world 11.22 false
    -hello world 11.22 false
    -hello world 11.22 false
    -hello world 11.22 false
    +hello world 11.220 false
    +hello world 11.220 false
    +hello world 11.220 false
    +hello world 11.220 false
    +hello world 11.220 false
      PREHOOK: query: select * from newtypestbl where b>true
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -198,16 +198,16 @@ POSTHOOK: query: select * from newtypestbl where b<=true sort by c
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 true
    -apple bee 0.22 true
    -apple bee 0.22 true
    -apple bee 0.22 true
    -apple bee 0.22 true
    -hello world 11.22 false
    -hello world 11.22 false
    -hello world 11.22 false
    -hello world 11.22 false
    -hello world 11.22 false
    +apple bee 0.220 true
    +apple bee 0.220 true
    +apple bee 0.220 true
    +apple bee 0.220 true
    +apple bee 0.220 true
    +hello world 11.220 false
    +hello world 11.220 false
    +hello world 11.220 false
    +hello world 11.220 false
    +hello world 11.220 false
      PREHOOK: query: select * from newtypestbl where b=false
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -216,11 +216,11 @@ POSTHOOK: query: select * from newtypestbl where b=false
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -hello world 11.22 false
    -hello world 11.22 false
    -hello world 11.22 false
    -hello world 11.22 false
    -hello world 11.22 false
    +hello world 11.220 false
    +hello world 11.220 false
    +hello world 11.220 false
    +hello world 11.220 false
    +hello world 11.220 false
      PREHOOK: query: select * from newtypestbl where b!=false
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -229,11 +229,11 @@ POSTHOOK: query: select * from newtypestbl where b!=false
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 true
    -apple bee 0.22 true
    -apple bee 0.22 true
    -apple bee 0.22 true
    -apple bee 0.22 true
    +apple bee 0.220 true
    +apple bee 0.220 true
    +apple bee 0.220 true
    +apple bee 0.220 true
    +apple bee 0.220 true
      PREHOOK: query: select * from newtypestbl where b<false
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -250,11 +250,11 @@ POSTHOOK: query: select * from newtypestbl where b>false
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 true
    -apple bee 0.22 true
    -apple bee 0.22 true
    -apple bee 0.22 true
    -apple bee 0.22 true
    +apple bee 0.220 true
    +apple bee 0.220 true
    +apple bee 0.220 true
    +apple bee 0.220 true
    +apple bee 0.220 true
      PREHOOK: query: select * from newtypestbl where b<=false
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -263,8 +263,8 @@ POSTHOOK: query: select * from newtypestbl where b<=false
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -hello world 11.22 false
    -hello world 11.22 false
    -hello world 11.22 false
    -hello world 11.22 false
    -hello world 11.22 false
    +hello world 11.220 false
    +hello world 11.220 false
    +hello world 11.220 false
    +hello world 11.220 false
    +hello world 11.220 false

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/parquet_ppd_char.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/parquet_ppd_char.q.out b/ql/src/test/results/clientpositive/parquet_ppd_char.q.out
    index f224870..defaa9d 100644
    --- a/ql/src/test/results/clientpositive/parquet_ppd_char.q.out
    +++ b/ql/src/test/results/clientpositive/parquet_ppd_char.q.out
    @@ -28,11 +28,11 @@ select * from newtypestbl where c="apple"
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where c="apple"
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -41,11 +41,11 @@ POSTHOOK: query: select * from newtypestbl where c="apple"
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where c!="apple"
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -54,11 +54,11 @@ POSTHOOK: query: select * from newtypestbl where c!="apple"
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where c!="apple"
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -67,11 +67,11 @@ POSTHOOK: query: select * from newtypestbl where c!="apple"
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where c<"hello"
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -80,11 +80,11 @@ POSTHOOK: query: select * from newtypestbl where c<"hello"
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where c<"hello"
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -93,11 +93,11 @@ POSTHOOK: query: select * from newtypestbl where c<"hello"
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where c<="hello" sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -106,16 +106,16 @@ POSTHOOK: query: select * from newtypestbl where c<="hello" sort by c
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where c<="hello" sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -124,16 +124,16 @@ POSTHOOK: query: select * from newtypestbl where c<="hello" sort by c
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where c="apple "
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -158,11 +158,11 @@ POSTHOOK: query: select * from newtypestbl where c in ("apple", "carrot")
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where c in ("apple", "carrot")
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -171,11 +171,11 @@ POSTHOOK: query: select * from newtypestbl where c in ("apple", "carrot")
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where c in ("apple", "hello") sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -184,16 +184,16 @@ POSTHOOK: query: select * from newtypestbl where c in ("apple", "hello") sort by
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where c in ("apple", "hello") sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -202,16 +202,16 @@ POSTHOOK: query: select * from newtypestbl where c in ("apple", "hello") sort by
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where c in ("carrot")
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -236,11 +236,11 @@ POSTHOOK: query: select * from newtypestbl where c between "apple" and "carrot"
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where c between "apple" and "carrot"
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -249,11 +249,11 @@ POSTHOOK: query: select * from newtypestbl where c between "apple" and "carrot"
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where c between "apple" and "zombie" sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -262,16 +262,16 @@ POSTHOOK: query: select * from newtypestbl where c between "apple" and "zombie"
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where c between "apple" and "zombie" sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -280,16 +280,16 @@ POSTHOOK: query: select * from newtypestbl where c between "apple" and "zombie"
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where c between "carrot" and "carrot1"
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl

    http://git-wip-us.apache.org/repos/asf/hive/blob/13f8cfec/ql/src/test/results/clientpositive/parquet_ppd_date.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/parquet_ppd_date.q.out b/ql/src/test/results/clientpositive/parquet_ppd_date.q.out
    index e599014..55231e9 100644
    --- a/ql/src/test/results/clientpositive/parquet_ppd_date.q.out
    +++ b/ql/src/test/results/clientpositive/parquet_ppd_date.q.out
    @@ -28,11 +28,11 @@ select * from newtypestbl where da='1970-02-20'
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where da='1970-02-20'
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -41,11 +41,11 @@ POSTHOOK: query: select * from newtypestbl where da='1970-02-20'
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where da= date '1970-02-20'
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -54,11 +54,11 @@ POSTHOOK: query: select * from newtypestbl where da= date '1970-02-20'
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where da=cast('1970-02-20' as date)
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -67,11 +67,11 @@ POSTHOOK: query: select * from newtypestbl where da=cast('1970-02-20' as date)
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where da=cast('1970-02-20' as date)
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -80,11 +80,11 @@ POSTHOOK: query: select * from newtypestbl where da=cast('1970-02-20' as date)
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where da=cast('1970-02-20' as varchar(20))
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -93,11 +93,11 @@ POSTHOOK: query: select * from newtypestbl where da=cast('1970-02-20' as varchar
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where da=cast('1970-02-20' as varchar(20))
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -106,11 +106,11 @@ POSTHOOK: query: select * from newtypestbl where da=cast('1970-02-20' as varchar
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where da!='1970-02-20'
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -119,11 +119,11 @@ POSTHOOK: query: select * from newtypestbl where da!='1970-02-20'
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where da!='1970-02-20'
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -132,11 +132,11 @@ POSTHOOK: query: select * from newtypestbl where da!='1970-02-20'
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where da<'1970-02-27'
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -145,11 +145,11 @@ POSTHOOK: query: select * from newtypestbl where da<'1970-02-27'
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where da<'1970-02-27'
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -158,11 +158,11 @@ POSTHOOK: query: select * from newtypestbl where da<'1970-02-27'
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where da<'1970-02-29' sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -171,16 +171,16 @@ POSTHOOK: query: select * from newtypestbl where da<'1970-02-29' sort by c
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where da<'1970-02-29' sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -189,16 +189,16 @@ POSTHOOK: query: select * from newtypestbl where da<'1970-02-29' sort by c
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where da<'1970-02-15'
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -223,11 +223,11 @@ POSTHOOK: query: select * from newtypestbl where da<='1970-02-20'
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where da<='1970-02-20'
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -236,11 +236,11 @@ POSTHOOK: query: select * from newtypestbl where da<='1970-02-20'
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where da<='1970-02-27' sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -249,16 +249,16 @@ POSTHOOK: query: select * from newtypestbl where da<='1970-02-27' sort by c
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where da<='1970-02-27' sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -267,16 +267,16 @@ POSTHOOK: query: select * from newtypestbl where da<='1970-02-27' sort by c
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where da in (cast('1970-02-21' as date), cast('1970-02-27' as date))
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -285,11 +285,11 @@ POSTHOOK: query: select * from newtypestbl where da in (cast('1970-02-21' as dat
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where da in (cast('1970-02-21' as date), cast('1970-02-27' as date))
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -298,11 +298,11 @@ POSTHOOK: query: select * from newtypestbl where da in (cast('1970-02-21' as dat
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where da in (cast('1970-02-20' as date), cast('1970-02-27' as date)) sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -311,16 +311,16 @@ POSTHOOK: query: select * from newtypestbl where da in (cast('1970-02-20' as dat
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where da in (cast('1970-02-20' as date), cast('1970-02-27' as date)) sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -329,16 +329,16 @@ POSTHOOK: query: select * from newtypestbl where da in (cast('1970-02-20' as dat
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where da in (cast('1970-02-21' as date), cast('1970-02-22' as date))
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -363,11 +363,11 @@ POSTHOOK: query: select * from newtypestbl where da between '1970-02-19' and '19
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where da between '1970-02-19' and '1970-02-22'
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -376,11 +376,11 @@ POSTHOOK: query: select * from newtypestbl where da between '1970-02-19' and '19
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
      PREHOOK: query: select * from newtypestbl where da between '1970-02-19' and '1970-02-28' sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -389,16 +389,16 @@ POSTHOOK: query: select * from newtypestbl where da between '1970-02-19' and '19
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where da between '1970-02-19' and '1970-02-28' sort by c
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
    @@ -407,16 +407,16 @@ POSTHOOK: query: select * from newtypestbl where da between '1970-02-19' and '19
      POSTHOOK: type: QUERY
      POSTHOOK: Input: default@newtypestbl
      #### A masked pattern was here ####
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -apple bee 0.22 1970-02-20
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    -hello world 11.22 1970-02-27
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +apple bee 0.220 1970-02-20
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
    +hello world 11.220 1970-02-27
      PREHOOK: query: select * from newtypestbl where da between '1970-02-18' and '1970-02-19'
      PREHOOK: type: QUERY
      PREHOOK: Input: default@newtypestbl
  • Xuefu at Nov 12, 2015 at 3:59 am
    http://git-wip-us.apache.org/repos/asf/hive/blob/92620d8e/ql/src/test/results/clientpositive/lineage3.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/lineage3.q.out b/ql/src/test/results/clientpositive/lineage3.q.out
    index ad965c8..fb5e9df 100644
    --- a/ql/src/test/results/clientpositive/lineage3.q.out
    +++ b/ql/src/test/results/clientpositive/lineage3.q.out
    @@ -10,7 +10,7 @@ insert into table d1 select x + length(y)
      PREHOOK: type: QUERY
      PREHOOK: Input: default@alltypesorc
      PREHOOK: Output: default@d1
    -{"version":"1.0","engine":"mr","hash":"4c9b7b8d89403cef78668f15d393e542","queryText":"from (select a.ctinyint x, b.cstring1 y\nfrom alltypesorc a join alltypesorc b on a.cint = b.cbigint) t\ninsert into table d1 select x + length(y)","edges":[{"sources":[1,2],"targets":[0],"expression":"(UDFToInteger(a.ctinyint) + length(a.cstring1))","edgeType":"PROJECTION"},{"sources":[3,4],"targets":[0],"expression":"(UDFToLong(a.cint) = a.cbigint)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.d1.a"},{"id":1,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":2,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cstring1"},{"id":3,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cbigint"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"4c9b7b8d89403cef78668f15d393e542","queryText":"from (select a.ctinyint x, b.cstring1 y\nfrom alltypesorc a join alltypesorc b on a.cint = b.cbigint) t\ninsert into table d1 select x + length(y)","edges":[{"sources":[1,2],"targets":[0],"expression":"(UDFToInteger(a.ctinyint) + length(a.cstring1))","edgeType":"PROJECTION"},{"sources":[3,4],"targets":[0],"expression":"(UDFToLong(a.cint) = a.cbigint)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.d1.a"},{"id":1,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":2,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cstring1"},{"id":3,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cbigint"}]}
      PREHOOK: query: drop table if exists d2
      PREHOOK: type: DROPTABLE
      PREHOOK: query: create table d2(b varchar(128))
    @@ -25,7 +25,7 @@ PREHOOK: type: QUERY
      PREHOOK: Input: default@alltypesorc
      PREHOOK: Output: default@d1
      PREHOOK: Output: default@d2
    -{"version":"1.0","engine":"mr","hash":"8703e4091ebd4c96afd3cac83e3a2957","queryText":"from (select a.ctinyint x, b.cstring1 y\nfrom alltypesorc a join alltypesorc b on a.cint = b.cbigint) t\ninsert into table d1 select x where y is null\ninsert into table d2 select y where x > 0","edges":[{"sources":[2],"targets":[0],"expression":"UDFToInteger(x)","edgeType":"PROJECTION"},{"sources":[3,4],"targets":[0,1],"expression":"(UDFToLong(a.cint) = b.cbigint)","edgeType":"PREDICATE"},{"sources":[5],"targets":[0],"expression":"t.y is null","edgeType":"PREDICATE"},{"sources":[5],"targets":[1],"expression":"CAST( y AS varchar(128))","edgeType":"PROJECTION"},{"sources":[2],"targets":[1],"expression":"(t.x > 0)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.d1.a"},{"id":1,"vertexType":"COLUMN","vertexId":"default.d2.b"},{"id":2,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":3,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint
      "},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cbigint"},{"id":5,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cstring1"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"8703e4091ebd4c96afd3cac83e3a2957","queryText":"from (select a.ctinyint x, b.cstring1 y\nfrom alltypesorc a join alltypesorc b on a.cint = b.cbigint) t\ninsert into table d1 select x where y is null\ninsert into table d2 select y where x > 0","edges":[{"sources":[2],"targets":[0],"expression":"UDFToInteger(x)","edgeType":"PROJECTION"},{"sources":[3,4],"targets":[0,1],"expression":"(UDFToLong(a.cint) = b.cbigint)","edgeType":"PREDICATE"},{"sources":[5],"targets":[0],"expression":"t.y is null","edgeType":"PREDICATE"},{"sources":[5],"targets":[1],"expression":"CAST( y AS varchar(128))","edgeType":"PROJECTION"},{"sources":[2],"targets":[1],"expression":"(t.x > 0)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.d1.a"},{"id":1,"vertexType":"COLUMN","vertexId":"default.d2.b"},{"id":2,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":3,"vertexType":"COLUMN","vertexId":"def
      ault.alltypesorc.cint"},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cbigint"},{"id":5,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cstring1"}]}
      PREHOOK: query: drop table if exists t
      PREHOOK: type: DROPTABLE
      PREHOOK: query: create table t as
    @@ -36,7 +36,7 @@ PREHOOK: type: CREATETABLE_AS_SELECT
      PREHOOK: Input: default@src1
      PREHOOK: Output: database:default
      PREHOOK: Output: default@t
    -{"version":"1.0","engine":"mr","hash":"761b3a1f405d8e719d3f0c9147b57a23","queryText":"create table t as\nselect * from\n (select * from\n (select key from src1 limit 1) v1) v2","edges":[{"sources":[1],"targets":[0],"edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.t.key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.src1.key"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"761b3a1f405d8e719d3f0c9147b57a23","queryText":"create table t as\nselect * from\n (select * from\n (select key from src1 limit 1) v1) v2","edges":[{"sources":[1],"targets":[0],"edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.t.key"},{"id":1,"vertexType":"COLUMN","vertexId":"default.src1.key"}]}
      PREHOOK: query: drop table if exists dest_l1
      PREHOOK: type: DROPTABLE
      PREHOOK: query: create table dest_l1(a int, b varchar(128))
    @@ -51,7 +51,7 @@ where cint is not null and cint < 0 order by cint, cs limit 5
      PREHOOK: type: QUERY
      PREHOOK: Input: default@alltypesorc
      PREHOOK: Output: default@dest_l1@ds=today
    -{"version":"1.0","engine":"mr","hash":"2b5891d094ff74e23ec6acf5b4990f45","queryText":"insert into table dest_l1 partition (ds='today')\nselect cint, cast(cstring1 as varchar(128)) as cs\nfrom alltypesorc\nwhere cint is not null and cint < 0 order by cint, cs limit 5","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"expression":"CAST( alltypesorc.cstring1 AS varchar(128))","edgeType":"PROJECTION"},{"sources":[2],"targets":[0,1],"expression":"(alltypesorc.cint is not null and (alltypesorc.cint < 0))","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest_l1.a"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_l1.b"},{"id":2,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"},{"id":3,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cstring1"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"2b5891d094ff74e23ec6acf5b4990f45","queryText":"insert into table dest_l1 partition (ds='today')\nselect cint, cast(cstring1 as varchar(128)) as cs\nfrom alltypesorc\nwhere cint is not null and cint < 0 order by cint, cs limit 5","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"expression":"CAST( alltypesorc.cstring1 AS varchar(128))","edgeType":"PROJECTION"},{"sources":[2],"targets":[0,1],"expression":"(alltypesorc.cint is not null and (alltypesorc.cint < 0))","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest_l1.a"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_l1.b"},{"id":2,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"},{"id":3,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cstring1"}]}
      PREHOOK: query: insert into table dest_l1 partition (ds='tomorrow')
      select min(cint), cast(min(cstring1) as varchar(128)) as cs
      from alltypesorc
    @@ -61,13 +61,13 @@ having min(cbigint) > 10
      PREHOOK: type: QUERY
      PREHOOK: Input: default@alltypesorc
      PREHOOK: Output: default@dest_l1@ds=tomorrow
    -{"version":"1.0","engine":"mr","hash":"4ad6338a8abfe3fe0342198fcbd1f11d","queryText":"insert into table dest_l1 partition (ds='tomorrow')\nselect min(cint), cast(min(cstring1) as varchar(128)) as cs\nfrom alltypesorc\nwhere cint is not null and cboolean1 = true\ngroup by csmallint\nhaving min(cbigint) > 10","edges":[{"sources":[2],"targets":[0],"expression":"min(default.alltypesorc.cint)","edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"expression":"CAST( min(default.alltypesorc.cstring1) AS varchar(128))","edgeType":"PROJECTION"},{"sources":[2,4],"targets":[0,1],"expression":"(alltypesorc.cint is not null and (alltypesorc.cboolean1 = true))","edgeType":"PREDICATE"},{"sources":[5],"targets":[0,1],"expression":"(min(default.alltypesorc.cbigint) > 10)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest_l1.a"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_l1.b"},{"id":2,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"},
      {"id":3,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cstring1"},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cboolean1"},{"id":5,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cbigint"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"4ad6338a8abfe3fe0342198fcbd1f11d","queryText":"insert into table dest_l1 partition (ds='tomorrow')\nselect min(cint), cast(min(cstring1) as varchar(128)) as cs\nfrom alltypesorc\nwhere cint is not null and cboolean1 = true\ngroup by csmallint\nhaving min(cbigint) > 10","edges":[{"sources":[2],"targets":[0],"expression":"min(default.alltypesorc.cint)","edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"expression":"CAST( min(default.alltypesorc.cstring1) AS varchar(128))","edgeType":"PROJECTION"},{"sources":[2,4],"targets":[0,1],"expression":"(alltypesorc.cint is not null and (alltypesorc.cboolean1 = true))","edgeType":"PREDICATE"},{"sources":[5],"targets":[0,1],"expression":"(min(default.alltypesorc.cbigint) > 10)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest_l1.a"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_l1.b"},{"id":2,"vertexType":"COLUMN","vertexId":"defaul
      t.alltypesorc.cint"},{"id":3,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cstring1"},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cboolean1"},{"id":5,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cbigint"}]}
      PREHOOK: query: select cint, rank() over(order by cint) from alltypesorc
      where cint > 10 and cint < 10000 limit 10
      PREHOOK: type: QUERY
      PREHOOK: Input: default@alltypesorc
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"351b08ec58591554ec10a6ded68ef25f","queryText":"select cint, rank() over(order by cint) from alltypesorc\nwhere cint > 10 and cint < 10000 limit 10","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3,4,2,5,6,7,8,9,10,11,12,13],"targets":[1],"expression":"(tok_function rank (tok_windowspec (tok_partitioningspec (tok_distributeby 0) (tok_orderby (tok_tabsortcolnameasc (. (tok_table_or_col alltypesorc) cint)))) (tok_windowrange (preceding 2147483647) (following 2147483647))))","edgeType":"PROJECTION"},{"sources":[2],"targets":[0,1],"expression":"((alltypesorc.cint > 10) and (alltypesorc.cint < 10000))","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"cint"},{"id":1,"vertexType":"COLUMN","vertexId":"c1"},{"id":2,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"},{"id":3,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":4,"vertexType":"COLUMN","vertexId":"default.a
      lltypesorc.csmallint"},{"id":5,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cbigint"},{"id":6,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cfloat"},{"id":7,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cdouble"},{"id":8,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cstring1"},{"id":9,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cstring2"},{"id":10,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctimestamp1"},{"id":11,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctimestamp2"},{"id":12,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cboolean1"},{"id":13,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cboolean2"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"351b08ec58591554ec10a6ded68ef25f","queryText":"select cint, rank() over(order by cint) from alltypesorc\nwhere cint > 10 and cint < 10000 limit 10","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3,4,2,5,6,7,8,9,10,11,12,13],"targets":[1],"expression":"(tok_function rank (tok_windowspec (tok_partitioningspec (tok_distributeby 0) (tok_orderby (tok_tabsortcolnameasc (. (tok_table_or_col alltypesorc) cint)))) (tok_windowrange (preceding 2147483647) (following 2147483647))))","edgeType":"PROJECTION"},{"sources":[2],"targets":[0,1],"expression":"((alltypesorc.cint > 10) and (alltypesorc.cint < 10000))","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"cint"},{"id":1,"vertexType":"COLUMN","vertexId":"c1"},{"id":2,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"},{"id":3,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":4,"vertexType":"COLUMN",
      "vertexId":"default.alltypesorc.csmallint"},{"id":5,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cbigint"},{"id":6,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cfloat"},{"id":7,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cdouble"},{"id":8,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cstring1"},{"id":9,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cstring2"},{"id":10,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctimestamp1"},{"id":11,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctimestamp2"},{"id":12,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cboolean1"},{"id":13,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cboolean2"}]}
      762 1
      762 1
      762 1
    @@ -86,7 +86,7 @@ order by a.ctinyint, a.cint
      PREHOOK: type: QUERY
      PREHOOK: Input: default@alltypesorc
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"40c3faa7abd1cdb7f12c1047a8a1d2ce","queryText":"select a.ctinyint, a.cint, count(a.cdouble)\n over(partition by a.ctinyint order by a.cint desc\n rows between 1 preceding and 1 following)\nfrom alltypesorc a inner join alltypesorc b on a.cint = b.cbigint\norder by a.ctinyint, a.cint","edges":[{"sources":[3],"targets":[0],"edgeType":"PROJECTION"},{"sources":[4],"targets":[1],"edgeType":"PROJECTION"},{"sources":[3,4,5,6],"targets":[2],"expression":"(tok_function count (. (tok_table_or_col $hdt$_0) cdouble) (tok_windowspec (tok_partitioningspec (tok_distributeby (. (tok_table_or_col $hdt$_0) ctinyint)) (tok_orderby (tok_tabsortcolnamedesc (. (tok_table_or_col $hdt$_0) cint)))) (tok_windowrange (preceding 1) (following 1))))","edgeType":"PROJECTION"},{"sources":[4,6],"targets":[0,1,2],"expression":"(UDFToLong(a.cint) = a.cbigint)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"a.ctinyint"},{"id":1,"vertexType":"CO
      LUMN","vertexId":"a.cint"},{"id":2,"vertexType":"COLUMN","vertexId":"c2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"},{"id":5,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cdouble"},{"id":6,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cbigint"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"40c3faa7abd1cdb7f12c1047a8a1d2ce","queryText":"select a.ctinyint, a.cint, count(a.cdouble)\n over(partition by a.ctinyint order by a.cint desc\n rows between 1 preceding and 1 following)\nfrom alltypesorc a inner join alltypesorc b on a.cint = b.cbigint\norder by a.ctinyint, a.cint","edges":[{"sources":[3],"targets":[0],"edgeType":"PROJECTION"},{"sources":[4],"targets":[1],"edgeType":"PROJECTION"},{"sources":[3,4,5,6],"targets":[2],"expression":"(tok_function count (. (tok_table_or_col $hdt$_0) cdouble) (tok_windowspec (tok_partitioningspec (tok_distributeby (. (tok_table_or_col $hdt$_0) ctinyint)) (tok_orderby (tok_tabsortcolnamedesc (. (tok_table_or_col $hdt$_0) cint)))) (tok_windowrange (preceding 1) (following 1))))","edgeType":"PROJECTION"},{"sources":[4,6],"targets":[0,1,2],"expression":"(UDFToLong(a.cint) = a.cbigint)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"a.ctinyint"},{"i
      d":1,"vertexType":"COLUMN","vertexId":"a.cint"},{"id":2,"vertexType":"COLUMN","vertexId":"c2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"},{"id":5,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cdouble"},{"id":6,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cbigint"}]}
      PREHOOK: query: with v2 as
        (select cdouble, count(cint) over() a,
          sum(cint + cbigint) over(partition by cboolean1) b
    @@ -97,7 +97,7 @@ order by cdouble, a, b limit 5
      PREHOOK: type: QUERY
      PREHOOK: Input: default@alltypesorc
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"a083a5322b6a83af6f614f299d0361e4","queryText":"with v2 as\n (select cdouble, count(cint) over() a,\n sum(cint + cbigint) over(partition by cboolean1) b\n from (select * from alltypesorc) v1)\nselect cdouble, a, b, a + b, cdouble + a from v2\nwhere cdouble is not null\norder by cdouble, a, b limit 5","edges":[{"sources":[5],"targets":[0],"edgeType":"PROJECTION"},{"sources":[6,7,8,9,10,5,11,12,13,14,15,16],"targets":[1],"expression":"(tok_function count (. (tok_table_or_col alltypesorc) cint) (tok_windowspec (tok_partitioningspec (tok_distributeby 0) (tok_orderby (tok_tabsortcolnameasc 0))) (tok_windowrange (preceding 2147483647) (following 2147483647))))","edgeType":"PROJECTION"},{"sources":[6,7,8,9,10,5,11,12,13,14,15,16],"targets":[2],"expression":"(tok_function sum (+ (tok_function tok_bigint (. (tok_table_or_col alltypesorc) cint)) (. (tok_table_or_col alltypesorc) cbigint)) (tok_windowspec (tok_partitioningspec (tok_distributeby (. (
      tok_table_or_col alltypesorc) cboolean1)) (tok_orderby (tok_tabsortcolnameasc (. (tok_table_or_col alltypesorc) cboolean1)))) (tok_windowrange (preceding 2147483647) (following 2147483647))))","edgeType":"PROJECTION"},{"sources":[6,7,8,9,10,5,11,12,13,14,15,16],"targets":[3],"expression":"((tok_function count (. (tok_table_or_col alltypesorc) cint) (tok_windowspec (tok_partitioningspec (tok_distributeby 0) (tok_orderby (tok_tabsortcolnameasc 0))) (tok_windowrange (preceding 2147483647) (following 2147483647)))) + (tok_function sum (+ (tok_function tok_bigint (. (tok_table_or_col alltypesorc) cint)) (. (tok_table_or_col alltypesorc) cbigint)) (tok_windowspec (tok_partitioningspec (tok_distributeby (. (tok_table_or_col alltypesorc) cboolean1)) (tok_orderby (tok_tabsortcolnameasc (. (tok_table_or_col alltypesorc) cboolean1)))) (tok_windowrange (preceding 2147483647) (following 2147483647)))))","edgeType":"PROJECTION"},{"sources":[5,6,7,8,9,10,11,12,13,14,15,16],"targets":[4],"expressio
      n":"(alltypesorc.cdouble + UDFToDouble((tok_function count (. (tok_table_or_col alltypesorc) cint) (tok_windowspec (tok_partitioningspec (tok_distributeby 0) (tok_orderby (tok_tabsortcolnameasc 0))) (tok_windowrange (preceding 2147483647) (following 2147483647))))))","edgeType":"PROJECTION"},{"sources":[5],"targets":[0,1,2,3,4],"expression":"alltypesorc.cdouble is not null","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"cdouble"},{"id":1,"vertexType":"COLUMN","vertexId":"a"},{"id":2,"vertexType":"COLUMN","vertexId":"b"},{"id":3,"vertexType":"COLUMN","vertexId":"c3"},{"id":4,"vertexType":"COLUMN","vertexId":"c4"},{"id":5,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cdouble"},{"id":6,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":7,"vertexType":"COLUMN","vertexId":"default.alltypesorc.csmallint"},{"id":8,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"},{"id":9,"vertexType":"COLUMN","vertexId":"default.alltype
      sorc.cbigint"},{"id":10,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cfloat"},{"id":11,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cstring1"},{"id":12,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cstring2"},{"id":13,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctimestamp1"},{"id":14,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctimestamp2"},{"id":15,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cboolean1"},{"id":16,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cboolean2"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"a083a5322b6a83af6f614f299d0361e4","queryText":"with v2 as\n (select cdouble, count(cint) over() a,\n sum(cint + cbigint) over(partition by cboolean1) b\n from (select * from alltypesorc) v1)\nselect cdouble, a, b, a + b, cdouble + a from v2\nwhere cdouble is not null\norder by cdouble, a, b limit 5","edges":[{"sources":[5],"targets":[0],"edgeType":"PROJECTION"},{"sources":[6,7,8,9,10,5,11,12,13,14,15,16],"targets":[1],"expression":"(tok_function count (. (tok_table_or_col alltypesorc) cint) (tok_windowspec (tok_partitioningspec (tok_distributeby 0) (tok_orderby (tok_tabsortcolnameasc 0))) (tok_windowrange (preceding 2147483647) (following 2147483647))))","edgeType":"PROJECTION"},{"sources":[6,7,8,9,10,5,11,12,13,14,15,16],"targets":[2],"expression":"(tok_function sum (+ (tok_function tok_bigint (. (tok_table_or_col alltypesorc) cint)) (. (tok_table_or_col alltypesorc) cbigint)) (tok_windowspec (tok_partitioningspec (
      tok_distributeby (. (tok_table_or_col alltypesorc) cboolean1)) (tok_orderby (tok_tabsortcolnameasc (. (tok_table_or_col alltypesorc) cboolean1)))) (tok_windowrange (preceding 2147483647) (following 2147483647))))","edgeType":"PROJECTION"},{"sources":[6,7,8,9,10,5,11,12,13,14,15,16],"targets":[3],"expression":"((tok_function count (. (tok_table_or_col alltypesorc) cint) (tok_windowspec (tok_partitioningspec (tok_distributeby 0) (tok_orderby (tok_tabsortcolnameasc 0))) (tok_windowrange (preceding 2147483647) (following 2147483647)))) + (tok_function sum (+ (tok_function tok_bigint (. (tok_table_or_col alltypesorc) cint)) (. (tok_table_or_col alltypesorc) cbigint)) (tok_windowspec (tok_partitioningspec (tok_distributeby (. (tok_table_or_col alltypesorc) cboolean1)) (tok_orderby (tok_tabsortcolnameasc (. (tok_table_or_col alltypesorc) cboolean1)))) (tok_windowrange (preceding 2147483647) (following 2147483647)))))","edgeType":"PROJECTION"},{"sources":[5,6,7,8,9,10,11,12,13,14,15,16],"ta
      rgets":[4],"expression":"(alltypesorc.cdouble + UDFToDouble((tok_function count (. (tok_table_or_col alltypesorc) cint) (tok_windowspec (tok_partitioningspec (tok_distributeby 0) (tok_orderby (tok_tabsortcolnameasc 0))) (tok_windowrange (preceding 2147483647) (following 2147483647))))))","edgeType":"PROJECTION"},{"sources":[5],"targets":[0,1,2,3,4],"expression":"alltypesorc.cdouble is not null","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"cdouble"},{"id":1,"vertexType":"COLUMN","vertexId":"a"},{"id":2,"vertexType":"COLUMN","vertexId":"b"},{"id":3,"vertexType":"COLUMN","vertexId":"c3"},{"id":4,"vertexType":"COLUMN","vertexId":"c4"},{"id":5,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cdouble"},{"id":6,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":7,"vertexType":"COLUMN","vertexId":"default.alltypesorc.csmallint"},{"id":8,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"},{"id":9,"vertexType":"COLUMN","verte
      xId":"default.alltypesorc.cbigint"},{"id":10,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cfloat"},{"id":11,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cstring1"},{"id":12,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cstring2"},{"id":13,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctimestamp1"},{"id":14,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctimestamp2"},{"id":15,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cboolean1"},{"id":16,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cboolean2"}]}
      -16379.0 9173 -919551973060 -919551963887 -7206.0
      -16373.0 9173 -919551973060 -919551963887 -7200.0
      -16372.0 9173 -919551973060 -919551963887 -7199.0
    @@ -116,7 +116,7 @@ order by a.cbigint, a.ctinyint, b.cint, b.ctinyint limit 5
      PREHOOK: type: QUERY
      PREHOOK: Input: default@alltypesorc
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"afd760470fc5aa6d3e8348dee03af97f","queryText":"select a.cbigint, a.ctinyint, b.cint, b.ctinyint\nfrom\n (select ctinyint, cbigint from alltypesorc\n union all\n select ctinyint, cbigint from alltypesorc) a\n inner join\n alltypesorc b\n on (a.ctinyint = b.ctinyint)\nwhere b.ctinyint < 100 and a.cbigint is not null and b.cint is not null\norder by a.cbigint, a.ctinyint, b.cint, b.ctinyint limit 5","edges":[{"sources":[4],"targets":[0],"expression":"cbigint","edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"expression":"ctinyint","edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"edgeType":"PROJECTION"},{"sources":[5],"targets":[3],"edgeType":"PROJECTION"},{"sources":[4],"targets":[0,1,2,3],"expression":"alltypesorc.cbigint is not null","edgeType":"PREDICATE"},{"sources":[5],"targets":[0,1,2,3],"expression":"(ctinyint < 100)","edgeType":"PREDICATE"},{"sources":[5],"targets":[0,1,2,3],"expression":"(ctinyint = alltypesorc.ctinyint
      )","edgeType":"PREDICATE"},{"sources":[5,6],"targets":[0,1,2,3],"expression":"((alltypesorc.ctinyint < 100) and alltypesorc.cint is not null)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"a.cbigint"},{"id":1,"vertexType":"COLUMN","vertexId":"a.ctinyint"},{"id":2,"vertexType":"COLUMN","vertexId":"b.cint"},{"id":3,"vertexType":"COLUMN","vertexId":"b.ctinyint"},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cbigint"},{"id":5,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":6,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"afd760470fc5aa6d3e8348dee03af97f","queryText":"select a.cbigint, a.ctinyint, b.cint, b.ctinyint\nfrom\n (select ctinyint, cbigint from alltypesorc\n union all\n select ctinyint, cbigint from alltypesorc) a\n inner join\n alltypesorc b\n on (a.ctinyint = b.ctinyint)\nwhere b.ctinyint < 100 and a.cbigint is not null and b.cint is not null\norder by a.cbigint, a.ctinyint, b.cint, b.ctinyint limit 5","edges":[{"sources":[4],"targets":[0],"expression":"cbigint","edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"expression":"ctinyint","edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"edgeType":"PROJECTION"},{"sources":[5],"targets":[3],"edgeType":"PROJECTION"},{"sources":[4],"targets":[0,1,2,3],"expression":"alltypesorc.cbigint is not null","edgeType":"PREDICATE"},{"sources":[5],"targets":[0,1,2,3],"expression":"(ctinyint < 100)","edgeType":"PREDICATE"},{"sources":[5],"targets":[0,1,2,3],"expression":"(ctinyint =
       alltypesorc.ctinyint)","edgeType":"PREDICATE"},{"sources":[5,6],"targets":[0,1,2,3],"expression":"((alltypesorc.ctinyint < 100) and alltypesorc.cint is not null)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"a.cbigint"},{"id":1,"vertexType":"COLUMN","vertexId":"a.ctinyint"},{"id":2,"vertexType":"COLUMN","vertexId":"b.cint"},{"id":3,"vertexType":"COLUMN","vertexId":"b.ctinyint"},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cbigint"},{"id":5,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":6,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"}]}
      -2147311592 -51 -1071480828 -51
      -2147311592 -51 -1071480828 -51
      -2147311592 -51 -1067683781 -51
    @@ -135,7 +135,7 @@ and x.ctinyint + length(c.cstring2) < 1000
      PREHOOK: type: QUERY
      PREHOOK: Input: default@alltypesorc
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"3a12ad24b2622a8958df12d0bdc60f8a","queryText":"select x.ctinyint, x.cint, c.cbigint-100, c.cstring1\nfrom alltypesorc c\njoin (\n select a.ctinyint ctinyint, b.cint cint\n from (select * from alltypesorc a where cboolean1=false) a\n join alltypesorc b on (a.cint = b.cbigint - 224870380)\n ) x on (x.cint = c.cint)\nwhere x.ctinyint > 10\nand x.cint < 4.5\nand x.ctinyint + length(c.cstring2) < 1000","edges":[{"sources":[4],"targets":[0],"edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"expression":"(c.cbigint - UDFToLong(100))","edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"edgeType":"PROJECTION"},{"sources":[5],"targets":[0,1,2,3],"expression":"(UDFToDouble(c.cint) < 4.5)","edgeType":"PREDICATE"},{"sources":[5],"targets":[0,1,2,3],"expression":"(c.cint = c.cint)","edgeType":"PREDICATE"},{"sources":[6,5],"targets":[0,1,2,3],"expression":"((c.cbigint - UDFToLong(224870380)) =
       UDFToLong(c.cint))","edgeType":"PREDICATE"},{"sources":[8],"targets":[0,1,2,3],"expression":"(c.cboolean1 = false)","edgeType":"PREDICATE"},{"sources":[4],"targets":[0,1,2,3],"expression":"(c.ctinyint > 10)","edgeType":"PREDICATE"},{"sources":[4,9],"targets":[0,1,2,3],"expression":"((UDFToInteger(c.ctinyint) + length(c.cstring2)) < 1000)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"x.ctinyint"},{"id":1,"vertexType":"COLUMN","vertexId":"x.cint"},{"id":2,"vertexType":"COLUMN","vertexId":"c2"},{"id":3,"vertexType":"COLUMN","vertexId":"c.cstring1"},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":5,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"},{"id":6,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cbigint"},{"id":7,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cstring1"},{"id":8,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cboolean1"},{"id":9,"vertexType":"COLUMN","vertexId":"default
      .alltypesorc.cstring2"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"3a12ad24b2622a8958df12d0bdc60f8a","queryText":"select x.ctinyint, x.cint, c.cbigint-100, c.cstring1\nfrom alltypesorc c\njoin (\n select a.ctinyint ctinyint, b.cint cint\n from (select * from alltypesorc a where cboolean1=false) a\n join alltypesorc b on (a.cint = b.cbigint - 224870380)\n ) x on (x.cint = c.cint)\nwhere x.ctinyint > 10\nand x.cint < 4.5\nand x.ctinyint + length(c.cstring2) < 1000","edges":[{"sources":[4],"targets":[0],"edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"expression":"(c.cbigint - UDFToLong(100))","edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"edgeType":"PROJECTION"},{"sources":[5],"targets":[0,1,2,3],"expression":"(UDFToDouble(c.cint) < 4.5)","edgeType":"PREDICATE"},{"sources":[5],"targets":[0,1,2,3],"expression":"(c.cint = c.cint)","edgeType":"PREDICATE"},{"sources":[6,5],"targets":[0,1,2,3],"expression":"((c.cbigint - UD
      FToLong(224870380)) = UDFToLong(c.cint))","edgeType":"PREDICATE"},{"sources":[8],"targets":[0,1,2,3],"expression":"(c.cboolean1 = false)","edgeType":"PREDICATE"},{"sources":[4],"targets":[0,1,2,3],"expression":"(c.ctinyint > 10)","edgeType":"PREDICATE"},{"sources":[4,9],"targets":[0,1,2,3],"expression":"((UDFToInteger(c.ctinyint) + length(c.cstring2)) < 1000)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"x.ctinyint"},{"id":1,"vertexType":"COLUMN","vertexId":"x.cint"},{"id":2,"vertexType":"COLUMN","vertexId":"c2"},{"id":3,"vertexType":"COLUMN","vertexId":"c.cstring1"},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":5,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"},{"id":6,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cbigint"},{"id":7,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cstring1"},{"id":8,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cboolean1"},{"id":9,"vertexType":"COLUMN
      ","vertexId":"default.alltypesorc.cstring2"}]}
      11 -654374827 857266369 OEfPnHnIYueoup
      PREHOOK: query: select c1, x2, x3
      from (
    @@ -158,7 +158,7 @@ order by x2, c1 desc
      PREHOOK: type: QUERY
      PREHOOK: Input: default@alltypesorc
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"bc64f8bec21631969a17930ec609cde9","queryText":"select c1, x2, x3\nfrom (\n select c1, min(c2) x2, sum(c3) x3\n from (\n select c1, c2, c3\n from (\n select cint c1, ctinyint c2, min(cbigint) c3\n from alltypesorc\n where cint is not null\n group by cint, ctinyint\n order by cint, ctinyint\n limit 5\n ) x\n ) x2\n group by c1\n) y\nwhere x2 > 0\norder by x2, c1 desc","edges":[{"sources":[3],"targets":[0],"edgeType":"PROJECTION"},{"sources":[4],"targets":[1],"expression":"min(default.alltypesorc.ctinyint)","edgeType":"PROJECTION"},{"sources":[5],"targets":[2],"expression":"sum(min(default.alltypesorc.cbigint))","edgeType":"PROJECTION"},{"sources":[3],"targets":[0,1,2],"expression":"alltypesorc.cint is not null","edgeType":"PREDICATE"},{"sources":[4],"targets":[0,1,2],"expression":"(min(default.alltypesorc.ctinyint) > 0)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"c1"},
      {"id":1,"vertexType":"COLUMN","vertexId":"x2"},{"id":2,"vertexType":"COLUMN","vertexId":"x3"},{"id":3,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":5,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cbigint"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"bc64f8bec21631969a17930ec609cde9","queryText":"select c1, x2, x3\nfrom (\n select c1, min(c2) x2, sum(c3) x3\n from (\n select c1, c2, c3\n from (\n select cint c1, ctinyint c2, min(cbigint) c3\n from alltypesorc\n where cint is not null\n group by cint, ctinyint\n order by cint, ctinyint\n limit 5\n ) x\n ) x2\n group by c1\n) y\nwhere x2 > 0\norder by x2, c1 desc","edges":[{"sources":[3],"targets":[0],"edgeType":"PROJECTION"},{"sources":[4],"targets":[1],"expression":"min(default.alltypesorc.ctinyint)","edgeType":"PROJECTION"},{"sources":[5],"targets":[2],"expression":"sum(min(default.alltypesorc.cbigint))","edgeType":"PROJECTION"},{"sources":[3],"targets":[0,1,2],"expression":"alltypesorc.cint is not null","edgeType":"PREDICATE"},{"sources":[4],"targets":[0,1,2],"expression":"(min(default.alltypesorc.ctinyint) > 0)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLU
      MN","vertexId":"c1"},{"id":1,"vertexType":"COLUMN","vertexId":"x2"},{"id":2,"vertexType":"COLUMN","vertexId":"x3"},{"id":3,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":5,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cbigint"}]}
      -1072910839 11 2048385991
      -1073279343 11 -1595604468
      PREHOOK: query: select key, value from src1
    @@ -166,7 +166,7 @@ where key in (select key+18 from src1) order by key
      PREHOOK: type: QUERY
      PREHOOK: Input: default@src1
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"8b9d63653e36ecf4dd425d3cc3de9199","queryText":"select key, value from src1\nwhere key in (select key+18 from src1) order by key","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[],"targets":[0,1],"expression":"(1 = 1)","edgeType":"PREDICATE"},{"sources":[2],"targets":[0,1],"expression":"(UDFToDouble(src1.key) = (UDFToDouble(src1.key) + UDFToDouble(18)))","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"key"},{"id":1,"vertexType":"COLUMN","vertexId":"value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.value"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"8b9d63653e36ecf4dd425d3cc3de9199","queryText":"select key, value from src1\nwhere key in (select key+18 from src1) order by key","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[],"targets":[0,1],"expression":"(1 = 1)","edgeType":"PREDICATE"},{"sources":[2],"targets":[0,1],"expression":"(UDFToDouble(src1.key) = (UDFToDouble(src1.key) + UDFToDouble(18)))","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"key"},{"id":1,"vertexType":"COLUMN","vertexId":"value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.value"}]}
      146 val_146
      273 val_273
      PREHOOK: query: select * from src1 a
    @@ -178,7 +178,7 @@ PREHOOK: type: QUERY
      PREHOOK: Input: default@alltypesorc
      PREHOOK: Input: default@src1
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"8bf193b0658183be94e2428a79d91d10","queryText":"select * from src1 a\nwhere exists\n (select cint from alltypesorc b\n where a.key = b.ctinyint + 300)\nand key > 300","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[2],"targets":[0,1],"expression":"(UDFToDouble(a.key) > UDFToDouble(300))","edgeType":"PREDICATE"},{"sources":[2,4],"targets":[0,1],"expression":"(UDFToDouble(a.key) = UDFToDouble((UDFToInteger(b.ctinyint) + 300)))","edgeType":"PREDICATE"},{"sources":[],"targets":[0,1],"expression":"(1 = 1)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"a.key"},{"id":1,"vertexType":"COLUMN","vertexId":"a.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.value"},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"8bf193b0658183be94e2428a79d91d10","queryText":"select * from src1 a\nwhere exists\n (select cint from alltypesorc b\n where a.key = b.ctinyint + 300)\nand key > 300","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[2],"targets":[0,1],"expression":"(UDFToDouble(a.key) > UDFToDouble(300))","edgeType":"PREDICATE"},{"sources":[2,4],"targets":[0,1],"expression":"(UDFToDouble(a.key) = UDFToDouble((UDFToInteger(b.ctinyint) + 300)))","edgeType":"PREDICATE"},{"sources":[],"targets":[0,1],"expression":"(1 = 1)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"a.key"},{"id":1,"vertexType":"COLUMN","vertexId":"a.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.value"},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"}]}
      311 val_311
      Warning: Shuffle Join JOIN[17][tables = [$hdt$_0, $hdt$_1]] in Stage 'Stage-1:MAPRED' is a cross product
      PREHOOK: query: select key, value from src1
    @@ -186,7 +186,7 @@ where key not in (select key+18 from src1) order by key
      PREHOOK: type: QUERY
      PREHOOK: Input: default@src1
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"9b488fe1d7cf018aad3825173808cd36","queryText":"select key, value from src1\nwhere key not in (select key+18 from src1) order by key","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[],"targets":[0,1],"expression":"(1 = 1)","edgeType":"PREDICATE"},{"sources":[2],"targets":[0,1],"expression":"(UDFToDouble(src1.key) + UDFToDouble(18)) is null","edgeType":"PREDICATE"},{"sources":[4],"targets":[0,1],"expression":"(count(*) = 0)","edgeType":"PREDICATE"},{"sources":[],"targets":[0,1],"expression":"true","edgeType":"PREDICATE"},{"sources":[2],"targets":[0,1],"expression":"(UDFToDouble(src1.key) = (UDFToDouble(src1.key) + UDFToDouble(18)))","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"key"},{"id":1,"vertexType":"COLUMN","vertexId":"value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"
      default.src1.value"},{"id":4,"vertexType":"TABLE","vertexId":"default.src1"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"9b488fe1d7cf018aad3825173808cd36","queryText":"select key, value from src1\nwhere key not in (select key+18 from src1) order by key","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[],"targets":[0,1],"expression":"(1 = 1)","edgeType":"PREDICATE"},{"sources":[2],"targets":[0,1],"expression":"(UDFToDouble(src1.key) + UDFToDouble(18)) is null","edgeType":"PREDICATE"},{"sources":[4],"targets":[0,1],"expression":"(count(*) = 0)","edgeType":"PREDICATE"},{"sources":[],"targets":[0,1],"expression":"true","edgeType":"PREDICATE"},{"sources":[2],"targets":[0,1],"expression":"(UDFToDouble(src1.key) = (UDFToDouble(src1.key) + UDFToDouble(18)))","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"key"},{"id":1,"vertexType":"COLUMN","vertexId":"value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":
      "COLUMN","vertexId":"default.src1.value"},{"id":4,"vertexType":"TABLE","vertexId":"default.src1"}]}
      PREHOOK: query: select * from src1 a
      where not exists
        (select cint from alltypesorc b
    @@ -196,7 +196,7 @@ PREHOOK: type: QUERY
      PREHOOK: Input: default@alltypesorc
      PREHOOK: Input: default@src1
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"53191056e05af9080a30de853e8cea9c","queryText":"select * from src1 a\nwhere not exists\n (select cint from alltypesorc b\n where a.key = b.ctinyint + 300)\nand key > 300","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[2],"targets":[0,1],"expression":"(UDFToDouble(a.key) > UDFToDouble(300))","edgeType":"PREDICATE"},{"sources":[2,4],"targets":[0,1],"expression":"(UDFToDouble(a.key) = UDFToDouble((UDFToInteger(b.ctinyint) + 300)))","edgeType":"PREDICATE"},{"sources":[],"targets":[0,1],"expression":"(1 = 1)","edgeType":"PREDICATE"},{"sources":[4],"targets":[0,1],"expression":"(UDFToInteger(b.ctinyint) + 300) is null","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"a.key"},{"id":1,"vertexType":"COLUMN","vertexId":"a.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src
      1.value"},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"53191056e05af9080a30de853e8cea9c","queryText":"select * from src1 a\nwhere not exists\n (select cint from alltypesorc b\n where a.key = b.ctinyint + 300)\nand key > 300","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[2],"targets":[0,1],"expression":"(UDFToDouble(a.key) > UDFToDouble(300))","edgeType":"PREDICATE"},{"sources":[2,4],"targets":[0,1],"expression":"(UDFToDouble(a.key) = UDFToDouble((UDFToInteger(b.ctinyint) + 300)))","edgeType":"PREDICATE"},{"sources":[],"targets":[0,1],"expression":"(1 = 1)","edgeType":"PREDICATE"},{"sources":[4],"targets":[0,1],"expression":"(UDFToInteger(b.ctinyint) + 300) is null","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"a.key"},{"id":1,"vertexType":"COLUMN","vertexId":"a.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","v
      ertexId":"default.src1.value"},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"}]}
      369
      401 val_401
      406 val_406
    @@ -205,7 +205,7 @@ select x, y from t where y > 'v' order by x, y limit 5
      PREHOOK: type: QUERY
      PREHOOK: Input: default@src1
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"d40d80b93db06c12df9a6ccdc108a9d1","queryText":"with t as (select key x, value y from src1 where key > '2')\nselect x, y from t where y > 'v' order by x, y limit 5","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[2],"targets":[0,1],"expression":"(src1.key > '2')","edgeType":"PREDICATE"},{"sources":[3],"targets":[0,1],"expression":"(src1.value > 'v')","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"x"},{"id":1,"vertexType":"COLUMN","vertexId":"y"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.value"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"d40d80b93db06c12df9a6ccdc108a9d1","queryText":"with t as (select key x, value y from src1 where key > '2')\nselect x, y from t where y > 'v' order by x, y limit 5","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[2],"targets":[0,1],"expression":"(src1.key > '2')","edgeType":"PREDICATE"},{"sources":[3],"targets":[0,1],"expression":"(src1.value > 'v')","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"x"},{"id":1,"vertexType":"COLUMN","vertexId":"y"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.value"}]}
      213 val_213
      238 val_238
      255 val_255
    @@ -216,7 +216,7 @@ select x, y where y > 'v' order by x, y limit 5
      PREHOOK: type: QUERY
      PREHOOK: Input: default@src1
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"9180b71a610dbcf5e636a3c03e48ca3b","queryText":"from (select key x, value y from src1 where key > '2') t\nselect x, y where y > 'v' order by x, y limit 5","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[2],"targets":[0,1],"expression":"(src1.key > '2')","edgeType":"PREDICATE"},{"sources":[3],"targets":[0,1],"expression":"(src1.value > 'v')","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"x"},{"id":1,"vertexType":"COLUMN","vertexId":"y"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.value"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"9180b71a610dbcf5e636a3c03e48ca3b","queryText":"from (select key x, value y from src1 where key > '2') t\nselect x, y where y > 'v' order by x, y limit 5","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[2],"targets":[0,1],"expression":"(src1.key > '2')","edgeType":"PREDICATE"},{"sources":[3],"targets":[0,1],"expression":"(src1.value > 'v')","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"x"},{"id":1,"vertexType":"COLUMN","vertexId":"y"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.value"}]}
      213 val_213
      238 val_238
      255 val_255
    @@ -230,13 +230,13 @@ PREHOOK: type: CREATEVIEW
      PREHOOK: Input: default@alltypesorc
      PREHOOK: Output: database:default
      PREHOOK: Output: default@dest_v1
    -{"version":"1.0","engine":"mr","hash":"a3b2d2665c90fd669400f247f751f081","queryText":"create view dest_v1 as\n select ctinyint, cint from alltypesorc where ctinyint is not null","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[2],"targets":[0,1],"expression":"alltypesorc.ctinyint is not null","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest_v1.ctinyint"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_v1.cint"},{"id":2,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":3,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"a3b2d2665c90fd669400f247f751f081","queryText":"create view dest_v1 as\n select ctinyint, cint from alltypesorc where ctinyint is not null","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[2],"targets":[0,1],"expression":"alltypesorc.ctinyint is not null","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest_v1.ctinyint"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_v1.cint"},{"id":2,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":3,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"}]}
      PREHOOK: query: select * from dest_v1 order by ctinyint, cint limit 2
      PREHOOK: type: QUERY
      PREHOOK: Input: default@alltypesorc
      PREHOOK: Input: default@dest_v1
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"75e07b246069a5541af4a3983500b439","queryText":"select * from dest_v1 order by ctinyint, cint limit 2","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[2],"targets":[0,1],"expression":"alltypesorc.ctinyint is not null","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"dest_v1.ctinyint"},{"id":1,"vertexType":"COLUMN","vertexId":"dest_v1.cint"},{"id":2,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":3,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"75e07b246069a5541af4a3983500b439","queryText":"select * from dest_v1 order by ctinyint, cint limit 2","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[2],"targets":[0,1],"expression":"alltypesorc.ctinyint is not null","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"dest_v1.ctinyint"},{"id":1,"vertexType":"COLUMN","vertexId":"dest_v1.cint"},{"id":2,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":3,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"}]}
      -64 NULL
      -64 NULL
      PREHOOK: query: alter view dest_v1 as select ctinyint from alltypesorc
    @@ -244,14 +244,14 @@ PREHOOK: type: CREATEVIEW
      PREHOOK: Input: default@alltypesorc
      PREHOOK: Output: database:default
      PREHOOK: Output: default@dest_v1
    -{"version":"1.0","engine":"mr","hash":"bcab8b0c498b0d94e0967170956392b6","queryText":"alter view dest_v1 as select ctinyint from alltypesorc","edges":[{"sources":[1],"targets":[0],"edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest_v1.ctinyint"},{"id":1,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"bcab8b0c498b0d94e0967170956392b6","queryText":"alter view dest_v1 as select ctinyint from alltypesorc","edges":[{"sources":[1],"targets":[0],"edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest_v1.ctinyint"},{"id":1,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"}]}
      PREHOOK: query: select t.ctinyint from (select * from dest_v1 where ctinyint is not null) t
      where ctinyint > 10 order by ctinyint limit 2
      PREHOOK: type: QUERY
      PREHOOK: Input: default@alltypesorc
      PREHOOK: Input: default@dest_v1
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"b0192d4da86f4bef38fe7ab1fc607906","queryText":"select t.ctinyint from (select * from dest_v1 where ctinyint is not null) t\nwhere ctinyint > 10 order by ctinyint limit 2","edges":[{"sources":[1],"targets":[0],"edgeType":"PROJECTION"},{"sources":[1],"targets":[0],"expression":"alltypesorc.ctinyint is not null","edgeType":"PREDICATE"},{"sources":[1],"targets":[0],"expression":"(alltypesorc.ctinyint > 10)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"t.ctinyint"},{"id":1,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"b0192d4da86f4bef38fe7ab1fc607906","queryText":"select t.ctinyint from (select * from dest_v1 where ctinyint is not null) t\nwhere ctinyint > 10 order by ctinyint limit 2","edges":[{"sources":[1],"targets":[0],"edgeType":"PROJECTION"},{"sources":[1],"targets":[0],"expression":"alltypesorc.ctinyint is not null","edgeType":"PREDICATE"},{"sources":[1],"targets":[0],"expression":"(alltypesorc.ctinyint > 10)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"t.ctinyint"},{"id":1,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"}]}
      11
      11
      PREHOOK: query: drop view if exists dest_v2
    @@ -276,7 +276,7 @@ PREHOOK: type: CREATEVIEW
      PREHOOK: Input: default@alltypesorc
      PREHOOK: Output: database:default
      PREHOOK: Output: default@dest_v2
    -{"version":"1.0","engine":"mr","hash":"eda442b42b9c3a9cbdb7aff1984ad2dd","queryText":"create view dest_v2 (a, b) as select c1, x2\nfrom (\n select c1, min(c2) x2\n from (\n select c1, c2, c3\n from (\n select cint c1, ctinyint c2, min(cfloat) c3\n from alltypesorc\n group by cint, ctinyint\n order by cint, ctinyint\n limit 1\n ) x\n ) x2\n group by c1\n) y\norder by x2,c1 desc","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"expression":"min(default.alltypesorc.ctinyint)","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest_v2.c1"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_v2.x2"},{"id":2,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"},{"id":3,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"eda442b42b9c3a9cbdb7aff1984ad2dd","queryText":"create view dest_v2 (a, b) as select c1, x2\nfrom (\n select c1, min(c2) x2\n from (\n select c1, c2, c3\n from (\n select cint c1, ctinyint c2, min(cfloat) c3\n from alltypesorc\n group by cint, ctinyint\n order by cint, ctinyint\n limit 1\n ) x\n ) x2\n group by c1\n) y\norder by x2,c1 desc","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"expression":"min(default.alltypesorc.ctinyint)","edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest_v2.c1"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_v2.x2"},{"id":2,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"},{"id":3,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"}]}
      PREHOOK: query: drop view if exists dest_v3
      PREHOOK: type: DROPVIEW
      PREHOOK: query: create view dest_v3 (a1, a2, a3, a4, a5, a6, a7) as
    @@ -297,7 +297,7 @@ PREHOOK: type: CREATEVIEW
      PREHOOK: Input: default@alltypesorc
      PREHOOK: Output: database:default
      PREHOOK: Output: default@dest_v3
    -{"version":"1.0","engine":"mr","hash":"a0c2481ce1c24895a43a950f93a10da7","queryText":"create view dest_v3 (a1, a2, a3, a4, a5, a6, a7) as\n select x.csmallint, x.cbigint bint1, x.ctinyint, c.cbigint bint2, x.cint, x.cfloat, c.cstring1\n from alltypesorc c\n join (\n select a.csmallint csmallint, a.ctinyint ctinyint, a.cstring2 cstring2,\n a.cint cint, a.cstring1 ctring1, b.cfloat cfloat, b.cbigint cbigint\n from ( select * from alltypesorc a where cboolean1=true ) a\n join alltypesorc b on (a.csmallint = b.cint)\n ) x on (x.ctinyint = c.cbigint)\n where x.csmallint=11\n and x.cint > 899\n and x.cfloat > 4.5\n and c.cstring1 < '7'\n and x.cint + x.cfloat + length(c.cstring1) < 1000","edges":[{"sources":[7],"targets":[0],"edgeType":"PROJECTION"},{"sources":[8],"targets":[1,2],"edgeType":"PROJECTION"},{"sources":[9],"targets":[3],"edgeType":"PROJECTION"},{"sources":[10],"targets":[4],"edgeType":"PROJECTION"},{"sources":[11],"targets":[5],"edgeType":"PROJ
      ECTION"},{"sources":[12],"targets":[6],"edgeType":"PROJECTION"},{"sources":[8,9],"targets":[0,1,3,2,4,5,6],"expression":"(c.cbigint = UDFToLong(x._col1))","edgeType":"PREDICATE"},{"sources":[13],"targets":[0,1,3,2,4,5,6],"expression":"(a.cboolean1 = true)","edgeType":"PREDICATE"},{"sources":[7,10],"targets":[0,1,3,2,4,5,6],"expression":"(UDFToInteger(a._col1) = b.cint)","edgeType":"PREDICATE"},{"sources":[7,10,11,12],"targets":[0,1,3,2,4,5,6],"expression":"((x.csmallint = 11) and (x.cint > 899) and (x.cfloat > 4.5) and (c.cstring1 < '7') and (((x.cint + x.cfloat) + length(c.cstring1)) < 1000))","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest_v3.csmallint"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_v3.bint1"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest_v3.bint2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest_v3.ctinyint"},{"id":4,"vertexType":"COLUMN","vertexId":"default.dest_v3.cint"},{"id":5,"vertexType":"
      COLUMN","vertexId":"default.dest_v3.cfloat"},{"id":6,"vertexType":"COLUMN","vertexId":"default.dest_v3.cstring1"},{"id":7,"vertexType":"COLUMN","vertexId":"default.alltypesorc.csmallint"},{"id":8,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cbigint"},{"id":9,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":10,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"},{"id":11,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cfloat"},{"id":12,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cstring1"},{"id":13,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cboolean1"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"a0c2481ce1c24895a43a950f93a10da7","queryText":"create view dest_v3 (a1, a2, a3, a4, a5, a6, a7) as\n select x.csmallint, x.cbigint bint1, x.ctinyint, c.cbigint bint2, x.cint, x.cfloat, c.cstring1\n from alltypesorc c\n join (\n select a.csmallint csmallint, a.ctinyint ctinyint, a.cstring2 cstring2,\n a.cint cint, a.cstring1 ctring1, b.cfloat cfloat, b.cbigint cbigint\n from ( select * from alltypesorc a where cboolean1=true ) a\n join alltypesorc b on (a.csmallint = b.cint)\n ) x on (x.ctinyint = c.cbigint)\n where x.csmallint=11\n and x.cint > 899\n and x.cfloat > 4.5\n and c.cstring1 < '7'\n and x.cint + x.cfloat + length(c.cstring1) < 1000","edges":[{"sources":[7],"targets":[0],"edgeType":"PROJECTION"},{"sources":[8],"targets":[1,2],"edgeType":"PROJECTION"},{"sources":[9],"targets":[3],"edgeType":"PROJECTION"},{"sources":[10],"targets":[4],"edgeType":"PROJECTION"},{"sources":[11],"targets"
      :[5],"edgeType":"PROJECTION"},{"sources":[12],"targets":[6],"edgeType":"PROJECTION"},{"sources":[8,9],"targets":[0,1,3,2,4,5,6],"expression":"(c.cbigint = UDFToLong(x._col1))","edgeType":"PREDICATE"},{"sources":[13],"targets":[0,1,3,2,4,5,6],"expression":"(a.cboolean1 = true)","edgeType":"PREDICATE"},{"sources":[7,10],"targets":[0,1,3,2,4,5,6],"expression":"(UDFToInteger(a._col1) = b.cint)","edgeType":"PREDICATE"},{"sources":[7,10,11,12],"targets":[0,1,3,2,4,5,6],"expression":"((x.csmallint = 11) and (x.cint > 899) and (x.cfloat > 4.5) and (c.cstring1 < '7') and (((x.cint + x.cfloat) + length(c.cstring1)) < 1000))","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest_v3.csmallint"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_v3.bint1"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest_v3.bint2"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest_v3.ctinyint"},{"id":4,"vertexType":"COLUMN","vertexId":"default.dest_v3.cint"},{
      "id":5,"vertexType":"COLUMN","vertexId":"default.dest_v3.cfloat"},{"id":6,"vertexType":"COLUMN","vertexId":"default.dest_v3.cstring1"},{"id":7,"vertexType":"COLUMN","vertexId":"default.alltypesorc.csmallint"},{"id":8,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cbigint"},{"id":9,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":10,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"},{"id":11,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cfloat"},{"id":12,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cstring1"},{"id":13,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cboolean1"}]}
      PREHOOK: query: alter view dest_v3 as
        select * from (
          select sum(a.ctinyint) over (partition by a.csmallint order by a.csmallint) a,
    @@ -311,13 +311,13 @@ PREHOOK: type: CREATEVIEW
      PREHOOK: Input: default@alltypesorc
      PREHOOK: Output: database:default
      PREHOOK: Output: default@dest_v3
    -{"version":"1.0","engine":"mr","hash":"949093880975cc807ad1a8003e8a8c7c","queryText":"alter view dest_v3 as\n select * from (\n select sum(a.ctinyint) over (partition by a.csmallint order by a.csmallint) a,\n count(b.cstring1) x, b.cboolean1\n from alltypesorc a join alltypesorc b on (a.cint = b.cint)\n where a.cboolean2 = true and b.cfloat > 0\n group by a.ctinyint, a.csmallint, b.cboolean1\n having count(a.cint) > 10\n order by a, x, b.cboolean1 limit 10) t","edges":[{"sources":[3,4,5,6,7],"targets":[0],"expression":"(tok_function sum (. (tok_table_or_col a) ctinyint) (tok_windowspec (tok_partitioningspec (tok_distributeby (. (tok_table_or_col a) csmallint)) (tok_orderby (tok_tabsortcolnameasc (. (tok_table_or_col a) csmallint))))))","edgeType":"PROJECTION"},{"sources":[6],"targets":[1],"expression":"count(default.alltypesorc.cstring1)","edgeType":"PROJECTION"},{"sources":[5],"targets":[2],"edgeType":"PROJECTION"},{"sources":[7],"targets":[0,1,2],"expressio
      n":"(a.cint = b.cint)","edgeType":"PREDICATE"},{"sources":[8,9],"targets":[0,1,2],"expression":"((a.cboolean2 = true) and (b.cfloat > 0.0))","edgeType":"PREDICATE"},{"sources":[7],"targets":[0,1,2],"expression":"(count(default.alltypesorc.cint) > 10)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest_v3.a"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_v3.x"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest_v3.cboolean1"},{"id":3,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.csmallint"},{"id":5,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cboolean1"},{"id":6,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cstring1"},{"id":7,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"},{"id":8,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cboolean2"},{"id":9,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cfloat"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"949093880975cc807ad1a8003e8a8c7c","queryText":"alter view dest_v3 as\n select * from (\n select sum(a.ctinyint) over (partition by a.csmallint order by a.csmallint) a,\n count(b.cstring1) x, b.cboolean1\n from alltypesorc a join alltypesorc b on (a.cint = b.cint)\n where a.cboolean2 = true and b.cfloat > 0\n group by a.ctinyint, a.csmallint, b.cboolean1\n having count(a.cint) > 10\n order by a, x, b.cboolean1 limit 10) t","edges":[{"sources":[3,4,5,6,7],"targets":[0],"expression":"(tok_function sum (. (tok_table_or_col a) ctinyint) (tok_windowspec (tok_partitioningspec (tok_distributeby (. (tok_table_or_col a) csmallint)) (tok_orderby (tok_tabsortcolnameasc (. (tok_table_or_col a) csmallint))))))","edgeType":"PROJECTION"},{"sources":[6],"targets":[1],"expression":"count(default.alltypesorc.cstring1)","edgeType":"PROJECTION"},{"sources":[5],"targets":[2],"edgeType":"PROJECTION"},{"sources":[7],"target
      s":[0,1,2],"expression":"(a.cint = b.cint)","edgeType":"PREDICATE"},{"sources":[8,9],"targets":[0,1,2],"expression":"((a.cboolean2 = true) and (b.cfloat > 0.0))","edgeType":"PREDICATE"},{"sources":[7],"targets":[0,1,2],"expression":"(count(default.alltypesorc.cint) > 10)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest_v3.a"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_v3.x"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest_v3.cboolean1"},{"id":3,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.csmallint"},{"id":5,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cboolean1"},{"id":6,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cstring1"},{"id":7,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"},{"id":8,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cboolean2"},{"id":9,"vertexType":"COLUMN","vertexId":"default.alltyp
      esorc.cfloat"}]}
      PREHOOK: query: select * from dest_v3 limit 2
      PREHOOK: type: QUERY
      PREHOOK: Input: default@alltypesorc
      PREHOOK: Input: default@dest_v3
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"40bccc0722002f798d0548b59e369e83","queryText":"select * from dest_v3 limit 2","edges":[{"sources":[3,4,5,6,7],"targets":[0],"expression":"(tok_function sum (. (tok_table_or_col $hdt$_0) ctinyint) (tok_windowspec (tok_partitioningspec (tok_distributeby (. (tok_table_or_col $hdt$_0) csmallint)) (tok_orderby (tok_tabsortcolnameasc (. (tok_table_or_col $hdt$_0) csmallint)))) (tok_windowvalues (preceding 2147483647) current)))","edgeType":"PROJECTION"},{"sources":[6],"targets":[1],"expression":"count(default.alltypesorc.cstring1)","edgeType":"PROJECTION"},{"sources":[5],"targets":[2],"edgeType":"PROJECTION"},{"sources":[8],"targets":[0,1,2],"expression":"(a.cboolean2 = true)","edgeType":"PREDICATE"},{"sources":[7],"targets":[0,1,2],"expression":"(a.cint = a.cint)","edgeType":"PREDICATE"},{"sources":[9],"targets":[0,1,2],"expression":"(a.cfloat > 0.0)","edgeType":"PREDICATE"},{"sources":[7],"targets":[0,1,2],"expression":"(count(default.alltypesorc.c
      int) > 10)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"dest_v3.a"},{"id":1,"vertexType":"COLUMN","vertexId":"dest_v3.x"},{"id":2,"vertexType":"COLUMN","vertexId":"dest_v3.cboolean1"},{"id":3,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.csmallint"},{"id":5,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cboolean1"},{"id":6,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cstring1"},{"id":7,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"},{"id":8,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cboolean2"},{"id":9,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cfloat"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"40bccc0722002f798d0548b59e369e83","queryText":"select * from dest_v3 limit 2","edges":[{"sources":[3,4,5,6,7],"targets":[0],"expression":"(tok_function sum (. (tok_table_or_col $hdt$_0) ctinyint) (tok_windowspec (tok_partitioningspec (tok_distributeby (. (tok_table_or_col $hdt$_0) csmallint)) (tok_orderby (tok_tabsortcolnameasc (. (tok_table_or_col $hdt$_0) csmallint)))) (tok_windowvalues (preceding 2147483647) current)))","edgeType":"PROJECTION"},{"sources":[6],"targets":[1],"expression":"count(default.alltypesorc.cstring1)","edgeType":"PROJECTION"},{"sources":[5],"targets":[2],"edgeType":"PROJECTION"},{"sources":[8],"targets":[0,1,2],"expression":"(a.cboolean2 = true)","edgeType":"PREDICATE"},{"sources":[7],"targets":[0,1,2],"expression":"(a.cint = a.cint)","edgeType":"PREDICATE"},{"sources":[9],"targets":[0,1,2],"expression":"(a.cfloat > 0.0)","edgeType":"PREDICATE"},{"sources":[7],"targets":[0,1,2],"expression":"(count(
      default.alltypesorc.cint) > 10)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"dest_v3.a"},{"id":1,"vertexType":"COLUMN","vertexId":"dest_v3.x"},{"id":2,"vertexType":"COLUMN","vertexId":"dest_v3.cboolean1"},{"id":3,"vertexType":"COLUMN","vertexId":"default.alltypesorc.ctinyint"},{"id":4,"vertexType":"COLUMN","vertexId":"default.alltypesorc.csmallint"},{"id":5,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cboolean1"},{"id":6,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cstring1"},{"id":7,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cint"},{"id":8,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cboolean2"},{"id":9,"vertexType":"COLUMN","vertexId":"default.alltypesorc.cfloat"}]}
      38 216 false
      38 229 true
      PREHOOK: query: drop table if exists src_dp
    @@ -348,22 +348,22 @@ PREHOOK: query: insert into dest_dp1 partition (year) select first, word, year f
      PREHOOK: type: QUERY
      PREHOOK: Input: default@src_dp
      PREHOOK: Output: default@dest_dp1
    -{"version":"1.0","engine":"mr","hash":"b2d38401a3281e74a003d9650df97060","queryText":"insert into dest_dp1 partition (year) select first, word, year from src_dp","edges":[{"sources":[3],"targets":[0],"edgeType":"PROJECTION"},{"sources":[4],"targets":[1],"edgeType":"PROJECTION"},{"sources":[5],"targets":[2],"edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest_dp1.first"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_dp1.word"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest_dp1.year"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src_dp.first"},{"id":4,"vertexType":"COLUMN","vertexId":"default.src_dp.word"},{"id":5,"vertexType":"COLUMN","vertexId":"default.src_dp.year"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"b2d38401a3281e74a003d9650df97060","queryText":"insert into dest_dp1 partition (year) select first, word, year from src_dp","edges":[{"sources":[3],"targets":[0],"edgeType":"PROJECTION"},{"sources":[4],"targets":[1],"edgeType":"PROJECTION"},{"sources":[5],"targets":[2],"edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest_dp1.first"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_dp1.word"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest_dp1.year"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src_dp.first"},{"id":4,"vertexType":"COLUMN","vertexId":"default.src_dp.word"},{"id":5,"vertexType":"COLUMN","vertexId":"default.src_dp.year"}]}
      PREHOOK: query: insert into dest_dp2 partition (y, m) select first, word, year, month from src_dp
      PREHOOK: type: QUERY
      PREHOOK: Input: default@src_dp
      PREHOOK: Output: default@dest_dp2
    -{"version":"1.0","engine":"mr","hash":"237302d8ffd62b5b71d9544b22de7770","queryText":"insert into dest_dp2 partition (y, m) select first, word, year, month from src_dp","edges":[{"sources":[4],"targets":[0],"edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest_dp2.first"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_dp2.word"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest_dp2.y"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest_dp2.m"},{"id":4,"vertexType":"COLUMN","vertexId":"default.src_dp.first"},{"id":5,"vertexType":"COLUMN","vertexId":"default.src_dp.word"},{"id":6,"vertexType":"COLUMN","vertexId":"default.src_dp.year"},{"id":7,"vertexType":"COLUMN","vertexId":"default.src_dp.month"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"237302d8ffd62b5b71d9544b22de7770","queryText":"insert into dest_dp2 partition (y, m) select first, word, year, month from src_dp","edges":[{"sources":[4],"targets":[0],"edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest_dp2.first"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_dp2.word"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest_dp2.y"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest_dp2.m"},{"id":4,"vertexType":"COLUMN","vertexId":"default.src_dp.first"},{"id":5,"vertexType":"COLUMN","vertexId":"default.src_dp.word"},{"id":6,"vertexType":"COLUMN","vertexId":"default.src_dp.year"},{"id":7,"vertexType":"COLUMN","vertexId":"default.src_dp.month"}]}
      PREHOOK: query: insert into dest_dp2 partition (y=0, m) select first, word, month from src_dp where year=0
      PREHOOK: type: QUERY
      PREHOOK: Input: default@src_dp
      PREHOOK: Output: default@dest_dp2@y=0
    -{"version":"1.0","engine":"mr","hash":"63e990b47e7ab4eb6f2ea09dfb7453ff","queryText":"insert into dest_dp2 partition (y=0, m) select first, word, month from src_dp where year=0","edges":[{"sources":[3],"targets":[0],"edgeType":"PROJECTION"},{"sources":[4],"targets":[1],"edgeType":"PROJECTION"},{"sources":[5],"targets":[2],"edgeType":"PROJECTION"},{"sources":[6],"targets":[0,1,2],"expression":"(src_dp.year = 0)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest_dp2.first"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_dp2.word"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest_dp2.m"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src_dp.first"},{"id":4,"vertexType":"COLUMN","vertexId":"default.src_dp.word"},{"id":5,"vertexType":"COLUMN","vertexId":"default.src_dp.month"},{"id":6,"vertexType":"COLUMN","vertexId":"default.src_dp.year"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"63e990b47e7ab4eb6f2ea09dfb7453ff","queryText":"insert into dest_dp2 partition (y=0, m) select first, word, month from src_dp where year=0","edges":[{"sources":[3],"targets":[0],"edgeType":"PROJECTION"},{"sources":[4],"targets":[1],"edgeType":"PROJECTION"},{"sources":[5],"targets":[2],"edgeType":"PROJECTION"},{"sources":[6],"targets":[0,1,2],"expression":"(src_dp.year = 0)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest_dp2.first"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_dp2.word"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest_dp2.m"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src_dp.first"},{"id":4,"vertexType":"COLUMN","vertexId":"default.src_dp.word"},{"id":5,"vertexType":"COLUMN","vertexId":"default.src_dp.month"},{"id":6,"vertexType":"COLUMN","vertexId":"default.src_dp.year"}]}
      PREHOOK: query: insert into dest_dp3 partition (y=0, m, d) select first, word, month m, day d from src_dp where year=0
      PREHOOK: type: QUERY
      PREHOOK: Input: default@src_dp
      PREHOOK: Output: default@dest_dp3@y=0
    -{"version":"1.0","engine":"mr","hash":"6bf71a9d02c0612c63b6f40b15c1e8b3","queryText":"insert into dest_dp3 partition (y=0, m, d) select first, word, month m, day d from src_dp where year=0","edges":[{"sources":[4],"targets":[0],"edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"edgeType":"PROJECTION"},{"sources":[8],"targets":[0,1,2,3],"expression":"(src_dp.year = 0)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest_dp3.first"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_dp3.word"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest_dp3.m"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest_dp3.d"},{"id":4,"vertexType":"COLUMN","vertexId":"default.src_dp.first"},{"id":5,"vertexType":"COLUMN","vertexId":"default.src_dp.word"},{"id":6,"vertexType":"COLUMN","vertexId":"default.src_dp.month"},{"id":7,"vertexType":"CO
      LUMN","vertexId":"default.src_dp.day"},{"id":8,"vertexType":"COLUMN","vertexId":"default.src_dp.year"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"6bf71a9d02c0612c63b6f40b15c1e8b3","queryText":"insert into dest_dp3 partition (y=0, m, d) select first, word, month m, day d from src_dp where year=0","edges":[{"sources":[4],"targets":[0],"edgeType":"PROJECTION"},{"sources":[5],"targets":[1],"edgeType":"PROJECTION"},{"sources":[6],"targets":[2],"edgeType":"PROJECTION"},{"sources":[7],"targets":[3],"edgeType":"PROJECTION"},{"sources":[8],"targets":[0,1,2,3],"expression":"(src_dp.year = 0)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest_dp3.first"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_dp3.word"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest_dp3.m"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest_dp3.d"},{"id":4,"vertexType":"COLUMN","vertexId":"default.src_dp.first"},{"id":5,"vertexType":"COLUMN","vertexId":"default.src_dp.word"},{"id":6,"vertexType":"COLUMN","vertexId":"default.src_dp.month"},{"i
      d":7,"vertexType":"COLUMN","vertexId":"default.src_dp.day"},{"id":8,"vertexType":"COLUMN","vertexId":"default.src_dp.year"}]}
      PREHOOK: query: drop table if exists src_dp1
      PREHOOK: type: DROPTABLE
      PREHOOK: query: create table src_dp1 (f string, w string, m int)
    @@ -385,4 +385,4 @@ PREHOOK: Output: default@dest_dp1@year=0
      PREHOOK: Output: default@dest_dp2
      PREHOOK: Output: default@dest_dp2@y=1
      PREHOOK: Output: default@dest_dp3@y=2
    -{"version":"1.0","engine":"mr","hash":"44f16edbf35cfeaf3d4f7b0113a69b74","queryText":"from src_dp, src_dp1\ninsert into dest_dp1 partition (year) select first, word, year\ninsert into dest_dp2 partition (y, m) select first, word, year, month\ninsert into dest_dp3 partition (y=2, m, d) select first, word, month m, day d where year=2\ninsert into dest_dp2 partition (y=1, m) select f, w, m\ninsert into dest_dp1 partition (year=0) select f, w","edges":[{"sources":[11],"targets":[0,1,2],"edgeType":"PROJECTION"},{"sources":[12],"targets":[3,4,5],"edgeType":"PROJECTION"},{"sources":[13],"targets":[6,7],"edgeType":"PROJECTION"},{"sources":[14],"targets":[8,9],"edgeType":"PROJECTION"},{"sources":[15],"targets":[1,0],"edgeType":"PROJECTION"},{"sources":[16],"targets":[4,3],"edgeType":"PROJECTION"},{"sources":[17],"targets":[8],"edgeType":"PROJECTION"},{"sources":[18],"targets":[10],"edgeType":"PROJECTION"},{"sources":[13],"targets":[2,5,9,10],"expression":"(src_dp.year = 2)","edgeType":"PREDI
      CATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest_dp1.first"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_dp2.first"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest_dp3.first"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest_dp1.word"},{"id":4,"vertexType":"COLUMN","vertexId":"default.dest_dp2.word"},{"id":5,"vertexType":"COLUMN","vertexId":"default.dest_dp3.word"},{"id":6,"vertexType":"COLUMN","vertexId":"default.dest_dp1.year"},{"id":7,"vertexType":"COLUMN","vertexId":"default.dest_dp2.y"},{"id":8,"vertexType":"COLUMN","vertexId":"default.dest_dp2.m"},{"id":9,"vertexType":"COLUMN","vertexId":"default.dest_dp3.m"},{"id":10,"vertexType":"COLUMN","vertexId":"default.dest_dp3.d"},{"id":11,"vertexType":"COLUMN","vertexId":"default.src_dp.first"},{"id":12,"vertexType":"COLUMN","vertexId":"default.src_dp.word"},{"id":13,"vertexType":"COLUMN","vertexId":"default.src_dp.year"},{"id":14,"vertexType":"COLUMN","vertexId":"default.src_dp.month
      "},{"id":15,"vertexType":"COLUMN","vertexId":"default.src_dp1.f"},{"id":16,"vertexType":"COLUMN","vertexId":"default.src_dp1.w"},{"id":17,"vertexType":"COLUMN","vertexId":"default.src_dp1.m"},{"id":18,"vertexType":"COLUMN","vertexId":"default.src_dp.day"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"44f16edbf35cfeaf3d4f7b0113a69b74","queryText":"from src_dp, src_dp1\ninsert into dest_dp1 partition (year) select first, word, year\ninsert into dest_dp2 partition (y, m) select first, word, year, month\ninsert into dest_dp3 partition (y=2, m, d) select first, word, month m, day d where year=2\ninsert into dest_dp2 partition (y=1, m) select f, w, m\ninsert into dest_dp1 partition (year=0) select f, w","edges":[{"sources":[11],"targets":[0,1,2],"edgeType":"PROJECTION"},{"sources":[12],"targets":[3,4,5],"edgeType":"PROJECTION"},{"sources":[13],"targets":[6,7],"edgeType":"PROJECTION"},{"sources":[14],"targets":[8,9],"edgeType":"PROJECTION"},{"sources":[15],"targets":[1,0],"edgeType":"PROJECTION"},{"sources":[16],"targets":[4,3],"edgeType":"PROJECTION"},{"sources":[17],"targets":[8],"edgeType":"PROJECTION"},{"sources":[18],"targets":[10],"edgeType":"PROJECTION"},{"sources":[13],"targets":[2,5,9,10],"expression":"(src_dp.year =
      2)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.dest_dp1.first"},{"id":1,"vertexType":"COLUMN","vertexId":"default.dest_dp2.first"},{"id":2,"vertexType":"COLUMN","vertexId":"default.dest_dp3.first"},{"id":3,"vertexType":"COLUMN","vertexId":"default.dest_dp1.word"},{"id":4,"vertexType":"COLUMN","vertexId":"default.dest_dp2.word"},{"id":5,"vertexType":"COLUMN","vertexId":"default.dest_dp3.word"},{"id":6,"vertexType":"COLUMN","vertexId":"default.dest_dp1.year"},{"id":7,"vertexType":"COLUMN","vertexId":"default.dest_dp2.y"},{"id":8,"vertexType":"COLUMN","vertexId":"default.dest_dp2.m"},{"id":9,"vertexType":"COLUMN","vertexId":"default.dest_dp3.m"},{"id":10,"vertexType":"COLUMN","vertexId":"default.dest_dp3.d"},{"id":11,"vertexType":"COLUMN","vertexId":"default.src_dp.first"},{"id":12,"vertexType":"COLUMN","vertexId":"default.src_dp.word"},{"id":13,"vertexType":"COLUMN","vertexId":"default.src_dp.year"},{"id":14,"vertexType":"COLUMN","vertexId":
      "default.src_dp.month"},{"id":15,"vertexType":"COLUMN","vertexId":"default.src_dp1.f"},{"id":16,"vertexType":"COLUMN","vertexId":"default.src_dp1.w"},{"id":17,"vertexType":"COLUMN","vertexId":"default.src_dp1.m"},{"id":18,"vertexType":"COLUMN","vertexId":"default.src_dp.day"}]}
  • Xuefu at Nov 12, 2015 at 3:59 am
    http://git-wip-us.apache.org/repos/asf/hive/blob/92620d8e/ql/src/test/results/clientpositive/lineage2.q.out
    ----------------------------------------------------------------------
    diff --git a/ql/src/test/results/clientpositive/lineage2.q.out b/ql/src/test/results/clientpositive/lineage2.q.out
    index 0185d43..aed41b0 100644
    --- a/ql/src/test/results/clientpositive/lineage2.q.out
    +++ b/ql/src/test/results/clientpositive/lineage2.q.out
    @@ -5,12 +5,12 @@ PREHOOK: type: CREATETABLE_AS_SELECT
      PREHOOK: Input: default@src1
      PREHOOK: Output: database:default
      PREHOOK: Output: default@src2
    -{"version":"1.0","engine":"mr","hash":"3a39d46286e4c2cd2139c9bb248f7b4f","queryText":"create table src2 as select key key2, value value2 from src1","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.src2.key2"},{"id":1,"vertexType":"COLUMN","vertexId":"default.src2.value2"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.value"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"3a39d46286e4c2cd2139c9bb248f7b4f","queryText":"create table src2 as select key key2, value value2 from src1","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"default.src2.key2"},{"id":1,"vertexType":"COLUMN","vertexId":"default.src2.value2"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.value"}]}
      PREHOOK: query: select * from src1 where key is not null and value is not null limit 3
      PREHOOK: type: QUERY
      PREHOOK: Input: default@src1
      #### A masked pattern was here ####
    -{"version":"1.0","engine":"mr","hash":"b5b224847b2333e790a2c229434a04c8","queryText":"select * from src1 where key is not null and value is not null limit 3","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[2,3],"targets":[0,1],"expression":"(src1.key is not null and src1.value is not null)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"src1.key"},{"id":1,"vertexType":"COLUMN","vertexId":"src1.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.value"}]}
    +{"version":"1.0","engine":"mr","database":"default","hash":"b5b224847b2333e790a2c229434a04c8","queryText":"select * from src1 where key is not null and value is not null limit 3","edges":[{"sources":[2],"targets":[0],"edgeType":"PROJECTION"},{"sources":[3],"targets":[1],"edgeType":"PROJECTION"},{"sources":[2,3],"targets":[0,1],"expression":"(src1.key is not null and src1.value is not null)","edgeType":"PREDICATE"}],"vertices":[{"id":0,"vertexType":"COLUMN","vertexId":"src1.key"},{"id":1,"vertexType":"COLUMN","vertexId":"src1.value"},{"id":2,"vertexType":"COLUMN","vertexId":"default.src1.key"},{"id":3,"vertexType":"COLUMN","vertexId":"default.src1.value"}]}
     &n