diff --git ql/src/test/queries/clientpositive/acid_join.q ql/src/test/queries/clientpositive/acid_join.q new file mode 100644 index 0000000..ed2cfe0 --- /dev/null +++ ql/src/test/queries/clientpositive/acid_join.q @@ -0,0 +1,11 @@ +set hive.support.concurrency=true; +set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; +set hive.enforce.bucketing=true; + +create table acidjoin1(name varchar(50), age int) clustered by (age) into 2 buckets stored as orc TBLPROPERTIES ("transactional"="true"); +create table acidjoin2(name varchar(50), gpa decimal(3, 2)) clustered by (gpa) into 4 buckets stored as orc TBLPROPERTIES ("transactional"="true"); + +insert into table acidjoin1 values ('aaa', 35), ('bbb', 32), ('ccc', 32), ('ddd', 35), ('eee', 32); +insert into table acidjoin2 values ('aaa', 3.00), ('bbb', 3.01), ('ccc', 3.02), ('ddd', 3.03), ('eee', 3.04); + +select a.name, age, gpa from acidjoin1 a join acidjoin2 b on (a.name = b.name); diff --git ql/src/test/queries/clientpositive/insert_nonacid_from_acid.q ql/src/test/queries/clientpositive/insert_nonacid_from_acid.q new file mode 100644 index 0000000..630a0ab --- /dev/null +++ ql/src/test/queries/clientpositive/insert_nonacid_from_acid.q @@ -0,0 +1,11 @@ +set hive.support.concurrency=true; +set hive.txn.manager=org.apache.hadoop.hive.ql.lockmgr.DbTxnManager; +set hive.enforce.bucketing=true; + +create table sample_06(name varchar(50), age int, gpa decimal(3, 2)) clustered by (age) into 2 buckets stored as orc TBLPROPERTIES ("transactional"="true"); +insert into table sample_06 values ('aaa', 35, 3.00), ('bbb', 32, 3.00), ('ccc', 32, 3.00), ('ddd', 35, 3.00), ('eee', 32, 3.00); +select * from sample_06 where gpa = 3.00; + +create table tab1 (name varchar(50), age int, gpa decimal(3, 2)); +insert into table tab1 select * from sample_06 where gpa = 3.00; +select * from tab1; diff --git ql/src/test/results/clientpositive/acid_join.q.out ql/src/test/results/clientpositive/acid_join.q.out new file mode 100644 index 0000000..590c46a --- /dev/null +++ ql/src/test/results/clientpositive/acid_join.q.out @@ -0,0 +1,51 @@ +PREHOOK: query: create table acidjoin1(name varchar(50), age int) clustered by (age) into 2 buckets stored as orc TBLPROPERTIES ("transactional"="true") +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@acidjoin1 +POSTHOOK: query: create table acidjoin1(name varchar(50), age int) clustered by (age) into 2 buckets stored as orc TBLPROPERTIES ("transactional"="true") +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@acidjoin1 +PREHOOK: query: create table acidjoin2(name varchar(50), gpa decimal(3, 2)) clustered by (gpa) into 4 buckets stored as orc TBLPROPERTIES ("transactional"="true") +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@acidjoin2 +POSTHOOK: query: create table acidjoin2(name varchar(50), gpa decimal(3, 2)) clustered by (gpa) into 4 buckets stored as orc TBLPROPERTIES ("transactional"="true") +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@acidjoin2 +PREHOOK: query: insert into table acidjoin1 values ('aaa', 35), ('bbb', 32), ('ccc', 32), ('ddd', 35), ('eee', 32) +PREHOOK: type: QUERY +PREHOOK: Input: default@values__tmp__table__1 +PREHOOK: Output: default@acidjoin1 +POSTHOOK: query: insert into table acidjoin1 values ('aaa', 35), ('bbb', 32), ('ccc', 32), ('ddd', 35), ('eee', 32) +POSTHOOK: type: QUERY +POSTHOOK: Input: default@values__tmp__table__1 +POSTHOOK: Output: default@acidjoin1 +POSTHOOK: Lineage: acidjoin1.age EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +POSTHOOK: Lineage: acidjoin1.name EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +PREHOOK: query: insert into table acidjoin2 values ('aaa', 3.00), ('bbb', 3.01), ('ccc', 3.02), ('ddd', 3.03), ('eee', 3.04) +PREHOOK: type: QUERY +PREHOOK: Input: default@values__tmp__table__2 +PREHOOK: Output: default@acidjoin2 +POSTHOOK: query: insert into table acidjoin2 values ('aaa', 3.00), ('bbb', 3.01), ('ccc', 3.02), ('ddd', 3.03), ('eee', 3.04) +POSTHOOK: type: QUERY +POSTHOOK: Input: default@values__tmp__table__2 +POSTHOOK: Output: default@acidjoin2 +POSTHOOK: Lineage: acidjoin2.gpa EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +POSTHOOK: Lineage: acidjoin2.name EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +PREHOOK: query: select a.name, age, gpa from acidjoin1 a join acidjoin2 b on (a.name = b.name) +PREHOOK: type: QUERY +PREHOOK: Input: default@acidjoin1 +PREHOOK: Input: default@acidjoin2 +#### A masked pattern was here #### +POSTHOOK: query: select a.name, age, gpa from acidjoin1 a join acidjoin2 b on (a.name = b.name) +POSTHOOK: type: QUERY +POSTHOOK: Input: default@acidjoin1 +POSTHOOK: Input: default@acidjoin2 +#### A masked pattern was here #### +aaa 35 3.00 +bbb 32 3.01 +ccc 32 3.02 +ddd 35 3.03 +eee 32 3.04 diff --git ql/src/test/results/clientpositive/insert_nonacid_from_acid.q.out ql/src/test/results/clientpositive/insert_nonacid_from_acid.q.out new file mode 100644 index 0000000..d70b085 --- /dev/null +++ ql/src/test/results/clientpositive/insert_nonacid_from_acid.q.out @@ -0,0 +1,64 @@ +PREHOOK: query: create table sample_06(name varchar(50), age int, gpa decimal(3, 2)) clustered by (age) into 2 buckets stored as orc TBLPROPERTIES ("transactional"="true") +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@sample_06 +POSTHOOK: query: create table sample_06(name varchar(50), age int, gpa decimal(3, 2)) clustered by (age) into 2 buckets stored as orc TBLPROPERTIES ("transactional"="true") +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@sample_06 +PREHOOK: query: insert into table sample_06 values ('aaa', 35, 3.00), ('bbb', 32, 3.00), ('ccc', 32, 3.00), ('ddd', 35, 3.00), ('eee', 32, 3.00) +PREHOOK: type: QUERY +PREHOOK: Input: default@values__tmp__table__1 +PREHOOK: Output: default@sample_06 +POSTHOOK: query: insert into table sample_06 values ('aaa', 35, 3.00), ('bbb', 32, 3.00), ('ccc', 32, 3.00), ('ddd', 35, 3.00), ('eee', 32, 3.00) +POSTHOOK: type: QUERY +POSTHOOK: Input: default@values__tmp__table__1 +POSTHOOK: Output: default@sample_06 +POSTHOOK: Lineage: sample_06.age EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +POSTHOOK: Lineage: sample_06.gpa EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col3, type:string, comment:), ] +POSTHOOK: Lineage: sample_06.name EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +PREHOOK: query: select * from sample_06 where gpa = 3.00 +PREHOOK: type: QUERY +PREHOOK: Input: default@sample_06 +#### A masked pattern was here #### +POSTHOOK: query: select * from sample_06 where gpa = 3.00 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@sample_06 +#### A masked pattern was here #### +eee 32 3.00 +ccc 32 3.00 +bbb 32 3.00 +ddd 35 3.00 +aaa 35 3.00 +PREHOOK: query: create table tab1 (name varchar(50), age int, gpa decimal(3, 2)) +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@tab1 +POSTHOOK: query: create table tab1 (name varchar(50), age int, gpa decimal(3, 2)) +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@tab1 +PREHOOK: query: insert into table tab1 select * from sample_06 where gpa = 3.00 +PREHOOK: type: QUERY +PREHOOK: Input: default@sample_06 +PREHOOK: Output: default@tab1 +POSTHOOK: query: insert into table tab1 select * from sample_06 where gpa = 3.00 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@sample_06 +POSTHOOK: Output: default@tab1 +POSTHOOK: Lineage: tab1.age SIMPLE [(sample_06)sample_06.FieldSchema(name:age, type:int, comment:null), ] +POSTHOOK: Lineage: tab1.gpa SIMPLE [(sample_06)sample_06.FieldSchema(name:gpa, type:decimal(3,2), comment:null), ] +POSTHOOK: Lineage: tab1.name SIMPLE [(sample_06)sample_06.FieldSchema(name:name, type:varchar(50), comment:null), ] +PREHOOK: query: select * from tab1 +PREHOOK: type: QUERY +PREHOOK: Input: default@tab1 +#### A masked pattern was here #### +POSTHOOK: query: select * from tab1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@tab1 +#### A masked pattern was here #### +eee 32 3.00 +ccc 32 3.00 +bbb 32 3.00 +ddd 35 3.00 +aaa 35 3.00