You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by jc...@apache.org on 2018/07/11 23:31:55 UTC

[7/9] hive git commit: HIVE-20123: Fix masking tests after HIVE-19617 (Jesus Camacho Rodriguez, reviewed by Ashutosh Chauhan)

http://git-wip-us.apache.org/repos/asf/hive/blob/3c71687d/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/3c71687d/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/3c71687d/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