You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by xu...@apache.org on 2013/11/07 06:57:39 UTC

svn commit: r1539530 [2/4] - in /hive/trunk: common/src/java/org/apache/hadoop/hive/common/type/ common/src/java/org/apache/hive/common/util/ common/src/test/org/apache/hadoop/hive/common/type/ ql/src/java/org/apache/hadoop/hive/ql/exec/ ql/src/java/or...

Added: hive/trunk/ql/src/test/results/clientpositive/alter_char1.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/alter_char1.q.out?rev=1539530&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/alter_char1.q.out (added)
+++ hive/trunk/ql/src/test/results/clientpositive/alter_char1.q.out Thu Nov  7 05:57:37 2013
@@ -0,0 +1,199 @@
+PREHOOK: query: drop table alter_char_1
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table alter_char_1
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table alter_char_1 (key string, value string)
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: create table alter_char_1 (key string, value string)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@alter_char_1
+PREHOOK: query: insert overwrite table alter_char_1
+  select key, value from src order by key limit 5
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@alter_char_1
+POSTHOOK: query: insert overwrite table alter_char_1
+  select key, value from src order by key limit 5
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@alter_char_1
+POSTHOOK: Lineage: alter_char_1.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: alter_char_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: select * from alter_char_1 order by key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alter_char_1
+#### A masked pattern was here ####
+POSTHOOK: query: select * from alter_char_1 order by key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alter_char_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: alter_char_1.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: alter_char_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+0	val_0
+0	val_0
+0	val_0
+10	val_10
+100	val_100
+PREHOOK: query: -- change column to char
+alter table alter_char_1 change column value value char(20)
+PREHOOK: type: ALTERTABLE_RENAMECOL
+PREHOOK: Input: default@alter_char_1
+PREHOOK: Output: default@alter_char_1
+POSTHOOK: query: -- change column to char
+alter table alter_char_1 change column value value char(20)
+POSTHOOK: type: ALTERTABLE_RENAMECOL
+POSTHOOK: Input: default@alter_char_1
+POSTHOOK: Output: default@alter_char_1
+POSTHOOK: Lineage: alter_char_1.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: alter_char_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: -- contents should still look the same
+select * from alter_char_1 order by key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alter_char_1
+#### A masked pattern was here ####
+POSTHOOK: query: -- contents should still look the same
+select * from alter_char_1 order by key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alter_char_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: alter_char_1.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: alter_char_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+0	val_0               
+0	val_0               
+0	val_0               
+10	val_10              
+100	val_100             
+PREHOOK: query: -- change column to smaller char
+alter table alter_char_1 change column value value char(3)
+PREHOOK: type: ALTERTABLE_RENAMECOL
+PREHOOK: Input: default@alter_char_1
+PREHOOK: Output: default@alter_char_1
+POSTHOOK: query: -- change column to smaller char
+alter table alter_char_1 change column value value char(3)
+POSTHOOK: type: ALTERTABLE_RENAMECOL
+POSTHOOK: Input: default@alter_char_1
+POSTHOOK: Output: default@alter_char_1
+POSTHOOK: Lineage: alter_char_1.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: alter_char_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: -- value column should be truncated now
+select * from alter_char_1 order by key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alter_char_1
+#### A masked pattern was here ####
+POSTHOOK: query: -- value column should be truncated now
+select * from alter_char_1 order by key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alter_char_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: alter_char_1.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: alter_char_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+0	val
+0	val
+0	val
+10	val
+100	val
+PREHOOK: query: -- change back to bigger char
+alter table alter_char_1 change column value value char(20)
+PREHOOK: type: ALTERTABLE_RENAMECOL
+PREHOOK: Input: default@alter_char_1
+PREHOOK: Output: default@alter_char_1
+POSTHOOK: query: -- change back to bigger char
+alter table alter_char_1 change column value value char(20)
+POSTHOOK: type: ALTERTABLE_RENAMECOL
+POSTHOOK: Input: default@alter_char_1
+POSTHOOK: Output: default@alter_char_1
+POSTHOOK: Lineage: alter_char_1.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: alter_char_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: -- column values should be full size again
+select * from alter_char_1 order by key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alter_char_1
+#### A masked pattern was here ####
+POSTHOOK: query: -- column values should be full size again
+select * from alter_char_1 order by key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alter_char_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: alter_char_1.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: alter_char_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+0	val_0               
+0	val_0               
+0	val_0               
+10	val_10              
+100	val_100             
+PREHOOK: query: -- add char column
+alter table alter_char_1 add columns (key2 int, value2 char(10))
+PREHOOK: type: ALTERTABLE_ADDCOLS
+PREHOOK: Input: default@alter_char_1
+PREHOOK: Output: default@alter_char_1
+POSTHOOK: query: -- add char column
+alter table alter_char_1 add columns (key2 int, value2 char(10))
+POSTHOOK: type: ALTERTABLE_ADDCOLS
+POSTHOOK: Input: default@alter_char_1
+POSTHOOK: Output: default@alter_char_1
+POSTHOOK: Lineage: alter_char_1.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: alter_char_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: select * from alter_char_1 order by key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alter_char_1
+#### A masked pattern was here ####
+POSTHOOK: query: select * from alter_char_1 order by key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alter_char_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: alter_char_1.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: alter_char_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+0	val_0               	NULL	NULL
+0	val_0               	NULL	NULL
+0	val_0               	NULL	NULL
+10	val_10              	NULL	NULL
+100	val_100             	NULL	NULL
+PREHOOK: query: insert overwrite table alter_char_1
+  select key, value, key, value from src order by key limit 5
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@alter_char_1
+POSTHOOK: query: insert overwrite table alter_char_1
+  select key, value, key, value from src order by key limit 5
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@alter_char_1
+POSTHOOK: Lineage: alter_char_1.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: alter_char_1.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: alter_char_1.key2 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: alter_char_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: alter_char_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: alter_char_1.value2 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: select * from alter_char_1 order by key
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alter_char_1
+#### A masked pattern was here ####
+POSTHOOK: query: select * from alter_char_1 order by key
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alter_char_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: alter_char_1.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: alter_char_1.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: alter_char_1.key2 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: alter_char_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: alter_char_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: alter_char_1.value2 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+0	val_0               	0	val_0     
+0	val_0               	0	val_0     
+0	val_0               	0	val_0     
+10	val_10              	10	val_10    
+100	val_100             	100	val_100   
+PREHOOK: query: drop table alter_char_1
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@alter_char_1
+PREHOOK: Output: default@alter_char_1
+POSTHOOK: query: drop table alter_char_1
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@alter_char_1
+POSTHOOK: Output: default@alter_char_1
+POSTHOOK: Lineage: alter_char_1.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: alter_char_1.key SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: alter_char_1.key2 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: alter_char_1.value SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: alter_char_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: alter_char_1.value2 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]

Added: hive/trunk/ql/src/test/results/clientpositive/alter_char2.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/alter_char2.q.out?rev=1539530&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/alter_char2.q.out (added)
+++ hive/trunk/ql/src/test/results/clientpositive/alter_char2.q.out Thu Nov  7 05:57:37 2013
@@ -0,0 +1,97 @@
+PREHOOK: query: -- alter column type, with partitioned table
+drop table if exists alter_char2
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: -- alter column type, with partitioned table
+drop table if exists alter_char2
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table alter_char2 (
+  c1 char(255)
+) partitioned by (hr int)
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: create table alter_char2 (
+  c1 char(255)
+) partitioned by (hr int)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@alter_char2
+PREHOOK: query: insert overwrite table alter_char2 partition (hr=1)
+  select value from src limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@alter_char2@hr=1
+POSTHOOK: query: insert overwrite table alter_char2 partition (hr=1)
+  select value from src limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@alter_char2@hr=1
+POSTHOOK: Lineage: alter_char2 PARTITION(hr=1).c1 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: select c1, length(c1) from alter_char2
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alter_char2
+PREHOOK: Input: default@alter_char2@hr=1
+#### A masked pattern was here ####
+POSTHOOK: query: select c1, length(c1) from alter_char2
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alter_char2
+POSTHOOK: Input: default@alter_char2@hr=1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: alter_char2 PARTITION(hr=1).c1 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+val_238                                                                                                                                                                                                                                                        	7
+PREHOOK: query: alter table alter_char2 change column c1 c1 char(10)
+PREHOOK: type: ALTERTABLE_RENAMECOL
+PREHOOK: Input: default@alter_char2
+PREHOOK: Output: default@alter_char2
+POSTHOOK: query: alter table alter_char2 change column c1 c1 char(10)
+POSTHOOK: type: ALTERTABLE_RENAMECOL
+POSTHOOK: Input: default@alter_char2
+POSTHOOK: Output: default@alter_char2
+POSTHOOK: Lineage: alter_char2 PARTITION(hr=1).c1 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: select hr, c1, length(c1) from alter_char2 where hr = 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alter_char2
+PREHOOK: Input: default@alter_char2@hr=1
+#### A masked pattern was here ####
+POSTHOOK: query: select hr, c1, length(c1) from alter_char2 where hr = 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alter_char2
+POSTHOOK: Input: default@alter_char2@hr=1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: alter_char2 PARTITION(hr=1).c1 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+1	val_238   	7
+PREHOOK: query: insert overwrite table alter_char2 partition (hr=2)
+  select key from src limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@alter_char2@hr=2
+POSTHOOK: query: insert overwrite table alter_char2 partition (hr=2)
+  select key from src limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@alter_char2@hr=2
+POSTHOOK: Lineage: alter_char2 PARTITION(hr=1).c1 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: alter_char2 PARTITION(hr=2).c1 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+PREHOOK: query: select hr, c1, length(c1) from alter_char2 where hr = 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alter_char2
+PREHOOK: Input: default@alter_char2@hr=1
+#### A masked pattern was here ####
+POSTHOOK: query: select hr, c1, length(c1) from alter_char2 where hr = 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alter_char2
+POSTHOOK: Input: default@alter_char2@hr=1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: alter_char2 PARTITION(hr=1).c1 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: alter_char2 PARTITION(hr=2).c1 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+1	val_238   	7
+PREHOOK: query: select hr, c1, length(c1) from alter_char2 where hr = 2
+PREHOOK: type: QUERY
+PREHOOK: Input: default@alter_char2
+PREHOOK: Input: default@alter_char2@hr=2
+#### A masked pattern was here ####
+POSTHOOK: query: select hr, c1, length(c1) from alter_char2 where hr = 2
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@alter_char2
+POSTHOOK: Input: default@alter_char2@hr=2
+#### A masked pattern was here ####
+POSTHOOK: Lineage: alter_char2 PARTITION(hr=1).c1 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: alter_char2 PARTITION(hr=2).c1 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+2	238       	3

Added: hive/trunk/ql/src/test/results/clientpositive/char_1.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/char_1.q.out?rev=1539530&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/char_1.q.out (added)
+++ hive/trunk/ql/src/test/results/clientpositive/char_1.q.out Thu Nov  7 05:57:37 2013
@@ -0,0 +1,196 @@
+PREHOOK: query: drop table char1
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table char1
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table char1_1
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table char1_1
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table char1 (key char(10), value char(20))
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: create table char1 (key char(10), value char(20))
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@char1
+PREHOOK: query: create table char1_1 (key string, value string)
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: create table char1_1 (key string, value string)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@char1_1
+PREHOOK: query: -- load from file
+load data local inpath '../../data/files/srcbucket0.txt' overwrite into table char1
+PREHOOK: type: LOAD
+PREHOOK: Output: default@char1
+POSTHOOK: query: -- load from file
+load data local inpath '../../data/files/srcbucket0.txt' overwrite into table char1
+POSTHOOK: type: LOAD
+POSTHOOK: Output: default@char1
+PREHOOK: query: select * from char1 order by key, value limit 2
+PREHOOK: type: QUERY
+PREHOOK: Input: default@char1
+#### A masked pattern was here ####
+POSTHOOK: query: select * from char1 order by key, value limit 2
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@char1
+#### A masked pattern was here ####
+0         	val_0               
+0         	val_0               
+PREHOOK: query: -- insert overwrite, from same/different length char
+insert overwrite table char1
+  select cast(key as char(10)), cast(value as char(15)) from src order by key, value limit 2
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@char1
+POSTHOOK: query: -- insert overwrite, from same/different length char
+insert overwrite table char1
+  select cast(key as char(10)), cast(value as char(15)) from src order by key, value limit 2
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@char1
+POSTHOOK: Lineage: char1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: select key, value from char1 order by key, value
+PREHOOK: type: QUERY
+PREHOOK: Input: default@char1
+#### A masked pattern was here ####
+POSTHOOK: query: select key, value from char1 order by key, value
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@char1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: char1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+0         	val_0               
+0         	val_0               
+PREHOOK: query: -- insert overwrite, from string
+insert overwrite table char1
+  select key, value from src order by key, value limit 2
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@char1
+POSTHOOK: query: -- insert overwrite, from string
+insert overwrite table char1
+  select key, value from src order by key, value limit 2
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@char1
+POSTHOOK: Lineage: char1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: select key, value from char1 order by key, value
+PREHOOK: type: QUERY
+PREHOOK: Input: default@char1
+#### A masked pattern was here ####
+POSTHOOK: query: select key, value from char1 order by key, value
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@char1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: char1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+0         	val_0               
+0         	val_0               
+PREHOOK: query: -- insert string from char
+insert overwrite table char1_1
+  select key, value from char1 order by key, value limit 2
+PREHOOK: type: QUERY
+PREHOOK: Input: default@char1
+PREHOOK: Output: default@char1_1
+POSTHOOK: query: -- insert string from char
+insert overwrite table char1_1
+  select key, value from char1 order by key, value limit 2
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@char1
+POSTHOOK: Output: default@char1_1
+POSTHOOK: Lineage: char1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char1_1.key SIMPLE [(char1)char1.FieldSchema(name:key, type:char(10), comment:null), ]
+POSTHOOK: Lineage: char1_1.value SIMPLE [(char1)char1.FieldSchema(name:value, type:char(20), comment:null), ]
+PREHOOK: query: select key, value from char1_1 order by key, value
+PREHOOK: type: QUERY
+PREHOOK: Input: default@char1_1
+#### A masked pattern was here ####
+POSTHOOK: query: select key, value from char1_1 order by key, value
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@char1_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: char1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char1_1.key SIMPLE [(char1)char1.FieldSchema(name:key, type:char(10), comment:null), ]
+POSTHOOK: Lineage: char1_1.value SIMPLE [(char1)char1.FieldSchema(name:value, type:char(20), comment:null), ]
+0         	val_0               
+0         	val_0               
+PREHOOK: query: -- respect string length
+insert overwrite table char1 
+  select key, cast(value as char(3)) from src order by key, value limit 2
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@char1
+POSTHOOK: query: -- respect string length
+insert overwrite table char1 
+  select key, cast(value as char(3)) from src order by key, value limit 2
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@char1
+POSTHOOK: Lineage: char1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char1_1.key SIMPLE [(char1)char1.FieldSchema(name:key, type:char(10), comment:null), ]
+POSTHOOK: Lineage: char1_1.value SIMPLE [(char1)char1.FieldSchema(name:value, type:char(20), comment:null), ]
+PREHOOK: query: select key, value from char1 order by key, value
+PREHOOK: type: QUERY
+PREHOOK: Input: default@char1
+#### A masked pattern was here ####
+POSTHOOK: query: select key, value from char1 order by key, value
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@char1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: char1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char1_1.key SIMPLE [(char1)char1.FieldSchema(name:key, type:char(10), comment:null), ]
+POSTHOOK: Lineage: char1_1.value SIMPLE [(char1)char1.FieldSchema(name:value, type:char(20), comment:null), ]
+0         	val                 
+0         	val                 
+PREHOOK: query: drop table char1
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@char1
+PREHOOK: Output: default@char1
+POSTHOOK: query: drop table char1
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@char1
+POSTHOOK: Output: default@char1
+POSTHOOK: Lineage: char1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char1_1.key SIMPLE [(char1)char1.FieldSchema(name:key, type:char(10), comment:null), ]
+POSTHOOK: Lineage: char1_1.value SIMPLE [(char1)char1.FieldSchema(name:value, type:char(20), comment:null), ]
+PREHOOK: query: drop table char1_1
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@char1_1
+PREHOOK: Output: default@char1_1
+POSTHOOK: query: drop table char1_1
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@char1_1
+POSTHOOK: Output: default@char1_1
+POSTHOOK: Lineage: char1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char1_1.key SIMPLE [(char1)char1.FieldSchema(name:key, type:char(10), comment:null), ]
+POSTHOOK: Lineage: char1_1.value SIMPLE [(char1)char1.FieldSchema(name:value, type:char(20), comment:null), ]

Added: hive/trunk/ql/src/test/results/clientpositive/char_2.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/char_2.q.out?rev=1539530&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/char_2.q.out (added)
+++ hive/trunk/ql/src/test/results/clientpositive/char_2.q.out Thu Nov  7 05:57:37 2013
@@ -0,0 +1,131 @@
+PREHOOK: query: drop table char_2
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table char_2
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table char_2 (
+  key char(10),
+  value char(20)
+)
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: create table char_2 (
+  key char(10),
+  value char(20)
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@char_2
+PREHOOK: query: insert overwrite table char_2 select * from src
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@char_2
+POSTHOOK: query: insert overwrite table char_2 select * from src
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@char_2
+POSTHOOK: Lineage: char_2.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char_2.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: select value, sum(cast(key as int)), count(*) numrows
+from src
+group by value
+order by value asc
+limit 5
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: select value, sum(cast(key as int)), count(*) numrows
+from src
+group by value
+order by value asc
+limit 5
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: Lineage: char_2.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char_2.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+val_0	0	3
+val_10	10	1
+val_100	200	2
+val_103	206	2
+val_104	208	2
+PREHOOK: query: -- should match the query from src
+select value, sum(cast(key as int)), count(*) numrows
+from char_2
+group by value
+order by value asc
+limit 5
+PREHOOK: type: QUERY
+PREHOOK: Input: default@char_2
+#### A masked pattern was here ####
+POSTHOOK: query: -- should match the query from src
+select value, sum(cast(key as int)), count(*) numrows
+from char_2
+group by value
+order by value asc
+limit 5
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@char_2
+#### A masked pattern was here ####
+POSTHOOK: Lineage: char_2.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char_2.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+val_0               	0	3
+val_10              	10	1
+val_100             	200	2
+val_103             	206	2
+val_104             	208	2
+PREHOOK: query: select value, sum(cast(key as int)), count(*) numrows
+from src
+group by value
+order by value desc
+limit 5
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: select value, sum(cast(key as int)), count(*) numrows
+from src
+group by value
+order by value desc
+limit 5
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: Lineage: char_2.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char_2.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+val_98	196	2
+val_97	194	2
+val_96	96	1
+val_95	190	2
+val_92	92	1
+PREHOOK: query: -- should match the query from src
+select value, sum(cast(key as int)), count(*) numrows
+from char_2
+group by value
+order by value desc
+limit 5
+PREHOOK: type: QUERY
+PREHOOK: Input: default@char_2
+#### A masked pattern was here ####
+POSTHOOK: query: -- should match the query from src
+select value, sum(cast(key as int)), count(*) numrows
+from char_2
+group by value
+order by value desc
+limit 5
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@char_2
+#### A masked pattern was here ####
+POSTHOOK: Lineage: char_2.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char_2.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+val_98              	196	2
+val_97              	194	2
+val_96              	96	1
+val_95              	190	2
+val_92              	92	1
+PREHOOK: query: drop table char_2
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@char_2
+PREHOOK: Output: default@char_2
+POSTHOOK: query: drop table char_2
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@char_2
+POSTHOOK: Output: default@char_2
+POSTHOOK: Lineage: char_2.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char_2.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]

Added: hive/trunk/ql/src/test/results/clientpositive/char_cast.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/char_cast.q.out?rev=1539530&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/char_cast.q.out (added)
+++ hive/trunk/ql/src/test/results/clientpositive/char_cast.q.out Thu Nov  7 05:57:37 2013
@@ -0,0 +1,247 @@
+PREHOOK: query: -- Cast from char to other data types
+select
+  cast(cast('11' as string) as tinyint),
+  cast(cast('11' as string) as smallint),
+  cast(cast('11' as string) as int),
+  cast(cast('11' as string) as bigint),
+  cast(cast('11.00' as string) as float),
+  cast(cast('11.00' as string) as double),
+  cast(cast('11.00' as string) as decimal)
+from src limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: -- Cast from char to other data types
+select
+  cast(cast('11' as string) as tinyint),
+  cast(cast('11' as string) as smallint),
+  cast(cast('11' as string) as int),
+  cast(cast('11' as string) as bigint),
+  cast(cast('11.00' as string) as float),
+  cast(cast('11.00' as string) as double),
+  cast(cast('11.00' as string) as decimal)
+from src limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+11	11	11	11	11.0	11.0	11
+PREHOOK: query: select
+  cast(cast('11' as char(10)) as tinyint),
+  cast(cast('11' as char(10)) as smallint),
+  cast(cast('11' as char(10)) as int),
+  cast(cast('11' as char(10)) as bigint),
+  cast(cast('11.00' as char(10)) as float),
+  cast(cast('11.00' as char(10)) as double),
+  cast(cast('11.00' as char(10)) as decimal)
+from src limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  cast(cast('11' as char(10)) as tinyint),
+  cast(cast('11' as char(10)) as smallint),
+  cast(cast('11' as char(10)) as int),
+  cast(cast('11' as char(10)) as bigint),
+  cast(cast('11.00' as char(10)) as float),
+  cast(cast('11.00' as char(10)) as double),
+  cast(cast('11.00' as char(10)) as decimal)
+from src limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+11	11	11	11	11.0	11.0	11
+PREHOOK: query: select
+  cast(cast('2011-01-01' as string) as date),
+  cast(cast('2011-01-01 01:02:03' as string) as timestamp)
+from src limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  cast(cast('2011-01-01' as string) as date),
+  cast(cast('2011-01-01 01:02:03' as string) as timestamp)
+from src limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+2011-01-01	2011-01-01 01:02:03
+PREHOOK: query: select
+  cast(cast('2011-01-01' as char(10)) as date),
+  cast(cast('2011-01-01 01:02:03' as char(30)) as timestamp)
+from src limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  cast(cast('2011-01-01' as char(10)) as date),
+  cast(cast('2011-01-01 01:02:03' as char(30)) as timestamp)
+from src limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+2011-01-01	2011-01-01 01:02:03
+PREHOOK: query: -- no tests from string/char to boolean, that conversion doesn't look useful
+select
+  cast(cast('abc123' as string) as string),
+  cast(cast('abc123' as string) as varchar(10)),
+  cast(cast('abc123' as string) as char(10))
+from src limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: -- no tests from string/char to boolean, that conversion doesn't look useful
+select
+  cast(cast('abc123' as string) as string),
+  cast(cast('abc123' as string) as varchar(10)),
+  cast(cast('abc123' as string) as char(10))
+from src limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+abc123	abc123	abc123    
+PREHOOK: query: select
+  cast(cast('abc123' as char(10)) as string),
+  cast(cast('abc123' as char(10)) as varchar(10)),
+  cast(cast('abc123' as char(10)) as char(10))
+from src limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  cast(cast('abc123' as char(10)) as string),
+  cast(cast('abc123' as char(10)) as varchar(10)),
+  cast(cast('abc123' as char(10)) as char(10))
+from src limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+abc123	abc123	abc123    
+PREHOOK: query: select
+  cast(cast('abc123' as varchar(10)) as string),
+  cast(cast('abc123' as varchar(10)) as varchar(10)),
+  cast(cast('abc123' as varchar(10)) as char(10))
+from src limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  cast(cast('abc123' as varchar(10)) as string),
+  cast(cast('abc123' as varchar(10)) as varchar(10)),
+  cast(cast('abc123' as varchar(10)) as char(10))
+from src limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+abc123	abc123	abc123    
+PREHOOK: query: -- cast from other types to char
+select
+  cast(cast(11 as tinyint) as string),
+  cast(cast(11 as smallint) as string),
+  cast(cast(11 as int) as string),
+  cast(cast(11 as bigint) as string),
+  cast(cast(11.00 as float) as string),
+  cast(cast(11.00 as double) as string),
+  cast(cast(11.00 as decimal) as string)
+from src limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: -- cast from other types to char
+select
+  cast(cast(11 as tinyint) as string),
+  cast(cast(11 as smallint) as string),
+  cast(cast(11 as int) as string),
+  cast(cast(11 as bigint) as string),
+  cast(cast(11.00 as float) as string),
+  cast(cast(11.00 as double) as string),
+  cast(cast(11.00 as decimal) as string)
+from src limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+11	11	11	11	11.0	11.0	11
+PREHOOK: query: select
+  cast(cast(11 as tinyint) as char(10)),
+  cast(cast(11 as smallint) as char(10)),
+  cast(cast(11 as int) as char(10)),
+  cast(cast(11 as bigint) as char(10)),
+  cast(cast(11.00 as float) as char(10)),
+  cast(cast(11.00 as double) as char(10)),
+  cast(cast(11.00 as decimal) as char(10))
+from src limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  cast(cast(11 as tinyint) as char(10)),
+  cast(cast(11 as smallint) as char(10)),
+  cast(cast(11 as int) as char(10)),
+  cast(cast(11 as bigint) as char(10)),
+  cast(cast(11.00 as float) as char(10)),
+  cast(cast(11.00 as double) as char(10)),
+  cast(cast(11.00 as decimal) as char(10))
+from src limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+11        	11        	11        	11        	11.0      	11.0      	11        
+PREHOOK: query: select
+  cast(date '2011-01-01' as string),
+  cast(timestamp('2011-01-01 01:02:03') as string)
+from src limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  cast(date '2011-01-01' as string),
+  cast(timestamp('2011-01-01 01:02:03') as string)
+from src limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+2011-01-01	2011-01-01 01:02:03
+PREHOOK: query: select
+  cast(date '2011-01-01' as char(10)),
+  cast(timestamp('2011-01-01 01:02:03') as char(30))
+from src limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  cast(date '2011-01-01' as char(10)),
+  cast(timestamp('2011-01-01 01:02:03') as char(30))
+from src limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+2011-01-01	2011-01-01 01:02:03           
+PREHOOK: query: select
+  cast(true as string),
+  cast(false as string)
+from src limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  cast(true as string),
+  cast(false as string)
+from src limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+TRUE	FALSE
+PREHOOK: query: select
+  cast(true as char(10)),
+  cast(false as char(10))
+from src limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  cast(true as char(10)),
+  cast(false as char(10))
+from src limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+TRUE      	FALSE     

Added: hive/trunk/ql/src/test/results/clientpositive/char_comparison.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/char_comparison.q.out?rev=1539530&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/char_comparison.q.out (added)
+++ hive/trunk/ql/src/test/results/clientpositive/char_comparison.q.out Thu Nov  7 05:57:37 2013
@@ -0,0 +1,105 @@
+PREHOOK: query: -- Should all be true
+select
+  cast('abc' as char(10)) =  cast('abc' as char(10)),
+  cast('abc' as char(10)) <= cast('abc' as char(10)),
+  cast('abc' as char(10)) >= cast('abc' as char(10)),
+  cast('abc' as char(10)) <  cast('abd' as char(10)),
+  cast('abc' as char(10)) >  cast('abb' as char(10)),
+  cast('abc' as char(10)) <> cast('abb' as char(10))
+from src limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: -- Should all be true
+select
+  cast('abc' as char(10)) =  cast('abc' as char(10)),
+  cast('abc' as char(10)) <= cast('abc' as char(10)),
+  cast('abc' as char(10)) >= cast('abc' as char(10)),
+  cast('abc' as char(10)) <  cast('abd' as char(10)),
+  cast('abc' as char(10)) >  cast('abb' as char(10)),
+  cast('abc' as char(10)) <> cast('abb' as char(10))
+from src limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+true	true	true	true	true	true
+PREHOOK: query: -- Different char lengths should still compare the same
+select
+  cast('abc' as char(10)) =  cast('abc' as char(3)),
+  cast('abc' as char(10)) <= cast('abc' as char(3)),
+  cast('abc' as char(10)) >= cast('abc' as char(3)),
+  cast('abc' as char(10)) <  cast('abd' as char(3)),
+  cast('abc' as char(10)) >  cast('abb' as char(3)),
+  cast('abc' as char(10)) <> cast('abb' as char(3))
+from src limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: -- Different char lengths should still compare the same
+select
+  cast('abc' as char(10)) =  cast('abc' as char(3)),
+  cast('abc' as char(10)) <= cast('abc' as char(3)),
+  cast('abc' as char(10)) >= cast('abc' as char(3)),
+  cast('abc' as char(10)) <  cast('abd' as char(3)),
+  cast('abc' as char(10)) >  cast('abb' as char(3)),
+  cast('abc' as char(10)) <> cast('abb' as char(3))
+from src limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+true	true	true	true	true	true
+PREHOOK: query: -- Should work with string types as well
+select
+  cast('abc' as char(10)) =  'abc',
+  cast('abc' as char(10)) <= 'abc',
+  cast('abc' as char(10)) >= 'abc',
+  cast('abc' as char(10)) <  'abd',
+  cast('abc' as char(10)) >  'abb',
+  cast('abc' as char(10)) <> 'abb'
+from src limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: -- Should work with string types as well
+select
+  cast('abc' as char(10)) =  'abc',
+  cast('abc' as char(10)) <= 'abc',
+  cast('abc' as char(10)) >= 'abc',
+  cast('abc' as char(10)) <  'abd',
+  cast('abc' as char(10)) >  'abb',
+  cast('abc' as char(10)) <> 'abb'
+from src limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+true	true	true	true	true	true
+PREHOOK: query: -- leading space is significant for char
+select
+  cast(' abc' as char(10)) <> cast('abc' as char(10))
+from src limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: -- leading space is significant for char
+select
+  cast(' abc' as char(10)) <> cast('abc' as char(10))
+from src limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+true
+PREHOOK: query: -- trailing space is not significant for char
+select
+  cast('abc ' as char(10)) = cast('abc' as char(10))
+from src limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: -- trailing space is not significant for char
+select
+  cast('abc ' as char(10)) = cast('abc' as char(10))
+from src limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+true

Added: hive/trunk/ql/src/test/results/clientpositive/char_join1.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/char_join1.q.out?rev=1539530&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/char_join1.q.out (added)
+++ hive/trunk/ql/src/test/results/clientpositive/char_join1.q.out Thu Nov  7 05:57:37 2013
@@ -0,0 +1,134 @@
+PREHOOK: query: drop table char_join1_ch1
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table char_join1_ch1
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table char_join1_ch2
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table char_join1_ch2
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table char_join1_str
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table char_join1_str
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table  char_join1_ch1 (
+  c1 int,
+  c2 char(10)
+)
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: create table  char_join1_ch1 (
+  c1 int,
+  c2 char(10)
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@char_join1_ch1
+PREHOOK: query: create table  char_join1_ch2 (
+  c1 int,
+  c2 char(20)
+)
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: create table  char_join1_ch2 (
+  c1 int,
+  c2 char(20)
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@char_join1_ch2
+PREHOOK: query: create table  char_join1_str (
+  c1 int,
+  c2 string
+)
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: create table  char_join1_str (
+  c1 int,
+  c2 string
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@char_join1_str
+PREHOOK: query: load data local inpath '../../data/files/vc1.txt' into table char_join1_ch1
+PREHOOK: type: LOAD
+PREHOOK: Output: default@char_join1_ch1
+POSTHOOK: query: load data local inpath '../../data/files/vc1.txt' into table char_join1_ch1
+POSTHOOK: type: LOAD
+POSTHOOK: Output: default@char_join1_ch1
+PREHOOK: query: load data local inpath '../../data/files/vc1.txt' into table char_join1_ch2
+PREHOOK: type: LOAD
+PREHOOK: Output: default@char_join1_ch2
+POSTHOOK: query: load data local inpath '../../data/files/vc1.txt' into table char_join1_ch2
+POSTHOOK: type: LOAD
+POSTHOOK: Output: default@char_join1_ch2
+PREHOOK: query: load data local inpath '../../data/files/vc1.txt' into table char_join1_str
+PREHOOK: type: LOAD
+PREHOOK: Output: default@char_join1_str
+POSTHOOK: query: load data local inpath '../../data/files/vc1.txt' into table char_join1_str
+POSTHOOK: type: LOAD
+POSTHOOK: Output: default@char_join1_str
+PREHOOK: query: -- Join char with same length char
+select * from char_join1_ch1 a join char_join1_ch1 b on (a.c2 = b.c2) order by a.c1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@char_join1_ch1
+#### A masked pattern was here ####
+POSTHOOK: query: -- Join char with same length char
+select * from char_join1_ch1 a join char_join1_ch1 b on (a.c2 = b.c2) order by a.c1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@char_join1_ch1
+#### A masked pattern was here ####
+1	abc       	1	abc       
+1	abc       	2	abc       
+2	abc       	1	abc       
+2	abc       	2	abc       
+3	 abc      	3	 abc      
+PREHOOK: query: -- Join char with different length char
+select * from char_join1_ch1 a join char_join1_ch2 b on (a.c2 = b.c2) order by a.c1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@char_join1_ch1
+PREHOOK: Input: default@char_join1_ch2
+#### A masked pattern was here ####
+POSTHOOK: query: -- Join char with different length char
+select * from char_join1_ch1 a join char_join1_ch2 b on (a.c2 = b.c2) order by a.c1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@char_join1_ch1
+POSTHOOK: Input: default@char_join1_ch2
+#### A masked pattern was here ####
+1	abc       	1	abc                 
+1	abc       	2	abc                 
+2	abc       	1	abc                 
+2	abc       	2	abc                 
+3	 abc      	3	 abc                
+PREHOOK: query: -- Join char with string
+select * from char_join1_ch1 a join char_join1_str b on (a.c2 = b.c2) order by a.c1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@char_join1_ch1
+PREHOOK: Input: default@char_join1_str
+#### A masked pattern was here ####
+POSTHOOK: query: -- Join char with string
+select * from char_join1_ch1 a join char_join1_str b on (a.c2 = b.c2) order by a.c1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@char_join1_ch1
+POSTHOOK: Input: default@char_join1_str
+#### A masked pattern was here ####
+1	abc       	1	abc
+2	abc       	1	abc
+3	 abc      	3	 abc
+PREHOOK: query: drop table char_join1_ch1
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@char_join1_ch1
+PREHOOK: Output: default@char_join1_ch1
+POSTHOOK: query: drop table char_join1_ch1
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@char_join1_ch1
+POSTHOOK: Output: default@char_join1_ch1
+PREHOOK: query: drop table char_join1_ch2
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@char_join1_ch2
+PREHOOK: Output: default@char_join1_ch2
+POSTHOOK: query: drop table char_join1_ch2
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@char_join1_ch2
+POSTHOOK: Output: default@char_join1_ch2
+PREHOOK: query: drop table char_join1_str
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@char_join1_str
+PREHOOK: Output: default@char_join1_str
+POSTHOOK: query: drop table char_join1_str
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@char_join1_str
+POSTHOOK: Output: default@char_join1_str

Added: hive/trunk/ql/src/test/results/clientpositive/char_nested_types.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/char_nested_types.q.out?rev=1539530&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/char_nested_types.q.out (added)
+++ hive/trunk/ql/src/test/results/clientpositive/char_nested_types.q.out Thu Nov  7 05:57:37 2013
@@ -0,0 +1,343 @@
+PREHOOK: query: drop table char_nested_1
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table char_nested_1
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table char_nested_array
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table char_nested_array
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table char_nested_map
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table char_nested_map
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table char_nested_struct
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table char_nested_struct
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table char_nested_cta
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table char_nested_cta
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table char_nested_view
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table char_nested_view
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table char_nested_1 (key int, value char(20))
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: create table char_nested_1 (key int, value char(20))
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@char_nested_1
+PREHOOK: query: insert overwrite table char_nested_1
+  select key, value from src order by key limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@char_nested_1
+POSTHOOK: query: insert overwrite table char_nested_1
+  select key, value from src order by key limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@char_nested_1
+POSTHOOK: Lineage: char_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: -- arrays
+create table char_nested_array (c1 array<char(20)>)
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: -- arrays
+create table char_nested_array (c1 array<char(20)>)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@char_nested_array
+POSTHOOK: Lineage: char_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: insert overwrite table char_nested_array
+  select array(value, value) from char_nested_1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@char_nested_1
+PREHOOK: Output: default@char_nested_array
+POSTHOOK: query: insert overwrite table char_nested_array
+  select array(value, value) from char_nested_1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@char_nested_1
+POSTHOOK: Output: default@char_nested_array
+POSTHOOK: Lineage: char_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_array.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+PREHOOK: query: describe char_nested_array
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: describe char_nested_array
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Lineage: char_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_array.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+c1                  	array<char(20)>     	None                
+PREHOOK: query: select * from char_nested_array
+PREHOOK: type: QUERY
+PREHOOK: Input: default@char_nested_array
+#### A masked pattern was here ####
+POSTHOOK: query: select * from char_nested_array
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@char_nested_array
+#### A masked pattern was here ####
+POSTHOOK: Lineage: char_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_array.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+["val_0               ","val_0               "]
+PREHOOK: query: -- maps
+create table char_nested_map (c1 map<int, char(20)>)
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: -- maps
+create table char_nested_map (c1 map<int, char(20)>)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@char_nested_map
+POSTHOOK: Lineage: char_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_array.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+PREHOOK: query: insert overwrite table char_nested_map
+  select map(key, value) from char_nested_1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@char_nested_1
+PREHOOK: Output: default@char_nested_map
+POSTHOOK: query: insert overwrite table char_nested_map
+  select map(key, value) from char_nested_1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@char_nested_1
+POSTHOOK: Output: default@char_nested_map
+POSTHOOK: Lineage: char_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_array.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_map.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+PREHOOK: query: describe char_nested_map
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: describe char_nested_map
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Lineage: char_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_array.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_map.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+c1                  	map<int,char(20)>   	None                
+PREHOOK: query: select * from char_nested_map
+PREHOOK: type: QUERY
+PREHOOK: Input: default@char_nested_map
+#### A masked pattern was here ####
+POSTHOOK: query: select * from char_nested_map
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@char_nested_map
+#### A masked pattern was here ####
+POSTHOOK: Lineage: char_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_array.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_map.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+{0:"val_0               "}
+PREHOOK: query: -- structs
+create table char_nested_struct (c1 struct<a:int, b:char(20), c:string>)
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: -- structs
+create table char_nested_struct (c1 struct<a:int, b:char(20), c:string>)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@char_nested_struct
+POSTHOOK: Lineage: char_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_array.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_map.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+PREHOOK: query: insert overwrite table char_nested_struct
+  select named_struct('a', key,
+                      'b', value,
+                      'c', cast(value as string))
+  from char_nested_1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@char_nested_1
+PREHOOK: Output: default@char_nested_struct
+POSTHOOK: query: insert overwrite table char_nested_struct
+  select named_struct('a', key,
+                      'b', value,
+                      'c', cast(value as string))
+  from char_nested_1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@char_nested_1
+POSTHOOK: Output: default@char_nested_struct
+POSTHOOK: Lineage: char_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_array.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_map.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_struct.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+PREHOOK: query: describe char_nested_struct
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: describe char_nested_struct
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Lineage: char_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_array.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_map.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_struct.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+c1                  	struct<a:int,b:char(20),c:string>	None                
+PREHOOK: query: select * from char_nested_struct
+PREHOOK: type: QUERY
+PREHOOK: Input: default@char_nested_struct
+#### A masked pattern was here ####
+POSTHOOK: query: select * from char_nested_struct
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@char_nested_struct
+#### A masked pattern was here ####
+POSTHOOK: Lineage: char_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_array.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_map.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_struct.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+{"a":0,"b":"val_0               ","c":"val_0"}
+PREHOOK: query: -- nested type with create table as
+create table char_nested_cta as 
+  select * from char_nested_struct
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@char_nested_struct
+POSTHOOK: query: -- nested type with create table as
+create table char_nested_cta as 
+  select * from char_nested_struct
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@char_nested_struct
+POSTHOOK: Output: default@char_nested_cta
+POSTHOOK: Lineage: char_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_array.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_map.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_struct.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+PREHOOK: query: describe char_nested_cta
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: describe char_nested_cta
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Lineage: char_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_array.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_map.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_struct.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+c1                  	struct<a:int,b:char(20),c:string>	None                
+PREHOOK: query: select * from char_nested_cta
+PREHOOK: type: QUERY
+PREHOOK: Input: default@char_nested_cta
+#### A masked pattern was here ####
+POSTHOOK: query: select * from char_nested_cta
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@char_nested_cta
+#### A masked pattern was here ####
+POSTHOOK: Lineage: char_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_array.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_map.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_struct.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+{"a":0,"b":"val_0               ","c":"val_0"}
+PREHOOK: query: -- nested type with view
+create table char_nested_view as 
+  select * from char_nested_struct
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@char_nested_struct
+POSTHOOK: query: -- nested type with view
+create table char_nested_view as 
+  select * from char_nested_struct
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@char_nested_struct
+POSTHOOK: Output: default@char_nested_view
+POSTHOOK: Lineage: char_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_array.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_map.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_struct.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+PREHOOK: query: describe char_nested_view
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: describe char_nested_view
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Lineage: char_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_array.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_map.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_struct.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+c1                  	struct<a:int,b:char(20),c:string>	None                
+PREHOOK: query: select * from char_nested_view
+PREHOOK: type: QUERY
+PREHOOK: Input: default@char_nested_view
+#### A masked pattern was here ####
+POSTHOOK: query: select * from char_nested_view
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@char_nested_view
+#### A masked pattern was here ####
+POSTHOOK: Lineage: char_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_array.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_map.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_struct.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+{"a":0,"b":"val_0               ","c":"val_0"}
+PREHOOK: query: drop table char_nested_1
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@char_nested_1
+PREHOOK: Output: default@char_nested_1
+POSTHOOK: query: drop table char_nested_1
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@char_nested_1
+POSTHOOK: Output: default@char_nested_1
+POSTHOOK: Lineage: char_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_array.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_map.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_struct.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+PREHOOK: query: drop table char_nested_array
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@char_nested_array
+PREHOOK: Output: default@char_nested_array
+POSTHOOK: query: drop table char_nested_array
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@char_nested_array
+POSTHOOK: Output: default@char_nested_array
+POSTHOOK: Lineage: char_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_array.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_map.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_struct.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+PREHOOK: query: drop table char_nested_map
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@char_nested_map
+PREHOOK: Output: default@char_nested_map
+POSTHOOK: query: drop table char_nested_map
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@char_nested_map
+POSTHOOK: Output: default@char_nested_map
+POSTHOOK: Lineage: char_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_array.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_map.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_struct.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+PREHOOK: query: drop table char_nested_struct
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@char_nested_struct
+PREHOOK: Output: default@char_nested_struct
+POSTHOOK: query: drop table char_nested_struct
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@char_nested_struct
+POSTHOOK: Output: default@char_nested_struct
+POSTHOOK: Lineage: char_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_array.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_map.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_struct.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+PREHOOK: query: drop table char_nested_cta
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@char_nested_cta
+PREHOOK: Output: default@char_nested_cta
+POSTHOOK: query: drop table char_nested_cta
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@char_nested_cta
+POSTHOOK: Output: default@char_nested_cta
+POSTHOOK: Lineage: char_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_array.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_map.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_struct.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+PREHOOK: query: drop table char_nested_view
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@char_nested_view
+PREHOOK: Output: default@char_nested_view
+POSTHOOK: query: drop table char_nested_view
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@char_nested_view
+POSTHOOK: Output: default@char_nested_view
+POSTHOOK: Lineage: char_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: char_nested_array.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_map.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]
+POSTHOOK: Lineage: char_nested_struct.c1 EXPRESSION [(char_nested_1)char_nested_1.FieldSchema(name:key, type:int, comment:null), (char_nested_1)char_nested_1.FieldSchema(name:value, type:char(20), comment:null), ]