Repository: hive Updated Branches: refs/heads/master 7f65e36d9 -> 249c4ef13
http://git-wip-us.apache.org/repos/asf/hive/blob/249c4ef1/ql/src/test/results/clientpositive/tez/schema_evol_text_nonvec_fetchwork_table.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/tez/schema_evol_text_nonvec_fetchwork_table.q.out b/ql/src/test/results/clientpositive/tez/schema_evol_text_nonvec_fetchwork_table.q.out new file mode 100644 index 0000000..4003c20 --- /dev/null +++ b/ql/src/test/results/clientpositive/tez/schema_evol_text_nonvec_fetchwork_table.q.out @@ -0,0 +1,297 @@ +PREHOOK: query: -- SORT_QUERY_RESULTS +-- +-- FILE VARIATION: ORC, Non-Vectorized, MapWork, Table +-- +-- +-- SECTION VARIATION: ALTER TABLE ADD COLUMNS +--- +CREATE TABLE table1(a INT, b STRING) STORED AS TEXTFILE +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@table1 +POSTHOOK: query: -- SORT_QUERY_RESULTS +-- +-- FILE VARIATION: ORC, Non-Vectorized, MapWork, Table +-- +-- +-- SECTION VARIATION: ALTER TABLE ADD COLUMNS +--- +CREATE TABLE table1(a INT, b STRING) STORED AS TEXTFILE +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@table1 +PREHOOK: query: insert into table table1 values(1, 'original'),(2, 'original'), (3, 'original'),(4, 'original') +PREHOOK: type: QUERY +PREHOOK: Input: default@values__tmp__table__1 +PREHOOK: Output: default@table1 +POSTHOOK: query: insert into table table1 values(1, 'original'),(2, 'original'), (3, 'original'),(4, 'original') +POSTHOOK: type: QUERY +POSTHOOK: Input: default@values__tmp__table__1 +POSTHOOK: Output: default@table1 +POSTHOOK: Lineage: table1.a EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: table1.b SIMPLE [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +_col0 _col1 +PREHOOK: query: select a,b from table1 +PREHOOK: type: QUERY +PREHOOK: Input: default@table1 +#### A masked pattern was here #### +POSTHOOK: query: select a,b from table1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@table1 +#### A masked pattern was here #### +a b +1 original +2 original +3 original +4 original +PREHOOK: query: -- ADD COLUMNS +alter table table1 add columns(c int, d string) +PREHOOK: type: ALTERTABLE_ADDCOLS +PREHOOK: Input: default@table1 +PREHOOK: Output: default@table1 +POSTHOOK: query: -- ADD COLUMNS +alter table table1 add columns(c int, d string) +POSTHOOK: type: ALTERTABLE_ADDCOLS +POSTHOOK: Input: default@table1 +POSTHOOK: Output: default@table1 +PREHOOK: query: insert into table table1 values(1, 'new', 10, 'ten'),(2, 'new', 20, 'twenty'), (3, 'new', 30, 'thirty'),(4, 'new', 40, 'forty') +PREHOOK: type: QUERY +PREHOOK: Input: default@values__tmp__table__2 +PREHOOK: Output: default@table1 +POSTHOOK: query: insert into table table1 values(1, 'new', 10, 'ten'),(2, 'new', 20, 'twenty'), (3, 'new', 30, 'thirty'),(4, 'new', 40, 'forty') +POSTHOOK: type: QUERY +POSTHOOK: Input: default@values__tmp__table__2 +POSTHOOK: Output: default@table1 +POSTHOOK: Lineage: table1.a EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: table1.b SIMPLE [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +POSTHOOK: Lineage: table1.c EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col3, type:string, comment:), ] +POSTHOOK: Lineage: table1.d SIMPLE [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col4, type:string, comment:), ] +_col0 _col1 _col2 _col3 +PREHOOK: query: select a,b,c,d from table1 +PREHOOK: type: QUERY +PREHOOK: Input: default@table1 +#### A masked pattern was here #### +POSTHOOK: query: select a,b,c,d from table1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@table1 +#### A masked pattern was here #### +a b c d +1 new 10 ten +1 original NULL NULL +2 new 20 twenty +2 original NULL NULL +3 new 30 thirty +3 original NULL NULL +4 new 40 forty +4 original NULL NULL +PREHOOK: query: -- ADD COLUMNS +alter table table1 add columns(e string) +PREHOOK: type: ALTERTABLE_ADDCOLS +PREHOOK: Input: default@table1 +PREHOOK: Output: default@table1 +POSTHOOK: query: -- ADD COLUMNS +alter table table1 add columns(e string) +POSTHOOK: type: ALTERTABLE_ADDCOLS +POSTHOOK: Input: default@table1 +POSTHOOK: Output: default@table1 +PREHOOK: query: insert into table table1 values(5, 'new', 100, 'hundred', 'another1'),(6, 'new', 200, 'two hundred', 'another2') +PREHOOK: type: QUERY +PREHOOK: Input: default@values__tmp__table__3 +PREHOOK: Output: default@table1 +POSTHOOK: query: insert into table table1 values(5, 'new', 100, 'hundred', 'another1'),(6, 'new', 200, 'two hundred', 'another2') +POSTHOOK: type: QUERY +POSTHOOK: Input: default@values__tmp__table__3 +POSTHOOK: Output: default@table1 +POSTHOOK: Lineage: table1.a EXPRESSION [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: table1.b SIMPLE [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +POSTHOOK: Lineage: table1.c EXPRESSION [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col3, type:string, comment:), ] +POSTHOOK: Lineage: table1.d SIMPLE [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col4, type:string, comment:), ] +POSTHOOK: Lineage: table1.e SIMPLE [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col5, type:string, comment:), ] +_col0 _col1 _col2 _col3 _col4 +PREHOOK: query: select a,b,c,d,e from table1 +PREHOOK: type: QUERY +PREHOOK: Input: default@table1 +#### A masked pattern was here #### +POSTHOOK: query: select a,b,c,d,e from table1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@table1 +#### A masked pattern was here #### +a b c d e +1 new 10 ten NULL +1 original NULL NULL NULL +2 new 20 twenty NULL +2 original NULL NULL NULL +3 new 30 thirty NULL +3 original NULL NULL NULL +4 new 40 forty NULL +4 original NULL NULL NULL +5 new 100 hundred another1 +6 new 200 two hundred another2 +PREHOOK: query: -- +-- SECTION VARIATION: ALTER TABLE CHANGE COLUMN +-- smallint = (2-byte signed integer, from -32,768 to 32,767) +-- +CREATE TABLE table3(a smallint, b STRING) STORED AS TEXTFILE +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@table3 +POSTHOOK: query: -- +-- SECTION VARIATION: ALTER TABLE CHANGE COLUMN +-- smallint = (2-byte signed integer, from -32,768 to 32,767) +-- +CREATE TABLE table3(a smallint, b STRING) STORED AS TEXTFILE +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@table3 +PREHOOK: query: insert into table table3 values(1000, 'original'),(6737, 'original'), ('3', 'original'),('4', 'original') +PREHOOK: type: QUERY +PREHOOK: Input: default@values__tmp__table__4 +PREHOOK: Output: default@table3 +POSTHOOK: query: insert into table table3 values(1000, 'original'),(6737, 'original'), ('3', 'original'),('4', 'original') +POSTHOOK: type: QUERY +POSTHOOK: Input: default@values__tmp__table__4 +POSTHOOK: Output: default@table3 +POSTHOOK: Lineage: table3.a EXPRESSION [(values__tmp__table__4)values__tmp__table__4.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: table3.b SIMPLE [(values__tmp__table__4)values__tmp__table__4.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +_col0 _col1 +PREHOOK: query: select a,b from table3 +PREHOOK: type: QUERY +PREHOOK: Input: default@table3 +#### A masked pattern was here #### +POSTHOOK: query: select a,b from table3 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@table3 +#### A masked pattern was here #### +a b +1000 original +3 original +4 original +6737 original +PREHOOK: query: -- ADD COLUMNS ... RESTRICT +alter table table3 change column a a int +PREHOOK: type: ALTERTABLE_RENAMECOL +PREHOOK: Input: default@table3 +PREHOOK: Output: default@table3 +POSTHOOK: query: -- ADD COLUMNS ... RESTRICT +alter table table3 change column a a int +POSTHOOK: type: ALTERTABLE_RENAMECOL +POSTHOOK: Input: default@table3 +POSTHOOK: Output: default@table3 +PREHOOK: query: insert into table table3 values(72909, 'new'),(200, 'new'), (32768, 'new'),(40000, 'new') +PREHOOK: type: QUERY +PREHOOK: Input: default@values__tmp__table__5 +PREHOOK: Output: default@table3 +POSTHOOK: query: insert into table table3 values(72909, 'new'),(200, 'new'), (32768, 'new'),(40000, 'new') +POSTHOOK: type: QUERY +POSTHOOK: Input: default@values__tmp__table__5 +POSTHOOK: Output: default@table3 +POSTHOOK: Lineage: table3.a EXPRESSION [(values__tmp__table__5)values__tmp__table__5.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: table3.b SIMPLE [(values__tmp__table__5)values__tmp__table__5.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +_col0 _col1 +PREHOOK: query: select a,b from table3 +PREHOOK: type: QUERY +PREHOOK: Input: default@table3 +#### A masked pattern was here #### +POSTHOOK: query: select a,b from table3 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@table3 +#### A masked pattern was here #### +a b +1000 original +200 new +3 original +32768 new +4 original +40000 new +6737 original +72909 new +PREHOOK: query: -- ADD COLUMNS ... RESTRICT +alter table table3 add columns(e string) +PREHOOK: type: ALTERTABLE_ADDCOLS +PREHOOK: Input: default@table3 +PREHOOK: Output: default@table3 +POSTHOOK: query: -- ADD COLUMNS ... RESTRICT +alter table table3 add columns(e string) +POSTHOOK: type: ALTERTABLE_ADDCOLS +POSTHOOK: Input: default@table3 +POSTHOOK: Output: default@table3 +PREHOOK: query: insert into table table3 values(5000, 'new', 'another5'),(90000, 'new', 'another6') +PREHOOK: type: QUERY +PREHOOK: Input: default@values__tmp__table__6 +PREHOOK: Output: default@table3 +POSTHOOK: query: insert into table table3 values(5000, 'new', 'another5'),(90000, 'new', 'another6') +POSTHOOK: type: QUERY +POSTHOOK: Input: default@values__tmp__table__6 +POSTHOOK: Output: default@table3 +POSTHOOK: Lineage: table3.a EXPRESSION [(values__tmp__table__6)values__tmp__table__6.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: table3.b SIMPLE [(values__tmp__table__6)values__tmp__table__6.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +POSTHOOK: Lineage: table3.e SIMPLE [(values__tmp__table__6)values__tmp__table__6.FieldSchema(name:tmp_values_col3, type:string, comment:), ] +_col0 _col1 _col2 +PREHOOK: query: select a,b from table3 +PREHOOK: type: QUERY +PREHOOK: Input: default@table3 +#### A masked pattern was here #### +POSTHOOK: query: select a,b from table3 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@table3 +#### A masked pattern was here #### +a b +1000 original +200 new +3 original +32768 new +4 original +40000 new +5000 new +6737 original +72909 new +90000 new +PREHOOK: query: -- ADD COLUMNS ... RESTRICT +alter table table3 change column a a int +PREHOOK: type: ALTERTABLE_RENAMECOL +PREHOOK: Input: default@table3 +PREHOOK: Output: default@table3 +POSTHOOK: query: -- ADD COLUMNS ... RESTRICT +alter table table3 change column a a int +POSTHOOK: type: ALTERTABLE_RENAMECOL +POSTHOOK: Input: default@table3 +POSTHOOK: Output: default@table3 +PREHOOK: query: select a,b from table3 +PREHOOK: type: QUERY +PREHOOK: Input: default@table3 +#### A masked pattern was here #### +POSTHOOK: query: select a,b from table3 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@table3 +#### A masked pattern was here #### +a b +1000 original +200 new +3 original +32768 new +4 original +40000 new +5000 new +6737 original +72909 new +90000 new +PREHOOK: query: DROP TABLE table1 +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@table1 +PREHOOK: Output: default@table1 +POSTHOOK: query: DROP TABLE table1 +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@table1 +POSTHOOK: Output: default@table1 +PREHOOK: query: DROP TABLE table2 +PREHOOK: type: DROPTABLE +POSTHOOK: query: DROP TABLE table2 +POSTHOOK: type: DROPTABLE +PREHOOK: query: DROP TABLE table3 +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@table3 +PREHOOK: Output: default@table3 +POSTHOOK: query: DROP TABLE table3 +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@table3 +POSTHOOK: Output: default@table3 http://git-wip-us.apache.org/repos/asf/hive/blob/249c4ef1/ql/src/test/results/clientpositive/tez/schema_evol_text_nonvec_mapwork_part.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/tez/schema_evol_text_nonvec_mapwork_part.q.out b/ql/src/test/results/clientpositive/tez/schema_evol_text_nonvec_mapwork_part.q.out new file mode 100644 index 0000000..44f5822 --- /dev/null +++ b/ql/src/test/results/clientpositive/tez/schema_evol_text_nonvec_mapwork_part.q.out @@ -0,0 +1,642 @@ +PREHOOK: query: -- SORT_QUERY_RESULTS +-- +-- FILE VARIATION: TEXT, Non-Vectorized, MapWork, Partitioned +-- +-- +-- SECTION VARIATION: ALTER TABLE ADD COLUMNS ... STATIC INSERT +--- +CREATE TABLE partitioned1(a INT, b STRING) PARTITIONED BY(part INT) STORED AS TEXTFILE +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@partitioned1 +POSTHOOK: query: -- SORT_QUERY_RESULTS +-- +-- FILE VARIATION: TEXT, Non-Vectorized, MapWork, Partitioned +-- +-- +-- SECTION VARIATION: ALTER TABLE ADD COLUMNS ... STATIC INSERT +--- +CREATE TABLE partitioned1(a INT, b STRING) PARTITIONED BY(part INT) STORED AS TEXTFILE +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@partitioned1 +PREHOOK: query: insert into table partitioned1 partition(part=1) values(1, 'original'),(2, 'original'), (3, 'original'),(4, 'original') +PREHOOK: type: QUERY +PREHOOK: Input: default@values__tmp__table__1 +PREHOOK: Output: default@partitioned1@part=1 +POSTHOOK: query: insert into table partitioned1 partition(part=1) values(1, 'original'),(2, 'original'), (3, 'original'),(4, 'original') +POSTHOOK: type: QUERY +POSTHOOK: Input: default@values__tmp__table__1 +POSTHOOK: Output: default@partitioned1@part=1 +POSTHOOK: Lineage: partitioned1 PARTITION(part=1).a EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: partitioned1 PARTITION(part=1).b SIMPLE [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +_col0 _col1 +PREHOOK: query: -- Table-Non-Cascade ADD COLUMNS ... +alter table partitioned1 add columns(c int, d string) +PREHOOK: type: ALTERTABLE_ADDCOLS +PREHOOK: Input: default@partitioned1 +PREHOOK: Output: default@partitioned1 +POSTHOOK: query: -- Table-Non-Cascade ADD COLUMNS ... +alter table partitioned1 add columns(c int, d string) +POSTHOOK: type: ALTERTABLE_ADDCOLS +POSTHOOK: Input: default@partitioned1 +POSTHOOK: Output: default@partitioned1 +PREHOOK: query: insert into table partitioned1 partition(part=2) values(1, 'new', 10, 'ten'),(2, 'new', 20, 'twenty'), (3, 'new', 30, 'thirty'),(4, 'new', 40, 'forty') +PREHOOK: type: QUERY +PREHOOK: Input: default@values__tmp__table__2 +PREHOOK: Output: default@partitioned1@part=2 +POSTHOOK: query: insert into table partitioned1 partition(part=2) values(1, 'new', 10, 'ten'),(2, 'new', 20, 'twenty'), (3, 'new', 30, 'thirty'),(4, 'new', 40, 'forty') +POSTHOOK: type: QUERY +POSTHOOK: Input: default@values__tmp__table__2 +POSTHOOK: Output: default@partitioned1@part=2 +POSTHOOK: Lineage: partitioned1 PARTITION(part=2).a EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: partitioned1 PARTITION(part=2).b SIMPLE [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +POSTHOOK: Lineage: partitioned1 PARTITION(part=2).c EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col3, type:string, comment:), ] +POSTHOOK: Lineage: partitioned1 PARTITION(part=2).d SIMPLE [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col4, type:string, comment:), ] +_col0 _col1 _col2 _col3 +PREHOOK: query: insert into table partitioned1 partition(part=1) values(5, 'new', 100, 'hundred'),(6, 'new', 200, 'two hundred') +PREHOOK: type: QUERY +PREHOOK: Input: default@values__tmp__table__3 +PREHOOK: Output: default@partitioned1@part=1 +POSTHOOK: query: insert into table partitioned1 partition(part=1) values(5, 'new', 100, 'hundred'),(6, 'new', 200, 'two hundred') +POSTHOOK: type: QUERY +POSTHOOK: Input: default@values__tmp__table__3 +POSTHOOK: Output: default@partitioned1@part=1 +POSTHOOK: Lineage: partitioned1 PARTITION(part=1).a EXPRESSION [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: partitioned1 PARTITION(part=1).b SIMPLE [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +POSTHOOK: Lineage: partitioned1 PARTITION(part=1).c EXPRESSION [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col3, type:string, comment:), ] +POSTHOOK: Lineage: partitioned1 PARTITION(part=1).d SIMPLE [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col4, type:string, comment:), ] +_col0 _col1 _col2 _col3 +PREHOOK: query: -- SELECT permutation columns to make sure NULL defaulting works right +select part,a,b from partitioned1 +PREHOOK: type: QUERY +PREHOOK: Input: default@partitioned1 +PREHOOK: Input: default@partitioned1@part=1 +PREHOOK: Input: default@partitioned1@part=2 +#### A masked pattern was here #### +POSTHOOK: query: -- SELECT permutation columns to make sure NULL defaulting works right +select part,a,b from partitioned1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@partitioned1 +POSTHOOK: Input: default@partitioned1@part=1 +POSTHOOK: Input: default@partitioned1@part=2 +#### A masked pattern was here #### +part a b +1 1 original +1 2 original +1 3 original +1 4 original +1 5 new +1 6 new +2 1 new +2 2 new +2 3 new +2 4 new +PREHOOK: query: select part,a,b,c from partitioned1 +PREHOOK: type: QUERY +PREHOOK: Input: default@partitioned1 +PREHOOK: Input: default@partitioned1@part=1 +PREHOOK: Input: default@partitioned1@part=2 +#### A masked pattern was here #### +POSTHOOK: query: select part,a,b,c from partitioned1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@partitioned1 +POSTHOOK: Input: default@partitioned1@part=1 +POSTHOOK: Input: default@partitioned1@part=2 +#### A masked pattern was here #### +part a b c +1 1 original NULL +1 2 original NULL +1 3 original NULL +1 4 original NULL +1 5 new NULL +1 6 new NULL +2 1 new 10 +2 2 new 20 +2 3 new 30 +2 4 new 40 +PREHOOK: query: select part,a,b,c,d from partitioned1 +PREHOOK: type: QUERY +PREHOOK: Input: default@partitioned1 +PREHOOK: Input: default@partitioned1@part=1 +PREHOOK: Input: default@partitioned1@part=2 +#### A masked pattern was here #### +POSTHOOK: query: select part,a,b,c,d from partitioned1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@partitioned1 +POSTHOOK: Input: default@partitioned1@part=1 +POSTHOOK: Input: default@partitioned1@part=2 +#### A masked pattern was here #### +part a b c d +1 1 original NULL NULL +1 2 original NULL NULL +1 3 original NULL NULL +1 4 original NULL NULL +1 5 new NULL NULL +1 6 new NULL NULL +2 1 new 10 ten +2 2 new 20 twenty +2 3 new 30 thirty +2 4 new 40 forty +PREHOOK: query: select part,a,c,d from partitioned1 +PREHOOK: type: QUERY +PREHOOK: Input: default@partitioned1 +PREHOOK: Input: default@partitioned1@part=1 +PREHOOK: Input: default@partitioned1@part=2 +#### A masked pattern was here #### +POSTHOOK: query: select part,a,c,d from partitioned1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@partitioned1 +POSTHOOK: Input: default@partitioned1@part=1 +POSTHOOK: Input: default@partitioned1@part=2 +#### A masked pattern was here #### +part a c d +1 1 NULL NULL +1 2 NULL NULL +1 3 NULL NULL +1 4 NULL NULL +1 5 NULL NULL +1 6 NULL NULL +2 1 10 ten +2 2 20 twenty +2 3 30 thirty +2 4 40 forty +PREHOOK: query: select part,a,d from partitioned1 +PREHOOK: type: QUERY +PREHOOK: Input: default@partitioned1 +PREHOOK: Input: default@partitioned1@part=1 +PREHOOK: Input: default@partitioned1@part=2 +#### A masked pattern was here #### +POSTHOOK: query: select part,a,d from partitioned1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@partitioned1 +POSTHOOK: Input: default@partitioned1@part=1 +POSTHOOK: Input: default@partitioned1@part=2 +#### A masked pattern was here #### +part a d +1 1 NULL +1 2 NULL +1 3 NULL +1 4 NULL +1 5 NULL +1 6 NULL +2 1 ten +2 2 twenty +2 3 thirty +2 4 forty +PREHOOK: query: select part,c from partitioned1 +PREHOOK: type: QUERY +PREHOOK: Input: default@partitioned1 +PREHOOK: Input: default@partitioned1@part=1 +PREHOOK: Input: default@partitioned1@part=2 +#### A masked pattern was here #### +POSTHOOK: query: select part,c from partitioned1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@partitioned1 +POSTHOOK: Input: default@partitioned1@part=1 +POSTHOOK: Input: default@partitioned1@part=2 +#### A masked pattern was here #### +part c +1 NULL +1 NULL +1 NULL +1 NULL +1 NULL +1 NULL +2 10 +2 20 +2 30 +2 40 +PREHOOK: query: select part,d from partitioned1 +PREHOOK: type: QUERY +PREHOOK: Input: default@partitioned1 +PREHOOK: Input: default@partitioned1@part=1 +PREHOOK: Input: default@partitioned1@part=2 +#### A masked pattern was here #### +POSTHOOK: query: select part,d from partitioned1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@partitioned1 +POSTHOOK: Input: default@partitioned1@part=1 +POSTHOOK: Input: default@partitioned1@part=2 +#### A masked pattern was here #### +part d +1 NULL +1 NULL +1 NULL +1 NULL +1 NULL +1 NULL +2 forty +2 ten +2 thirty +2 twenty +PREHOOK: query: -- +-- SECTION VARIATION: ALTER TABLE CHANGE COLUMN ... STATIC INSERT +-- smallint = (2-byte signed integer, from -32,768 to 32,767) +-- +CREATE TABLE partitioned2(a smallint, b STRING) PARTITIONED BY(part INT) STORED AS TEXTFILE +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@partitioned2 +POSTHOOK: query: -- +-- SECTION VARIATION: ALTER TABLE CHANGE COLUMN ... STATIC INSERT +-- smallint = (2-byte signed integer, from -32,768 to 32,767) +-- +CREATE TABLE partitioned2(a smallint, b STRING) PARTITIONED BY(part INT) STORED AS TEXTFILE +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@partitioned2 +PREHOOK: query: insert into table partitioned2 partition(part=1) values(1000, 'original'),(6737, 'original'), ('3', 'original'),('4', 'original') +PREHOOK: type: QUERY +PREHOOK: Input: default@values__tmp__table__4 +PREHOOK: Output: default@partitioned2@part=1 +POSTHOOK: query: insert into table partitioned2 partition(part=1) values(1000, 'original'),(6737, 'original'), ('3', 'original'),('4', 'original') +POSTHOOK: type: QUERY +POSTHOOK: Input: default@values__tmp__table__4 +POSTHOOK: Output: default@partitioned2@part=1 +POSTHOOK: Lineage: partitioned2 PARTITION(part=1).a EXPRESSION [(values__tmp__table__4)values__tmp__table__4.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: partitioned2 PARTITION(part=1).b SIMPLE [(values__tmp__table__4)values__tmp__table__4.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +_col0 _col1 +PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ... +alter table partitioned2 change column a a int +PREHOOK: type: ALTERTABLE_RENAMECOL +PREHOOK: Input: default@partitioned2 +PREHOOK: Output: default@partitioned2 +POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ... +alter table partitioned2 change column a a int +POSTHOOK: type: ALTERTABLE_RENAMECOL +POSTHOOK: Input: default@partitioned2 +POSTHOOK: Output: default@partitioned2 +PREHOOK: query: insert into table partitioned2 partition(part=2) values(72909, 'new'),(200, 'new'), (32768, 'new'),(40000, 'new') +PREHOOK: type: QUERY +PREHOOK: Input: default@values__tmp__table__5 +PREHOOK: Output: default@partitioned2@part=2 +POSTHOOK: query: insert into table partitioned2 partition(part=2) values(72909, 'new'),(200, 'new'), (32768, 'new'),(40000, 'new') +POSTHOOK: type: QUERY +POSTHOOK: Input: default@values__tmp__table__5 +POSTHOOK: Output: default@partitioned2@part=2 +POSTHOOK: Lineage: partitioned2 PARTITION(part=2).a EXPRESSION [(values__tmp__table__5)values__tmp__table__5.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: partitioned2 PARTITION(part=2).b SIMPLE [(values__tmp__table__5)values__tmp__table__5.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +_col0 _col1 +PREHOOK: query: insert into table partitioned2 partition(part=1) values(5000, 'new'),(90000, 'new') +PREHOOK: type: QUERY +PREHOOK: Input: default@values__tmp__table__6 +PREHOOK: Output: default@partitioned2@part=1 +POSTHOOK: query: insert into table partitioned2 partition(part=1) values(5000, 'new'),(90000, 'new') +POSTHOOK: type: QUERY +POSTHOOK: Input: default@values__tmp__table__6 +POSTHOOK: Output: default@partitioned2@part=1 +POSTHOOK: Lineage: partitioned2 PARTITION(part=1).a EXPRESSION [(values__tmp__table__6)values__tmp__table__6.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: partitioned2 PARTITION(part=1).b SIMPLE [(values__tmp__table__6)values__tmp__table__6.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +_col0 _col1 +PREHOOK: query: select part,a,b from partitioned2 +PREHOOK: type: QUERY +PREHOOK: Input: default@partitioned2 +PREHOOK: Input: default@partitioned2@part=1 +PREHOOK: Input: default@partitioned2@part=2 +#### A masked pattern was here #### +POSTHOOK: query: select part,a,b from partitioned2 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@partitioned2 +POSTHOOK: Input: default@partitioned2@part=1 +POSTHOOK: Input: default@partitioned2@part=2 +#### A masked pattern was here #### +part a b +1 1000 original +1 3 original +1 4 original +1 5000 new +1 6737 original +1 NULL new +2 200 new +2 32768 new +2 40000 new +2 72909 new +PREHOOK: query: -- +-- +-- SECTION VARIATION: ALTER TABLE ADD COLUMNS ... DYNAMIC INSERT +--- +CREATE TABLE partitioned3(a INT, b STRING) PARTITIONED BY(part INT) STORED AS TEXTFILE +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@partitioned3 +POSTHOOK: query: -- +-- +-- SECTION VARIATION: ALTER TABLE ADD COLUMNS ... DYNAMIC INSERT +--- +CREATE TABLE partitioned3(a INT, b STRING) PARTITIONED BY(part INT) STORED AS TEXTFILE +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@partitioned3 +PREHOOK: query: insert into table partitioned3 partition(part=1) values(1, 'original'),(2, 'original'), (3, 'original'),(4, 'original') +PREHOOK: type: QUERY +PREHOOK: Input: default@values__tmp__table__7 +PREHOOK: Output: default@partitioned3@part=1 +POSTHOOK: query: insert into table partitioned3 partition(part=1) values(1, 'original'),(2, 'original'), (3, 'original'),(4, 'original') +POSTHOOK: type: QUERY +POSTHOOK: Input: default@values__tmp__table__7 +POSTHOOK: Output: default@partitioned3@part=1 +POSTHOOK: Lineage: partitioned3 PARTITION(part=1).a EXPRESSION [(values__tmp__table__7)values__tmp__table__7.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: partitioned3 PARTITION(part=1).b SIMPLE [(values__tmp__table__7)values__tmp__table__7.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +_col0 _col1 +PREHOOK: query: -- Table-Non-Cascade ADD COLUMNS ... +alter table partitioned3 add columns(c int, d string) +PREHOOK: type: ALTERTABLE_ADDCOLS +PREHOOK: Input: default@partitioned3 +PREHOOK: Output: default@partitioned3 +POSTHOOK: query: -- Table-Non-Cascade ADD COLUMNS ... +alter table partitioned3 add columns(c int, d string) +POSTHOOK: type: ALTERTABLE_ADDCOLS +POSTHOOK: Input: default@partitioned3 +POSTHOOK: Output: default@partitioned3 +PREHOOK: query: insert into table partitioned3 partition(part) values(1, 'new', 10, 'ten', 2),(2, 'new', 20, 'twenty', 2), (3, 'new', 30, 'thirty', 2),(4, 'new', 40, 'forty', 2), + (5, 'new', 100, 'hundred', 1),(6, 'new', 200, 'two hundred', 1) +PREHOOK: type: QUERY +PREHOOK: Input: default@values__tmp__table__8 +PREHOOK: Output: default@partitioned3 +POSTHOOK: query: insert into table partitioned3 partition(part) values(1, 'new', 10, 'ten', 2),(2, 'new', 20, 'twenty', 2), (3, 'new', 30, 'thirty', 2),(4, 'new', 40, 'forty', 2), + (5, 'new', 100, 'hundred', 1),(6, 'new', 200, 'two hundred', 1) +POSTHOOK: type: QUERY +POSTHOOK: Input: default@values__tmp__table__8 +POSTHOOK: Output: default@partitioned3@part=1 +POSTHOOK: Output: default@partitioned3@part=2 +POSTHOOK: Lineage: partitioned3 PARTITION(part=1).a EXPRESSION [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: partitioned3 PARTITION(part=1).b SIMPLE [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +POSTHOOK: Lineage: partitioned3 PARTITION(part=1).c EXPRESSION [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col3, type:string, comment:), ] +POSTHOOK: Lineage: partitioned3 PARTITION(part=1).d SIMPLE [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col4, type:string, comment:), ] +POSTHOOK: Lineage: partitioned3 PARTITION(part=2).a EXPRESSION [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: partitioned3 PARTITION(part=2).b SIMPLE [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +POSTHOOK: Lineage: partitioned3 PARTITION(part=2).c EXPRESSION [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col3, type:string, comment:), ] +POSTHOOK: Lineage: partitioned3 PARTITION(part=2).d SIMPLE [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col4, type:string, comment:), ] +_col0 _col1 _col2 _col3 _col4 +PREHOOK: query: -- SELECT permutation columns to make sure NULL defaulting works right +select part,a,b from partitioned1 +PREHOOK: type: QUERY +PREHOOK: Input: default@partitioned1 +PREHOOK: Input: default@partitioned1@part=1 +PREHOOK: Input: default@partitioned1@part=2 +#### A masked pattern was here #### +POSTHOOK: query: -- SELECT permutation columns to make sure NULL defaulting works right +select part,a,b from partitioned1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@partitioned1 +POSTHOOK: Input: default@partitioned1@part=1 +POSTHOOK: Input: default@partitioned1@part=2 +#### A masked pattern was here #### +part a b +1 1 original +1 2 original +1 3 original +1 4 original +1 5 new +1 6 new +2 1 new +2 2 new +2 3 new +2 4 new +PREHOOK: query: select part,a,b,c from partitioned1 +PREHOOK: type: QUERY +PREHOOK: Input: default@partitioned1 +PREHOOK: Input: default@partitioned1@part=1 +PREHOOK: Input: default@partitioned1@part=2 +#### A masked pattern was here #### +POSTHOOK: query: select part,a,b,c from partitioned1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@partitioned1 +POSTHOOK: Input: default@partitioned1@part=1 +POSTHOOK: Input: default@partitioned1@part=2 +#### A masked pattern was here #### +part a b c +1 1 original NULL +1 2 original NULL +1 3 original NULL +1 4 original NULL +1 5 new NULL +1 6 new NULL +2 1 new 10 +2 2 new 20 +2 3 new 30 +2 4 new 40 +PREHOOK: query: select part,a,b,c,d from partitioned1 +PREHOOK: type: QUERY +PREHOOK: Input: default@partitioned1 +PREHOOK: Input: default@partitioned1@part=1 +PREHOOK: Input: default@partitioned1@part=2 +#### A masked pattern was here #### +POSTHOOK: query: select part,a,b,c,d from partitioned1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@partitioned1 +POSTHOOK: Input: default@partitioned1@part=1 +POSTHOOK: Input: default@partitioned1@part=2 +#### A masked pattern was here #### +part a b c d +1 1 original NULL NULL +1 2 original NULL NULL +1 3 original NULL NULL +1 4 original NULL NULL +1 5 new NULL NULL +1 6 new NULL NULL +2 1 new 10 ten +2 2 new 20 twenty +2 3 new 30 thirty +2 4 new 40 forty +PREHOOK: query: select part,a,c,d from partitioned1 +PREHOOK: type: QUERY +PREHOOK: Input: default@partitioned1 +PREHOOK: Input: default@partitioned1@part=1 +PREHOOK: Input: default@partitioned1@part=2 +#### A masked pattern was here #### +POSTHOOK: query: select part,a,c,d from partitioned1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@partitioned1 +POSTHOOK: Input: default@partitioned1@part=1 +POSTHOOK: Input: default@partitioned1@part=2 +#### A masked pattern was here #### +part a c d +1 1 NULL NULL +1 2 NULL NULL +1 3 NULL NULL +1 4 NULL NULL +1 5 NULL NULL +1 6 NULL NULL +2 1 10 ten +2 2 20 twenty +2 3 30 thirty +2 4 40 forty +PREHOOK: query: select part,a,d from partitioned1 +PREHOOK: type: QUERY +PREHOOK: Input: default@partitioned1 +PREHOOK: Input: default@partitioned1@part=1 +PREHOOK: Input: default@partitioned1@part=2 +#### A masked pattern was here #### +POSTHOOK: query: select part,a,d from partitioned1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@partitioned1 +POSTHOOK: Input: default@partitioned1@part=1 +POSTHOOK: Input: default@partitioned1@part=2 +#### A masked pattern was here #### +part a d +1 1 NULL +1 2 NULL +1 3 NULL +1 4 NULL +1 5 NULL +1 6 NULL +2 1 ten +2 2 twenty +2 3 thirty +2 4 forty +PREHOOK: query: select part,c from partitioned1 +PREHOOK: type: QUERY +PREHOOK: Input: default@partitioned1 +PREHOOK: Input: default@partitioned1@part=1 +PREHOOK: Input: default@partitioned1@part=2 +#### A masked pattern was here #### +POSTHOOK: query: select part,c from partitioned1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@partitioned1 +POSTHOOK: Input: default@partitioned1@part=1 +POSTHOOK: Input: default@partitioned1@part=2 +#### A masked pattern was here #### +part c +1 NULL +1 NULL +1 NULL +1 NULL +1 NULL +1 NULL +2 10 +2 20 +2 30 +2 40 +PREHOOK: query: select part,d from partitioned1 +PREHOOK: type: QUERY +PREHOOK: Input: default@partitioned1 +PREHOOK: Input: default@partitioned1@part=1 +PREHOOK: Input: default@partitioned1@part=2 +#### A masked pattern was here #### +POSTHOOK: query: select part,d from partitioned1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@partitioned1 +POSTHOOK: Input: default@partitioned1@part=1 +POSTHOOK: Input: default@partitioned1@part=2 +#### A masked pattern was here #### +part d +1 NULL +1 NULL +1 NULL +1 NULL +1 NULL +1 NULL +2 forty +2 ten +2 thirty +2 twenty +PREHOOK: query: -- +-- SECTION VARIATION: ALTER TABLE CHANGE COLUMN ... DYNAMIC INSERT +-- smallint = (2-byte signed integer, from -32,768 to 32,767) +-- +CREATE TABLE partitioned4(a smallint, b STRING) PARTITIONED BY(part INT) STORED AS TEXTFILE +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@partitioned4 +POSTHOOK: query: -- +-- SECTION VARIATION: ALTER TABLE CHANGE COLUMN ... DYNAMIC INSERT +-- smallint = (2-byte signed integer, from -32,768 to 32,767) +-- +CREATE TABLE partitioned4(a smallint, b STRING) PARTITIONED BY(part INT) STORED AS TEXTFILE +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@partitioned4 +PREHOOK: query: insert into table partitioned4 partition(part=1) values(1000, 'original'),(6737, 'original'), ('3', 'original'),('4', 'original') +PREHOOK: type: QUERY +PREHOOK: Input: default@values__tmp__table__9 +PREHOOK: Output: default@partitioned4@part=1 +POSTHOOK: query: insert into table partitioned4 partition(part=1) values(1000, 'original'),(6737, 'original'), ('3', 'original'),('4', 'original') +POSTHOOK: type: QUERY +POSTHOOK: Input: default@values__tmp__table__9 +POSTHOOK: Output: default@partitioned4@part=1 +POSTHOOK: Lineage: partitioned4 PARTITION(part=1).a EXPRESSION [(values__tmp__table__9)values__tmp__table__9.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: partitioned4 PARTITION(part=1).b SIMPLE [(values__tmp__table__9)values__tmp__table__9.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +_col0 _col1 +PREHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ... +alter table partitioned4 change column a a int +PREHOOK: type: ALTERTABLE_RENAMECOL +PREHOOK: Input: default@partitioned4 +PREHOOK: Output: default@partitioned4 +POSTHOOK: query: -- Table-Non-Cascade CHANGE COLUMNS ... +alter table partitioned4 change column a a int +POSTHOOK: type: ALTERTABLE_RENAMECOL +POSTHOOK: Input: default@partitioned4 +POSTHOOK: Output: default@partitioned4 +PREHOOK: query: insert into table partitioned4 partition(part) values(72909, 'new', 2),(200, 'new', 2), (32768, 'new', 2),(40000, 'new', 2), + (5000, 'new', 1),(90000, 'new', 1) +PREHOOK: type: QUERY +PREHOOK: Input: default@values__tmp__table__10 +PREHOOK: Output: default@partitioned4 +POSTHOOK: query: insert into table partitioned4 partition(part) values(72909, 'new', 2),(200, 'new', 2), (32768, 'new', 2),(40000, 'new', 2), + (5000, 'new', 1),(90000, 'new', 1) +POSTHOOK: type: QUERY +POSTHOOK: Input: default@values__tmp__table__10 +POSTHOOK: Output: default@partitioned4@part=1 +POSTHOOK: Output: default@partitioned4@part=2 +POSTHOOK: Lineage: partitioned4 PARTITION(part=1).a EXPRESSION [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: partitioned4 PARTITION(part=1).b SIMPLE [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +POSTHOOK: Lineage: partitioned4 PARTITION(part=2).a EXPRESSION [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: partitioned4 PARTITION(part=2).b SIMPLE [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +_col0 _col1 _col2 +PREHOOK: query: select part,a,b from partitioned4 +PREHOOK: type: QUERY +PREHOOK: Input: default@partitioned4 +PREHOOK: Input: default@partitioned4@part=1 +PREHOOK: Input: default@partitioned4@part=2 +#### A masked pattern was here #### +POSTHOOK: query: select part,a,b from partitioned4 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@partitioned4 +POSTHOOK: Input: default@partitioned4@part=1 +POSTHOOK: Input: default@partitioned4@part=2 +#### A masked pattern was here #### +part a b +1 1000 original +1 3 original +1 4 original +1 5000 new +1 6737 original +1 NULL new +2 200 new +2 32768 new +2 40000 new +2 72909 new +PREHOOK: query: DROP TABLE partitioned1 +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@partitioned1 +PREHOOK: Output: default@partitioned1 +POSTHOOK: query: DROP TABLE partitioned1 +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@partitioned1 +POSTHOOK: Output: default@partitioned1 +PREHOOK: query: DROP TABLE partitioned2 +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@partitioned2 +PREHOOK: Output: default@partitioned2 +POSTHOOK: query: DROP TABLE partitioned2 +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@partitioned2 +POSTHOOK: Output: default@partitioned2 +PREHOOK: query: DROP TABLE partitioned3 +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@partitioned3 +PREHOOK: Output: default@partitioned3 +POSTHOOK: query: DROP TABLE partitioned3 +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@partitioned3 +POSTHOOK: Output: default@partitioned3 +PREHOOK: query: DROP TABLE partitioned4 +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@partitioned4 +PREHOOK: Output: default@partitioned4 +POSTHOOK: query: DROP TABLE partitioned4 +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@partitioned4 +POSTHOOK: Output: default@partitioned4 http://git-wip-us.apache.org/repos/asf/hive/blob/249c4ef1/ql/src/test/results/clientpositive/tez/schema_evol_text_nonvec_mapwork_table.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/tez/schema_evol_text_nonvec_mapwork_table.q.out b/ql/src/test/results/clientpositive/tez/schema_evol_text_nonvec_mapwork_table.q.out new file mode 100644 index 0000000..4003c20 --- /dev/null +++ b/ql/src/test/results/clientpositive/tez/schema_evol_text_nonvec_mapwork_table.q.out @@ -0,0 +1,297 @@ +PREHOOK: query: -- SORT_QUERY_RESULTS +-- +-- FILE VARIATION: ORC, Non-Vectorized, MapWork, Table +-- +-- +-- SECTION VARIATION: ALTER TABLE ADD COLUMNS +--- +CREATE TABLE table1(a INT, b STRING) STORED AS TEXTFILE +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@table1 +POSTHOOK: query: -- SORT_QUERY_RESULTS +-- +-- FILE VARIATION: ORC, Non-Vectorized, MapWork, Table +-- +-- +-- SECTION VARIATION: ALTER TABLE ADD COLUMNS +--- +CREATE TABLE table1(a INT, b STRING) STORED AS TEXTFILE +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@table1 +PREHOOK: query: insert into table table1 values(1, 'original'),(2, 'original'), (3, 'original'),(4, 'original') +PREHOOK: type: QUERY +PREHOOK: Input: default@values__tmp__table__1 +PREHOOK: Output: default@table1 +POSTHOOK: query: insert into table table1 values(1, 'original'),(2, 'original'), (3, 'original'),(4, 'original') +POSTHOOK: type: QUERY +POSTHOOK: Input: default@values__tmp__table__1 +POSTHOOK: Output: default@table1 +POSTHOOK: Lineage: table1.a EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: table1.b SIMPLE [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +_col0 _col1 +PREHOOK: query: select a,b from table1 +PREHOOK: type: QUERY +PREHOOK: Input: default@table1 +#### A masked pattern was here #### +POSTHOOK: query: select a,b from table1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@table1 +#### A masked pattern was here #### +a b +1 original +2 original +3 original +4 original +PREHOOK: query: -- ADD COLUMNS +alter table table1 add columns(c int, d string) +PREHOOK: type: ALTERTABLE_ADDCOLS +PREHOOK: Input: default@table1 +PREHOOK: Output: default@table1 +POSTHOOK: query: -- ADD COLUMNS +alter table table1 add columns(c int, d string) +POSTHOOK: type: ALTERTABLE_ADDCOLS +POSTHOOK: Input: default@table1 +POSTHOOK: Output: default@table1 +PREHOOK: query: insert into table table1 values(1, 'new', 10, 'ten'),(2, 'new', 20, 'twenty'), (3, 'new', 30, 'thirty'),(4, 'new', 40, 'forty') +PREHOOK: type: QUERY +PREHOOK: Input: default@values__tmp__table__2 +PREHOOK: Output: default@table1 +POSTHOOK: query: insert into table table1 values(1, 'new', 10, 'ten'),(2, 'new', 20, 'twenty'), (3, 'new', 30, 'thirty'),(4, 'new', 40, 'forty') +POSTHOOK: type: QUERY +POSTHOOK: Input: default@values__tmp__table__2 +POSTHOOK: Output: default@table1 +POSTHOOK: Lineage: table1.a EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: table1.b SIMPLE [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +POSTHOOK: Lineage: table1.c EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col3, type:string, comment:), ] +POSTHOOK: Lineage: table1.d SIMPLE [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col4, type:string, comment:), ] +_col0 _col1 _col2 _col3 +PREHOOK: query: select a,b,c,d from table1 +PREHOOK: type: QUERY +PREHOOK: Input: default@table1 +#### A masked pattern was here #### +POSTHOOK: query: select a,b,c,d from table1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@table1 +#### A masked pattern was here #### +a b c d +1 new 10 ten +1 original NULL NULL +2 new 20 twenty +2 original NULL NULL +3 new 30 thirty +3 original NULL NULL +4 new 40 forty +4 original NULL NULL +PREHOOK: query: -- ADD COLUMNS +alter table table1 add columns(e string) +PREHOOK: type: ALTERTABLE_ADDCOLS +PREHOOK: Input: default@table1 +PREHOOK: Output: default@table1 +POSTHOOK: query: -- ADD COLUMNS +alter table table1 add columns(e string) +POSTHOOK: type: ALTERTABLE_ADDCOLS +POSTHOOK: Input: default@table1 +POSTHOOK: Output: default@table1 +PREHOOK: query: insert into table table1 values(5, 'new', 100, 'hundred', 'another1'),(6, 'new', 200, 'two hundred', 'another2') +PREHOOK: type: QUERY +PREHOOK: Input: default@values__tmp__table__3 +PREHOOK: Output: default@table1 +POSTHOOK: query: insert into table table1 values(5, 'new', 100, 'hundred', 'another1'),(6, 'new', 200, 'two hundred', 'another2') +POSTHOOK: type: QUERY +POSTHOOK: Input: default@values__tmp__table__3 +POSTHOOK: Output: default@table1 +POSTHOOK: Lineage: table1.a EXPRESSION [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: table1.b SIMPLE [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +POSTHOOK: Lineage: table1.c EXPRESSION [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col3, type:string, comment:), ] +POSTHOOK: Lineage: table1.d SIMPLE [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col4, type:string, comment:), ] +POSTHOOK: Lineage: table1.e SIMPLE [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col5, type:string, comment:), ] +_col0 _col1 _col2 _col3 _col4 +PREHOOK: query: select a,b,c,d,e from table1 +PREHOOK: type: QUERY +PREHOOK: Input: default@table1 +#### A masked pattern was here #### +POSTHOOK: query: select a,b,c,d,e from table1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@table1 +#### A masked pattern was here #### +a b c d e +1 new 10 ten NULL +1 original NULL NULL NULL +2 new 20 twenty NULL +2 original NULL NULL NULL +3 new 30 thirty NULL +3 original NULL NULL NULL +4 new 40 forty NULL +4 original NULL NULL NULL +5 new 100 hundred another1 +6 new 200 two hundred another2 +PREHOOK: query: -- +-- SECTION VARIATION: ALTER TABLE CHANGE COLUMN +-- smallint = (2-byte signed integer, from -32,768 to 32,767) +-- +CREATE TABLE table3(a smallint, b STRING) STORED AS TEXTFILE +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@table3 +POSTHOOK: query: -- +-- SECTION VARIATION: ALTER TABLE CHANGE COLUMN +-- smallint = (2-byte signed integer, from -32,768 to 32,767) +-- +CREATE TABLE table3(a smallint, b STRING) STORED AS TEXTFILE +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@table3 +PREHOOK: query: insert into table table3 values(1000, 'original'),(6737, 'original'), ('3', 'original'),('4', 'original') +PREHOOK: type: QUERY +PREHOOK: Input: default@values__tmp__table__4 +PREHOOK: Output: default@table3 +POSTHOOK: query: insert into table table3 values(1000, 'original'),(6737, 'original'), ('3', 'original'),('4', 'original') +POSTHOOK: type: QUERY +POSTHOOK: Input: default@values__tmp__table__4 +POSTHOOK: Output: default@table3 +POSTHOOK: Lineage: table3.a EXPRESSION [(values__tmp__table__4)values__tmp__table__4.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: table3.b SIMPLE [(values__tmp__table__4)values__tmp__table__4.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +_col0 _col1 +PREHOOK: query: select a,b from table3 +PREHOOK: type: QUERY +PREHOOK: Input: default@table3 +#### A masked pattern was here #### +POSTHOOK: query: select a,b from table3 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@table3 +#### A masked pattern was here #### +a b +1000 original +3 original +4 original +6737 original +PREHOOK: query: -- ADD COLUMNS ... RESTRICT +alter table table3 change column a a int +PREHOOK: type: ALTERTABLE_RENAMECOL +PREHOOK: Input: default@table3 +PREHOOK: Output: default@table3 +POSTHOOK: query: -- ADD COLUMNS ... RESTRICT +alter table table3 change column a a int +POSTHOOK: type: ALTERTABLE_RENAMECOL +POSTHOOK: Input: default@table3 +POSTHOOK: Output: default@table3 +PREHOOK: query: insert into table table3 values(72909, 'new'),(200, 'new'), (32768, 'new'),(40000, 'new') +PREHOOK: type: QUERY +PREHOOK: Input: default@values__tmp__table__5 +PREHOOK: Output: default@table3 +POSTHOOK: query: insert into table table3 values(72909, 'new'),(200, 'new'), (32768, 'new'),(40000, 'new') +POSTHOOK: type: QUERY +POSTHOOK: Input: default@values__tmp__table__5 +POSTHOOK: Output: default@table3 +POSTHOOK: Lineage: table3.a EXPRESSION [(values__tmp__table__5)values__tmp__table__5.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: table3.b SIMPLE [(values__tmp__table__5)values__tmp__table__5.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +_col0 _col1 +PREHOOK: query: select a,b from table3 +PREHOOK: type: QUERY +PREHOOK: Input: default@table3 +#### A masked pattern was here #### +POSTHOOK: query: select a,b from table3 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@table3 +#### A masked pattern was here #### +a b +1000 original +200 new +3 original +32768 new +4 original +40000 new +6737 original +72909 new +PREHOOK: query: -- ADD COLUMNS ... RESTRICT +alter table table3 add columns(e string) +PREHOOK: type: ALTERTABLE_ADDCOLS +PREHOOK: Input: default@table3 +PREHOOK: Output: default@table3 +POSTHOOK: query: -- ADD COLUMNS ... RESTRICT +alter table table3 add columns(e string) +POSTHOOK: type: ALTERTABLE_ADDCOLS +POSTHOOK: Input: default@table3 +POSTHOOK: Output: default@table3 +PREHOOK: query: insert into table table3 values(5000, 'new', 'another5'),(90000, 'new', 'another6') +PREHOOK: type: QUERY +PREHOOK: Input: default@values__tmp__table__6 +PREHOOK: Output: default@table3 +POSTHOOK: query: insert into table table3 values(5000, 'new', 'another5'),(90000, 'new', 'another6') +POSTHOOK: type: QUERY +POSTHOOK: Input: default@values__tmp__table__6 +POSTHOOK: Output: default@table3 +POSTHOOK: Lineage: table3.a EXPRESSION [(values__tmp__table__6)values__tmp__table__6.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: table3.b SIMPLE [(values__tmp__table__6)values__tmp__table__6.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +POSTHOOK: Lineage: table3.e SIMPLE [(values__tmp__table__6)values__tmp__table__6.FieldSchema(name:tmp_values_col3, type:string, comment:), ] +_col0 _col1 _col2 +PREHOOK: query: select a,b from table3 +PREHOOK: type: QUERY +PREHOOK: Input: default@table3 +#### A masked pattern was here #### +POSTHOOK: query: select a,b from table3 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@table3 +#### A masked pattern was here #### +a b +1000 original +200 new +3 original +32768 new +4 original +40000 new +5000 new +6737 original +72909 new +90000 new +PREHOOK: query: -- ADD COLUMNS ... RESTRICT +alter table table3 change column a a int +PREHOOK: type: ALTERTABLE_RENAMECOL +PREHOOK: Input: default@table3 +PREHOOK: Output: default@table3 +POSTHOOK: query: -- ADD COLUMNS ... RESTRICT +alter table table3 change column a a int +POSTHOOK: type: ALTERTABLE_RENAMECOL +POSTHOOK: Input: default@table3 +POSTHOOK: Output: default@table3 +PREHOOK: query: select a,b from table3 +PREHOOK: type: QUERY +PREHOOK: Input: default@table3 +#### A masked pattern was here #### +POSTHOOK: query: select a,b from table3 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@table3 +#### A masked pattern was here #### +a b +1000 original +200 new +3 original +32768 new +4 original +40000 new +5000 new +6737 original +72909 new +90000 new +PREHOOK: query: DROP TABLE table1 +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@table1 +PREHOOK: Output: default@table1 +POSTHOOK: query: DROP TABLE table1 +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@table1 +POSTHOOK: Output: default@table1 +PREHOOK: query: DROP TABLE table2 +PREHOOK: type: DROPTABLE +POSTHOOK: query: DROP TABLE table2 +POSTHOOK: type: DROPTABLE +PREHOOK: query: DROP TABLE table3 +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@table3 +PREHOOK: Output: default@table3 +POSTHOOK: query: DROP TABLE table3 +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@table3 +POSTHOOK: Output: default@table3 http://git-wip-us.apache.org/repos/asf/hive/blob/249c4ef1/ql/src/test/results/clientpositive/tez/vector_partition_diff_num_cols.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/tez/vector_partition_diff_num_cols.q.out b/ql/src/test/results/clientpositive/tez/vector_partition_diff_num_cols.q.out index 07f9b32..351444d 100644 --- a/ql/src/test/results/clientpositive/tez/vector_partition_diff_num_cols.q.out +++ b/ql/src/test/results/clientpositive/tez/vector_partition_diff_num_cols.q.out @@ -237,6 +237,7 @@ STAGE PLANS: sort order: Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE value expressions: _col0 (type: bigint) + Execution mode: vectorized Reducer 2 Execution mode: vectorized Reduce Operator Tree: http://git-wip-us.apache.org/repos/asf/hive/blob/249c4ef1/ql/src/test/results/clientpositive/vector_partition_diff_num_cols.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/vector_partition_diff_num_cols.q.out b/ql/src/test/results/clientpositive/vector_partition_diff_num_cols.q.out index f483614..92ee800 100644 --- a/ql/src/test/results/clientpositive/vector_partition_diff_num_cols.q.out +++ b/ql/src/test/results/clientpositive/vector_partition_diff_num_cols.q.out @@ -225,6 +225,7 @@ STAGE PLANS: sort order: Statistics: Num rows: 1 Data size: 8 Basic stats: COMPLETE Column stats: NONE value expressions: _col0 (type: bigint) + Execution mode: vectorized Reduce Operator Tree: Group By Operator aggregations: sum(VALUE._col0) http://git-wip-us.apache.org/repos/asf/hive/blob/249c4ef1/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/TypeInfoUtils.java ---------------------------------------------------------------------- diff --git a/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/TypeInfoUtils.java b/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/TypeInfoUtils.java index 1d79880..d3bb4e4 100644 --- a/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/TypeInfoUtils.java +++ b/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/TypeInfoUtils.java @@ -784,11 +784,47 @@ public final class TypeInfoUtils { return result; } + public static ArrayList<TypeInfo> typeInfosFromStructObjectInspector( + StructObjectInspector structObjectInspector) { + + List<? extends StructField> fields = structObjectInspector.getAllStructFieldRefs(); + ArrayList<TypeInfo> typeInfoList = new ArrayList<TypeInfo>(fields.size()); + + for(StructField field : fields) { + TypeInfo typeInfo = TypeInfoUtils.getTypeInfoFromTypeString( + field.getFieldObjectInspector().getTypeName()); + typeInfoList.add(typeInfo); + } + return typeInfoList; + } + + public static ArrayList<TypeInfo> typeInfosFromTypeNames(List<String> typeNames) { + + ArrayList<TypeInfo> result = new ArrayList<TypeInfo>(typeNames.size()); + + for(int i = 0; i < typeNames.size(); i++) { + TypeInfo typeInfo = TypeInfoUtils.getTypeInfoFromTypeString(typeNames.get(i)); + result.add(typeInfo); + } + return result; + } + public static ArrayList<TypeInfo> getTypeInfosFromTypeString(String typeString) { TypeInfoParser parser = new TypeInfoParser(typeString); return parser.parseTypeInfos(); } + public static String getTypesString(List<TypeInfo> typeInfos) { + StringBuilder sb = new StringBuilder(); + for (int i = 0; i < typeInfos.size(); i++) { + if (i > 0) { + sb.append(":"); + } + sb.append(typeInfos.get(i).getTypeName()); + } + return sb.toString(); + } + public static TypeInfo getTypeInfoFromTypeString(String typeString) { TypeInfoParser parser = new TypeInfoParser(typeString); return parser.parseTypeInfos().get(0); http://git-wip-us.apache.org/repos/asf/hive/blob/249c4ef1/storage-api/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizedRowBatch.java ---------------------------------------------------------------------- diff --git a/storage-api/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizedRowBatch.java b/storage-api/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizedRowBatch.java index e85491b..380300e 100644 --- a/storage-api/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizedRowBatch.java +++ b/storage-api/src/java/org/apache/hadoop/hive/ql/exec/vector/VectorizedRowBatch.java @@ -39,6 +39,10 @@ public class VectorizedRowBatch implements Writable { public int[] projectedColumns; public int projectionSize; + private int dataColumnCount; + private int partitionColumnCount; + + /* * If no filtering has been applied yet, selectedInUse is false, * meaning that all rows qualify. If it is true, then the selected[] array @@ -86,6 +90,22 @@ public class VectorizedRowBatch implements Writable { for (int i = 0; i < numCols; i++) { projectedColumns[i] = i; } + + dataColumnCount = -1; + partitionColumnCount = -1; + } + + public void setPartitionInfo(int dataColumnCount, int partitionColumnCount) { + this.dataColumnCount = dataColumnCount; + this.partitionColumnCount = partitionColumnCount; + } + + public int getDataColumnCount() { + return dataColumnCount; + } + + public int getPartitionColumnCount() { + return partitionColumnCount; } /**
