http://git-wip-us.apache.org/repos/asf/hive/blob/3fde4440/ql/src/test/results/clientpositive/masking_12.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/masking_12.q.out 
b/ql/src/test/results/clientpositive/masking_12.q.out
index 32c420c..cc49fd3 100644
--- a/ql/src/test/results/clientpositive/masking_12.q.out
+++ b/ql/src/test/results/clientpositive/masking_12.q.out
@@ -29,23 +29,39 @@ POSTHOOK: query: explain
 select * from `v0`
 POSTHOOK: type: QUERY
 STAGE DEPENDENCIES:
-  Stage-0 is a root stage
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
 
 STAGE PLANS:
+  Stage: Stage-1
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: masking_test_n5
+            properties:
+              insideView TRUE
+            Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE 
Column stats: NONE
+            Filter Operator
+              predicate: (((key % 2) = 0) and (key < 10)) (type: boolean)
+              Statistics: Num rows: 83 Data size: 881 Basic stats: COMPLETE 
Column stats: NONE
+              Select Operator
+                expressions: key (type: int), reverse(value) (type: string)
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 83 Data size: 881 Basic stats: COMPLETE 
Column stats: NONE
+                File Output Operator
+                  compressed: false
+                  Statistics: Num rows: 83 Data size: 881 Basic stats: 
COMPLETE Column stats: NONE
+                  table:
+                      input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
+                      output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                      serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+      Execution mode: vectorized
+
   Stage: Stage-0
     Fetch Operator
       limit: -1
       Processor Tree:
-        TableScan
-          alias: masking_test_n5
-          properties:
-            insideView TRUE
-          Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE 
Column stats: NONE
-          Select Operator
-            expressions: key (type: int), value (type: string)
-            outputColumnNames: _col0, _col1
-            Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE 
Column stats: NONE
-            ListSink
+        ListSink
 
 PREHOOK: query: select * from `v0`
 PREHOOK: type: QUERY
@@ -57,506 +73,12 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@masking_test_n5
 POSTHOOK: Input: default@v0
 #### A masked pattern was here ####
-238    val_238
-86     val_86
-311    val_311
-27     val_27
-165    val_165
-409    val_409
-255    val_255
-278    val_278
-98     val_98
-484    val_484
-265    val_265
-193    val_193
-401    val_401
-150    val_150
-273    val_273
-224    val_224
-369    val_369
-66     val_66
-128    val_128
-213    val_213
-146    val_146
-406    val_406
-429    val_429
-374    val_374
-152    val_152
-469    val_469
-145    val_145
-495    val_495
-37     val_37
-327    val_327
-281    val_281
-277    val_277
-209    val_209
-15     val_15
-82     val_82
-403    val_403
-166    val_166
-417    val_417
-430    val_430
-252    val_252
-292    val_292
-219    val_219
-287    val_287
-153    val_153
-193    val_193
-338    val_338
-446    val_446
-459    val_459
-394    val_394
-237    val_237
-482    val_482
-174    val_174
-413    val_413
-494    val_494
-207    val_207
-199    val_199
-466    val_466
-208    val_208
-174    val_174
-399    val_399
-396    val_396
-247    val_247
-417    val_417
-489    val_489
-162    val_162
-377    val_377
-397    val_397
-309    val_309
-365    val_365
-266    val_266
-439    val_439
-342    val_342
-367    val_367
-325    val_325
-167    val_167
-195    val_195
-475    val_475
-17     val_17
-113    val_113
-155    val_155
-203    val_203
-339    val_339
-0      val_0
-455    val_455
-128    val_128
-311    val_311
-316    val_316
-57     val_57
-302    val_302
-205    val_205
-149    val_149
-438    val_438
-345    val_345
-129    val_129
-170    val_170
-20     val_20
-489    val_489
-157    val_157
-378    val_378
-221    val_221
-92     val_92
-111    val_111
-47     val_47
-72     val_72
-4      val_4
-280    val_280
-35     val_35
-427    val_427
-277    val_277
-208    val_208
-356    val_356
-399    val_399
-169    val_169
-382    val_382
-498    val_498
-125    val_125
-386    val_386
-437    val_437
-469    val_469
-192    val_192
-286    val_286
-187    val_187
-176    val_176
-54     val_54
-459    val_459
-51     val_51
-138    val_138
-103    val_103
-239    val_239
-213    val_213
-216    val_216
-430    val_430
-278    val_278
-176    val_176
-289    val_289
-221    val_221
-65     val_65
-318    val_318
-332    val_332
-311    val_311
-275    val_275
-137    val_137
-241    val_241
-83     val_83
-333    val_333
-180    val_180
-284    val_284
-12     val_12
-230    val_230
-181    val_181
-67     val_67
-260    val_260
-404    val_404
-384    val_384
-489    val_489
-353    val_353
-373    val_373
-272    val_272
-138    val_138
-217    val_217
-84     val_84
-348    val_348
-466    val_466
-58     val_58
-8      val_8
-411    val_411
-230    val_230
-208    val_208
-348    val_348
-24     val_24
-463    val_463
-431    val_431
-179    val_179
-172    val_172
-42     val_42
-129    val_129
-158    val_158
-119    val_119
-496    val_496
-0      val_0
-322    val_322
-197    val_197
-468    val_468
-393    val_393
-454    val_454
-100    val_100
-298    val_298
-199    val_199
-191    val_191
-418    val_418
-96     val_96
-26     val_26
-165    val_165
-327    val_327
-230    val_230
-205    val_205
-120    val_120
-131    val_131
-51     val_51
-404    val_404
-43     val_43
-436    val_436
-156    val_156
-469    val_469
-468    val_468
-308    val_308
-95     val_95
-196    val_196
-288    val_288
-481    val_481
-457    val_457
-98     val_98
-282    val_282
-197    val_197
-187    val_187
-318    val_318
-318    val_318
-409    val_409
-470    val_470
-137    val_137
-369    val_369
-316    val_316
-169    val_169
-413    val_413
-85     val_85
-77     val_77
-0      val_0
-490    val_490
-87     val_87
-364    val_364
-179    val_179
-118    val_118
-134    val_134
-395    val_395
-282    val_282
-138    val_138
-238    val_238
-419    val_419
-15     val_15
-118    val_118
-72     val_72
-90     val_90
-307    val_307
-19     val_19
-435    val_435
-10     val_10
-277    val_277
-273    val_273
-306    val_306
-224    val_224
-309    val_309
-389    val_389
-327    val_327
-242    val_242
-369    val_369
-392    val_392
-272    val_272
-331    val_331
-401    val_401
-242    val_242
-452    val_452
-177    val_177
-226    val_226
-5      val_5
-497    val_497
-402    val_402
-396    val_396
-317    val_317
-395    val_395
-58     val_58
-35     val_35
-336    val_336
-95     val_95
-11     val_11
-168    val_168
-34     val_34
-229    val_229
-233    val_233
-143    val_143
-472    val_472
-322    val_322
-498    val_498
-160    val_160
-195    val_195
-42     val_42
-321    val_321
-430    val_430
-119    val_119
-489    val_489
-458    val_458
-78     val_78
-76     val_76
-41     val_41
-223    val_223
-492    val_492
-149    val_149
-449    val_449
-218    val_218
-228    val_228
-138    val_138
-453    val_453
-30     val_30
-209    val_209
-64     val_64
-468    val_468
-76     val_76
-74     val_74
-342    val_342
-69     val_69
-230    val_230
-33     val_33
-368    val_368
-103    val_103
-296    val_296
-113    val_113
-216    val_216
-367    val_367
-344    val_344
-167    val_167
-274    val_274
-219    val_219
-239    val_239
-485    val_485
-116    val_116
-223    val_223
-256    val_256
-263    val_263
-70     val_70
-487    val_487
-480    val_480
-401    val_401
-288    val_288
-191    val_191
-5      val_5
-244    val_244
-438    val_438
-128    val_128
-467    val_467
-432    val_432
-202    val_202
-316    val_316
-229    val_229
-469    val_469
-463    val_463
-280    val_280
-2      val_2
-35     val_35
-283    val_283
-331    val_331
-235    val_235
-80     val_80
-44     val_44
-193    val_193
-321    val_321
-335    val_335
-104    val_104
-466    val_466
-366    val_366
-175    val_175
-403    val_403
-483    val_483
-53     val_53
-105    val_105
-257    val_257
-406    val_406
-409    val_409
-190    val_190
-406    val_406
-401    val_401
-114    val_114
-258    val_258
-90     val_90
-203    val_203
-262    val_262
-348    val_348
-424    val_424
-12     val_12
-396    val_396
-201    val_201
-217    val_217
-164    val_164
-431    val_431
-454    val_454
-478    val_478
-298    val_298
-125    val_125
-431    val_431
-164    val_164
-424    val_424
-187    val_187
-382    val_382
-5      val_5
-70     val_70
-397    val_397
-480    val_480
-291    val_291
-24     val_24
-351    val_351
-255    val_255
-104    val_104
-70     val_70
-163    val_163
-438    val_438
-119    val_119
-414    val_414
-200    val_200
-491    val_491
-237    val_237
-439    val_439
-360    val_360
-248    val_248
-479    val_479
-305    val_305
-417    val_417
-199    val_199
-444    val_444
-120    val_120
-429    val_429
-169    val_169
-443    val_443
-323    val_323
-325    val_325
-277    val_277
-230    val_230
-478    val_478
-178    val_178
-468    val_468
-310    val_310
-317    val_317
-333    val_333
-493    val_493
-460    val_460
-207    val_207
-249    val_249
-265    val_265
-480    val_480
-83     val_83
-136    val_136
-353    val_353
-172    val_172
-214    val_214
-462    val_462
-233    val_233
-406    val_406
-133    val_133
-175    val_175
-189    val_189
-454    val_454
-375    val_375
-401    val_401
-421    val_421
-407    val_407
-384    val_384
-256    val_256
-26     val_26
-134    val_134
-67     val_67
-384    val_384
-379    val_379
-18     val_18
-462    val_462
-492    val_492
-100    val_100
-298    val_298
-9      val_9
-341    val_341
-498    val_498
-146    val_146
-458    val_458
-362    val_362
-186    val_186
-285    val_285
-348    val_348
-167    val_167
-18     val_18
-273    val_273
-183    val_183
-281    val_281
-344    val_344
-97     val_97
-469    val_469
-315    val_315
-84     val_84
-28     val_28
-37     val_37
-448    val_448
-152    val_152
-348    val_348
-307    val_307
-194    val_194
-414    val_414
-477    val_477
-222    val_222
-126    val_126
-90     val_90
-169    val_169
-403    val_403
-400    val_400
-200    val_200
-97     val_97
+0      0_lav
+4      4_lav
+8      8_lav
+0      0_lav
+0      0_lav
+2      2_lav
 PREHOOK: query: create table `masking_test_subq_n1` as select cast(key as int) 
as key, value from src
 PREHOOK: type: CREATETABLE_AS_SELECT
 PREHOOK: Input: default@src
@@ -590,59 +112,181 @@ select * from `v1_n9`
 limit 20
 POSTHOOK: type: QUERY
 STAGE DEPENDENCIES:
-  Stage-0 is a root stage
+  Stage-3 is a root stage
+  Stage-2 depends on stages: Stage-3
+  Stage-1 depends on stages: Stage-2
+  Stage-0 depends on stages: Stage-1
 
 STAGE PLANS:
+  Stage: Stage-3
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: masking_test_subq_n1
+            properties:
+              insideView TRUE
+            Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE 
Column stats: NONE
+            Filter Operator
+              predicate: key is not null (type: boolean)
+              Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE 
Column stats: NONE
+              Group By Operator
+                keys: key (type: int)
+                mode: hash
+                outputColumnNames: _col0
+                Statistics: Num rows: 500 Data size: 5312 Basic stats: 
COMPLETE Column stats: NONE
+                Reduce Output Operator
+                  key expressions: _col0 (type: int)
+                  sort order: +
+                  Map-reduce partition columns: _col0 (type: int)
+                  Statistics: Num rows: 500 Data size: 5312 Basic stats: 
COMPLETE Column stats: NONE
+      Execution mode: vectorized
+      Reduce Operator Tree:
+        Group By Operator
+          keys: KEY._col0 (type: int)
+          mode: mergepartial
+          outputColumnNames: _col0
+          Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE 
Column stats: NONE
+          File Output Operator
+            compressed: false
+            table:
+                input format: org.apache.hadoop.mapred.SequenceFileInputFormat
+                output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                serde: org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
+
+  Stage: Stage-2
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: src
+            Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE 
Column stats: NONE
+            Filter Operator
+              predicate: key is not null (type: boolean)
+              Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE 
Column stats: NONE
+              Select Operator
+                expressions: key (type: string)
+                outputColumnNames: _col0
+                Statistics: Num rows: 500 Data size: 5312 Basic stats: 
COMPLETE Column stats: NONE
+                Reduce Output Operator
+                  key expressions: UDFToDouble(_col0) (type: double)
+                  sort order: +
+                  Map-reduce partition columns: UDFToDouble(_col0) (type: 
double)
+                  Statistics: Num rows: 500 Data size: 5312 Basic stats: 
COMPLETE Column stats: NONE
+                  value expressions: _col0 (type: string)
+          TableScan
+            Reduce Output Operator
+              key expressions: UDFToDouble(_col0) (type: double)
+              sort order: +
+              Map-reduce partition columns: UDFToDouble(_col0) (type: double)
+              Statistics: Num rows: 250 Data size: 2656 Basic stats: COMPLETE 
Column stats: NONE
+              value expressions: _col0 (type: int)
+      Reduce Operator Tree:
+        Join Operator
+          condition map:
+               Inner Join 0 to 1
+          keys:
+            0 UDFToDouble(_col0) (type: double)
+            1 UDFToDouble(_col0) (type: double)
+          outputColumnNames: _col0, _col1
+          Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE 
Column stats: NONE
+          Group By Operator
+            keys: _col0 (type: string), _col1 (type: int)
+            mode: hash
+            outputColumnNames: _col0, _col1
+            Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE 
Column stats: NONE
+            File Output Operator
+              compressed: false
+              table:
+                  input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
+                  output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                  serde: 
org.apache.hadoop.hive.serde2.lazybinary.LazyBinarySerDe
+
+  Stage: Stage-1
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: masking_test_subq_n1
+            properties:
+              insideView TRUE
+            Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE 
Column stats: NONE
+            Filter Operator
+              predicate: key is not null (type: boolean)
+              Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE 
Column stats: NONE
+              Select Operator
+                expressions: key (type: int), value (type: string)
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 500 Data size: 5312 Basic stats: 
COMPLETE Column stats: NONE
+                Reduce Output Operator
+                  key expressions: UDFToDouble(_col0) (type: double), _col0 
(type: int)
+                  sort order: ++
+                  Map-reduce partition columns: UDFToDouble(_col0) (type: 
double), _col0 (type: int)
+                  Statistics: Num rows: 500 Data size: 5312 Basic stats: 
COMPLETE Column stats: NONE
+                  value expressions: _col1 (type: string)
+          TableScan
+            Reduce Output Operator
+              key expressions: UDFToDouble(_col0) (type: double), _col1 (type: 
int)
+              sort order: ++
+              Map-reduce partition columns: UDFToDouble(_col0) (type: double), 
_col1 (type: int)
+              Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE 
Column stats: NONE
+      Reduce Operator Tree:
+        Join Operator
+          condition map:
+               Left Semi Join 0 to 1
+          keys:
+            0 UDFToDouble(_col0) (type: double), _col0 (type: int)
+            1 UDFToDouble(_col0) (type: double), _col1 (type: int)
+          outputColumnNames: _col0, _col1
+          Statistics: Num rows: 605 Data size: 6427 Basic stats: COMPLETE 
Column stats: NONE
+          Limit
+            Number of rows: 20
+            Statistics: Num rows: 20 Data size: 200 Basic stats: COMPLETE 
Column stats: NONE
+            File Output Operator
+              compressed: false
+              Statistics: Num rows: 20 Data size: 200 Basic stats: COMPLETE 
Column stats: NONE
+              table:
+                  input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
+                  output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                  serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+
   Stage: Stage-0
     Fetch Operator
       limit: 20
       Processor Tree:
-        TableScan
-          alias: masking_test_subq_n1
-          properties:
-            insideView TRUE
-          Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE 
Column stats: NONE
-          Select Operator
-            expressions: key (type: int), value (type: string)
-            outputColumnNames: _col0, _col1
-            Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE 
Column stats: NONE
-            Limit
-              Number of rows: 20
-              Statistics: Num rows: 20 Data size: 200 Basic stats: COMPLETE 
Column stats: NONE
-              ListSink
+        ListSink
 
 PREHOOK: query: select * from `v1_n9`
 limit 20
 PREHOOK: type: QUERY
 PREHOOK: Input: default@masking_test_subq_n1
+PREHOOK: Input: default@src
 PREHOOK: Input: default@v1_n9
 #### A masked pattern was here ####
 POSTHOOK: query: select * from `v1_n9`
 limit 20
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@masking_test_subq_n1
+POSTHOOK: Input: default@src
 POSTHOOK: Input: default@v1_n9
 #### A masked pattern was here ####
-238    val_238
-86     val_86
-311    val_311
-27     val_27
-165    val_165
-409    val_409
-255    val_255
-278    val_278
-98     val_98
-484    val_484
-265    val_265
-193    val_193
-401    val_401
-150    val_150
-273    val_273
-224    val_224
-369    val_369
-66     val_66
-128    val_128
-213    val_213
+0      val_0
+0      val_0
+0      val_0
+2      val_2
+4      val_4
+5      val_5
+5      val_5
+5      val_5
+8      val_8
+9      val_9
+10     val_10
+11     val_11
+12     val_12
+12     val_12
+15     val_15
+15     val_15
+17     val_17
+18     val_18
+18     val_18
+19     val_19
 PREHOOK: query: create view `masking_test_view` as select key from `v0`
 PREHOOK: type: CREATEVIEW
 PREHOOK: Input: default@masking_test_n5
@@ -676,15 +320,15 @@ STAGE PLANS:
               insideView TRUE
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE 
Column stats: NONE
             Filter Operator
-              predicate: (key > 6) (type: boolean)
-              Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE 
Column stats: NONE
+              predicate: (((key % 2) = 0) and (key < 10) and (key > 6)) (type: 
boolean)
+              Statistics: Num rows: 27 Data size: 286 Basic stats: COMPLETE 
Column stats: NONE
               Select Operator
                 expressions: UDFToInteger((UDFToDouble(key) / 2.0D)) (type: 
int)
                 outputColumnNames: _col0
-                Statistics: Num rows: 166 Data size: 1763 Basic stats: 
COMPLETE Column stats: NONE
+                Statistics: Num rows: 27 Data size: 286 Basic stats: COMPLETE 
Column stats: NONE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 166 Data size: 1763 Basic stats: 
COMPLETE Column stats: NONE
+                  Statistics: Num rows: 27 Data size: 286 Basic stats: 
COMPLETE Column stats: NONE
                   table:
                       input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
                       output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -709,498 +353,7 @@ POSTHOOK: Input: default@masking_test_n5
 POSTHOOK: Input: default@masking_test_view
 POSTHOOK: Input: default@v0
 #### A masked pattern was here ####
-119
-43
-155
-13
-82
-204
-127
-139
-49
-242
-132
-96
-200
-75
-136
-112
-184
-33
-64
-106
-73
-203
-214
-187
-76
-234
-72
-247
-18
-163
-140
-138
-104
-7
-41
-201
-83
-208
-215
-126
-146
-109
-143
-76
-96
-169
-223
-229
-197
-118
-241
-87
-206
-247
-103
-99
-233
-104
-87
-199
-198
-123
-208
-244
-81
-188
-198
-154
-182
-133
-219
-171
-183
-162
-83
-97
-237
-8
-56
-77
-101
-169
-227
-64
-155
-158
-28
-151
-102
-74
-219
-172
-64
-85
-10
-244
-78
-189
-110
-46
-55
-23
-36
-140
-17
-213
-138
-104
-178
-199
-84
-191
-249
-62
-193
-218
-234
-96
-143
-93
-88
-27
-229
-25
-69
-51
-119
-106
-108
-215
-139
-88
-144
-110
-32
-159
-166
-155
-137
-68
-120
-41
-166
-90
-142
-6
-115
-90
-33
-130
-202
-192
-244
-176
-186
-136
-69
-108
-42
-174
-233
-29
-4
-205
-115
-104
-174
-12
-231
-215
-89
-86
-21
-64
-79
-59
-248
-161
-98
-234
-196
-227
-50
-149
-99
-95
-209
-48
-13
-82
-163
-115
-102
-60
-65
-25
-202
-21
-218
-78
-234
-234
-154
-47
-98
-144
-240
-228
-49
-141
-98
-93
-159
-159
-204
-235
-68
-184
-158
-84
-206
-42
-38
-245
-43
-182
-89
-59
-67
-197
-141
-69
-119
-209
-7
-59
-36
-45
-153
-9
-217
-5
-138
-136
-153
-112
-154
-194
-163
-121
-184
-196
-136
-165
-200
-121
-226
-88
-113
-248
-201
-198
-158
-197
-29
-17
-168
-47
-5
-84
-17
-114
-116
-71
-236
-161
-249
-80
-97
-21
-160
-215
-59
-244
-229
-39
-38
-20
-111
-246
-74
-224
-109
-114
-69
-226
-15
-104
-32
-234
-38
-37
-171
-34
-115
-16
-184
-51
-148
-56
-108
-183
-172
-83
-137
-109
-119
-242
-58
-111
-128
-131
-35
-243
-240
-200
-144
-95
-122
-219
-64
-233
-216
-101
-158
-114
-234
-231
-140
-17
-141
-165
-117
-40
-22
-96
-160
-167
-52
-233
-183
-87
-201
-241
-26
-52
-128
-203
-204
-95
-203
-200
-57
-129
-45
-101
-131
-174
-212
-6
-198
-100
-108
-82
-215
-227
-239
-149
-62
-215
-82
-212
-93
-191
-35
-198
-240
-145
-12
-175
-127
-52
-35
-81
-219
-59
-207
-100
-245
-118
-219
-180
-124
-239
-152
-208
-99
-222
-60
-214
-84
-221
-161
-162
-138
-115
-239
-89
-234
-155
-158
-166
-246
-230
-103
-124
-132
-240
-41
-68
-176
-86
-107
-231
-116
-203
-66
-87
-94
-227
-187
-200
-210
-203
-192
-128
-13
-67
-33
-192
-189
-9
-231
-246
-50
-149
 4
-170
-249
-73
-229
-181
-93
-142
-174
-83
-9
-136
-91
-140
-172
-48
-234
-157
-42
-14
-18
-224
-76
-174
-153
-97
-207
-238
-111
-63
-45
-84
-201
-200
-100
-48
 PREHOOK: query: explain
 select `v0`.value from `v0` join `masking_test_view` on `v0`.key = 
`masking_test_view`.key
 PREHOOK: type: QUERY
@@ -1221,17 +374,17 @@ STAGE PLANS:
               insideView TRUE
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE 
Column stats: NONE
             Filter Operator
-              predicate: key is not null (type: boolean)
-              Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE 
Column stats: NONE
+              predicate: (((key % 2) = 0) and (key < 10)) (type: boolean)
+              Statistics: Num rows: 83 Data size: 881 Basic stats: COMPLETE 
Column stats: NONE
               Select Operator
-                expressions: key (type: int), value (type: string)
+                expressions: key (type: int), reverse(value) (type: string)
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 500 Data size: 5312 Basic stats: 
COMPLETE Column stats: NONE
+                Statistics: Num rows: 83 Data size: 881 Basic stats: COMPLETE 
Column stats: NONE
                 Reduce Output Operator
                   key expressions: _col0 (type: int)
                   sort order: +
                   Map-reduce partition columns: _col0 (type: int)
-                  Statistics: Num rows: 500 Data size: 5312 Basic stats: 
COMPLETE Column stats: NONE
+                  Statistics: Num rows: 83 Data size: 881 Basic stats: 
COMPLETE Column stats: NONE
                   value expressions: _col1 (type: string)
           TableScan
             alias: masking_test_n5
@@ -1239,17 +392,17 @@ STAGE PLANS:
               insideView TRUE
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE 
Column stats: NONE
             Filter Operator
-              predicate: (key > 6) (type: boolean)
-              Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE 
Column stats: NONE
+              predicate: (((UDFToInteger((UDFToDouble(key) / 2.0D)) % 2) = 0) 
and ((key % 2) = 0) and (UDFToInteger((UDFToDouble(key) / 2.0D)) < 10) and (key 
< 10) and (key > 6)) (type: boolean)
+              Statistics: Num rows: 4 Data size: 42 Basic stats: COMPLETE 
Column stats: NONE
               Select Operator
                 expressions: UDFToInteger((UDFToDouble(key) / 2.0D)) (type: 
int)
                 outputColumnNames: _col0
-                Statistics: Num rows: 166 Data size: 1763 Basic stats: 
COMPLETE Column stats: NONE
+                Statistics: Num rows: 4 Data size: 42 Basic stats: COMPLETE 
Column stats: NONE
                 Reduce Output Operator
                   key expressions: _col0 (type: int)
                   sort order: +
                   Map-reduce partition columns: _col0 (type: int)
-                  Statistics: Num rows: 166 Data size: 1763 Basic stats: 
COMPLETE Column stats: NONE
+                  Statistics: Num rows: 4 Data size: 42 Basic stats: COMPLETE 
Column stats: NONE
       Reduce Operator Tree:
         Join Operator
           condition map:
@@ -1258,14 +411,14 @@ STAGE PLANS:
             0 _col0 (type: int)
             1 _col0 (type: int)
           outputColumnNames: _col1
-          Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE 
Column stats: NONE
+          Statistics: Num rows: 91 Data size: 969 Basic stats: COMPLETE Column 
stats: NONE
           Select Operator
             expressions: _col1 (type: string)
             outputColumnNames: _col0
-            Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE 
Column stats: NONE
+            Statistics: Num rows: 91 Data size: 969 Basic stats: COMPLETE 
Column stats: NONE
             File Output Operator
               compressed: false
-              Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE 
Column stats: NONE
+              Statistics: Num rows: 91 Data size: 969 Basic stats: COMPLETE 
Column stats: NONE
               table:
                   input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
                   output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -1289,487 +442,4 @@ POSTHOOK: Input: default@masking_test_n5
 POSTHOOK: Input: default@masking_test_view
 POSTHOOK: Input: default@v0
 #### A masked pattern was here ####
-val_4
-val_4
-val_5
-val_5
-val_5
-val_5
-val_5
-val_5
-val_8
-val_9
-val_9
-val_9
-val_10
-val_12
-val_12
-val_12
-val_12
-val_15
-val_15
-val_17
-val_17
-val_17
-val_17
-val_18
-val_18
-val_18
-val_18
-val_20
-val_26
-val_26
-val_27
-val_28
-val_33
-val_33
-val_33
-val_34
-val_35
-val_35
-val_35
-val_35
-val_35
-val_35
-val_35
-val_35
-val_35
-val_37
-val_37
-val_41
-val_41
-val_41
-val_42
-val_42
-val_42
-val_42
-val_42
-val_42
-val_43
-val_43
-val_47
-val_47
-val_51
-val_51
-val_51
-val_51
-val_57
-val_58
-val_58
-val_64
-val_64
-val_64
-val_64
-val_64
-val_65
-val_66
-val_67
-val_67
-val_67
-val_67
-val_69
-val_69
-val_69
-val_69
-val_72
-val_72
-val_74
-val_74
-val_76
-val_76
-val_76
-val_76
-val_76
-val_76
-val_77
-val_78
-val_78
-val_80
-val_82
-val_82
-val_82
-val_82
-val_83
-val_83
-val_83
-val_83
-val_83
-val_83
-val_83
-val_83
-val_84
-val_84
-val_84
-val_84
-val_84
-val_84
-val_84
-val_84
-val_84
-val_84
-val_85
-val_86
-val_86
-val_87
-val_87
-val_87
-val_87
-val_90
-val_90
-val_90
-val_90
-val_90
-val_90
-val_95
-val_95
-val_95
-val_95
-val_95
-val_95
-val_96
-val_96
-val_96
-val_96
-val_97
-val_97
-val_97
-val_97
-val_97
-val_97
-val_98
-val_98
-val_98
-val_98
-val_98
-val_98
-val_100
-val_100
-val_100
-val_100
-val_100
-val_100
-val_103
-val_103
-val_103
-val_103
-val_104
-val_104
-val_104
-val_104
-val_104
-val_104
-val_104
-val_104
-val_104
-val_104
-val_111
-val_111
-val_111
-val_113
-val_113
-val_114
-val_114
-val_114
-val_116
-val_116
-val_118
-val_118
-val_118
-val_118
-val_119
-val_119
-val_119
-val_119
-val_119
-val_119
-val_119
-val_119
-val_119
-val_119
-val_119
-val_119
-val_120
-val_120
-val_126
-val_128
-val_128
-val_128
-val_128
-val_128
-val_128
-val_128
-val_128
-val_128
-val_129
-val_129
-val_131
-val_131
-val_133
-val_136
-val_136
-val_136
-val_136
-val_136
-val_137
-val_137
-val_137
-val_137
-val_138
-val_138
-val_138
-val_138
-val_138
-val_138
-val_138
-val_138
-val_138
-val_138
-val_138
-val_138
-val_138
-val_138
-val_138
-val_138
-val_143
-val_143
-val_145
-val_146
-val_146
-val_149
-val_149
-val_149
-val_149
-val_149
-val_149
-val_152
-val_152
-val_153
-val_153
-val_153
-val_155
-val_155
-val_155
-val_155
-val_157
-val_158
-val_158
-val_158
-val_158
-val_158
-val_160
-val_160
-val_162
-val_162
-val_163
-val_163
-val_163
-val_165
-val_165
-val_165
-val_165
-val_166
-val_166
-val_166
-val_167
-val_167
-val_167
-val_168
-val_169
-val_169
-val_169
-val_169
-val_169
-val_169
-val_169
-val_169
-val_170
-val_172
-val_172
-val_172
-val_172
-val_172
-val_172
-val_174
-val_174
-val_174
-val_174
-val_174
-val_174
-val_174
-val_174
-val_174
-val_174
-val_175
-val_175
-val_176
-val_176
-val_176
-val_176
-val_178
-val_180
-val_181
-val_183
-val_183
-val_183
-val_186
-val_187
-val_187
-val_187
-val_187
-val_187
-val_187
-val_189
-val_189
-val_191
-val_191
-val_191
-val_191
-val_192
-val_192
-val_192
-val_193
-val_193
-val_193
-val_194
-val_196
-val_196
-val_197
-val_197
-val_197
-val_197
-val_197
-val_197
-val_199
-val_199
-val_199
-val_199
-val_199
-val_199
-val_200
-val_200
-val_200
-val_200
-val_200
-val_200
-val_200
-val_200
-val_200
-val_200
-val_200
-val_200
-val_201
-val_201
-val_201
-val_201
-val_202
-val_202
-val_203
-val_203
-val_203
-val_203
-val_203
-val_203
-val_203
-val_203
-val_203
-val_203
-val_205
-val_205
-val_207
-val_207
-val_207
-val_207
-val_208
-val_208
-val_208
-val_208
-val_208
-val_208
-val_208
-val_208
-val_208
-val_209
-val_209
-val_209
-val_209
-val_213
-val_213
-val_214
-val_214
-val_216
-val_216
-val_217
-val_217
-val_218
-val_218
-val_219
-val_219
-val_219
-val_219
-val_219
-val_219
-val_219
-val_219
-val_219
-val_219
-val_221
-val_221
-val_222
-val_223
-val_223
-val_224
-val_224
-val_224
-val_224
-val_226
-val_226
-val_228
-val_229
-val_229
-val_229
-val_229
-val_229
-val_229
-val_229
-val_229
-val_230
-val_230
-val_230
-val_230
-val_230
-val_233
-val_233
-val_233
-val_233
-val_233
-val_233
-val_233
-val_233
-val_235
-val_237
-val_237
-val_238
-val_238
-val_239
-val_239
-val_239
-val_239
-val_239
-val_239
-val_241
-val_241
-val_242
-val_242
-val_242
-val_242
-val_244
-val_244
-val_244
-val_244
-val_247
-val_247
-val_248
-val_248
-val_249
-val_249
-val_249
+4_lav

http://git-wip-us.apache.org/repos/asf/hive/blob/3fde4440/ql/src/test/results/clientpositive/masking_1_newdb.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/masking_1_newdb.q.out 
b/ql/src/test/results/clientpositive/masking_1_newdb.q.out
index fa32212..0a60e06 100644
--- a/ql/src/test/results/clientpositive/masking_1_newdb.q.out
+++ b/ql/src/test/results/clientpositive/masking_1_newdb.q.out
@@ -33,21 +33,37 @@ PREHOOK: type: QUERY
 POSTHOOK: query: explain select * from newdb.masking_test_n12
 POSTHOOK: type: QUERY
 STAGE DEPENDENCIES:
-  Stage-0 is a root stage
+  Stage-1 is a root stage
+  Stage-0 depends on stages: Stage-1
 
 STAGE PLANS:
+  Stage: Stage-1
+    Map Reduce
+      Map Operator Tree:
+          TableScan
+            alias: masking_test_n12
+            Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE 
Column stats: NONE
+            Filter Operator
+              predicate: (((key % 2) = 0) and (key < 10)) (type: boolean)
+              Statistics: Num rows: 83 Data size: 881 Basic stats: COMPLETE 
Column stats: NONE
+              Select Operator
+                expressions: key (type: int), reverse(value) (type: string)
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 83 Data size: 881 Basic stats: COMPLETE 
Column stats: NONE
+                File Output Operator
+                  compressed: false
+                  Statistics: Num rows: 83 Data size: 881 Basic stats: 
COMPLETE Column stats: NONE
+                  table:
+                      input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
+                      output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                      serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+      Execution mode: vectorized
+
   Stage: Stage-0
     Fetch Operator
       limit: -1
       Processor Tree:
-        TableScan
-          alias: masking_test_n12
-          Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE 
Column stats: NONE
-          Select Operator
-            expressions: key (type: int), value (type: string)
-            outputColumnNames: _col0, _col1
-            Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE 
Column stats: NONE
-            ListSink
+        ListSink
 
 PREHOOK: query: select * from newdb.masking_test_n12
 PREHOOK: type: QUERY
@@ -57,506 +73,12 @@ POSTHOOK: query: select * from newdb.masking_test_n12
 POSTHOOK: type: QUERY
 POSTHOOK: Input: newdb@masking_test_n12
 #### A masked pattern was here ####
-238    val_238
-86     val_86
-311    val_311
-27     val_27
-165    val_165
-409    val_409
-255    val_255
-278    val_278
-98     val_98
-484    val_484
-265    val_265
-193    val_193
-401    val_401
-150    val_150
-273    val_273
-224    val_224
-369    val_369
-66     val_66
-128    val_128
-213    val_213
-146    val_146
-406    val_406
-429    val_429
-374    val_374
-152    val_152
-469    val_469
-145    val_145
-495    val_495
-37     val_37
-327    val_327
-281    val_281
-277    val_277
-209    val_209
-15     val_15
-82     val_82
-403    val_403
-166    val_166
-417    val_417
-430    val_430
-252    val_252
-292    val_292
-219    val_219
-287    val_287
-153    val_153
-193    val_193
-338    val_338
-446    val_446
-459    val_459
-394    val_394
-237    val_237
-482    val_482
-174    val_174
-413    val_413
-494    val_494
-207    val_207
-199    val_199
-466    val_466
-208    val_208
-174    val_174
-399    val_399
-396    val_396
-247    val_247
-417    val_417
-489    val_489
-162    val_162
-377    val_377
-397    val_397
-309    val_309
-365    val_365
-266    val_266
-439    val_439
-342    val_342
-367    val_367
-325    val_325
-167    val_167
-195    val_195
-475    val_475
-17     val_17
-113    val_113
-155    val_155
-203    val_203
-339    val_339
-0      val_0
-455    val_455
-128    val_128
-311    val_311
-316    val_316
-57     val_57
-302    val_302
-205    val_205
-149    val_149
-438    val_438
-345    val_345
-129    val_129
-170    val_170
-20     val_20
-489    val_489
-157    val_157
-378    val_378
-221    val_221
-92     val_92
-111    val_111
-47     val_47
-72     val_72
-4      val_4
-280    val_280
-35     val_35
-427    val_427
-277    val_277
-208    val_208
-356    val_356
-399    val_399
-169    val_169
-382    val_382
-498    val_498
-125    val_125
-386    val_386
-437    val_437
-469    val_469
-192    val_192
-286    val_286
-187    val_187
-176    val_176
-54     val_54
-459    val_459
-51     val_51
-138    val_138
-103    val_103
-239    val_239
-213    val_213
-216    val_216
-430    val_430
-278    val_278
-176    val_176
-289    val_289
-221    val_221
-65     val_65
-318    val_318
-332    val_332
-311    val_311
-275    val_275
-137    val_137
-241    val_241
-83     val_83
-333    val_333
-180    val_180
-284    val_284
-12     val_12
-230    val_230
-181    val_181
-67     val_67
-260    val_260
-404    val_404
-384    val_384
-489    val_489
-353    val_353
-373    val_373
-272    val_272
-138    val_138
-217    val_217
-84     val_84
-348    val_348
-466    val_466
-58     val_58
-8      val_8
-411    val_411
-230    val_230
-208    val_208
-348    val_348
-24     val_24
-463    val_463
-431    val_431
-179    val_179
-172    val_172
-42     val_42
-129    val_129
-158    val_158
-119    val_119
-496    val_496
-0      val_0
-322    val_322
-197    val_197
-468    val_468
-393    val_393
-454    val_454
-100    val_100
-298    val_298
-199    val_199
-191    val_191
-418    val_418
-96     val_96
-26     val_26
-165    val_165
-327    val_327
-230    val_230
-205    val_205
-120    val_120
-131    val_131
-51     val_51
-404    val_404
-43     val_43
-436    val_436
-156    val_156
-469    val_469
-468    val_468
-308    val_308
-95     val_95
-196    val_196
-288    val_288
-481    val_481
-457    val_457
-98     val_98
-282    val_282
-197    val_197
-187    val_187
-318    val_318
-318    val_318
-409    val_409
-470    val_470
-137    val_137
-369    val_369
-316    val_316
-169    val_169
-413    val_413
-85     val_85
-77     val_77
-0      val_0
-490    val_490
-87     val_87
-364    val_364
-179    val_179
-118    val_118
-134    val_134
-395    val_395
-282    val_282
-138    val_138
-238    val_238
-419    val_419
-15     val_15
-118    val_118
-72     val_72
-90     val_90
-307    val_307
-19     val_19
-435    val_435
-10     val_10
-277    val_277
-273    val_273
-306    val_306
-224    val_224
-309    val_309
-389    val_389
-327    val_327
-242    val_242
-369    val_369
-392    val_392
-272    val_272
-331    val_331
-401    val_401
-242    val_242
-452    val_452
-177    val_177
-226    val_226
-5      val_5
-497    val_497
-402    val_402
-396    val_396
-317    val_317
-395    val_395
-58     val_58
-35     val_35
-336    val_336
-95     val_95
-11     val_11
-168    val_168
-34     val_34
-229    val_229
-233    val_233
-143    val_143
-472    val_472
-322    val_322
-498    val_498
-160    val_160
-195    val_195
-42     val_42
-321    val_321
-430    val_430
-119    val_119
-489    val_489
-458    val_458
-78     val_78
-76     val_76
-41     val_41
-223    val_223
-492    val_492
-149    val_149
-449    val_449
-218    val_218
-228    val_228
-138    val_138
-453    val_453
-30     val_30
-209    val_209
-64     val_64
-468    val_468
-76     val_76
-74     val_74
-342    val_342
-69     val_69
-230    val_230
-33     val_33
-368    val_368
-103    val_103
-296    val_296
-113    val_113
-216    val_216
-367    val_367
-344    val_344
-167    val_167
-274    val_274
-219    val_219
-239    val_239
-485    val_485
-116    val_116
-223    val_223
-256    val_256
-263    val_263
-70     val_70
-487    val_487
-480    val_480
-401    val_401
-288    val_288
-191    val_191
-5      val_5
-244    val_244
-438    val_438
-128    val_128
-467    val_467
-432    val_432
-202    val_202
-316    val_316
-229    val_229
-469    val_469
-463    val_463
-280    val_280
-2      val_2
-35     val_35
-283    val_283
-331    val_331
-235    val_235
-80     val_80
-44     val_44
-193    val_193
-321    val_321
-335    val_335
-104    val_104
-466    val_466
-366    val_366
-175    val_175
-403    val_403
-483    val_483
-53     val_53
-105    val_105
-257    val_257
-406    val_406
-409    val_409
-190    val_190
-406    val_406
-401    val_401
-114    val_114
-258    val_258
-90     val_90
-203    val_203
-262    val_262
-348    val_348
-424    val_424
-12     val_12
-396    val_396
-201    val_201
-217    val_217
-164    val_164
-431    val_431
-454    val_454
-478    val_478
-298    val_298
-125    val_125
-431    val_431
-164    val_164
-424    val_424
-187    val_187
-382    val_382
-5      val_5
-70     val_70
-397    val_397
-480    val_480
-291    val_291
-24     val_24
-351    val_351
-255    val_255
-104    val_104
-70     val_70
-163    val_163
-438    val_438
-119    val_119
-414    val_414
-200    val_200
-491    val_491
-237    val_237
-439    val_439
-360    val_360
-248    val_248
-479    val_479
-305    val_305
-417    val_417
-199    val_199
-444    val_444
-120    val_120
-429    val_429
-169    val_169
-443    val_443
-323    val_323
-325    val_325
-277    val_277
-230    val_230
-478    val_478
-178    val_178
-468    val_468
-310    val_310
-317    val_317
-333    val_333
-493    val_493
-460    val_460
-207    val_207
-249    val_249
-265    val_265
-480    val_480
-83     val_83
-136    val_136
-353    val_353
-172    val_172
-214    val_214
-462    val_462
-233    val_233
-406    val_406
-133    val_133
-175    val_175
-189    val_189
-454    val_454
-375    val_375
-401    val_401
-421    val_421
-407    val_407
-384    val_384
-256    val_256
-26     val_26
-134    val_134
-67     val_67
-384    val_384
-379    val_379
-18     val_18
-462    val_462
-492    val_492
-100    val_100
-298    val_298
-9      val_9
-341    val_341
-498    val_498
-146    val_146
-458    val_458
-362    val_362
-186    val_186
-285    val_285
-348    val_348
-167    val_167
-18     val_18
-273    val_273
-183    val_183
-281    val_281
-344    val_344
-97     val_97
-469    val_469
-315    val_315
-84     val_84
-28     val_28
-37     val_37
-448    val_448
-152    val_152
-348    val_348
-307    val_307
-194    val_194
-414    val_414
-477    val_477
-222    val_222
-126    val_126
-90     val_90
-169    val_169
-403    val_403
-400    val_400
-200    val_200
-97     val_97
+0      0_lav
+4      4_lav
+8      8_lav
+0      0_lav
+0      0_lav
+2      2_lav
 PREHOOK: query: explain select * from newdb.masking_test_n12 where key > 0
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select * from newdb.masking_test_n12 where key > 0
@@ -573,15 +95,15 @@ STAGE PLANS:
             alias: masking_test_n12
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE 
Column stats: NONE
             Filter Operator
-              predicate: (key > 0) (type: boolean)
-              Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE 
Column stats: NONE
+              predicate: (((key % 2) = 0) and (key < 10) and (key > 0)) (type: 
boolean)
+              Statistics: Num rows: 27 Data size: 286 Basic stats: COMPLETE 
Column stats: NONE
               Select Operator
-                expressions: key (type: int), value (type: string)
+                expressions: key (type: int), reverse(value) (type: string)
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 166 Data size: 1763 Basic stats: 
COMPLETE Column stats: NONE
+                Statistics: Num rows: 27 Data size: 286 Basic stats: COMPLETE 
Column stats: NONE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 166 Data size: 1763 Basic stats: 
COMPLETE Column stats: NONE
+                  Statistics: Num rows: 27 Data size: 286 Basic stats: 
COMPLETE Column stats: NONE
                   table:
                       input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
                       output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -602,500 +124,6 @@ POSTHOOK: query: select * from newdb.masking_test_n12 
where key > 0
 POSTHOOK: type: QUERY
 POSTHOOK: Input: newdb@masking_test_n12
 #### A masked pattern was here ####
-238    val_238
-86     val_86
-311    val_311
-27     val_27
-165    val_165
-409    val_409
-255    val_255
-278    val_278
-98     val_98
-484    val_484
-265    val_265
-193    val_193
-401    val_401
-150    val_150
-273    val_273
-224    val_224
-369    val_369
-66     val_66
-128    val_128
-213    val_213
-146    val_146
-406    val_406
-429    val_429
-374    val_374
-152    val_152
-469    val_469
-145    val_145
-495    val_495
-37     val_37
-327    val_327
-281    val_281
-277    val_277
-209    val_209
-15     val_15
-82     val_82
-403    val_403
-166    val_166
-417    val_417
-430    val_430
-252    val_252
-292    val_292
-219    val_219
-287    val_287
-153    val_153
-193    val_193
-338    val_338
-446    val_446
-459    val_459
-394    val_394
-237    val_237
-482    val_482
-174    val_174
-413    val_413
-494    val_494
-207    val_207
-199    val_199
-466    val_466
-208    val_208
-174    val_174
-399    val_399
-396    val_396
-247    val_247
-417    val_417
-489    val_489
-162    val_162
-377    val_377
-397    val_397
-309    val_309
-365    val_365
-266    val_266
-439    val_439
-342    val_342
-367    val_367
-325    val_325
-167    val_167
-195    val_195
-475    val_475
-17     val_17
-113    val_113
-155    val_155
-203    val_203
-339    val_339
-455    val_455
-128    val_128
-311    val_311
-316    val_316
-57     val_57
-302    val_302
-205    val_205
-149    val_149
-438    val_438
-345    val_345
-129    val_129
-170    val_170
-20     val_20
-489    val_489
-157    val_157
-378    val_378
-221    val_221
-92     val_92
-111    val_111
-47     val_47
-72     val_72
-4      val_4
-280    val_280
-35     val_35
-427    val_427
-277    val_277
-208    val_208
-356    val_356
-399    val_399
-169    val_169
-382    val_382
-498    val_498
-125    val_125
-386    val_386
-437    val_437
-469    val_469
-192    val_192
-286    val_286
-187    val_187
-176    val_176
-54     val_54
-459    val_459
-51     val_51
-138    val_138
-103    val_103
-239    val_239
-213    val_213
-216    val_216
-430    val_430
-278    val_278
-176    val_176
-289    val_289
-221    val_221
-65     val_65
-318    val_318
-332    val_332
-311    val_311
-275    val_275
-137    val_137
-241    val_241
-83     val_83
-333    val_333
-180    val_180
-284    val_284
-12     val_12
-230    val_230
-181    val_181
-67     val_67
-260    val_260
-404    val_404
-384    val_384
-489    val_489
-353    val_353
-373    val_373
-272    val_272
-138    val_138
-217    val_217
-84     val_84
-348    val_348
-466    val_466
-58     val_58
-8      val_8
-411    val_411
-230    val_230
-208    val_208
-348    val_348
-24     val_24
-463    val_463
-431    val_431
-179    val_179
-172    val_172
-42     val_42
-129    val_129
-158    val_158
-119    val_119
-496    val_496
-322    val_322
-197    val_197
-468    val_468
-393    val_393
-454    val_454
-100    val_100
-298    val_298
-199    val_199
-191    val_191
-418    val_418
-96     val_96
-26     val_26
-165    val_165
-327    val_327
-230    val_230
-205    val_205
-120    val_120
-131    val_131
-51     val_51
-404    val_404
-43     val_43
-436    val_436
-156    val_156
-469    val_469
-468    val_468
-308    val_308
-95     val_95
-196    val_196
-288    val_288
-481    val_481
-457    val_457
-98     val_98
-282    val_282
-197    val_197
-187    val_187
-318    val_318
-318    val_318
-409    val_409
-470    val_470
-137    val_137
-369    val_369
-316    val_316
-169    val_169
-413    val_413
-85     val_85
-77     val_77
-490    val_490
-87     val_87
-364    val_364
-179    val_179
-118    val_118
-134    val_134
-395    val_395
-282    val_282
-138    val_138
-238    val_238
-419    val_419
-15     val_15
-118    val_118
-72     val_72
-90     val_90
-307    val_307
-19     val_19
-435    val_435
-10     val_10
-277    val_277
-273    val_273
-306    val_306
-224    val_224
-309    val_309
-389    val_389
-327    val_327
-242    val_242
-369    val_369
-392    val_392
-272    val_272
-331    val_331
-401    val_401
-242    val_242
-452    val_452
-177    val_177
-226    val_226
-5      val_5
-497    val_497
-402    val_402
-396    val_396
-317    val_317
-395    val_395
-58     val_58
-35     val_35
-336    val_336
-95     val_95
-11     val_11
-168    val_168
-34     val_34
-229    val_229
-233    val_233
-143    val_143
-472    val_472
-322    val_322
-498    val_498
-160    val_160
-195    val_195
-42     val_42
-321    val_321
-430    val_430
-119    val_119
-489    val_489
-458    val_458
-78     val_78
-76     val_76
-41     val_41
-223    val_223
-492    val_492
-149    val_149
-449    val_449
-218    val_218
-228    val_228
-138    val_138
-453    val_453
-30     val_30
-209    val_209
-64     val_64
-468    val_468
-76     val_76
-74     val_74
-342    val_342
-69     val_69
-230    val_230
-33     val_33
-368    val_368
-103    val_103
-296    val_296
-113    val_113
-216    val_216
-367    val_367
-344    val_344
-167    val_167
-274    val_274
-219    val_219
-239    val_239
-485    val_485
-116    val_116
-223    val_223
-256    val_256
-263    val_263
-70     val_70
-487    val_487
-480    val_480
-401    val_401
-288    val_288
-191    val_191
-5      val_5
-244    val_244
-438    val_438
-128    val_128
-467    val_467
-432    val_432
-202    val_202
-316    val_316
-229    val_229
-469    val_469
-463    val_463
-280    val_280
-2      val_2
-35     val_35
-283    val_283
-331    val_331
-235    val_235
-80     val_80
-44     val_44
-193    val_193
-321    val_321
-335    val_335
-104    val_104
-466    val_466
-366    val_366
-175    val_175
-403    val_403
-483    val_483
-53     val_53
-105    val_105
-257    val_257
-406    val_406
-409    val_409
-190    val_190
-406    val_406
-401    val_401
-114    val_114
-258    val_258
-90     val_90
-203    val_203
-262    val_262
-348    val_348
-424    val_424
-12     val_12
-396    val_396
-201    val_201
-217    val_217
-164    val_164
-431    val_431
-454    val_454
-478    val_478
-298    val_298
-125    val_125
-431    val_431
-164    val_164
-424    val_424
-187    val_187
-382    val_382
-5      val_5
-70     val_70
-397    val_397
-480    val_480
-291    val_291
-24     val_24
-351    val_351
-255    val_255
-104    val_104
-70     val_70
-163    val_163
-438    val_438
-119    val_119
-414    val_414
-200    val_200
-491    val_491
-237    val_237
-439    val_439
-360    val_360
-248    val_248
-479    val_479
-305    val_305
-417    val_417
-199    val_199
-444    val_444
-120    val_120
-429    val_429
-169    val_169
-443    val_443
-323    val_323
-325    val_325
-277    val_277
-230    val_230
-478    val_478
-178    val_178
-468    val_468
-310    val_310
-317    val_317
-333    val_333
-493    val_493
-460    val_460
-207    val_207
-249    val_249
-265    val_265
-480    val_480
-83     val_83
-136    val_136
-353    val_353
-172    val_172
-214    val_214
-462    val_462
-233    val_233
-406    val_406
-133    val_133
-175    val_175
-189    val_189
-454    val_454
-375    val_375
-401    val_401
-421    val_421
-407    val_407
-384    val_384
-256    val_256
-26     val_26
-134    val_134
-67     val_67
-384    val_384
-379    val_379
-18     val_18
-462    val_462
-492    val_492
-100    val_100
-298    val_298
-9      val_9
-341    val_341
-498    val_498
-146    val_146
-458    val_458
-362    val_362
-186    val_186
-285    val_285
-348    val_348
-167    val_167
-18     val_18
-273    val_273
-183    val_183
-281    val_281
-344    val_344
-97     val_97
-469    val_469
-315    val_315
-84     val_84
-28     val_28
-37     val_37
-448    val_448
-152    val_152
-348    val_348
-307    val_307
-194    val_194
-414    val_414
-477    val_477
-222    val_222
-126    val_126
-90     val_90
-169    val_169
-403    val_403
-400    val_400
-200    val_200
-97     val_97
+4      4_lav
+8      8_lav
+2      2_lav

http://git-wip-us.apache.org/repos/asf/hive/blob/3fde4440/ql/src/test/results/clientpositive/masking_2.q.out
----------------------------------------------------------------------
diff --git a/ql/src/test/results/clientpositive/masking_2.q.out 
b/ql/src/test/results/clientpositive/masking_2.q.out
index 2d2e696..85a8bb1 100644
--- a/ql/src/test/results/clientpositive/masking_2.q.out
+++ b/ql/src/test/results/clientpositive/masking_2.q.out
@@ -27,17 +27,20 @@ STAGE PLANS:
             properties:
               insideView TRUE
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE 
Column stats: NONE
-            Select Operator
-              expressions: UDFToInteger(key) (type: int), value (type: string)
-              outputColumnNames: _col0, _col1
-              Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE 
Column stats: NONE
-              File Output Operator
-                compressed: false
-                Statistics: Num rows: 500 Data size: 5312 Basic stats: 
COMPLETE Column stats: NONE
-                table:
-                    input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
-                    output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
-                    serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
+            Filter Operator
+              predicate: (((UDFToInteger(key) % 2) = 0) and (UDFToInteger(key) 
< 10)) (type: boolean)
+              Statistics: Num rows: 83 Data size: 881 Basic stats: COMPLETE 
Column stats: NONE
+              Select Operator
+                expressions: UDFToInteger(key) (type: int), reverse(value) 
(type: string)
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 83 Data size: 881 Basic stats: COMPLETE 
Column stats: NONE
+                File Output Operator
+                  compressed: false
+                  Statistics: Num rows: 83 Data size: 881 Basic stats: 
COMPLETE Column stats: NONE
+                  table:
+                      input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
+                      output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
+                      serde: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe
       Execution mode: vectorized
 
   Stage: Stage-0
@@ -56,506 +59,12 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@masking_test_n1
 POSTHOOK: Input: default@src
 #### A masked pattern was here ####
-238    val_238
-86     val_86
-311    val_311
-27     val_27
-165    val_165
-409    val_409
-255    val_255
-278    val_278
-98     val_98
-484    val_484
-265    val_265
-193    val_193
-401    val_401
-150    val_150
-273    val_273
-224    val_224
-369    val_369
-66     val_66
-128    val_128
-213    val_213
-146    val_146
-406    val_406
-429    val_429
-374    val_374
-152    val_152
-469    val_469
-145    val_145
-495    val_495
-37     val_37
-327    val_327
-281    val_281
-277    val_277
-209    val_209
-15     val_15
-82     val_82
-403    val_403
-166    val_166
-417    val_417
-430    val_430
-252    val_252
-292    val_292
-219    val_219
-287    val_287
-153    val_153
-193    val_193
-338    val_338
-446    val_446
-459    val_459
-394    val_394
-237    val_237
-482    val_482
-174    val_174
-413    val_413
-494    val_494
-207    val_207
-199    val_199
-466    val_466
-208    val_208
-174    val_174
-399    val_399
-396    val_396
-247    val_247
-417    val_417
-489    val_489
-162    val_162
-377    val_377
-397    val_397
-309    val_309
-365    val_365
-266    val_266
-439    val_439
-342    val_342
-367    val_367
-325    val_325
-167    val_167
-195    val_195
-475    val_475
-17     val_17
-113    val_113
-155    val_155
-203    val_203
-339    val_339
-0      val_0
-455    val_455
-128    val_128
-311    val_311
-316    val_316
-57     val_57
-302    val_302
-205    val_205
-149    val_149
-438    val_438
-345    val_345
-129    val_129
-170    val_170
-20     val_20
-489    val_489
-157    val_157
-378    val_378
-221    val_221
-92     val_92
-111    val_111
-47     val_47
-72     val_72
-4      val_4
-280    val_280
-35     val_35
-427    val_427
-277    val_277
-208    val_208
-356    val_356
-399    val_399
-169    val_169
-382    val_382
-498    val_498
-125    val_125
-386    val_386
-437    val_437
-469    val_469
-192    val_192
-286    val_286
-187    val_187
-176    val_176
-54     val_54
-459    val_459
-51     val_51
-138    val_138
-103    val_103
-239    val_239
-213    val_213
-216    val_216
-430    val_430
-278    val_278
-176    val_176
-289    val_289
-221    val_221
-65     val_65
-318    val_318
-332    val_332
-311    val_311
-275    val_275
-137    val_137
-241    val_241
-83     val_83
-333    val_333
-180    val_180
-284    val_284
-12     val_12
-230    val_230
-181    val_181
-67     val_67
-260    val_260
-404    val_404
-384    val_384
-489    val_489
-353    val_353
-373    val_373
-272    val_272
-138    val_138
-217    val_217
-84     val_84
-348    val_348
-466    val_466
-58     val_58
-8      val_8
-411    val_411
-230    val_230
-208    val_208
-348    val_348
-24     val_24
-463    val_463
-431    val_431
-179    val_179
-172    val_172
-42     val_42
-129    val_129
-158    val_158
-119    val_119
-496    val_496
-0      val_0
-322    val_322
-197    val_197
-468    val_468
-393    val_393
-454    val_454
-100    val_100
-298    val_298
-199    val_199
-191    val_191
-418    val_418
-96     val_96
-26     val_26
-165    val_165
-327    val_327
-230    val_230
-205    val_205
-120    val_120
-131    val_131
-51     val_51
-404    val_404
-43     val_43
-436    val_436
-156    val_156
-469    val_469
-468    val_468
-308    val_308
-95     val_95
-196    val_196
-288    val_288
-481    val_481
-457    val_457
-98     val_98
-282    val_282
-197    val_197
-187    val_187
-318    val_318
-318    val_318
-409    val_409
-470    val_470
-137    val_137
-369    val_369
-316    val_316
-169    val_169
-413    val_413
-85     val_85
-77     val_77
-0      val_0
-490    val_490
-87     val_87
-364    val_364
-179    val_179
-118    val_118
-134    val_134
-395    val_395
-282    val_282
-138    val_138
-238    val_238
-419    val_419
-15     val_15
-118    val_118
-72     val_72
-90     val_90
-307    val_307
-19     val_19
-435    val_435
-10     val_10
-277    val_277
-273    val_273
-306    val_306
-224    val_224
-309    val_309
-389    val_389
-327    val_327
-242    val_242
-369    val_369
-392    val_392
-272    val_272
-331    val_331
-401    val_401
-242    val_242
-452    val_452
-177    val_177
-226    val_226
-5      val_5
-497    val_497
-402    val_402
-396    val_396
-317    val_317
-395    val_395
-58     val_58
-35     val_35
-336    val_336
-95     val_95
-11     val_11
-168    val_168
-34     val_34
-229    val_229
-233    val_233
-143    val_143
-472    val_472
-322    val_322
-498    val_498
-160    val_160
-195    val_195
-42     val_42
-321    val_321
-430    val_430
-119    val_119
-489    val_489
-458    val_458
-78     val_78
-76     val_76
-41     val_41
-223    val_223
-492    val_492
-149    val_149
-449    val_449
-218    val_218
-228    val_228
-138    val_138
-453    val_453
-30     val_30
-209    val_209
-64     val_64
-468    val_468
-76     val_76
-74     val_74
-342    val_342
-69     val_69
-230    val_230
-33     val_33
-368    val_368
-103    val_103
-296    val_296
-113    val_113
-216    val_216
-367    val_367
-344    val_344
-167    val_167
-274    val_274
-219    val_219
-239    val_239
-485    val_485
-116    val_116
-223    val_223
-256    val_256
-263    val_263
-70     val_70
-487    val_487
-480    val_480
-401    val_401
-288    val_288
-191    val_191
-5      val_5
-244    val_244
-438    val_438
-128    val_128
-467    val_467
-432    val_432
-202    val_202
-316    val_316
-229    val_229
-469    val_469
-463    val_463
-280    val_280
-2      val_2
-35     val_35
-283    val_283
-331    val_331
-235    val_235
-80     val_80
-44     val_44
-193    val_193
-321    val_321
-335    val_335
-104    val_104
-466    val_466
-366    val_366
-175    val_175
-403    val_403
-483    val_483
-53     val_53
-105    val_105
-257    val_257
-406    val_406
-409    val_409
-190    val_190
-406    val_406
-401    val_401
-114    val_114
-258    val_258
-90     val_90
-203    val_203
-262    val_262
-348    val_348
-424    val_424
-12     val_12
-396    val_396
-201    val_201
-217    val_217
-164    val_164
-431    val_431
-454    val_454
-478    val_478
-298    val_298
-125    val_125
-431    val_431
-164    val_164
-424    val_424
-187    val_187
-382    val_382
-5      val_5
-70     val_70
-397    val_397
-480    val_480
-291    val_291
-24     val_24
-351    val_351
-255    val_255
-104    val_104
-70     val_70
-163    val_163
-438    val_438
-119    val_119
-414    val_414
-200    val_200
-491    val_491
-237    val_237
-439    val_439
-360    val_360
-248    val_248
-479    val_479
-305    val_305
-417    val_417
-199    val_199
-444    val_444
-120    val_120
-429    val_429
-169    val_169
-443    val_443
-323    val_323
-325    val_325
-277    val_277
-230    val_230
-478    val_478
-178    val_178
-468    val_468
-310    val_310
-317    val_317
-333    val_333
-493    val_493
-460    val_460
-207    val_207
-249    val_249
-265    val_265
-480    val_480
-83     val_83
-136    val_136
-353    val_353
-172    val_172
-214    val_214
-462    val_462
-233    val_233
-406    val_406
-133    val_133
-175    val_175
-189    val_189
-454    val_454
-375    val_375
-401    val_401
-421    val_421
-407    val_407
-384    val_384
-256    val_256
-26     val_26
-134    val_134
-67     val_67
-384    val_384
-379    val_379
-18     val_18
-462    val_462
-492    val_492
-100    val_100
-298    val_298
-9      val_9
-341    val_341
-498    val_498
-146    val_146
-458    val_458
-362    val_362
-186    val_186
-285    val_285
-348    val_348
-167    val_167
-18     val_18
-273    val_273
-183    val_183
-281    val_281
-344    val_344
-97     val_97
-469    val_469
-315    val_315
-84     val_84
-28     val_28
-37     val_37
-448    val_448
-152    val_152
-348    val_348
-307    val_307
-194    val_194
-414    val_414
-477    val_477
-222    val_222
-126    val_126
-90     val_90
-169    val_169
-403    val_403
-400    val_400
-200    val_200
-97     val_97
+0      0_lav
+4      4_lav
+8      8_lav
+0      0_lav
+0      0_lav
+2      2_lav
 PREHOOK: query: explain select * from masking_test_n1 where key > 0
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select * from masking_test_n1 where key > 0
@@ -574,15 +83,15 @@ STAGE PLANS:
               insideView TRUE
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE 
Column stats: NONE
             Filter Operator
-              predicate: (UDFToInteger(key) > 0) (type: boolean)
-              Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE 
Column stats: NONE
+              predicate: (((UDFToInteger(key) % 2) = 0) and (UDFToInteger(key) 
< 10) and (UDFToInteger(key) > 0)) (type: boolean)
+              Statistics: Num rows: 27 Data size: 286 Basic stats: COMPLETE 
Column stats: NONE
               Select Operator
-                expressions: UDFToInteger(key) (type: int), value (type: 
string)
+                expressions: UDFToInteger(key) (type: int), reverse(value) 
(type: string)
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 166 Data size: 1763 Basic stats: 
COMPLETE Column stats: NONE
+                Statistics: Num rows: 27 Data size: 286 Basic stats: COMPLETE 
Column stats: NONE
                 File Output Operator
                   compressed: false
-                  Statistics: Num rows: 166 Data size: 1763 Basic stats: 
COMPLETE Column stats: NONE
+                  Statistics: Num rows: 27 Data size: 286 Basic stats: 
COMPLETE Column stats: NONE
                   table:
                       input format: 
org.apache.hadoop.mapred.SequenceFileInputFormat
                       output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -605,503 +114,9 @@ POSTHOOK: type: QUERY
 POSTHOOK: Input: default@masking_test_n1
 POSTHOOK: Input: default@src
 #### A masked pattern was here ####
-238    val_238
-86     val_86
-311    val_311
-27     val_27
-165    val_165
-409    val_409
-255    val_255
-278    val_278
-98     val_98
-484    val_484
-265    val_265
-193    val_193
-401    val_401
-150    val_150
-273    val_273
-224    val_224
-369    val_369
-66     val_66
-128    val_128
-213    val_213
-146    val_146
-406    val_406
-429    val_429
-374    val_374
-152    val_152
-469    val_469
-145    val_145
-495    val_495
-37     val_37
-327    val_327
-281    val_281
-277    val_277
-209    val_209
-15     val_15
-82     val_82
-403    val_403
-166    val_166
-417    val_417
-430    val_430
-252    val_252
-292    val_292
-219    val_219
-287    val_287
-153    val_153
-193    val_193
-338    val_338
-446    val_446
-459    val_459
-394    val_394
-237    val_237
-482    val_482
-174    val_174
-413    val_413
-494    val_494
-207    val_207
-199    val_199
-466    val_466
-208    val_208
-174    val_174
-399    val_399
-396    val_396
-247    val_247
-417    val_417
-489    val_489
-162    val_162
-377    val_377
-397    val_397
-309    val_309
-365    val_365
-266    val_266
-439    val_439
-342    val_342
-367    val_367
-325    val_325
-167    val_167
-195    val_195
-475    val_475
-17     val_17
-113    val_113
-155    val_155
-203    val_203
-339    val_339
-455    val_455
-128    val_128
-311    val_311
-316    val_316
-57     val_57
-302    val_302
-205    val_205
-149    val_149
-438    val_438
-345    val_345
-129    val_129
-170    val_170
-20     val_20
-489    val_489
-157    val_157
-378    val_378
-221    val_221
-92     val_92
-111    val_111
-47     val_47
-72     val_72
-4      val_4
-280    val_280
-35     val_35
-427    val_427
-277    val_277
-208    val_208
-356    val_356
-399    val_399
-169    val_169
-382    val_382
-498    val_498
-125    val_125
-386    val_386
-437    val_437
-469    val_469
-192    val_192
-286    val_286
-187    val_187
-176    val_176
-54     val_54
-459    val_459
-51     val_51
-138    val_138
-103    val_103
-239    val_239
-213    val_213
-216    val_216
-430    val_430
-278    val_278
-176    val_176
-289    val_289
-221    val_221
-65     val_65
-318    val_318
-332    val_332
-311    val_311
-275    val_275
-137    val_137
-241    val_241
-83     val_83
-333    val_333
-180    val_180
-284    val_284
-12     val_12
-230    val_230
-181    val_181
-67     val_67
-260    val_260
-404    val_404
-384    val_384
-489    val_489
-353    val_353
-373    val_373
-272    val_272
-138    val_138
-217    val_217
-84     val_84
-348    val_348
-466    val_466
-58     val_58
-8      val_8
-411    val_411
-230    val_230
-208    val_208
-348    val_348
-24     val_24
-463    val_463
-431    val_431
-179    val_179
-172    val_172
-42     val_42
-129    val_129
-158    val_158
-119    val_119
-496    val_496
-322    val_322
-197    val_197
-468    val_468
-393    val_393
-454    val_454
-100    val_100
-298    val_298
-199    val_199
-191    val_191
-418    val_418
-96     val_96
-26     val_26
-165    val_165
-327    val_327
-230    val_230
-205    val_205
-120    val_120
-131    val_131
-51     val_51
-404    val_404
-43     val_43
-436    val_436
-156    val_156
-469    val_469
-468    val_468
-308    val_308
-95     val_95
-196    val_196
-288    val_288
-481    val_481
-457    val_457
-98     val_98
-282    val_282
-197    val_197
-187    val_187
-318    val_318
-318    val_318
-409    val_409
-470    val_470
-137    val_137
-369    val_369
-316    val_316
-169    val_169
-413    val_413
-85     val_85
-77     val_77
-490    val_490
-87     val_87
-364    val_364
-179    val_179
-118    val_118
-134    val_134
-395    val_395
-282    val_282
-138    val_138
-238    val_238
-419    val_419
-15     val_15
-118    val_118
-72     val_72
-90     val_90
-307    val_307
-19     val_19
-435    val_435
-10     val_10
-277    val_277
-273    val_273
-306    val_306
-224    val_224
-309    val_309
-389    val_389
-327    val_327
-242    val_242
-369    val_369
-392    val_392
-272    val_272
-331    val_331
-401    val_401
-242    val_242
-452    val_452
-177    val_177
-226    val_226
-5      val_5
-497    val_497
-402    val_402
-396    val_396
-317    val_317
-395    val_395
-58     val_58
-35     val_35
-336    val_336
-95     val_95
-11     val_11
-168    val_168
-34     val_34
-229    val_229
-233    val_233
-143    val_143
-472    val_472
-322    val_322
-498    val_498
-160    val_160
-195    val_195
-42     val_42
-321    val_321
-430    val_430
-119    val_119
-489    val_489
-458    val_458
-78     val_78
-76     val_76
-41     val_41
-223    val_223
-492    val_492
-149    val_149
-449    val_449
-218    val_218
-228    val_228
-138    val_138
-453    val_453
-30     val_30
-209    val_209
-64     val_64
-468    val_468
-76     val_76
-74     val_74
-342    val_342
-69     val_69
-230    val_230
-33     val_33
-368    val_368
-103    val_103
-296    val_296
-113    val_113
-216    val_216
-367    val_367
-344    val_344
-167    val_167
-274    val_274
-219    val_219
-239    val_239
-485    val_485
-116    val_116
-223    val_223
-256    val_256
-263    val_263
-70     val_70
-487    val_487
-480    val_480
-401    val_401
-288    val_288
-191    val_191
-5      val_5
-244    val_244
-438    val_438
-128    val_128
-467    val_467
-432    val_432
-202    val_202
-316    val_316
-229    val_229
-469    val_469
-463    val_463
-280    val_280
-2      val_2
-35     val_35
-283    val_283
-331    val_331
-235    val_235
-80     val_80
-44     val_44
-193    val_193
-321    val_321
-335    val_335
-104    val_104
-466    val_466
-366    val_366
-175    val_175
-403    val_403
-483    val_483
-53     val_53
-105    val_105
-257    val_257
-406    val_406
-409    val_409
-190    val_190
-406    val_406
-401    val_401
-114    val_114
-258    val_258
-90     val_90
-203    val_203
-262    val_262
-348    val_348
-424    val_424
-12     val_12
-396    val_396
-201    val_201
-217    val_217
-164    val_164
-431    val_431
-454    val_454
-478    val_478
-298    val_298
-125    val_125
-431    val_431
-164    val_164
-424    val_424
-187    val_187
-382    val_382
-5      val_5
-70     val_70
-397    val_397
-480    val_480
-291    val_291
-24     val_24
-351    val_351
-255    val_255
-104    val_104
-70     val_70
-163    val_163
-438    val_438
-119    val_119
-414    val_414
-200    val_200
-491    val_491
-237    val_237
-439    val_439
-360    val_360
-248    val_248
-479    val_479
-305    val_305
-417    val_417
-199    val_199
-444    val_444
-120    val_120
-429    val_429
-169    val_169
-443    val_443
-323    val_323
-325    val_325
-277    val_277
-230    val_230
-478    val_478
-178    val_178
-468    val_468
-310    val_310
-317    val_317
-333    val_333
-493    val_493
-460    val_460
-207    val_207
-249    val_249
-265    val_265
-480    val_480
-83     val_83
-136    val_136
-353    val_353
-172    val_172
-214    val_214
-462    val_462
-233    val_233
-406    val_406
-133    val_133
-175    val_175
-189    val_189
-454    val_454
-375    val_375
-401    val_401
-421    val_421
-407    val_407
-384    val_384
-256    val_256
-26     val_26
-134    val_134
-67     val_67
-384    val_384
-379    val_379
-18     val_18
-462    val_462
-492    val_492
-100    val_100
-298    val_298
-9      val_9
-341    val_341
-498    val_498
-146    val_146
-458    val_458
-362    val_362
-186    val_186
-285    val_285
-348    val_348
-167    val_167
-18     val_18
-273    val_273
-183    val_183
-281    val_281
-344    val_344
-97     val_97
-469    val_469
-315    val_315
-84     val_84
-28     val_28
-37     val_37
-448    val_448
-152    val_152
-348    val_348
-307    val_307
-194    val_194
-414    val_414
-477    val_477
-222    val_222
-126    val_126
-90     val_90
-169    val_169
-403    val_403
-400    val_400
-200    val_200
-97     val_97
+4      4_lav
+8      8_lav
+2      2_lav
 PREHOOK: query: explain select * from src a join masking_test_n1 b on a.key = 
b.value where b.key > 0
 PREHOOK: type: QUERY
 POSTHOOK: query: explain select * from src a join masking_test_n1 b on a.key = 
b.value where b.key > 0
@@ -1136,17 +151,17 @@ STAGE PLANS:
               insideView TRUE
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE 
Column stats: NONE
             Filter Operator
-              predicate: ((UDFToInteger(key) > 0) and value is not null) 
(type: boolean)
-              Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE 
Column stats: NONE
+              predicate: (((UDFToInteger(key) % 2) = 0) and (UDFToInteger(key) 
< 10) and (UDFToInteger(key) > 0) and reverse(value) is not null) (type: 
boolean)
+              Statistics: Num rows: 27 Data size: 286 Basic stats: COMPLETE 
Column stats: NONE
               Select Operator
-                expressions: UDFToInteger(key) (type: int), value (type: 
string)
+                expressions: UDFToInteger(key) (type: int), reverse(value) 
(type: string)
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 166 Data size: 1763 Basic stats: 
COMPLETE Column stats: NONE
+                Statistics: Num rows: 27 Data size: 286 Basic stats: COMPLETE 
Column stats: NONE
                 Reduce Output Operator
                   key expressions: _col1 (type: string)
                   sort order: +
                   Map-reduce partition columns: _col1 (type: string)
-                  Statistics: Num rows: 166 Data size: 1763 Basic stats: 
COMPLETE Column stats: NONE
+                  Statistics: Num rows: 27 Data size: 286 Basic stats: 
COMPLETE Column stats: NONE
                   value expressions: _col0 (type: int)
       Reduce Operator Tree:
         Join Operator
@@ -1189,17 +204,17 @@ STAGE PLANS:
               insideView TRUE
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE 
Column stats: NONE
             Filter Operator
-              predicate: key is not null (type: boolean)
-              Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE 
Column stats: NONE
+              predicate: (((UDFToInteger(key) % 2) = 0) and (UDFToInteger(key) 
< 10)) (type: boolean)
+              Statistics: Num rows: 83 Data size: 881 Basic stats: COMPLETE 
Column stats: NONE
               Select Operator
-                expressions: UDFToInteger(key) (type: int), value (type: 
string)
+                expressions: UDFToInteger(key) (type: int), reverse(value) 
(type: string)
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 500 Data size: 5312 Basic stats: 
COMPLETE Column stats: NONE
+                Statistics: Num rows: 83 Data size: 881 Basic stats: COMPLETE 
Column stats: NONE
                 Reduce Output Operator
                   key expressions: UDFToDouble(_col0) (type: double)
                   sort order: +
                   Map-reduce partition columns: UDFToDouble(_col0) (type: 
double)
-                  Statistics: Num rows: 500 Data size: 5312 Basic stats: 
COMPLETE Column stats: NONE
+                  Statistics: Num rows: 83 Data size: 881 Basic stats: 
COMPLETE Column stats: NONE
                   value expressions: _col0 (type: int), _col1 (type: string)
           TableScan
             alias: src
@@ -1207,17 +222,17 @@ STAGE PLANS:
               insideView TRUE
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE 
Column stats: NONE
             Filter Operator
-              predicate: ((UDFToInteger(key) > 0) and value is not null) 
(type: boolean)
-              Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE 
Column stats: NONE
+              predicate: (((UDFToInteger(key) % 2) = 0) and (UDFToInteger(key) 
< 10) and (UDFToInteger(key) > 0) and reverse(value) is not null) (type: 
boolean)
+              Statistics: Num rows: 27 Data size: 286 Basic stats: COMPLETE 
Column stats: NONE
               Select Operator
-                expressions: UDFToInteger(key) (type: int), value (type: 
string)
+                expressions: UDFToInteger(key) (type: int), reverse(value) 
(type: string)
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 166 Data size: 1763 Basic stats: 
COMPLETE Column stats: NONE
+                Statistics: Num rows: 27 Data size: 286 Basic stats: COMPLETE 
Column stats: NONE
                 Reduce Output Operator
                   key expressions: UDFToDouble(_col1) (type: double)
                   sort order: +
                   Map-reduce partition columns: UDFToDouble(_col1) (type: 
double)
-                  Statistics: Num rows: 166 Data size: 1763 Basic stats: 
COMPLETE Column stats: NONE
+                  Statistics: Num rows: 27 Data size: 286 Basic stats: 
COMPLETE Column stats: NONE
                   value expressions: _col0 (type: int)
       Reduce Operator Tree:
         Join Operator
@@ -1227,10 +242,10 @@ STAGE PLANS:
             0 UDFToDouble(_col0) (type: double)
             1 UDFToDouble(_col1) (type: double)
           outputColumnNames: _col0, _col1, _col2
-          Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE 
Column stats: NONE
+          Statistics: Num rows: 91 Data size: 969 Basic stats: COMPLETE Column 
stats: NONE
           File Output Operator
             compressed: false
-            Statistics: Num rows: 550 Data size: 5843 Basic stats: COMPLETE 
Column stats: NONE
+            Statistics: Num rows: 91 Data size: 969 Basic stats: COMPLETE 
Column stats: NONE
             table:
                 input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                 output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat
@@ -1259,55 +274,58 @@ STAGE PLANS:
             properties:
               insideView TRUE
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE 
Column stats: NONE
-            Select Operator
-              expressions: UDFToInteger(key) (type: int), value (type: string)
-              outputColumnNames: _col0, _col1
-              Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE 
Column stats: NONE
-              Union
-                Statistics: Num rows: 666 Data size: 7075 Basic stats: 
COMPLETE Column stats: NONE
-                Group By Operator
-                  keys: _col0 (type: int), _col1 (type: string)
-                  mode: hash
-                  outputColumnNames: _col0, _col1
-                  Statistics: Num rows: 666 Data size: 7075 Basic stats: 
COMPLETE Column stats: NONE
-                  Reduce Output Operator
-                    key expressions: _col0 (type: int), _col1 (type: string)
-                    sort order: ++
-                    Map-reduce partition columns: _col0 (type: int), _col1 
(type: string)
-                    Statistics: Num rows: 666 Data size: 7075 Basic stats: 
COMPLETE Column stats: NONE
+            Filter Operator
+              predicate: (((UDFToInteger(key) % 2) = 0) and (UDFToInteger(key) 
< 10)) (type: boolean)
+              Statistics: Num rows: 83 Data size: 881 Basic stats: COMPLETE 
Column stats: NONE
+              Select Operator
+                expressions: UDFToInteger(key) (type: int), reverse(value) 
(type: string)
+                outputColumnNames: _col0, _col1
+                Statistics: Num rows: 83 Data size: 881 Basic stats: COMPLETE 
Column stats: NONE
+                Union
+                  Statistics: Num rows: 110 Data size: 1167 Basic stats: 
COMPLETE Column stats: NONE
+                  Group By Operator
+                    keys: _col0 (type: int), _col1 (type: string)
+                    mode: hash
+                    outputColumnNames: _col0, _col1
+                    Statistics: Num rows: 110 Data size: 1167 Basic stats: 
COMPLETE Column stats: NONE
+                    Reduce Output Operator
+                      key expressions: _col0 (type: int), _col1 (type: string)
+                      sort order: ++
+                      Map-reduce partition columns: _col0 (type: int), _col1 
(type: string)
+                      Statistics: Num rows: 110 Data size: 1167 Basic stats: 
COMPLETE Column stats: NONE
           TableScan
             alias: src
             properties:
               insideView TRUE
             Statistics: Num rows: 500 Data size: 5312 Basic stats: COMPLETE 
Column stats: NONE
             Filter Operator
-              predicate: (UDFToInteger(key) > 0) (type: boolean)
-              Statistics: Num rows: 166 Data size: 1763 Basic stats: COMPLETE 
Column stats: NONE
+              predicate: (((UDFToInteger(key) % 2) = 0) and (UDFToInteger(key) 
< 10) and (UDFToInteger(key) > 0)) (type: boolean)
+              Statistics: Num rows: 27 Data size: 286 Basic stats: COMPLETE 
Column stats: NONE
               Select Operator
-                expressions: UDFToInteger(key) (type: int), value (type: 
string)
+                expressions: UDFToInteger(key) (type: int), reverse(value) 
(type: string)
                 outputColumnNames: _col0, _col1
-                Statistics: Num rows: 166 Data size: 1763 Basic stats: 
COMPLETE Column stats: NONE
+                Statistics: Num rows: 27 Data size: 286 Basic stats: COMPLETE 
Column stats: NONE
                 Union
-                  Statistics: Num rows: 666 Data size: 7075 Basic stats: 
COMPLETE Column stats: NONE
+                  Statistics: Num rows: 110 Data size: 1167 Basic stats: 
COMPLETE Column stats: NONE
                   Group By Operator
                     keys: _col0 (type: int), _col1 (type: string)
                     mode: hash
                     outputColumnNames: _col0, _col1
-                    Statistics: Num rows: 666 Data size: 7075 Basic stats: 
COMPLETE Column stats: NONE
+                    Statistics: Num rows: 110 Data size: 1167 Basic stats: 
COMPLETE Column stats: NONE
                     Reduce Output Operator
                       key expressions: _col0 (type: int), _col1 (type: string)
                       sort order: ++
                       Map-reduce partition columns: _col0 (type: int), _col1 
(type: string)
-                      Statistics: Num rows: 666 Data size: 7075 Basic stats: 
COMPLETE Column stats: NONE
+                      Statistics: Num rows: 110 Data size: 1167 Basic stats: 
COMPLETE Column stats: NONE
       Reduce Operator Tree:
         Group By Operator
           keys: KEY._col0 (type: int), KEY._col1 (type: string)
           mode: mergepartial
           outputColumnNames: _col0, _col1
-          Statistics: Num rows: 333 Data size: 3537 Basic stats: COMPLETE 
Column stats: NONE
+          Statistics: Num rows: 55 Data size: 583 Basic stats: COMPLETE Column 
stats: NONE
           File Output Operator
             compressed: false
-            Statistics: Num rows: 333 Data size: 3537 Basic stats: COMPLETE 
Column stats: NONE
+            Statistics: Num rows: 55 Data size: 583 Basic stats: COMPLETE 
Column stats: NONE
             table:
                 input format: org.apache.hadoop.mapred.SequenceFileInputFormat
                 output format: 
org.apache.hadoop.hive.ql.io.HiveSequenceFileOutputFormat

Reply via email to