diff --git itests/src/test/resources/testconfiguration.properties itests/src/test/resources/testconfiguration.properties index 0a5d839..23a4b20 100644 --- itests/src/test/resources/testconfiguration.properties +++ itests/src/test/resources/testconfiguration.properties @@ -119,6 +119,7 @@ minitez.query.files.shared=alter_merge_2_orc.q,\ load_dyn_part1.q,\ load_dyn_part2.q,\ load_dyn_part3.q,\ + lvj_outer.q,\ mapjoin_mapjoin.q,\ mapreduce1.q,\ mapreduce2.q,\ diff --git ql/src/test/queries/clientpositive/lvj_outer.q ql/src/test/queries/clientpositive/lvj_outer.q new file mode 100644 index 0000000..794cb5b --- /dev/null +++ ql/src/test/queries/clientpositive/lvj_outer.q @@ -0,0 +1,13 @@ +drop table foo ; + +create table foo(dummyfoo int); +insert into table foo select count(*) from foo; + +select count(*) as cnt from ( + select a.val,p.code from + (select cast((((one*5)+two)*5+three) as int) as val from foo + lateral view outer explode(split("0,1,2,3,4",",")) tbl_1 as one + lateral view outer explode(split("0,1,2,3,4",",")) tbl_2 as two + lateral view outer explode(split("0,1,2,3,4",",")) tbl_3 as three ) as a + left join + (select dummyfoo as code from foo ) p on p.code=a.val) w; diff --git ql/src/test/results/clientpositive/lvj_outer.q.out ql/src/test/results/clientpositive/lvj_outer.q.out new file mode 100644 index 0000000..0fcf52e --- /dev/null +++ ql/src/test/results/clientpositive/lvj_outer.q.out @@ -0,0 +1,44 @@ +PREHOOK: query: drop table foo +PREHOOK: type: DROPTABLE +POSTHOOK: query: drop table foo +POSTHOOK: type: DROPTABLE +PREHOOK: query: create table foo(dummyfoo int) +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@foo +POSTHOOK: query: create table foo(dummyfoo int) +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@foo +PREHOOK: query: insert into table foo select count(*) from foo +PREHOOK: type: QUERY +PREHOOK: Input: default@foo +PREHOOK: Output: default@foo +POSTHOOK: query: insert into table foo select count(*) from foo +POSTHOOK: type: QUERY +POSTHOOK: Input: default@foo +POSTHOOK: Output: default@foo +POSTHOOK: Lineage: foo.dummyfoo EXPRESSION [] +PREHOOK: query: select count(*) as cnt from ( + select a.val,p.code from + (select cast((((one*5)+two)*5+three) as int) as val from foo + lateral view outer explode(split("0,1,2,3,4",",")) tbl_1 as one + lateral view outer explode(split("0,1,2,3,4",",")) tbl_2 as two + lateral view outer explode(split("0,1,2,3,4",",")) tbl_3 as three ) as a + left join + (select dummyfoo as code from foo ) p on p.code=a.val) w +PREHOOK: type: QUERY +PREHOOK: Input: default@foo +#### A masked pattern was here #### +POSTHOOK: query: select count(*) as cnt from ( + select a.val,p.code from + (select cast((((one*5)+two)*5+three) as int) as val from foo + lateral view outer explode(split("0,1,2,3,4",",")) tbl_1 as one + lateral view outer explode(split("0,1,2,3,4",",")) tbl_2 as two + lateral view outer explode(split("0,1,2,3,4",",")) tbl_3 as three ) as a + left join + (select dummyfoo as code from foo ) p on p.code=a.val) w +POSTHOOK: type: QUERY +POSTHOOK: Input: default@foo +#### A masked pattern was here #### +125 diff --git ql/src/test/results/clientpositive/tez/lvj_outer.q.out ql/src/test/results/clientpositive/tez/lvj_outer.q.out new file mode 100644 index 0000000..0fcf52e --- /dev/null +++ ql/src/test/results/clientpositive/tez/lvj_outer.q.out @@ -0,0 +1,44 @@ +PREHOOK: query: drop table foo +PREHOOK: type: DROPTABLE +POSTHOOK: query: drop table foo +POSTHOOK: type: DROPTABLE +PREHOOK: query: create table foo(dummyfoo int) +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@foo +POSTHOOK: query: create table foo(dummyfoo int) +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@foo +PREHOOK: query: insert into table foo select count(*) from foo +PREHOOK: type: QUERY +PREHOOK: Input: default@foo +PREHOOK: Output: default@foo +POSTHOOK: query: insert into table foo select count(*) from foo +POSTHOOK: type: QUERY +POSTHOOK: Input: default@foo +POSTHOOK: Output: default@foo +POSTHOOK: Lineage: foo.dummyfoo EXPRESSION [] +PREHOOK: query: select count(*) as cnt from ( + select a.val,p.code from + (select cast((((one*5)+two)*5+three) as int) as val from foo + lateral view outer explode(split("0,1,2,3,4",",")) tbl_1 as one + lateral view outer explode(split("0,1,2,3,4",",")) tbl_2 as two + lateral view outer explode(split("0,1,2,3,4",",")) tbl_3 as three ) as a + left join + (select dummyfoo as code from foo ) p on p.code=a.val) w +PREHOOK: type: QUERY +PREHOOK: Input: default@foo +#### A masked pattern was here #### +POSTHOOK: query: select count(*) as cnt from ( + select a.val,p.code from + (select cast((((one*5)+two)*5+three) as int) as val from foo + lateral view outer explode(split("0,1,2,3,4",",")) tbl_1 as one + lateral view outer explode(split("0,1,2,3,4",",")) tbl_2 as two + lateral view outer explode(split("0,1,2,3,4",",")) tbl_3 as three ) as a + left join + (select dummyfoo as code from foo ) p on p.code=a.val) w +POSTHOOK: type: QUERY +POSTHOOK: Input: default@foo +#### A masked pattern was here #### +125