You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ha...@apache.org on 2013/09/15 19:23:55 UTC

svn commit: r1523463 [3/5] - in /hive/trunk: common/src/java/org/apache/hadoop/hive/common/type/ common/src/test/org/apache/hadoop/hive/common/type/ data/files/ ql/src/java/org/apache/hadoop/hive/ql/exec/ ql/src/java/org/apache/hadoop/hive/ql/parse/ ql...

Added: hive/trunk/ql/src/test/results/clientpositive/varchar_cast.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/varchar_cast.q.out?rev=1523463&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/varchar_cast.q.out (added)
+++ hive/trunk/ql/src/test/results/clientpositive/varchar_cast.q.out Sun Sep 15 17:23:53 2013
@@ -0,0 +1,226 @@
+PREHOOK: query: -- Cast from varchar 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 varchar 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 varchar(10)) as tinyint),
+  cast(cast('11' as varchar(10)) as smallint),
+  cast(cast('11' as varchar(10)) as int),
+  cast(cast('11' as varchar(10)) as bigint),
+  cast(cast('11.00' as varchar(10)) as float),
+  cast(cast('11.00' as varchar(10)) as double),
+  cast(cast('11.00' as varchar(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 varchar(10)) as tinyint),
+  cast(cast('11' as varchar(10)) as smallint),
+  cast(cast('11' as varchar(10)) as int),
+  cast(cast('11' as varchar(10)) as bigint),
+  cast(cast('11.00' as varchar(10)) as float),
+  cast(cast('11.00' as varchar(10)) as double),
+  cast(cast('11.00' as varchar(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 varchar(10)) as date),
+  cast(cast('2011-01-01 01:02:03' as varchar(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 varchar(10)) as date),
+  cast(cast('2011-01-01 01:02:03' as varchar(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/varchar to boolean, that conversion doesn't look useful
+select
+  cast(cast('abc123' as string) as string),
+  cast(cast('abc123' as string) as varchar(10))
+from src limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: -- no tests from string/varchar to boolean, that conversion doesn't look useful
+select
+  cast(cast('abc123' as string) as string),
+  cast(cast('abc123' as string) as varchar(10))
+from src limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+abc123	abc123
+PREHOOK: query: select
+  cast(cast('abc123' as varchar(10)) as string),
+  cast(cast('abc123' as varchar(10)) as varchar(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))
+from src limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+abc123	abc123
+PREHOOK: query: -- cast from other types to varchar
+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 varchar
+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 varchar(10)),
+  cast(cast(11 as smallint) as varchar(10)),
+  cast(cast(11 as int) as varchar(10)),
+  cast(cast(11 as bigint) as varchar(10)),
+  cast(cast(11.00 as float) as varchar(10)),
+  cast(cast(11.00 as double) as varchar(10)),
+  cast(cast(11.00 as decimal) as varchar(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 varchar(10)),
+  cast(cast(11 as smallint) as varchar(10)),
+  cast(cast(11 as int) as varchar(10)),
+  cast(cast(11 as bigint) as varchar(10)),
+  cast(cast(11.00 as float) as varchar(10)),
+  cast(cast(11.00 as double) as varchar(10)),
+  cast(cast(11.00 as decimal) as varchar(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 varchar(10)),
+  cast(timestamp('2011-01-01 01:02:03') as varchar(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 varchar(10)),
+  cast(timestamp('2011-01-01 01:02:03') as varchar(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 varchar(10)),
+  cast(false as varchar(10))
+from src limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  cast(true as varchar(10)),
+  cast(false as varchar(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/varchar_comparison.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/varchar_comparison.q.out?rev=1523463&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/varchar_comparison.q.out (added)
+++ hive/trunk/ql/src/test/results/clientpositive/varchar_comparison.q.out Sun Sep 15 17:23:53 2013
@@ -0,0 +1,105 @@
+PREHOOK: query: -- Should all be true
+select
+  cast('abc' as varchar(10)) =  cast('abc' as varchar(10)),
+  cast('abc' as varchar(10)) <= cast('abc' as varchar(10)),
+  cast('abc' as varchar(10)) >= cast('abc' as varchar(10)),
+  cast('abc' as varchar(10)) <  cast('abd' as varchar(10)),
+  cast('abc' as varchar(10)) >  cast('abb' as varchar(10)),
+  cast('abc' as varchar(10)) <> cast('abb' as varchar(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 varchar(10)) =  cast('abc' as varchar(10)),
+  cast('abc' as varchar(10)) <= cast('abc' as varchar(10)),
+  cast('abc' as varchar(10)) >= cast('abc' as varchar(10)),
+  cast('abc' as varchar(10)) <  cast('abd' as varchar(10)),
+  cast('abc' as varchar(10)) >  cast('abb' as varchar(10)),
+  cast('abc' as varchar(10)) <> cast('abb' as varchar(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 varchar lengths should still compare the same
+select
+  cast('abc' as varchar(10)) =  cast('abc' as varchar(3)),
+  cast('abc' as varchar(10)) <= cast('abc' as varchar(3)),
+  cast('abc' as varchar(10)) >= cast('abc' as varchar(3)),
+  cast('abc' as varchar(10)) <  cast('abd' as varchar(3)),
+  cast('abc' as varchar(10)) >  cast('abb' as varchar(3)),
+  cast('abc' as varchar(10)) <> cast('abb' as varchar(3))
+from src limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: -- Different varchar lengths should still compare the same
+select
+  cast('abc' as varchar(10)) =  cast('abc' as varchar(3)),
+  cast('abc' as varchar(10)) <= cast('abc' as varchar(3)),
+  cast('abc' as varchar(10)) >= cast('abc' as varchar(3)),
+  cast('abc' as varchar(10)) <  cast('abd' as varchar(3)),
+  cast('abc' as varchar(10)) >  cast('abb' as varchar(3)),
+  cast('abc' as varchar(10)) <> cast('abb' as varchar(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 varchar(10)) =  'abc',
+  cast('abc' as varchar(10)) <= 'abc',
+  cast('abc' as varchar(10)) >= 'abc',
+  cast('abc' as varchar(10)) <  'abd',
+  cast('abc' as varchar(10)) >  'abb',
+  cast('abc' as varchar(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 varchar(10)) =  'abc',
+  cast('abc' as varchar(10)) <= 'abc',
+  cast('abc' as varchar(10)) >= 'abc',
+  cast('abc' as varchar(10)) <  'abd',
+  cast('abc' as varchar(10)) >  'abb',
+  cast('abc' as varchar(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 varchar
+select
+  cast(' abc' as varchar(10)) <> cast('abc' as varchar(10))
+from src limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: -- leading space is significant for varchar
+select
+  cast(' abc' as varchar(10)) <> cast('abc' as varchar(10))
+from src limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+#### A masked pattern was here ####
+true
+PREHOOK: query: -- trailing space is significant for varchar
+select
+  cast('abc ' as varchar(10)) <> cast('abc' as varchar(10))
+from src limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+#### A masked pattern was here ####
+POSTHOOK: query: -- trailing space is significant for varchar
+select
+  cast('abc ' as varchar(10)) <> cast('abc' as varchar(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/varchar_join1.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/varchar_join1.q.out?rev=1523463&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/varchar_join1.q.out (added)
+++ hive/trunk/ql/src/test/results/clientpositive/varchar_join1.q.out Sun Sep 15 17:23:53 2013
@@ -0,0 +1,130 @@
+PREHOOK: query: drop table varchar_join1_vc1
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table varchar_join1_vc1
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table varchar_join1_vc2
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table varchar_join1_vc2
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table varchar_join1_str
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table varchar_join1_str
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table  varchar_join1_vc1 (
+  c1 int,
+  c2 varchar(10)
+)
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: create table  varchar_join1_vc1 (
+  c1 int,
+  c2 varchar(10)
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@varchar_join1_vc1
+PREHOOK: query: create table  varchar_join1_vc2 (
+  c1 int,
+  c2 varchar(20)
+)
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: create table  varchar_join1_vc2 (
+  c1 int,
+  c2 varchar(20)
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@varchar_join1_vc2
+PREHOOK: query: create table  varchar_join1_str (
+  c1 int,
+  c2 string
+)
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: create table  varchar_join1_str (
+  c1 int,
+  c2 string
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@varchar_join1_str
+PREHOOK: query: load data local inpath '../data/files/vc1.txt' into table varchar_join1_vc1
+PREHOOK: type: LOAD
+PREHOOK: Output: default@varchar_join1_vc1
+POSTHOOK: query: load data local inpath '../data/files/vc1.txt' into table varchar_join1_vc1
+POSTHOOK: type: LOAD
+POSTHOOK: Output: default@varchar_join1_vc1
+PREHOOK: query: load data local inpath '../data/files/vc1.txt' into table varchar_join1_vc2
+PREHOOK: type: LOAD
+PREHOOK: Output: default@varchar_join1_vc2
+POSTHOOK: query: load data local inpath '../data/files/vc1.txt' into table varchar_join1_vc2
+POSTHOOK: type: LOAD
+POSTHOOK: Output: default@varchar_join1_vc2
+PREHOOK: query: load data local inpath '../data/files/vc1.txt' into table varchar_join1_str
+PREHOOK: type: LOAD
+PREHOOK: Output: default@varchar_join1_str
+POSTHOOK: query: load data local inpath '../data/files/vc1.txt' into table varchar_join1_str
+POSTHOOK: type: LOAD
+POSTHOOK: Output: default@varchar_join1_str
+PREHOOK: query: -- Join varchar with same length varchar
+select * from varchar_join1_vc1 a join varchar_join1_vc1 b on (a.c2 = b.c2) order by a.c1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_join1_vc1
+#### A masked pattern was here ####
+POSTHOOK: query: -- Join varchar with same length varchar
+select * from varchar_join1_vc1 a join varchar_join1_vc1 b on (a.c2 = b.c2) order by a.c1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_join1_vc1
+#### A masked pattern was here ####
+1	abc	1	abc
+2	abc 	2	abc 
+3	 abc	3	 abc
+PREHOOK: query: -- Join varchar with different length varchar
+select * from varchar_join1_vc1 a join varchar_join1_vc2 b on (a.c2 = b.c2) order by a.c1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_join1_vc1
+PREHOOK: Input: default@varchar_join1_vc2
+#### A masked pattern was here ####
+POSTHOOK: query: -- Join varchar with different length varchar
+select * from varchar_join1_vc1 a join varchar_join1_vc2 b on (a.c2 = b.c2) order by a.c1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_join1_vc1
+POSTHOOK: Input: default@varchar_join1_vc2
+#### A masked pattern was here ####
+1	abc	1	abc
+2	abc 	2	abc 
+3	 abc	3	 abc
+PREHOOK: query: -- Join varchar with string
+select * from varchar_join1_vc1 a join varchar_join1_str b on (a.c2 = b.c2) order by a.c1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_join1_str
+PREHOOK: Input: default@varchar_join1_vc1
+#### A masked pattern was here ####
+POSTHOOK: query: -- Join varchar with string
+select * from varchar_join1_vc1 a join varchar_join1_str b on (a.c2 = b.c2) order by a.c1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_join1_str
+POSTHOOK: Input: default@varchar_join1_vc1
+#### A masked pattern was here ####
+1	abc	1	abc
+2	abc 	2	abc 
+3	 abc	3	 abc
+PREHOOK: query: drop table varchar_join1_vc1
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@varchar_join1_vc1
+PREHOOK: Output: default@varchar_join1_vc1
+POSTHOOK: query: drop table varchar_join1_vc1
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@varchar_join1_vc1
+POSTHOOK: Output: default@varchar_join1_vc1
+PREHOOK: query: drop table varchar_join1_vc2
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@varchar_join1_vc2
+PREHOOK: Output: default@varchar_join1_vc2
+POSTHOOK: query: drop table varchar_join1_vc2
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@varchar_join1_vc2
+POSTHOOK: Output: default@varchar_join1_vc2
+PREHOOK: query: drop table varchar_join1_str
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@varchar_join1_str
+PREHOOK: Output: default@varchar_join1_str
+POSTHOOK: query: drop table varchar_join1_str
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@varchar_join1_str
+POSTHOOK: Output: default@varchar_join1_str

Added: hive/trunk/ql/src/test/results/clientpositive/varchar_nested_types.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/varchar_nested_types.q.out?rev=1523463&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/varchar_nested_types.q.out (added)
+++ hive/trunk/ql/src/test/results/clientpositive/varchar_nested_types.q.out Sun Sep 15 17:23:53 2013
@@ -0,0 +1,363 @@
+PREHOOK: query: drop table varchar_nested_1
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table varchar_nested_1
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table varchar_nested_array
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table varchar_nested_array
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table varchar_nested_map
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table varchar_nested_map
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table varchar_nested_struct
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table varchar_nested_struct
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table varchar_nested_cta
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table varchar_nested_cta
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table varchar_nested_view
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table varchar_nested_view
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table varchar_nested_1 (key int, value varchar(20))
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: create table varchar_nested_1 (key int, value varchar(20))
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@varchar_nested_1
+PREHOOK: query: insert overwrite table varchar_nested_1
+  select key, value from src limit 5
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@varchar_nested_1
+POSTHOOK: query: insert overwrite table varchar_nested_1
+  select key, value from src limit 5
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@varchar_nested_1
+POSTHOOK: Lineage: varchar_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: -- arrays
+create table varchar_nested_array (c1 array<varchar(20)>)
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: -- arrays
+create table varchar_nested_array (c1 array<varchar(20)>)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@varchar_nested_array
+POSTHOOK: Lineage: varchar_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: insert overwrite table varchar_nested_array
+  select array(value, value) from varchar_nested_1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_nested_1
+PREHOOK: Output: default@varchar_nested_array
+POSTHOOK: query: insert overwrite table varchar_nested_array
+  select array(value, value) from varchar_nested_1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_nested_1
+POSTHOOK: Output: default@varchar_nested_array
+POSTHOOK: Lineage: varchar_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_array.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+PREHOOK: query: describe varchar_nested_array
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: describe varchar_nested_array
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Lineage: varchar_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_array.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+c1                  	array<varchar(20)>  	None                
+PREHOOK: query: select * from varchar_nested_array
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_nested_array
+#### A masked pattern was here ####
+POSTHOOK: query: select * from varchar_nested_array
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_nested_array
+#### A masked pattern was here ####
+POSTHOOK: Lineage: varchar_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_array.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+["val_238","val_238"]
+["val_86","val_86"]
+["val_311","val_311"]
+["val_27","val_27"]
+["val_165","val_165"]
+PREHOOK: query: -- maps
+create table varchar_nested_map (c1 map<int, varchar(20)>)
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: -- maps
+create table varchar_nested_map (c1 map<int, varchar(20)>)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@varchar_nested_map
+POSTHOOK: Lineage: varchar_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_array.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+PREHOOK: query: insert overwrite table varchar_nested_map
+  select map(key, value) from varchar_nested_1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_nested_1
+PREHOOK: Output: default@varchar_nested_map
+POSTHOOK: query: insert overwrite table varchar_nested_map
+  select map(key, value) from varchar_nested_1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_nested_1
+POSTHOOK: Output: default@varchar_nested_map
+POSTHOOK: Lineage: varchar_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_array.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_map.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+PREHOOK: query: describe varchar_nested_map
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: describe varchar_nested_map
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Lineage: varchar_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_array.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_map.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+c1                  	map<int,varchar(20)>	None                
+PREHOOK: query: select * from varchar_nested_map
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_nested_map
+#### A masked pattern was here ####
+POSTHOOK: query: select * from varchar_nested_map
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_nested_map
+#### A masked pattern was here ####
+POSTHOOK: Lineage: varchar_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_array.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_map.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+{238:"val_238"}
+{86:"val_86"}
+{311:"val_311"}
+{27:"val_27"}
+{165:"val_165"}
+PREHOOK: query: -- structs
+create table varchar_nested_struct (c1 struct<a:int, b:varchar(20), c:string>)
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: -- structs
+create table varchar_nested_struct (c1 struct<a:int, b:varchar(20), c:string>)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@varchar_nested_struct
+POSTHOOK: Lineage: varchar_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_array.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_map.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+PREHOOK: query: insert overwrite table varchar_nested_struct
+  select named_struct('a', key,
+                      'b', value,
+                      'c', cast(value as string))
+  from varchar_nested_1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_nested_1
+PREHOOK: Output: default@varchar_nested_struct
+POSTHOOK: query: insert overwrite table varchar_nested_struct
+  select named_struct('a', key,
+                      'b', value,
+                      'c', cast(value as string))
+  from varchar_nested_1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_nested_1
+POSTHOOK: Output: default@varchar_nested_struct
+POSTHOOK: Lineage: varchar_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_array.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_map.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_struct.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+PREHOOK: query: describe varchar_nested_struct
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: describe varchar_nested_struct
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Lineage: varchar_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_array.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_map.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_struct.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+c1                  	struct<a:int,b:varchar(20),c:string>	None                
+PREHOOK: query: select * from varchar_nested_struct
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_nested_struct
+#### A masked pattern was here ####
+POSTHOOK: query: select * from varchar_nested_struct
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_nested_struct
+#### A masked pattern was here ####
+POSTHOOK: Lineage: varchar_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_array.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_map.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_struct.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+{"a":238,"b":"val_238","c":"val_238"}
+{"a":86,"b":"val_86","c":"val_86"}
+{"a":311,"b":"val_311","c":"val_311"}
+{"a":27,"b":"val_27","c":"val_27"}
+{"a":165,"b":"val_165","c":"val_165"}
+PREHOOK: query: -- nested type with create table as
+create table varchar_nested_cta as 
+  select * from varchar_nested_struct
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@varchar_nested_struct
+POSTHOOK: query: -- nested type with create table as
+create table varchar_nested_cta as 
+  select * from varchar_nested_struct
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@varchar_nested_struct
+POSTHOOK: Output: default@varchar_nested_cta
+POSTHOOK: Lineage: varchar_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_array.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_map.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_struct.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+PREHOOK: query: describe varchar_nested_cta
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: describe varchar_nested_cta
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Lineage: varchar_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_array.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_map.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_struct.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+c1                  	struct<a:int,b:varchar(20),c:string>	None                
+PREHOOK: query: select * from varchar_nested_cta
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_nested_cta
+#### A masked pattern was here ####
+POSTHOOK: query: select * from varchar_nested_cta
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_nested_cta
+#### A masked pattern was here ####
+POSTHOOK: Lineage: varchar_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_array.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_map.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_struct.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+{"a":238,"b":"val_238","c":"val_238"}
+{"a":86,"b":"val_86","c":"val_86"}
+{"a":311,"b":"val_311","c":"val_311"}
+{"a":27,"b":"val_27","c":"val_27"}
+{"a":165,"b":"val_165","c":"val_165"}
+PREHOOK: query: -- nested type with view
+create table varchar_nested_view as 
+  select * from varchar_nested_struct
+PREHOOK: type: CREATETABLE_AS_SELECT
+PREHOOK: Input: default@varchar_nested_struct
+POSTHOOK: query: -- nested type with view
+create table varchar_nested_view as 
+  select * from varchar_nested_struct
+POSTHOOK: type: CREATETABLE_AS_SELECT
+POSTHOOK: Input: default@varchar_nested_struct
+POSTHOOK: Output: default@varchar_nested_view
+POSTHOOK: Lineage: varchar_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_array.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_map.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_struct.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+PREHOOK: query: describe varchar_nested_view
+PREHOOK: type: DESCTABLE
+POSTHOOK: query: describe varchar_nested_view
+POSTHOOK: type: DESCTABLE
+POSTHOOK: Lineage: varchar_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_array.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_map.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_struct.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+c1                  	struct<a:int,b:varchar(20),c:string>	None                
+PREHOOK: query: select * from varchar_nested_view
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_nested_view
+#### A masked pattern was here ####
+POSTHOOK: query: select * from varchar_nested_view
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_nested_view
+#### A masked pattern was here ####
+POSTHOOK: Lineage: varchar_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_array.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_map.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_struct.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+{"a":238,"b":"val_238","c":"val_238"}
+{"a":86,"b":"val_86","c":"val_86"}
+{"a":311,"b":"val_311","c":"val_311"}
+{"a":27,"b":"val_27","c":"val_27"}
+{"a":165,"b":"val_165","c":"val_165"}
+PREHOOK: query: drop table varchar_nested_1
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@varchar_nested_1
+PREHOOK: Output: default@varchar_nested_1
+POSTHOOK: query: drop table varchar_nested_1
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@varchar_nested_1
+POSTHOOK: Output: default@varchar_nested_1
+POSTHOOK: Lineage: varchar_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_array.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_map.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_struct.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+PREHOOK: query: drop table varchar_nested_array
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@varchar_nested_array
+PREHOOK: Output: default@varchar_nested_array
+POSTHOOK: query: drop table varchar_nested_array
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@varchar_nested_array
+POSTHOOK: Output: default@varchar_nested_array
+POSTHOOK: Lineage: varchar_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_array.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_map.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_struct.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+PREHOOK: query: drop table varchar_nested_map
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@varchar_nested_map
+PREHOOK: Output: default@varchar_nested_map
+POSTHOOK: query: drop table varchar_nested_map
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@varchar_nested_map
+POSTHOOK: Output: default@varchar_nested_map
+POSTHOOK: Lineage: varchar_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_array.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_map.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_struct.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+PREHOOK: query: drop table varchar_nested_struct
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@varchar_nested_struct
+PREHOOK: Output: default@varchar_nested_struct
+POSTHOOK: query: drop table varchar_nested_struct
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@varchar_nested_struct
+POSTHOOK: Output: default@varchar_nested_struct
+POSTHOOK: Lineage: varchar_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_array.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_map.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_struct.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+PREHOOK: query: drop table varchar_nested_cta
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@varchar_nested_cta
+PREHOOK: Output: default@varchar_nested_cta
+POSTHOOK: query: drop table varchar_nested_cta
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@varchar_nested_cta
+POSTHOOK: Output: default@varchar_nested_cta
+POSTHOOK: Lineage: varchar_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_array.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_map.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_struct.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+PREHOOK: query: drop table varchar_nested_view
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@varchar_nested_view
+PREHOOK: Output: default@varchar_nested_view
+POSTHOOK: query: drop table varchar_nested_view
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@varchar_nested_view
+POSTHOOK: Output: default@varchar_nested_view
+POSTHOOK: Lineage: varchar_nested_1.key EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_1.value EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_nested_array.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_map.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]
+POSTHOOK: Lineage: varchar_nested_struct.c1 EXPRESSION [(varchar_nested_1)varchar_nested_1.FieldSchema(name:key, type:int, comment:null), (varchar_nested_1)varchar_nested_1.FieldSchema(name:value, type:varchar(20), comment:null), ]

Added: hive/trunk/ql/src/test/results/clientpositive/varchar_udf1.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/varchar_udf1.q.out?rev=1523463&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/varchar_udf1.q.out (added)
+++ hive/trunk/ql/src/test/results/clientpositive/varchar_udf1.q.out Sun Sep 15 17:23:53 2013
@@ -0,0 +1,554 @@
+PREHOOK: query: drop table varchar_udf_1
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table varchar_udf_1
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table varchar_udf_1 (c1 string, c2 string, c3 varchar(10), c4 varchar(20))
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: create table varchar_udf_1 (c1 string, c2 string, c3 varchar(10), c4 varchar(20))
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@varchar_udf_1
+PREHOOK: query: insert overwrite table varchar_udf_1
+  select key, value, key, value from src limit 5
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: default@varchar_udf_1
+POSTHOOK: query: insert overwrite table varchar_udf_1
+  select key, value, key, value from src limit 5
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: default@varchar_udf_1
+POSTHOOK: Lineage: varchar_udf_1.c1 SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c3 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c4 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+PREHOOK: query: -- UDFs with varchar support
+select 
+  concat(c1, c2),
+  concat(c3, c4),
+  concat(c1, c2) = concat(c3, c4)
+from varchar_udf_1 limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: query: -- UDFs with varchar support
+select 
+  concat(c1, c2),
+  concat(c3, c4),
+  concat(c1, c2) = concat(c3, c4)
+from varchar_udf_1 limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: varchar_udf_1.c1 SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c3 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c4 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+238val_238	238val_238	true
+PREHOOK: query: select
+  upper(c2),
+  upper(c4),
+  upper(c2) = upper(c4)
+from varchar_udf_1 limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  upper(c2),
+  upper(c4),
+  upper(c2) = upper(c4)
+from varchar_udf_1 limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: varchar_udf_1.c1 SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c3 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c4 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+VAL_238	VAL_238	true
+PREHOOK: query: select
+  lower(c2),
+  lower(c4),
+  lower(c2) = lower(c4)
+from varchar_udf_1 limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  lower(c2),
+  lower(c4),
+  lower(c2) = lower(c4)
+from varchar_udf_1 limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: varchar_udf_1.c1 SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c3 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c4 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+val_238	val_238	true
+PREHOOK: query: -- Scalar UDFs
+select
+  ascii(c2),
+  ascii(c4),
+  ascii(c2) = ascii(c4)
+from varchar_udf_1 limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: query: -- Scalar UDFs
+select
+  ascii(c2),
+  ascii(c4),
+  ascii(c2) = ascii(c4)
+from varchar_udf_1 limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: varchar_udf_1.c1 SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c3 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c4 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+118	118	true
+PREHOOK: query: select 
+  concat_ws('|', c1, c2),
+  concat_ws('|', c3, c4),
+  concat_ws('|', c1, c2) = concat_ws('|', c3, c4)
+from varchar_udf_1 limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: query: select 
+  concat_ws('|', c1, c2),
+  concat_ws('|', c3, c4),
+  concat_ws('|', c1, c2) = concat_ws('|', c3, c4)
+from varchar_udf_1 limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: varchar_udf_1.c1 SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c3 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c4 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+238|val_238	238|val_238	true
+PREHOOK: query: select
+  decode(encode(c2, 'US-ASCII'), 'US-ASCII'),
+  decode(encode(c4, 'US-ASCII'), 'US-ASCII'),
+  decode(encode(c2, 'US-ASCII'), 'US-ASCII') = decode(encode(c4, 'US-ASCII'), 'US-ASCII')
+from varchar_udf_1 limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  decode(encode(c2, 'US-ASCII'), 'US-ASCII'),
+  decode(encode(c4, 'US-ASCII'), 'US-ASCII'),
+  decode(encode(c2, 'US-ASCII'), 'US-ASCII') = decode(encode(c4, 'US-ASCII'), 'US-ASCII')
+from varchar_udf_1 limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: varchar_udf_1.c1 SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c3 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c4 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+val_238	val_238	true
+PREHOOK: query: select
+  instr(c2, '_'),
+  instr(c4, '_'),
+  instr(c2, '_') = instr(c4, '_')
+from varchar_udf_1 limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  instr(c2, '_'),
+  instr(c4, '_'),
+  instr(c2, '_') = instr(c4, '_')
+from varchar_udf_1 limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: varchar_udf_1.c1 SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c3 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c4 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+4	4	true
+PREHOOK: query: select
+  length(c2),
+  length(c4),
+  length(c2) = length(c4)
+from varchar_udf_1 limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  length(c2),
+  length(c4),
+  length(c2) = length(c4)
+from varchar_udf_1 limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: varchar_udf_1.c1 SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c3 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c4 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+7	7	true
+PREHOOK: query: select
+  locate('a', 'abcdabcd', 3),
+  locate(cast('a' as varchar(1)), cast('abcdabcd' as varchar(10)), 3),
+  locate('a', 'abcdabcd', 3) = locate(cast('a' as varchar(1)), cast('abcdabcd' as varchar(10)), 3)
+from varchar_udf_1 limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  locate('a', 'abcdabcd', 3),
+  locate(cast('a' as varchar(1)), cast('abcdabcd' as varchar(10)), 3),
+  locate('a', 'abcdabcd', 3) = locate(cast('a' as varchar(1)), cast('abcdabcd' as varchar(10)), 3)
+from varchar_udf_1 limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: varchar_udf_1.c1 SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c3 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c4 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+5	5	true
+PREHOOK: query: select
+  lpad(c2, 15, ' '),
+  lpad(c4, 15, ' '),
+  lpad(c2, 15, ' ') = lpad(c4, 15, ' ')
+from varchar_udf_1 limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  lpad(c2, 15, ' '),
+  lpad(c4, 15, ' '),
+  lpad(c2, 15, ' ') = lpad(c4, 15, ' ')
+from varchar_udf_1 limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: varchar_udf_1.c1 SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c3 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c4 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+        val_238	        val_238	true
+PREHOOK: query: select
+  ltrim(c2),
+  ltrim(c4),
+  ltrim(c2) = ltrim(c4)
+from varchar_udf_1 limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  ltrim(c2),
+  ltrim(c4),
+  ltrim(c2) = ltrim(c4)
+from varchar_udf_1 limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: varchar_udf_1.c1 SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c3 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c4 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+val_238	val_238	true
+PREHOOK: query: select
+  regexp(c2, 'val'),
+  regexp(c4, 'val'),
+  regexp(c2, 'val') = regexp(c4, 'val')
+from varchar_udf_1 limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  regexp(c2, 'val'),
+  regexp(c4, 'val'),
+  regexp(c2, 'val') = regexp(c4, 'val')
+from varchar_udf_1 limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: varchar_udf_1.c1 SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c3 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c4 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+true	true	true
+PREHOOK: query: select
+  regexp_extract(c2, 'val_([0-9]+)', 1),
+  regexp_extract(c4, 'val_([0-9]+)', 1),
+  regexp_extract(c2, 'val_([0-9]+)', 1) = regexp_extract(c4, 'val_([0-9]+)', 1)
+from varchar_udf_1 limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  regexp_extract(c2, 'val_([0-9]+)', 1),
+  regexp_extract(c4, 'val_([0-9]+)', 1),
+  regexp_extract(c2, 'val_([0-9]+)', 1) = regexp_extract(c4, 'val_([0-9]+)', 1)
+from varchar_udf_1 limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: varchar_udf_1.c1 SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c3 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c4 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+238	238	true
+PREHOOK: query: select
+  regexp_replace(c2, 'val', 'replaced'),
+  regexp_replace(c4, 'val', 'replaced'),
+  regexp_replace(c2, 'val', 'replaced') = regexp_replace(c4, 'val', 'replaced')
+from varchar_udf_1 limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  regexp_replace(c2, 'val', 'replaced'),
+  regexp_replace(c4, 'val', 'replaced'),
+  regexp_replace(c2, 'val', 'replaced') = regexp_replace(c4, 'val', 'replaced')
+from varchar_udf_1 limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: varchar_udf_1.c1 SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c3 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c4 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+replaced_238	replaced_238	true
+PREHOOK: query: select
+  reverse(c2),
+  reverse(c4),
+  reverse(c2) = reverse(c4)
+from varchar_udf_1 limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  reverse(c2),
+  reverse(c4),
+  reverse(c2) = reverse(c4)
+from varchar_udf_1 limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: varchar_udf_1.c1 SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c3 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c4 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+832_lav	832_lav	true
+PREHOOK: query: select
+  rpad(c2, 15, ' '),
+  rpad(c4, 15, ' '),
+  rpad(c2, 15, ' ') = rpad(c4, 15, ' ')
+from varchar_udf_1 limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  rpad(c2, 15, ' '),
+  rpad(c4, 15, ' '),
+  rpad(c2, 15, ' ') = rpad(c4, 15, ' ')
+from varchar_udf_1 limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: varchar_udf_1.c1 SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c3 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c4 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+val_238        	val_238        	true
+PREHOOK: query: select
+  rtrim(c2),
+  rtrim(c4),
+  rtrim(c2) = rtrim(c4)
+from varchar_udf_1 limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  rtrim(c2),
+  rtrim(c4),
+  rtrim(c2) = rtrim(c4)
+from varchar_udf_1 limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: varchar_udf_1.c1 SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c3 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c4 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+val_238	val_238	true
+PREHOOK: query: select
+  sentences('See spot run.  See jane run.'),
+  sentences(cast('See spot run.  See jane run.' as varchar(50)))
+from varchar_udf_1 limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  sentences('See spot run.  See jane run.'),
+  sentences(cast('See spot run.  See jane run.' as varchar(50)))
+from varchar_udf_1 limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: varchar_udf_1.c1 SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c3 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c4 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+[["See","spot","run"],["See","jane","run"]]	[["See","spot","run"],["See","jane","run"]]
+PREHOOK: query: select
+  split(c2, '_'),
+  split(c4, '_')
+from varchar_udf_1 limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  split(c2, '_'),
+  split(c4, '_')
+from varchar_udf_1 limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: varchar_udf_1.c1 SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c3 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c4 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+["val","238"]	["val","238"]
+PREHOOK: query: select 
+  str_to_map('a:1,b:2,c:3',',',':'),
+  str_to_map(cast('a:1,b:2,c:3' as varchar(20)),',',':')
+from varchar_udf_1 limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: query: select 
+  str_to_map('a:1,b:2,c:3',',',':'),
+  str_to_map(cast('a:1,b:2,c:3' as varchar(20)),',',':')
+from varchar_udf_1 limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: varchar_udf_1.c1 SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c3 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c4 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+{"b":"2","a":"1","c":"3"}	{"b":"2","a":"1","c":"3"}
+PREHOOK: query: select
+  substr(c2, 1, 3),
+  substr(c4, 1, 3),
+  substr(c2, 1, 3) = substr(c4, 1, 3)
+from varchar_udf_1 limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  substr(c2, 1, 3),
+  substr(c4, 1, 3),
+  substr(c2, 1, 3) = substr(c4, 1, 3)
+from varchar_udf_1 limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: varchar_udf_1.c1 SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c3 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c4 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+val	val	true
+PREHOOK: query: select
+  trim(c2),
+  trim(c4),
+  trim(c2) = trim(c4)
+from varchar_udf_1 limit 1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  trim(c2),
+  trim(c4),
+  trim(c2) = trim(c4)
+from varchar_udf_1 limit 1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: varchar_udf_1.c1 SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c3 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c4 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+val_238	val_238	true
+PREHOOK: query: -- Aggregate Functions
+select
+  compute_stats(c2, 16),
+  compute_stats(c4, 16)
+from varchar_udf_1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: query: -- Aggregate Functions
+select
+  compute_stats(c2, 16),
+  compute_stats(c4, 16)
+from varchar_udf_1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: varchar_udf_1.c1 SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c3 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c4 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+{"columntype":"String","maxlength":7,"avglength":6.6,"countnulls":0,"numdistinctvalues":7}	{"columntype":"String","maxlength":7,"avglength":6.6,"countnulls":0,"numdistinctvalues":7}
+PREHOOK: query: select
+  min(c2),
+  min(c4)
+from varchar_udf_1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  min(c2),
+  min(c4)
+from varchar_udf_1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: varchar_udf_1.c1 SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c3 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c4 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+val_165	val_165
+PREHOOK: query: select
+  max(c2),
+  max(c4)
+from varchar_udf_1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: query: select
+  max(c2),
+  max(c4)
+from varchar_udf_1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_udf_1
+#### A masked pattern was here ####
+POSTHOOK: Lineage: varchar_udf_1.c1 SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c3 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c4 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+val_86	val_86
+PREHOOK: query: drop table varchar_udf_1
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@varchar_udf_1
+PREHOOK: Output: default@varchar_udf_1
+POSTHOOK: query: drop table varchar_udf_1
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@varchar_udf_1
+POSTHOOK: Output: default@varchar_udf_1
+POSTHOOK: Lineage: varchar_udf_1.c1 SIMPLE [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c2 SIMPLE [(src)src.FieldSchema(name:value, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c3 EXPRESSION [(src)src.FieldSchema(name:key, type:string, comment:default), ]
+POSTHOOK: Lineage: varchar_udf_1.c4 EXPRESSION [(src)src.FieldSchema(name:value, type:string, comment:default), ]

Added: hive/trunk/ql/src/test/results/clientpositive/varchar_union1.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/varchar_union1.q.out?rev=1523463&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/varchar_union1.q.out (added)
+++ hive/trunk/ql/src/test/results/clientpositive/varchar_union1.q.out Sun Sep 15 17:23:53 2013
@@ -0,0 +1,157 @@
+PREHOOK: query: drop table varchar_union1_vc1
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table varchar_union1_vc1
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table varchar_union1_vc2
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table varchar_union1_vc2
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: drop table varchar_union1_str
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: drop table varchar_union1_str
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: create table  varchar_union1_vc1 (
+  c1 int,
+  c2 varchar(10)
+)
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: create table  varchar_union1_vc1 (
+  c1 int,
+  c2 varchar(10)
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@varchar_union1_vc1
+PREHOOK: query: create table  varchar_union1_vc2 (
+  c1 int,
+  c2 varchar(20)
+)
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: create table  varchar_union1_vc2 (
+  c1 int,
+  c2 varchar(20)
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@varchar_union1_vc2
+PREHOOK: query: create table  varchar_union1_str (
+  c1 int,
+  c2 string
+)
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: create table  varchar_union1_str (
+  c1 int,
+  c2 string
+)
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@varchar_union1_str
+PREHOOK: query: load data local inpath '../data/files/vc1.txt' into table varchar_union1_vc1
+PREHOOK: type: LOAD
+PREHOOK: Output: default@varchar_union1_vc1
+POSTHOOK: query: load data local inpath '../data/files/vc1.txt' into table varchar_union1_vc1
+POSTHOOK: type: LOAD
+POSTHOOK: Output: default@varchar_union1_vc1
+PREHOOK: query: load data local inpath '../data/files/vc1.txt' into table varchar_union1_vc2
+PREHOOK: type: LOAD
+PREHOOK: Output: default@varchar_union1_vc2
+POSTHOOK: query: load data local inpath '../data/files/vc1.txt' into table varchar_union1_vc2
+POSTHOOK: type: LOAD
+POSTHOOK: Output: default@varchar_union1_vc2
+PREHOOK: query: load data local inpath '../data/files/vc1.txt' into table varchar_union1_str
+PREHOOK: type: LOAD
+PREHOOK: Output: default@varchar_union1_str
+POSTHOOK: query: load data local inpath '../data/files/vc1.txt' into table varchar_union1_str
+POSTHOOK: type: LOAD
+POSTHOOK: Output: default@varchar_union1_str
+PREHOOK: query: -- union varchar with same length varchar
+select * from (
+  select * from varchar_union1_vc1
+  union all
+  select * from varchar_union1_vc1 limit 1
+) q1 sort by c1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_union1_vc1
+#### A masked pattern was here ####
+POSTHOOK: query: -- union varchar with same length varchar
+select * from (
+  select * from varchar_union1_vc1
+  union all
+  select * from varchar_union1_vc1 limit 1
+) q1 sort by c1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_union1_vc1
+#### A masked pattern was here ####
+1	abc
+1	abc
+2	abc 
+3	 abc
+PREHOOK: query: -- union varchar with different length varchar
+select * from (
+  select * from varchar_union1_vc1
+  union all
+  select * from varchar_union1_vc2 limit 1
+) q1 sort by c1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_union1_vc1
+PREHOOK: Input: default@varchar_union1_vc2
+#### A masked pattern was here ####
+POSTHOOK: query: -- union varchar with different length varchar
+select * from (
+  select * from varchar_union1_vc1
+  union all
+  select * from varchar_union1_vc2 limit 1
+) q1 sort by c1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_union1_vc1
+POSTHOOK: Input: default@varchar_union1_vc2
+#### A masked pattern was here ####
+1	abc
+1	abc
+2	abc 
+3	 abc
+PREHOOK: query: -- union varchar with string
+select * from (
+  select * from varchar_union1_vc1
+  union all
+  select * from varchar_union1_str limit 1
+) q1 sort by c1
+PREHOOK: type: QUERY
+PREHOOK: Input: default@varchar_union1_str
+PREHOOK: Input: default@varchar_union1_vc1
+#### A masked pattern was here ####
+POSTHOOK: query: -- union varchar with string
+select * from (
+  select * from varchar_union1_vc1
+  union all
+  select * from varchar_union1_str limit 1
+) q1 sort by c1
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@varchar_union1_str
+POSTHOOK: Input: default@varchar_union1_vc1
+#### A masked pattern was here ####
+1	abc
+1	abc
+2	abc 
+3	 abc
+PREHOOK: query: drop table varchar_union1_vc1
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@varchar_union1_vc1
+PREHOOK: Output: default@varchar_union1_vc1
+POSTHOOK: query: drop table varchar_union1_vc1
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@varchar_union1_vc1
+POSTHOOK: Output: default@varchar_union1_vc1
+PREHOOK: query: drop table varchar_union1_vc2
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@varchar_union1_vc2
+PREHOOK: Output: default@varchar_union1_vc2
+POSTHOOK: query: drop table varchar_union1_vc2
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@varchar_union1_vc2
+POSTHOOK: Output: default@varchar_union1_vc2
+PREHOOK: query: drop table varchar_union1_str
+PREHOOK: type: DROPTABLE
+PREHOOK: Input: default@varchar_union1_str
+PREHOOK: Output: default@varchar_union1_str
+POSTHOOK: query: drop table varchar_union1_str
+POSTHOOK: type: DROPTABLE
+POSTHOOK: Input: default@varchar_union1_str
+POSTHOOK: Output: default@varchar_union1_str

Modified: hive/trunk/serde/if/serde.thrift
URL: http://svn.apache.org/viewvc/hive/trunk/serde/if/serde.thrift?rev=1523463&r1=1523462&r2=1523463&view=diff
==============================================================================
--- hive/trunk/serde/if/serde.thrift (original)
+++ hive/trunk/serde/if/serde.thrift Sun Sep 15 17:23:53 2013
@@ -50,6 +50,8 @@ const string BIGINT_TYPE_NAME    = "bigi
 const string FLOAT_TYPE_NAME     = "float";
 const string DOUBLE_TYPE_NAME    = "double";
 const string STRING_TYPE_NAME    = "string";
+const string CHAR_TYPE_NAME      = "char";
+const string VARCHAR_TYPE_NAME   = "varchar";
 const string DATE_TYPE_NAME      = "date";
 const string DATETIME_TYPE_NAME  = "datetime";
 const string TIMESTAMP_TYPE_NAME = "timestamp";
@@ -64,7 +66,7 @@ const string UNION_TYPE_NAME  = "unionty
 const string LIST_COLUMNS = "columns";
 const string LIST_COLUMN_TYPES = "columns.types";
 
-const set<string> PrimitiveTypes  = [ VOID_TYPE_NAME BOOLEAN_TYPE_NAME TINYINT_TYPE_NAME SMALLINT_TYPE_NAME INT_TYPE_NAME BIGINT_TYPE_NAME FLOAT_TYPE_NAME DOUBLE_TYPE_NAME STRING_TYPE_NAME  DATE_TYPE_NAME DATETIME_TYPE_NAME TIMESTAMP_TYPE_NAME DECIMAL_TYPE_NAME BINARY_TYPE_NAME],
+const set<string> PrimitiveTypes  = [ VOID_TYPE_NAME BOOLEAN_TYPE_NAME TINYINT_TYPE_NAME SMALLINT_TYPE_NAME INT_TYPE_NAME BIGINT_TYPE_NAME FLOAT_TYPE_NAME DOUBLE_TYPE_NAME STRING_TYPE_NAME  VARCHAR_TYPE_NAME CHAR_TYPE_NAME DATE_TYPE_NAME DATETIME_TYPE_NAME TIMESTAMP_TYPE_NAME DECIMAL_TYPE_NAME BINARY_TYPE_NAME],
 const set<string> CollectionTypes = [ LIST_TYPE_NAME MAP_TYPE_NAME ],
 
 

Modified: hive/trunk/serde/src/gen/thrift/gen-cpp/serde_constants.cpp
URL: http://svn.apache.org/viewvc/hive/trunk/serde/src/gen/thrift/gen-cpp/serde_constants.cpp?rev=1523463&r1=1523462&r2=1523463&view=diff
==============================================================================
--- hive/trunk/serde/src/gen/thrift/gen-cpp/serde_constants.cpp (original)
+++ hive/trunk/serde/src/gen/thrift/gen-cpp/serde_constants.cpp Sun Sep 15 17:23:53 2013
@@ -57,6 +57,10 @@ serdeConstants::serdeConstants() {
 
   STRING_TYPE_NAME = "string";
 
+  CHAR_TYPE_NAME = "char";
+
+  VARCHAR_TYPE_NAME = "varchar";
+
   DATE_TYPE_NAME = "date";
 
   DATETIME_TYPE_NAME = "datetime";
@@ -88,6 +92,8 @@ serdeConstants::serdeConstants() {
   PrimitiveTypes.insert("float");
   PrimitiveTypes.insert("double");
   PrimitiveTypes.insert("string");
+  PrimitiveTypes.insert("varchar");
+  PrimitiveTypes.insert("char");
   PrimitiveTypes.insert("date");
   PrimitiveTypes.insert("datetime");
   PrimitiveTypes.insert("timestamp");

Modified: hive/trunk/serde/src/gen/thrift/gen-cpp/serde_constants.h
URL: http://svn.apache.org/viewvc/hive/trunk/serde/src/gen/thrift/gen-cpp/serde_constants.h?rev=1523463&r1=1523462&r2=1523463&view=diff
==============================================================================
--- hive/trunk/serde/src/gen/thrift/gen-cpp/serde_constants.h (original)
+++ hive/trunk/serde/src/gen/thrift/gen-cpp/serde_constants.h Sun Sep 15 17:23:53 2013
@@ -38,6 +38,8 @@ class serdeConstants {
   std::string FLOAT_TYPE_NAME;
   std::string DOUBLE_TYPE_NAME;
   std::string STRING_TYPE_NAME;
+  std::string CHAR_TYPE_NAME;
+  std::string VARCHAR_TYPE_NAME;
   std::string DATE_TYPE_NAME;
   std::string DATETIME_TYPE_NAME;
   std::string TIMESTAMP_TYPE_NAME;

Modified: hive/trunk/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde/serdeConstants.java
URL: http://svn.apache.org/viewvc/hive/trunk/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde/serdeConstants.java?rev=1523463&r1=1523462&r2=1523463&view=diff
==============================================================================
--- hive/trunk/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde/serdeConstants.java (original)
+++ hive/trunk/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde/serdeConstants.java Sun Sep 15 17:23:53 2013
@@ -79,6 +79,10 @@ public class serdeConstants {
 
   public static final String STRING_TYPE_NAME = "string";
 
+  public static final String CHAR_TYPE_NAME = "char";
+
+  public static final String VARCHAR_TYPE_NAME = "varchar";
+
   public static final String DATE_TYPE_NAME = "date";
 
   public static final String DATETIME_TYPE_NAME = "datetime";
@@ -112,6 +116,8 @@ public class serdeConstants {
     PrimitiveTypes.add("float");
     PrimitiveTypes.add("double");
     PrimitiveTypes.add("string");
+    PrimitiveTypes.add("varchar");
+    PrimitiveTypes.add("char");
     PrimitiveTypes.add("date");
     PrimitiveTypes.add("datetime");
     PrimitiveTypes.add("timestamp");

Modified: hive/trunk/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde/test/ThriftTestObj.java
URL: http://svn.apache.org/viewvc/hive/trunk/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde/test/ThriftTestObj.java?rev=1523463&r1=1523462&r2=1523463&view=diff
==============================================================================
--- hive/trunk/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde/test/ThriftTestObj.java (original)
+++ hive/trunk/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde/test/ThriftTestObj.java Sun Sep 15 17:23:53 2013
@@ -528,7 +528,7 @@ public class ThriftTestObj implements or
                 struct.field3 = new ArrayList<InnerStruct>(_list0.size);
                 for (int _i1 = 0; _i1 < _list0.size; ++_i1)
                 {
-                  InnerStruct _elem2; // required
+                  InnerStruct _elem2; // optional
                   _elem2 = new InnerStruct();
                   _elem2.read(iprot);
                   struct.field3.add(_elem2);
@@ -636,7 +636,7 @@ public class ThriftTestObj implements or
           struct.field3 = new ArrayList<InnerStruct>(_list5.size);
           for (int _i6 = 0; _i6 < _list5.size; ++_i6)
           {
-            InnerStruct _elem7; // required
+            InnerStruct _elem7; // optional
             _elem7 = new InnerStruct();
             _elem7.read(iprot);
             struct.field3.add(_elem7);

Modified: hive/trunk/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde2/thrift/test/Complex.java
URL: http://svn.apache.org/viewvc/hive/trunk/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde2/thrift/test/Complex.java?rev=1523463&r1=1523462&r2=1523463&view=diff
==============================================================================
--- hive/trunk/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde2/thrift/test/Complex.java (original)
+++ hive/trunk/serde/src/gen/thrift/gen-javabean/org/apache/hadoop/hive/serde2/thrift/test/Complex.java Sun Sep 15 17:23:53 2013
@@ -836,7 +836,7 @@ public class Complex implements org.apac
                 struct.lint = new ArrayList<Integer>(_list0.size);
                 for (int _i1 = 0; _i1 < _list0.size; ++_i1)
                 {
-                  int _elem2; // required
+                  int _elem2; // optional
                   _elem2 = iprot.readI32();
                   struct.lint.add(_elem2);
                 }
@@ -854,7 +854,7 @@ public class Complex implements org.apac
                 struct.lString = new ArrayList<String>(_list3.size);
                 for (int _i4 = 0; _i4 < _list3.size; ++_i4)
                 {
-                  String _elem5; // required
+                  String _elem5; // optional
                   _elem5 = iprot.readString();
                   struct.lString.add(_elem5);
                 }
@@ -872,7 +872,7 @@ public class Complex implements org.apac
                 struct.lintString = new ArrayList<IntString>(_list6.size);
                 for (int _i7 = 0; _i7 < _list6.size; ++_i7)
                 {
-                  IntString _elem8; // required
+                  IntString _elem8; // optional
                   _elem8 = new IntString();
                   _elem8.read(iprot);
                   struct.lintString.add(_elem8);
@@ -1074,7 +1074,7 @@ public class Complex implements org.apac
           struct.lint = new ArrayList<Integer>(_list21.size);
           for (int _i22 = 0; _i22 < _list21.size; ++_i22)
           {
-            int _elem23; // required
+            int _elem23; // optional
             _elem23 = iprot.readI32();
             struct.lint.add(_elem23);
           }
@@ -1087,7 +1087,7 @@ public class Complex implements org.apac
           struct.lString = new ArrayList<String>(_list24.size);
           for (int _i25 = 0; _i25 < _list24.size; ++_i25)
           {
-            String _elem26; // required
+            String _elem26; // optional
             _elem26 = iprot.readString();
             struct.lString.add(_elem26);
           }
@@ -1100,7 +1100,7 @@ public class Complex implements org.apac
           struct.lintString = new ArrayList<IntString>(_list27.size);
           for (int _i28 = 0; _i28 < _list27.size; ++_i28)
           {
-            IntString _elem29; // required
+            IntString _elem29; // optional
             _elem29 = new IntString();
             _elem29.read(iprot);
             struct.lintString.add(_elem29);