http://git-wip-us.apache.org/repos/asf/hive/blob/76fe9e78/ql/src/test/results/clientpositive/spark/union32.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/spark/union32.q.out b/ql/src/test/results/clientpositive/spark/union32.q.out index 16cb243..755e936 100644 --- a/ql/src/test/results/clientpositive/spark/union32.q.out +++ b/ql/src/test/results/clientpositive/spark/union32.q.out @@ -429,14 +429,14 @@ POSTHOOK: Input: default@t2 PREHOOK: query: -- Test union with join on the left selecting multiple columns EXPLAIN SELECT * FROM -(SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS DOUBLE) AS value FROM t1 a JOIN t2 b ON a.key = b.key +(SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS CHAR(20)) AS value FROM t1 a JOIN t2 b ON a.key = b.key UNION ALL SELECT CAST(key AS DOUBLE) AS key, CAST(key AS STRING) AS value FROM t2) a PREHOOK: type: QUERY POSTHOOK: query: -- Test union with join on the left selecting multiple columns EXPLAIN SELECT * FROM -(SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS DOUBLE) AS value FROM t1 a JOIN t2 b ON a.key = b.key +(SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS CHAR(20)) AS value FROM t1 a JOIN t2 b ON a.key = b.key UNION ALL SELECT CAST(key AS DOUBLE) AS key, CAST(key AS STRING) AS value FROM t2) a POSTHOOK: type: QUERY @@ -509,7 +509,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1 Statistics: Num rows: 11 Data size: 77 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: UDFToDouble(UDFToLong(_col0)) (type: double), UDFToString(UDFToDouble(_col1)) (type: string) + expressions: UDFToDouble(UDFToLong(_col0)) (type: double), UDFToString(CAST( _col1 AS CHAR(20)) (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 11 Data size: 77 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -527,7 +527,7 @@ STAGE PLANS: ListSink PREHOOK: query: SELECT * FROM -(SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS DOUBLE) AS value FROM t1 a JOIN t2 b ON a.key = b.key +(SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS VARCHAR(20)) AS value FROM t1 a JOIN t2 b ON a.key = b.key UNION ALL SELECT CAST(key AS DOUBLE) AS key, CAST(key AS STRING) AS value FROM t2) a PREHOOK: type: QUERY @@ -535,7 +535,7 @@ PREHOOK: Input: default@t1 PREHOOK: Input: default@t2 #### A masked pattern was here #### POSTHOOK: query: SELECT * FROM -(SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS DOUBLE) AS value FROM t1 a JOIN t2 b ON a.key = b.key +(SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS VARCHAR(20)) AS value FROM t1 a JOIN t2 b ON a.key = b.key UNION ALL SELECT CAST(key AS DOUBLE) AS key, CAST(key AS STRING) AS value FROM t2) a POSTHOOK: type: QUERY @@ -545,48 +545,48 @@ POSTHOOK: Input: default@t2 0.0 0 0.0 0 0.0 0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 +0.0 0 +0.0 0 +0.0 0 +0.0 0 +0.0 0 +0.0 0 +0.0 0 +0.0 0 +0.0 0 2.0 2 -2.0 2.0 +2.0 2 +4.0 4 4.0 4 -4.0 4.0 5.0 5 5.0 5 5.0 5 -5.0 5.0 -5.0 5.0 -5.0 5.0 -5.0 5.0 -5.0 5.0 -5.0 5.0 -5.0 5.0 -5.0 5.0 -5.0 5.0 +5.0 5 +5.0 5 +5.0 5 +5.0 5 +5.0 5 +5.0 5 +5.0 5 +5.0 5 +5.0 5 +8.0 8 8.0 8 -8.0 8.0 9.0 9 -9.0 9.0 +9.0 9 PREHOOK: query: -- Test union with join on the right selecting multiple columns EXPLAIN SELECT * FROM (SELECT CAST(key AS DOUBLE) AS key, CAST(key AS STRING) AS value FROM t2 UNION ALL -SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS DOUBLE) AS value FROM t1 a JOIN t2 b ON a.key = b.key) a +SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS CHAR(20)) AS value FROM t1 a JOIN t2 b ON a.key = b.key) a PREHOOK: type: QUERY POSTHOOK: query: -- Test union with join on the right selecting multiple columns EXPLAIN SELECT * FROM (SELECT CAST(key AS DOUBLE) AS key, CAST(key AS STRING) AS value FROM t2 UNION ALL -SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS DOUBLE) AS value FROM t1 a JOIN t2 b ON a.key = b.key) a +SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS CHAR(20)) AS value FROM t1 a JOIN t2 b ON a.key = b.key) a POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-1 is a root stage @@ -605,7 +605,7 @@ STAGE PLANS: alias: t2 Statistics: Num rows: 10 Data size: 70 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: UDFToDouble(key) (type: double), UDFToDouble(key) (type: double) + expressions: UDFToDouble(key) (type: double), key (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 10 Data size: 70 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -657,7 +657,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1 Statistics: Num rows: 11 Data size: 77 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: UDFToDouble(UDFToLong(_col0)) (type: double), UDFToDouble(_col1) (type: double) + expressions: UDFToDouble(UDFToLong(_col0)) (type: double), UDFToString(CAST( _col1 AS CHAR(20)) (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 11 Data size: 77 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -677,7 +677,7 @@ STAGE PLANS: PREHOOK: query: SELECT * FROM (SELECT CAST(key AS DOUBLE) AS key, CAST(key AS STRING) AS value FROM t2 UNION ALL -SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS DOUBLE) AS value FROM t1 a JOIN t2 b ON a.key = b.key) a +SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS VARCHAR(20)) AS value FROM t1 a JOIN t2 b ON a.key = b.key) a PREHOOK: type: QUERY PREHOOK: Input: default@t1 PREHOOK: Input: default@t2 @@ -685,40 +685,40 @@ PREHOOK: Input: default@t2 POSTHOOK: query: SELECT * FROM (SELECT CAST(key AS DOUBLE) AS key, CAST(key AS STRING) AS value FROM t2 UNION ALL -SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS DOUBLE) AS value FROM t1 a JOIN t2 b ON a.key = b.key) a +SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS VARCHAR(20)) AS value FROM t1 a JOIN t2 b ON a.key = b.key) a POSTHOOK: type: QUERY POSTHOOK: Input: default@t1 POSTHOOK: Input: default@t2 #### A masked pattern was here #### -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -2.0 2.0 -2.0 2.0 -4.0 4.0 -4.0 4.0 -5.0 5.0 -5.0 5.0 -5.0 5.0 -5.0 5.0 -5.0 5.0 -5.0 5.0 -5.0 5.0 -5.0 5.0 -5.0 5.0 -5.0 5.0 -5.0 5.0 -5.0 5.0 -8.0 8.0 -8.0 8.0 -9.0 9.0 -9.0 9.0 +0.0 0 +0.0 0 +0.0 0 +0.0 0 +0.0 0 +0.0 0 +0.0 0 +0.0 0 +0.0 0 +0.0 0 +0.0 0 +0.0 0 +2.0 2 +2.0 2 +4.0 4 +4.0 4 +5.0 5 +5.0 5 +5.0 5 +5.0 5 +5.0 5 +5.0 5 +5.0 5 +5.0 5 +5.0 5 +5.0 5 +5.0 5 +5.0 5 +8.0 8 +8.0 8 +9.0 9 +9.0 9
http://git-wip-us.apache.org/repos/asf/hive/blob/76fe9e78/ql/src/test/results/clientpositive/spark/union33.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/spark/union33.q.out b/ql/src/test/results/clientpositive/spark/union33.q.out index a61a8df..d0d2567 100644 --- a/ql/src/test/results/clientpositive/spark/union33.q.out +++ b/ql/src/test/results/clientpositive/spark/union33.q.out @@ -19,7 +19,7 @@ SELECT key, value FROM ( SELECT key, value FROM src WHERE key = 0 UNION ALL - SELECT key, COUNT(*) AS value FROM src + SELECT key, cast(COUNT(*) as string) AS value FROM src GROUP BY key )a PREHOOK: type: QUERY @@ -28,7 +28,7 @@ SELECT key, value FROM ( SELECT key, value FROM src WHERE key = 0 UNION ALL - SELECT key, COUNT(*) AS value FROM src + SELECT key, cast(COUNT(*) as string) AS value FROM src GROUP BY key )a POSTHOOK: type: QUERY @@ -139,7 +139,7 @@ SELECT key, value FROM ( SELECT key, value FROM src WHERE key = 0 UNION ALL - SELECT key, COUNT(*) AS value FROM src + SELECT key, cast(COUNT(*) as string) AS value FROM src GROUP BY key )a PREHOOK: type: QUERY @@ -150,7 +150,7 @@ SELECT key, value FROM ( SELECT key, value FROM src WHERE key = 0 UNION ALL - SELECT key, COUNT(*) AS value FROM src + SELECT key, cast(COUNT(*) as string) AS value FROM src GROUP BY key )a POSTHOOK: type: QUERY @@ -169,7 +169,7 @@ POSTHOOK: Input: default@test_src 312 PREHOOK: query: EXPLAIN INSERT OVERWRITE TABLE test_src SELECT key, value FROM ( - SELECT key, COUNT(*) AS value FROM src + SELECT key, cast(COUNT(*) as string) AS value FROM src GROUP BY key UNION ALL SELECT key, value FROM src @@ -178,7 +178,7 @@ UNION ALL PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN INSERT OVERWRITE TABLE test_src SELECT key, value FROM ( - SELECT key, COUNT(*) AS value FROM src + SELECT key, cast(COUNT(*) as string) AS value FROM src GROUP BY key UNION ALL SELECT key, value FROM src @@ -289,7 +289,7 @@ STAGE PLANS: PREHOOK: query: INSERT OVERWRITE TABLE test_src SELECT key, value FROM ( - SELECT key, COUNT(*) AS value FROM src + SELECT key, cast(COUNT(*) as string) AS value FROM src GROUP BY key UNION ALL SELECT key, value FROM src @@ -300,7 +300,7 @@ PREHOOK: Input: default@src PREHOOK: Output: default@test_src POSTHOOK: query: INSERT OVERWRITE TABLE test_src SELECT key, value FROM ( - SELECT key, COUNT(*) AS value FROM src + SELECT key, cast(COUNT(*) as string) AS value FROM src GROUP BY key UNION ALL SELECT key, value FROM src http://git-wip-us.apache.org/repos/asf/hive/blob/76fe9e78/ql/src/test/results/clientpositive/spark/union_date_trim.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/spark/union_date_trim.q.out b/ql/src/test/results/clientpositive/spark/union_date_trim.q.out index 324e8b7..daa7987 100644 --- a/ql/src/test/results/clientpositive/spark/union_date_trim.q.out +++ b/ql/src/test/results/clientpositive/spark/union_date_trim.q.out @@ -41,12 +41,12 @@ POSTHOOK: Output: default@testdate POSTHOOK: Lineage: testdate.dt EXPRESSION [] POSTHOOK: Lineage: testdate.id SIMPLE [] PREHOOK: query: --- without the fix following query will throw HiveException: Incompatible types for union operator -insert into table testDate select id, tm from (select id, dt as tm from testDate where id = 1 union all select id, dt as tm from testDate where id = 2 union all select id, trim(Cast (dt as string)) as tm from testDate where id = 3 ) a +insert into table testDate select id, tm from (select id, dt as tm from testDate where id = 1 union all select id, dt as tm from testDate where id = 2 union all select id, cast(trim(Cast (dt as string)) as date) as tm from testDate where id = 3 ) a PREHOOK: type: QUERY PREHOOK: Input: default@testdate PREHOOK: Output: default@testdate POSTHOOK: query: --- without the fix following query will throw HiveException: Incompatible types for union operator -insert into table testDate select id, tm from (select id, dt as tm from testDate where id = 1 union all select id, dt as tm from testDate where id = 2 union all select id, trim(Cast (dt as string)) as tm from testDate where id = 3 ) a +insert into table testDate select id, tm from (select id, dt as tm from testDate where id = 1 union all select id, dt as tm from testDate where id = 2 union all select id, cast(trim(Cast (dt as string)) as date) as tm from testDate where id = 3 ) a POSTHOOK: type: QUERY POSTHOOK: Input: default@testdate POSTHOOK: Output: default@testdate http://git-wip-us.apache.org/repos/asf/hive/blob/76fe9e78/ql/src/test/results/clientpositive/spark/union_null.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/spark/union_null.q.out b/ql/src/test/results/clientpositive/spark/union_null.q.out index d93a9d9..6d06e1d 100644 --- a/ql/src/test/results/clientpositive/spark/union_null.q.out +++ b/ql/src/test/results/clientpositive/spark/union_null.q.out @@ -1,14 +1,14 @@ PREHOOK: query: -- SORT_BEFORE_DIFF -- HIVE-2901 -select x from (select * from (select value as x from src order by x limit 5)a union all select * from (select NULL as x from src limit 5)b )a +select x from (select * from (select value as x from src order by x limit 5)a union all select * from (select cast(NULL as string) as x from src limit 5)b )a PREHOOK: type: QUERY PREHOOK: Input: default@src #### A masked pattern was here #### POSTHOOK: query: -- SORT_BEFORE_DIFF -- HIVE-2901 -select x from (select * from (select value as x from src order by x limit 5)a union all select * from (select NULL as x from src limit 5)b )a +select x from (select * from (select value as x from src order by x limit 5)a union all select * from (select cast(NULL as string) as x from src limit 5)b )a POSTHOOK: type: QUERY POSTHOOK: Input: default@src #### A masked pattern was here #### @@ -22,11 +22,11 @@ NULL NULL NULL NULL -PREHOOK: query: select x from (select * from (select value as x from src order by x limit 5)a union all select * from (select NULL as x from src limit 5)b )a +PREHOOK: query: select x from (select * from (select value as x from src order by x limit 5)a union all select * from (select cast(NULL as string) as x from src limit 5)b )a PREHOOK: type: QUERY PREHOOK: Input: default@src #### A masked pattern was here #### -POSTHOOK: query: select x from (select * from (select value as x from src order by x limit 5)a union all select * from (select NULL as x from src limit 5)b )a +POSTHOOK: query: select x from (select * from (select value as x from src order by x limit 5)a union all select * from (select cast(NULL as string) as x from src limit 5)b )a POSTHOOK: type: QUERY POSTHOOK: Input: default@src #### A masked pattern was here #### @@ -41,12 +41,12 @@ NULL NULL NULL PREHOOK: query: -- HIVE-4837 -select * from (select * from (select null as N from src1 group by key)a UNION ALL select * from (select null as N from src1 group by key)b ) a +select * from (select * from (select cast(null as string) as N from src1 group by key)a UNION ALL select * from (select cast(null as string) as N from src1 group by key)b ) a PREHOOK: type: QUERY PREHOOK: Input: default@src1 #### A masked pattern was here #### POSTHOOK: query: -- HIVE-4837 -select * from (select * from (select null as N from src1 group by key)a UNION ALL select * from (select null as N from src1 group by key)b ) a +select * from (select * from (select cast(null as string) as N from src1 group by key)a UNION ALL select * from (select cast(null as string) as N from src1 group by key)b ) a POSTHOOK: type: QUERY POSTHOOK: Input: default@src1 #### A masked pattern was here #### http://git-wip-us.apache.org/repos/asf/hive/blob/76fe9e78/ql/src/test/results/clientpositive/spark/union_remove_12.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/spark/union_remove_12.q.out b/ql/src/test/results/clientpositive/spark/union_remove_12.q.out index 7487cd3..8ca1432 100644 --- a/ql/src/test/results/clientpositive/spark/union_remove_12.q.out +++ b/ql/src/test/results/clientpositive/spark/union_remove_12.q.out @@ -56,7 +56,7 @@ SELECT * FROM ( select key, 1 as `values` from inputTbl1 union all -select a.key as key, b.val as `values` +select a.key as key, cast(b.val as bigint) as `values` FROM inputTbl1 a join inputTbl1 b on a.key=b.key )c PREHOOK: type: QUERY @@ -66,7 +66,7 @@ SELECT * FROM ( select key, 1 as `values` from inputTbl1 union all -select a.key as key, b.val as `values` +select a.key as key, cast(b.val as bigint) as `values` FROM inputTbl1 a join inputTbl1 b on a.key=b.key )c POSTHOOK: type: QUERY @@ -114,21 +114,17 @@ STAGE PLANS: alias: inputtbl1 Statistics: Num rows: 1 Data size: 30 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: key (type: string), '1' (type: string) + expressions: key (type: string), 1 (type: bigint) outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 30 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col0 (type: string), UDFToLong(_col1) (type: bigint) - outputColumnNames: _col0, _col1 + File Output Operator + compressed: false Statistics: Num rows: 2 Data size: 63 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 2 Data size: 63 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.hive.ql.io.RCFileInputFormat - output format: org.apache.hadoop.hive.ql.io.RCFileOutputFormat - serde: org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe - name: default.outputtbl1 + table: + input format: org.apache.hadoop.hive.ql.io.RCFileInputFormat + output format: org.apache.hadoop.hive.ql.io.RCFileOutputFormat + serde: org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe + name: default.outputtbl1 Map 2 Map Operator Tree: TableScan @@ -152,21 +148,17 @@ STAGE PLANS: 1 Map 3 Statistics: Num rows: 1 Data size: 33 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: string), _col2 (type: string) + expressions: _col0 (type: string), UDFToLong(_col2) (type: bigint) outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 33 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col0 (type: string), UDFToLong(_col1) (type: bigint) - outputColumnNames: _col0, _col1 + File Output Operator + compressed: false Statistics: Num rows: 2 Data size: 63 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 2 Data size: 63 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.hive.ql.io.RCFileInputFormat - output format: org.apache.hadoop.hive.ql.io.RCFileOutputFormat - serde: org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe - name: default.outputtbl1 + table: + input format: org.apache.hadoop.hive.ql.io.RCFileInputFormat + output format: org.apache.hadoop.hive.ql.io.RCFileOutputFormat + serde: org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe + name: default.outputtbl1 Local Work: Map Reduce Local Work @@ -222,7 +214,7 @@ SELECT * FROM ( select key, 1 as `values` from inputTbl1 union all -select a.key as key, b.val as `values` +select a.key as key, cast(b.val as bigint) as `values` FROM inputTbl1 a join inputTbl1 b on a.key=b.key )c PREHOOK: type: QUERY @@ -233,7 +225,7 @@ SELECT * FROM ( select key, 1 as `values` from inputTbl1 union all -select a.key as key, b.val as `values` +select a.key as key, cast(b.val as bigint) as `values` FROM inputTbl1 a join inputTbl1 b on a.key=b.key )c POSTHOOK: type: QUERY http://git-wip-us.apache.org/repos/asf/hive/blob/76fe9e78/ql/src/test/results/clientpositive/spark/union_remove_13.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/spark/union_remove_13.q.out b/ql/src/test/results/clientpositive/spark/union_remove_13.q.out index 550c24b..2954f7b 100644 --- a/ql/src/test/results/clientpositive/spark/union_remove_13.q.out +++ b/ql/src/test/results/clientpositive/spark/union_remove_13.q.out @@ -56,7 +56,7 @@ SELECT * FROM ( select key, count(1) as `values` from inputTbl1 group by key union all -select a.key as key, b.val as `values` +select a.key as key, cast(b.val as bigint) as `values` FROM inputTbl1 a join inputTbl1 b on a.key=b.key )c PREHOOK: type: QUERY @@ -66,7 +66,7 @@ SELECT * FROM ( select key, count(1) as `values` from inputTbl1 group by key union all -select a.key as key, b.val as `values` +select a.key as key, cast(b.val as bigint) as `values` FROM inputTbl1 a join inputTbl1 b on a.key=b.key )c POSTHOOK: type: QUERY @@ -154,21 +154,17 @@ STAGE PLANS: 1 Map 4 Statistics: Num rows: 1 Data size: 33 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: string), _col2 (type: string) + expressions: _col0 (type: string), UDFToLong(_col2) (type: bigint) outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 33 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col0 (type: string), UDFToLong(_col1) (type: bigint) - outputColumnNames: _col0, _col1 + File Output Operator + compressed: false Statistics: Num rows: 2 Data size: 63 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 2 Data size: 63 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.hive.ql.io.RCFileInputFormat - output format: org.apache.hadoop.hive.ql.io.RCFileOutputFormat - serde: org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe - name: default.outputtbl1 + table: + input format: org.apache.hadoop.hive.ql.io.RCFileInputFormat + output format: org.apache.hadoop.hive.ql.io.RCFileOutputFormat + serde: org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe + name: default.outputtbl1 Local Work: Map Reduce Local Work Reducer 2 @@ -179,22 +175,14 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 30 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col0 (type: string), UDFToString(_col1) (type: string) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 1 Data size: 30 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col0 (type: string), UDFToLong(_col1) (type: bigint) - outputColumnNames: _col0, _col1 - Statistics: Num rows: 2 Data size: 63 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 2 Data size: 63 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.hive.ql.io.RCFileInputFormat - output format: org.apache.hadoop.hive.ql.io.RCFileOutputFormat - serde: org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe - name: default.outputtbl1 + File Output Operator + compressed: false + Statistics: Num rows: 2 Data size: 63 Basic stats: COMPLETE Column stats: NONE + table: + input format: org.apache.hadoop.hive.ql.io.RCFileInputFormat + output format: org.apache.hadoop.hive.ql.io.RCFileOutputFormat + serde: org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe + name: default.outputtbl1 Stage: Stage-6 Conditional Operator @@ -248,7 +236,7 @@ SELECT * FROM ( select key, count(1) as `values` from inputTbl1 group by key union all -select a.key as key, b.val as `values` +select a.key as key, cast(b.val as bigint) as `values` FROM inputTbl1 a join inputTbl1 b on a.key=b.key )c PREHOOK: type: QUERY @@ -259,7 +247,7 @@ SELECT * FROM ( select key, count(1) as `values` from inputTbl1 group by key union all -select a.key as key, b.val as `values` +select a.key as key, cast(b.val as bigint) as `values` FROM inputTbl1 a join inputTbl1 b on a.key=b.key )c POSTHOOK: type: QUERY http://git-wip-us.apache.org/repos/asf/hive/blob/76fe9e78/ql/src/test/results/clientpositive/spark/union_remove_14.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/spark/union_remove_14.q.out b/ql/src/test/results/clientpositive/spark/union_remove_14.q.out index 9002223..07bd1bb 100644 --- a/ql/src/test/results/clientpositive/spark/union_remove_14.q.out +++ b/ql/src/test/results/clientpositive/spark/union_remove_14.q.out @@ -58,7 +58,7 @@ SELECT * FROM ( select key, 1 as `values` from inputTbl1 union all -select a.key as key, b.val as `values` +select a.key as key, cast(b.val as bigint) as `values` FROM inputTbl1 a join inputTbl1 b on a.key=b.key )c PREHOOK: type: QUERY @@ -68,7 +68,7 @@ SELECT * FROM ( select key, 1 as `values` from inputTbl1 union all -select a.key as key, b.val as `values` +select a.key as key, cast(b.val as bigint) as `values` FROM inputTbl1 a join inputTbl1 b on a.key=b.key )c POSTHOOK: type: QUERY @@ -116,21 +116,17 @@ STAGE PLANS: alias: inputtbl1 Statistics: Num rows: 1 Data size: 30 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: key (type: string), '1' (type: string) + expressions: key (type: string), 1 (type: bigint) outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 30 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col0 (type: string), UDFToLong(_col1) (type: bigint) - outputColumnNames: _col0, _col1 + File Output Operator + compressed: false Statistics: Num rows: 2 Data size: 63 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 2 Data size: 63 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.hive.ql.io.RCFileInputFormat - output format: org.apache.hadoop.hive.ql.io.RCFileOutputFormat - serde: org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe - name: default.outputtbl1 + table: + input format: org.apache.hadoop.hive.ql.io.RCFileInputFormat + output format: org.apache.hadoop.hive.ql.io.RCFileOutputFormat + serde: org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe + name: default.outputtbl1 Map 2 Map Operator Tree: TableScan @@ -154,21 +150,17 @@ STAGE PLANS: 1 Map 3 Statistics: Num rows: 1 Data size: 33 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: _col0 (type: string), _col2 (type: string) + expressions: _col0 (type: string), UDFToLong(_col2) (type: bigint) outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 33 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col0 (type: string), UDFToLong(_col1) (type: bigint) - outputColumnNames: _col0, _col1 + File Output Operator + compressed: false Statistics: Num rows: 2 Data size: 63 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 2 Data size: 63 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.hive.ql.io.RCFileInputFormat - output format: org.apache.hadoop.hive.ql.io.RCFileOutputFormat - serde: org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe - name: default.outputtbl1 + table: + input format: org.apache.hadoop.hive.ql.io.RCFileInputFormat + output format: org.apache.hadoop.hive.ql.io.RCFileOutputFormat + serde: org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe + name: default.outputtbl1 Local Work: Map Reduce Local Work @@ -224,7 +216,7 @@ SELECT * FROM ( select key, 1 as `values` from inputTbl1 union all -select a.key as key, b.val as `values` +select a.key as key, cast(b.val as bigint) as `values` FROM inputTbl1 a join inputTbl1 b on a.key=b.key )c PREHOOK: type: QUERY @@ -235,7 +227,7 @@ SELECT * FROM ( select key, 1 as `values` from inputTbl1 union all -select a.key as key, b.val as `values` +select a.key as key, cast(b.val as bigint) as `values` FROM inputTbl1 a join inputTbl1 b on a.key=b.key )c POSTHOOK: type: QUERY http://git-wip-us.apache.org/repos/asf/hive/blob/76fe9e78/ql/src/test/results/clientpositive/union32.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/union32.q.out b/ql/src/test/results/clientpositive/union32.q.out index 136a1c3..73d9340 100644 --- a/ql/src/test/results/clientpositive/union32.q.out +++ b/ql/src/test/results/clientpositive/union32.q.out @@ -446,14 +446,14 @@ POSTHOOK: Input: default@t2 PREHOOK: query: -- Test union with join on the left selecting multiple columns EXPLAIN SELECT * FROM -(SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS DOUBLE) AS value FROM t1 a JOIN t2 b ON a.key = b.key +(SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS CHAR(20)) AS value FROM t1 a JOIN t2 b ON a.key = b.key UNION ALL SELECT CAST(key AS DOUBLE) AS key, CAST(key AS STRING) AS value FROM t2) a PREHOOK: type: QUERY POSTHOOK: query: -- Test union with join on the left selecting multiple columns EXPLAIN SELECT * FROM -(SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS DOUBLE) AS value FROM t1 a JOIN t2 b ON a.key = b.key +(SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS CHAR(20)) AS value FROM t1 a JOIN t2 b ON a.key = b.key UNION ALL SELECT CAST(key AS DOUBLE) AS key, CAST(key AS STRING) AS value FROM t2) a POSTHOOK: type: QUERY @@ -506,7 +506,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1 Statistics: Num rows: 11 Data size: 77 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: UDFToDouble(UDFToLong(_col0)) (type: double), UDFToString(UDFToDouble(_col1)) (type: string) + expressions: UDFToDouble(UDFToLong(_col0)) (type: double), UDFToString(CAST( _col1 AS CHAR(20)) (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 11 Data size: 77 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -553,7 +553,7 @@ STAGE PLANS: ListSink PREHOOK: query: SELECT * FROM -(SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS DOUBLE) AS value FROM t1 a JOIN t2 b ON a.key = b.key +(SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS VARCHAR(20)) AS value FROM t1 a JOIN t2 b ON a.key = b.key UNION ALL SELECT CAST(key AS DOUBLE) AS key, CAST(key AS STRING) AS value FROM t2) a PREHOOK: type: QUERY @@ -561,7 +561,7 @@ PREHOOK: Input: default@t1 PREHOOK: Input: default@t2 #### A masked pattern was here #### POSTHOOK: query: SELECT * FROM -(SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS DOUBLE) AS value FROM t1 a JOIN t2 b ON a.key = b.key +(SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS VARCHAR(20)) AS value FROM t1 a JOIN t2 b ON a.key = b.key UNION ALL SELECT CAST(key AS DOUBLE) AS key, CAST(key AS STRING) AS value FROM t2) a POSTHOOK: type: QUERY @@ -571,48 +571,48 @@ POSTHOOK: Input: default@t2 0.0 0 0.0 0 0.0 0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 +0.0 0 +0.0 0 +0.0 0 +0.0 0 +0.0 0 +0.0 0 +0.0 0 +0.0 0 +0.0 0 2.0 2 -2.0 2.0 +2.0 2 +4.0 4 4.0 4 -4.0 4.0 5.0 5 5.0 5 5.0 5 -5.0 5.0 -5.0 5.0 -5.0 5.0 -5.0 5.0 -5.0 5.0 -5.0 5.0 -5.0 5.0 -5.0 5.0 -5.0 5.0 +5.0 5 +5.0 5 +5.0 5 +5.0 5 +5.0 5 +5.0 5 +5.0 5 +5.0 5 +5.0 5 +8.0 8 8.0 8 -8.0 8.0 9.0 9 -9.0 9.0 +9.0 9 PREHOOK: query: -- Test union with join on the right selecting multiple columns EXPLAIN SELECT * FROM (SELECT CAST(key AS DOUBLE) AS key, CAST(key AS STRING) AS value FROM t2 UNION ALL -SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS DOUBLE) AS value FROM t1 a JOIN t2 b ON a.key = b.key) a +SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS CHAR(20)) AS value FROM t1 a JOIN t2 b ON a.key = b.key) a PREHOOK: type: QUERY POSTHOOK: query: -- Test union with join on the right selecting multiple columns EXPLAIN SELECT * FROM (SELECT CAST(key AS DOUBLE) AS key, CAST(key AS STRING) AS value FROM t2 UNION ALL -SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS DOUBLE) AS value FROM t1 a JOIN t2 b ON a.key = b.key) a +SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS CHAR(20)) AS value FROM t1 a JOIN t2 b ON a.key = b.key) a POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-3 is a root stage @@ -663,7 +663,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1 Statistics: Num rows: 11 Data size: 77 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: UDFToDouble(UDFToLong(_col0)) (type: double), UDFToDouble(_col1) (type: double) + expressions: UDFToDouble(UDFToLong(_col0)) (type: double), UDFToString(CAST( _col1 AS CHAR(20)) (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 11 Data size: 77 Basic stats: COMPLETE Column stats: NONE File Output Operator @@ -680,7 +680,7 @@ STAGE PLANS: alias: t2 Statistics: Num rows: 10 Data size: 70 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: UDFToDouble(key) (type: double), UDFToDouble(key) (type: double) + expressions: UDFToDouble(key) (type: double), key (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 10 Data size: 70 Basic stats: COMPLETE Column stats: NONE Union @@ -712,7 +712,7 @@ STAGE PLANS: PREHOOK: query: SELECT * FROM (SELECT CAST(key AS DOUBLE) AS key, CAST(key AS STRING) AS value FROM t2 UNION ALL -SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS DOUBLE) AS value FROM t1 a JOIN t2 b ON a.key = b.key) a +SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS VARCHAR(20)) AS value FROM t1 a JOIN t2 b ON a.key = b.key) a PREHOOK: type: QUERY PREHOOK: Input: default@t1 PREHOOK: Input: default@t2 @@ -720,40 +720,40 @@ PREHOOK: Input: default@t2 POSTHOOK: query: SELECT * FROM (SELECT CAST(key AS DOUBLE) AS key, CAST(key AS STRING) AS value FROM t2 UNION ALL -SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS DOUBLE) AS value FROM t1 a JOIN t2 b ON a.key = b.key) a +SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS VARCHAR(20)) AS value FROM t1 a JOIN t2 b ON a.key = b.key) a POSTHOOK: type: QUERY POSTHOOK: Input: default@t1 POSTHOOK: Input: default@t2 #### A masked pattern was here #### -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -0.0 0.0 -2.0 2.0 -2.0 2.0 -4.0 4.0 -4.0 4.0 -5.0 5.0 -5.0 5.0 -5.0 5.0 -5.0 5.0 -5.0 5.0 -5.0 5.0 -5.0 5.0 -5.0 5.0 -5.0 5.0 -5.0 5.0 -5.0 5.0 -5.0 5.0 -8.0 8.0 -8.0 8.0 -9.0 9.0 -9.0 9.0 +0.0 0 +0.0 0 +0.0 0 +0.0 0 +0.0 0 +0.0 0 +0.0 0 +0.0 0 +0.0 0 +0.0 0 +0.0 0 +0.0 0 +2.0 2 +2.0 2 +4.0 4 +4.0 4 +5.0 5 +5.0 5 +5.0 5 +5.0 5 +5.0 5 +5.0 5 +5.0 5 +5.0 5 +5.0 5 +5.0 5 +5.0 5 +5.0 5 +8.0 8 +8.0 8 +9.0 9 +9.0 9 http://git-wip-us.apache.org/repos/asf/hive/blob/76fe9e78/ql/src/test/results/clientpositive/union33.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/union33.q.out b/ql/src/test/results/clientpositive/union33.q.out index a91e74c..f8a6e00 100644 --- a/ql/src/test/results/clientpositive/union33.q.out +++ b/ql/src/test/results/clientpositive/union33.q.out @@ -19,7 +19,7 @@ SELECT key, value FROM ( SELECT key, value FROM src WHERE key = 0 UNION ALL - SELECT key, COUNT(*) AS value FROM src + SELECT key, cast(COUNT(*) as string) AS value FROM src GROUP BY key )a PREHOOK: type: QUERY @@ -28,7 +28,7 @@ SELECT key, value FROM ( SELECT key, value FROM src WHERE key = 0 UNION ALL - SELECT key, COUNT(*) AS value FROM src + SELECT key, cast(COUNT(*) as string) AS value FROM src GROUP BY key )a POSTHOOK: type: QUERY @@ -201,7 +201,7 @@ SELECT key, value FROM ( SELECT key, value FROM src WHERE key = 0 UNION ALL - SELECT key, COUNT(*) AS value FROM src + SELECT key, cast(COUNT(*) as string) AS value FROM src GROUP BY key )a PREHOOK: type: QUERY @@ -212,7 +212,7 @@ SELECT key, value FROM ( SELECT key, value FROM src WHERE key = 0 UNION ALL - SELECT key, COUNT(*) AS value FROM src + SELECT key, cast(COUNT(*) as string) AS value FROM src GROUP BY key )a POSTHOOK: type: QUERY @@ -231,7 +231,7 @@ POSTHOOK: Input: default@test_src 312 PREHOOK: query: EXPLAIN INSERT OVERWRITE TABLE test_src SELECT key, value FROM ( - SELECT key, COUNT(*) AS value FROM src + SELECT key, cast(COUNT(*) as string) AS value FROM src GROUP BY key UNION ALL SELECT key, value FROM src @@ -240,7 +240,7 @@ UNION ALL PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN INSERT OVERWRITE TABLE test_src SELECT key, value FROM ( - SELECT key, COUNT(*) AS value FROM src + SELECT key, cast(COUNT(*) as string) AS value FROM src GROUP BY key UNION ALL SELECT key, value FROM src @@ -413,7 +413,7 @@ STAGE PLANS: PREHOOK: query: INSERT OVERWRITE TABLE test_src SELECT key, value FROM ( - SELECT key, COUNT(*) AS value FROM src + SELECT key, cast(COUNT(*) as string) AS value FROM src GROUP BY key UNION ALL SELECT key, value FROM src @@ -424,7 +424,7 @@ PREHOOK: Input: default@src PREHOOK: Output: default@test_src POSTHOOK: query: INSERT OVERWRITE TABLE test_src SELECT key, value FROM ( - SELECT key, COUNT(*) AS value FROM src + SELECT key, cast(COUNT(*) as string) AS value FROM src GROUP BY key UNION ALL SELECT key, value FROM src http://git-wip-us.apache.org/repos/asf/hive/blob/76fe9e78/ql/src/test/results/clientpositive/union36.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/union36.q.out b/ql/src/test/results/clientpositive/union36.q.out index 1eb0182..e12590c 100644 --- a/ql/src/test/results/clientpositive/union36.q.out +++ b/ql/src/test/results/clientpositive/union36.q.out @@ -1,30 +1,30 @@ PREHOOK: query: -- SORT_QUERY_RESULTS -select (x/sum(x) over()) as y from(select cast(1 as decimal(10,0)) as x from (select * from src limit 2)s1 union all select cast(1 as decimal(10,0)) x from (select * from src limit 2) s2 union all select '100000000' x from (select * from src limit 2) s3)u +select (x/sum(x) over()) as y from(select cast(1 as decimal(10,0)) as x from (select * from src limit 2)s1 union all select cast(1 as decimal(10,0)) x from (select * from src limit 2) s2 union all select cast('100000000' as decimal(10,0)) x from (select * from src limit 2) s3)u PREHOOK: type: QUERY PREHOOK: Input: default@src #### A masked pattern was here #### POSTHOOK: query: -- SORT_QUERY_RESULTS -select (x/sum(x) over()) as y from(select cast(1 as decimal(10,0)) as x from (select * from src limit 2)s1 union all select cast(1 as decimal(10,0)) x from (select * from src limit 2) s2 union all select '100000000' x from (select * from src limit 2) s3)u +select (x/sum(x) over()) as y from(select cast(1 as decimal(10,0)) as x from (select * from src limit 2)s1 union all select cast(1 as decimal(10,0)) x from (select * from src limit 2) s2 union all select cast('100000000' as decimal(10,0)) x from (select * from src limit 2) s3)u POSTHOOK: type: QUERY POSTHOOK: Input: default@src #### A masked pattern was here #### -0.4999999900000002 -0.4999999900000002 -4.999999900000002E-9 -4.999999900000002E-9 -4.999999900000002E-9 -4.999999900000002E-9 -PREHOOK: query: select (x/sum(x) over()) as y from(select cast(1 as decimal(10,0)) as x from (select * from src limit 2)s1 union all select cast(1 as decimal(10,0)) x from (select * from src limit 2) s2 union all select cast (null as string) x from (select * from src limit 2) s3)u +0.000000004999999900000 +0.000000004999999900000 +0.000000004999999900000 +0.000000004999999900000 +0.499999990000000200000 +0.499999990000000200000 +PREHOOK: query: select (x/sum(x) over()) as y from(select cast(1 as decimal(10,0)) as x from (select * from src limit 2)s1 union all select cast(1 as decimal(10,0)) x from (select * from src limit 2) s2 union all select cast (null as decimal(10,0)) x from (select * from src limit 2) s3)u PREHOOK: type: QUERY PREHOOK: Input: default@src #### A masked pattern was here #### -POSTHOOK: query: select (x/sum(x) over()) as y from(select cast(1 as decimal(10,0)) as x from (select * from src limit 2)s1 union all select cast(1 as decimal(10,0)) x from (select * from src limit 2) s2 union all select cast (null as string) x from (select * from src limit 2) s3)u +POSTHOOK: query: select (x/sum(x) over()) as y from(select cast(1 as decimal(10,0)) as x from (select * from src limit 2)s1 union all select cast(1 as decimal(10,0)) x from (select * from src limit 2) s2 union all select cast (null as decimal(10,0)) x from (select * from src limit 2) s3)u POSTHOOK: type: QUERY POSTHOOK: Input: default@src #### A masked pattern was here #### -0.25 -0.25 -0.25 -0.25 +0.250000000000000000000 +0.250000000000000000000 +0.250000000000000000000 +0.250000000000000000000 NULL NULL http://git-wip-us.apache.org/repos/asf/hive/blob/76fe9e78/ql/src/test/results/clientpositive/unionDistinct_1.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/unionDistinct_1.q.out b/ql/src/test/results/clientpositive/unionDistinct_1.q.out index 8c9ce5e..f17f1d7 100644 --- a/ql/src/test/results/clientpositive/unionDistinct_1.q.out +++ b/ql/src/test/results/clientpositive/unionDistinct_1.q.out @@ -14144,14 +14144,14 @@ POSTHOOK: Input: default@t2 PREHOOK: query: -- Test union with join on the left selecting multiple columns EXPLAIN SELECT * FROM -(SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS DOUBLE) AS value FROM t1 a JOIN t2 b ON a.key = b.key +(SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS STRING) AS value FROM t1 a JOIN t2 b ON a.key = b.key UNION DISTINCT SELECT CAST(key AS DOUBLE) AS key, CAST(key AS STRING) AS value FROM t2) a PREHOOK: type: QUERY POSTHOOK: query: -- Test union with join on the left selecting multiple columns EXPLAIN SELECT * FROM -(SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS DOUBLE) AS value FROM t1 a JOIN t2 b ON a.key = b.key +(SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS STRING) AS value FROM t1 a JOIN t2 b ON a.key = b.key UNION DISTINCT SELECT CAST(key AS DOUBLE) AS key, CAST(key AS STRING) AS value FROM t2) a POSTHOOK: type: QUERY @@ -14225,7 +14225,7 @@ STAGE PLANS: outputColumnNames: _col0, _col1 Statistics: Num rows: 11 Data size: 77 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: UDFToDouble(UDFToLong(_col0)) (type: double), UDFToString(UDFToDouble(_col1)) (type: string) + expressions: UDFToDouble(UDFToLong(_col0)) (type: double), _col1 (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 11 Data size: 77 Basic stats: COMPLETE Column stats: NONE Union @@ -14263,7 +14263,7 @@ STAGE PLANS: ListSink PREHOOK: query: SELECT * FROM -(SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS DOUBLE) AS value FROM t1 a JOIN t2 b ON a.key = b.key +(SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS CHAR(20)) AS value FROM t1 a JOIN t2 b ON a.key = b.key UNION DISTINCT SELECT CAST(key AS DOUBLE) AS key, CAST(key AS STRING) AS value FROM t2) a PREHOOK: type: QUERY @@ -14271,7 +14271,7 @@ PREHOOK: Input: default@t1 PREHOOK: Input: default@t2 #### A masked pattern was here #### POSTHOOK: query: SELECT * FROM -(SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS DOUBLE) AS value FROM t1 a JOIN t2 b ON a.key = b.key +(SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS CHAR(20)) AS value FROM t1 a JOIN t2 b ON a.key = b.key UNION DISTINCT SELECT CAST(key AS DOUBLE) AS key, CAST(key AS STRING) AS value FROM t2) a POSTHOOK: type: QUERY @@ -14279,30 +14279,24 @@ POSTHOOK: Input: default@t1 POSTHOOK: Input: default@t2 #### A masked pattern was here #### 0.0 0 -0.0 0.0 2.0 2 -2.0 2.0 4.0 4 -4.0 4.0 5.0 5 -5.0 5.0 8.0 8 -8.0 8.0 9.0 9 -9.0 9.0 PREHOOK: query: -- Test union with join on the right selecting multiple columns EXPLAIN SELECT * FROM (SELECT CAST(key AS DOUBLE) AS key, CAST(key AS STRING) AS value FROM t2 UNION DISTINCT -SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS DOUBLE) AS value FROM t1 a JOIN t2 b ON a.key = b.key) a +SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS VARCHAR(20)) AS value FROM t1 a JOIN t2 b ON a.key = b.key) a PREHOOK: type: QUERY POSTHOOK: query: -- Test union with join on the right selecting multiple columns EXPLAIN SELECT * FROM (SELECT CAST(key AS DOUBLE) AS key, CAST(key AS STRING) AS value FROM t2 UNION DISTINCT -SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS DOUBLE) AS value FROM t1 a JOIN t2 b ON a.key = b.key) a +SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS VARCHAR(20)) AS value FROM t1 a JOIN t2 b ON a.key = b.key) a POSTHOOK: type: QUERY STAGE DEPENDENCIES: Stage-6 is a root stage @@ -14340,20 +14334,20 @@ STAGE PLANS: alias: t2 Statistics: Num rows: 10 Data size: 70 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: UDFToDouble(key) (type: double), UDFToDouble(key) (type: double) + expressions: UDFToDouble(key) (type: double), key (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 10 Data size: 70 Basic stats: COMPLETE Column stats: NONE Union Statistics: Num rows: 21 Data size: 147 Basic stats: COMPLETE Column stats: NONE Group By Operator - keys: _col0 (type: double), _col1 (type: double) + keys: _col0 (type: double), _col1 (type: string) mode: hash outputColumnNames: _col0, _col1 Statistics: Num rows: 21 Data size: 147 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator - key expressions: _col0 (type: double), _col1 (type: double) + key expressions: _col0 (type: double), _col1 (type: string) sort order: ++ - Map-reduce partition columns: _col0 (type: double), _col1 (type: double) + Map-reduce partition columns: _col0 (type: double), _col1 (type: string) Statistics: Num rows: 21 Data size: 147 Basic stats: COMPLETE Column stats: NONE TableScan alias: b @@ -14374,26 +14368,26 @@ STAGE PLANS: outputColumnNames: _col0, _col1 Statistics: Num rows: 11 Data size: 77 Basic stats: COMPLETE Column stats: NONE Select Operator - expressions: UDFToDouble(UDFToLong(_col0)) (type: double), UDFToDouble(_col1) (type: double) + expressions: UDFToDouble(UDFToLong(_col0)) (type: double), UDFToString(CAST( _col1 AS varchar(20))) (type: string) outputColumnNames: _col0, _col1 Statistics: Num rows: 11 Data size: 77 Basic stats: COMPLETE Column stats: NONE Union Statistics: Num rows: 21 Data size: 147 Basic stats: COMPLETE Column stats: NONE Group By Operator - keys: _col0 (type: double), _col1 (type: double) + keys: _col0 (type: double), _col1 (type: string) mode: hash outputColumnNames: _col0, _col1 Statistics: Num rows: 21 Data size: 147 Basic stats: COMPLETE Column stats: NONE Reduce Output Operator - key expressions: _col0 (type: double), _col1 (type: double) + key expressions: _col0 (type: double), _col1 (type: string) sort order: ++ - Map-reduce partition columns: _col0 (type: double), _col1 (type: double) + Map-reduce partition columns: _col0 (type: double), _col1 (type: string) Statistics: Num rows: 21 Data size: 147 Basic stats: COMPLETE Column stats: NONE Local Work: Map Reduce Local Work Reduce Operator Tree: Group By Operator - keys: KEY._col0 (type: double), KEY._col1 (type: double) + keys: KEY._col0 (type: double), KEY._col1 (type: string) mode: mergepartial outputColumnNames: _col0, _col1 Statistics: Num rows: 10 Data size: 70 Basic stats: COMPLETE Column stats: NONE @@ -14414,7 +14408,7 @@ STAGE PLANS: PREHOOK: query: SELECT * FROM (SELECT CAST(key AS DOUBLE) AS key, CAST(key AS STRING) AS value FROM t2 UNION DISTINCT -SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS DOUBLE) AS value FROM t1 a JOIN t2 b ON a.key = b.key) a +SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS VARCHAR(20)) AS value FROM t1 a JOIN t2 b ON a.key = b.key) a PREHOOK: type: QUERY PREHOOK: Input: default@t1 PREHOOK: Input: default@t2 @@ -14422,17 +14416,17 @@ PREHOOK: Input: default@t2 POSTHOOK: query: SELECT * FROM (SELECT CAST(key AS DOUBLE) AS key, CAST(key AS STRING) AS value FROM t2 UNION DISTINCT -SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS DOUBLE) AS value FROM t1 a JOIN t2 b ON a.key = b.key) a +SELECT CAST(a.key AS BIGINT) AS key, CAST(b.key AS VARCHAR(20)) AS value FROM t1 a JOIN t2 b ON a.key = b.key) a POSTHOOK: type: QUERY POSTHOOK: Input: default@t1 POSTHOOK: Input: default@t2 #### A masked pattern was here #### -0.0 0.0 -2.0 2.0 -4.0 4.0 -5.0 5.0 -8.0 8.0 -9.0 9.0 +0.0 0 +2.0 2 +4.0 4 +5.0 5 +8.0 8 +9.0 9 PREHOOK: query: -- union33.q -- SORT_BEFORE_DIFF @@ -14462,7 +14456,7 @@ SELECT key, value FROM ( SELECT key, value FROM src WHERE key = 0 UNION DISTINCT - SELECT key, COUNT(*) AS value FROM src + SELECT key, cast(COUNT(*) as string) AS value FROM src GROUP BY key )a PREHOOK: type: QUERY @@ -14471,7 +14465,7 @@ SELECT key, value FROM ( SELECT key, value FROM src WHERE key = 0 UNION DISTINCT - SELECT key, COUNT(*) AS value FROM src + SELECT key, cast(COUNT(*) as string) AS value FROM src GROUP BY key )a POSTHOOK: type: QUERY @@ -14593,7 +14587,7 @@ SELECT key, value FROM ( SELECT key, value FROM src WHERE key = 0 UNION DISTINCT - SELECT key, COUNT(*) AS value FROM src + SELECT key, cast(COUNT(*) as string) AS value FROM src GROUP BY key )a PREHOOK: type: QUERY @@ -14604,7 +14598,7 @@ SELECT key, value FROM ( SELECT key, value FROM src WHERE key = 0 UNION DISTINCT - SELECT key, COUNT(*) AS value FROM src + SELECT key, cast(COUNT(*) as string) AS value FROM src GROUP BY key )a POSTHOOK: type: QUERY @@ -14623,7 +14617,7 @@ POSTHOOK: Input: default@test_src 310 PREHOOK: query: EXPLAIN INSERT OVERWRITE TABLE test_src SELECT key, value FROM ( - SELECT key, COUNT(*) AS value FROM src + SELECT key, cast(COUNT(*) as string) AS value FROM src GROUP BY key UNION DISTINCT SELECT key, value FROM src @@ -14632,7 +14626,7 @@ UNION DISTINCT PREHOOK: type: QUERY POSTHOOK: query: EXPLAIN INSERT OVERWRITE TABLE test_src SELECT key, value FROM ( - SELECT key, COUNT(*) AS value FROM src + SELECT key, cast(COUNT(*) as string) AS value FROM src GROUP BY key UNION DISTINCT SELECT key, value FROM src @@ -14754,7 +14748,7 @@ STAGE PLANS: PREHOOK: query: INSERT OVERWRITE TABLE test_src SELECT key, value FROM ( - SELECT key, COUNT(*) AS value FROM src + SELECT key, cast(COUNT(*) as string) AS value FROM src GROUP BY key UNION DISTINCT SELECT key, value FROM src @@ -14765,7 +14759,7 @@ PREHOOK: Input: default@src PREHOOK: Output: default@test_src POSTHOOK: query: INSERT OVERWRITE TABLE test_src SELECT key, value FROM ( - SELECT key, COUNT(*) AS value FROM src + SELECT key, cast(COUNT(*) as string) AS value FROM src GROUP BY key UNION DISTINCT SELECT key, value FROM src http://git-wip-us.apache.org/repos/asf/hive/blob/76fe9e78/ql/src/test/results/clientpositive/union_date_trim.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/union_date_trim.q.out b/ql/src/test/results/clientpositive/union_date_trim.q.out index 324e8b7..daa7987 100644 --- a/ql/src/test/results/clientpositive/union_date_trim.q.out +++ b/ql/src/test/results/clientpositive/union_date_trim.q.out @@ -41,12 +41,12 @@ POSTHOOK: Output: default@testdate POSTHOOK: Lineage: testdate.dt EXPRESSION [] POSTHOOK: Lineage: testdate.id SIMPLE [] PREHOOK: query: --- without the fix following query will throw HiveException: Incompatible types for union operator -insert into table testDate select id, tm from (select id, dt as tm from testDate where id = 1 union all select id, dt as tm from testDate where id = 2 union all select id, trim(Cast (dt as string)) as tm from testDate where id = 3 ) a +insert into table testDate select id, tm from (select id, dt as tm from testDate where id = 1 union all select id, dt as tm from testDate where id = 2 union all select id, cast(trim(Cast (dt as string)) as date) as tm from testDate where id = 3 ) a PREHOOK: type: QUERY PREHOOK: Input: default@testdate PREHOOK: Output: default@testdate POSTHOOK: query: --- without the fix following query will throw HiveException: Incompatible types for union operator -insert into table testDate select id, tm from (select id, dt as tm from testDate where id = 1 union all select id, dt as tm from testDate where id = 2 union all select id, trim(Cast (dt as string)) as tm from testDate where id = 3 ) a +insert into table testDate select id, tm from (select id, dt as tm from testDate where id = 1 union all select id, dt as tm from testDate where id = 2 union all select id, cast(trim(Cast (dt as string)) as date) as tm from testDate where id = 3 ) a POSTHOOK: type: QUERY POSTHOOK: Input: default@testdate POSTHOOK: Output: default@testdate http://git-wip-us.apache.org/repos/asf/hive/blob/76fe9e78/ql/src/test/results/clientpositive/union_null.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/union_null.q.out b/ql/src/test/results/clientpositive/union_null.q.out index a3407d4..519d40f 100644 --- a/ql/src/test/results/clientpositive/union_null.q.out +++ b/ql/src/test/results/clientpositive/union_null.q.out @@ -1,14 +1,14 @@ PREHOOK: query: -- SORT_BEFORE_DIFF -- HIVE-2901 -select x from (select * from (select value as x from src order by x limit 5)a union all select * from (select NULL as x from src limit 5)b )a +select x from (select * from (select value as x from src order by x limit 5)a union all select * from (select cast(NULL as string) as x from src limit 5)b )a PREHOOK: type: QUERY PREHOOK: Input: default@src #### A masked pattern was here #### POSTHOOK: query: -- SORT_BEFORE_DIFF -- HIVE-2901 -select x from (select * from (select value as x from src order by x limit 5)a union all select * from (select NULL as x from src limit 5)b )a +select x from (select * from (select value as x from src order by x limit 5)a union all select * from (select cast(NULL as string) as x from src limit 5)b )a POSTHOOK: type: QUERY POSTHOOK: Input: default@src #### A masked pattern was here #### @@ -22,11 +22,11 @@ NULL NULL NULL NULL -PREHOOK: query: select x from (select * from (select value as x from src order by x limit 5)a union all select * from (select NULL as x from src limit 5)b )a +PREHOOK: query: select x from (select * from (select value as x from src order by x limit 5)a union all select * from (select cast(NULL as string) as x from src limit 5)b )a PREHOOK: type: QUERY PREHOOK: Input: default@src #### A masked pattern was here #### -POSTHOOK: query: select x from (select * from (select value as x from src order by x limit 5)a union all select * from (select NULL as x from src limit 5)b )a +POSTHOOK: query: select x from (select * from (select value as x from src order by x limit 5)a union all select * from (select cast(NULL as string) as x from src limit 5)b )a POSTHOOK: type: QUERY POSTHOOK: Input: default@src #### A masked pattern was here #### @@ -41,12 +41,12 @@ val_0 val_10 val_100 PREHOOK: query: -- HIVE-4837 -select * from (select * from (select null as N from src1 group by key)a UNION ALL select * from (select null as N from src1 group by key)b ) a +select * from (select * from (select cast(null as string) as N from src1 group by key)a UNION ALL select * from (select cast(null as string) as N from src1 group by key)b ) a PREHOOK: type: QUERY PREHOOK: Input: default@src1 #### A masked pattern was here #### POSTHOOK: query: -- HIVE-4837 -select * from (select * from (select null as N from src1 group by key)a UNION ALL select * from (select null as N from src1 group by key)b ) a +select * from (select * from (select cast(null as string) as N from src1 group by key)a UNION ALL select * from (select cast(null as string) as N from src1 group by key)b ) a POSTHOOK: type: QUERY POSTHOOK: Input: default@src1 #### A masked pattern was here #### http://git-wip-us.apache.org/repos/asf/hive/blob/76fe9e78/ql/src/test/results/clientpositive/union_remove_12.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/union_remove_12.q.out b/ql/src/test/results/clientpositive/union_remove_12.q.out index 46b6895..26887ea 100644 --- a/ql/src/test/results/clientpositive/union_remove_12.q.out +++ b/ql/src/test/results/clientpositive/union_remove_12.q.out @@ -56,7 +56,7 @@ SELECT * FROM ( select key, 1 as `values` from inputTbl1 union all -select a.key as key, b.val as `values` +select a.key as key, cast(b.val as bigint) as `values` FROM inputTbl1 a join inputTbl1 b on a.key=b.key )c PREHOOK: type: QUERY @@ -66,7 +66,7 @@ SELECT * FROM ( select key, 1 as `values` from inputTbl1 union all -select a.key as key, b.val as `values` +select a.key as key, cast(b.val as bigint) as `values` FROM inputTbl1 a join inputTbl1 b on a.key=b.key )c POSTHOOK: type: QUERY @@ -204,7 +204,7 @@ SELECT * FROM ( select key, 1 as `values` from inputTbl1 union all -select a.key as key, b.val as `values` +select a.key as key, cast(b.val as bigint) as `values` FROM inputTbl1 a join inputTbl1 b on a.key=b.key )c PREHOOK: type: QUERY @@ -215,7 +215,7 @@ SELECT * FROM ( select key, 1 as `values` from inputTbl1 union all -select a.key as key, b.val as `values` +select a.key as key, cast(b.val as bigint) as `values` FROM inputTbl1 a join inputTbl1 b on a.key=b.key )c POSTHOOK: type: QUERY http://git-wip-us.apache.org/repos/asf/hive/blob/76fe9e78/ql/src/test/results/clientpositive/union_remove_13.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/union_remove_13.q.out b/ql/src/test/results/clientpositive/union_remove_13.q.out index 4639602..d013464 100644 --- a/ql/src/test/results/clientpositive/union_remove_13.q.out +++ b/ql/src/test/results/clientpositive/union_remove_13.q.out @@ -56,7 +56,7 @@ SELECT * FROM ( select key, count(1) as `values` from inputTbl1 group by key union all -select a.key as key, b.val as `values` +select a.key as key, cast(b.val as bigint) as `values` FROM inputTbl1 a join inputTbl1 b on a.key=b.key )c PREHOOK: type: QUERY @@ -66,7 +66,7 @@ SELECT * FROM ( select key, count(1) as `values` from inputTbl1 group by key union all -select a.key as key, b.val as `values` +select a.key as key, cast(b.val as bigint) as `values` FROM inputTbl1 a join inputTbl1 b on a.key=b.key )c POSTHOOK: type: QUERY @@ -111,18 +111,14 @@ STAGE PLANS: mode: mergepartial outputColumnNames: _col0, _col1 Statistics: Num rows: 1 Data size: 30 Basic stats: COMPLETE Column stats: NONE - Select Operator - expressions: _col0 (type: string), UDFToLong(UDFToString(_col1)) (type: bigint) - outputColumnNames: _col0, _col1 + File Output Operator + compressed: false Statistics: Num rows: 1 Data size: 30 Basic stats: COMPLETE Column stats: NONE - File Output Operator - compressed: false - Statistics: Num rows: 1 Data size: 30 Basic stats: COMPLETE Column stats: NONE - table: - input format: org.apache.hadoop.hive.ql.io.RCFileInputFormat - output format: org.apache.hadoop.hive.ql.io.RCFileOutputFormat - serde: org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe - name: default.outputtbl1 + table: + input format: org.apache.hadoop.hive.ql.io.RCFileInputFormat + output format: org.apache.hadoop.hive.ql.io.RCFileOutputFormat + serde: org.apache.hadoop.hive.serde2.columnar.ColumnarSerDe + name: default.outputtbl1 Stage: Stage-6 Conditional Operator @@ -227,7 +223,7 @@ SELECT * FROM ( select key, count(1) as `values` from inputTbl1 group by key union all -select a.key as key, b.val as `values` +select a.key as key, cast(b.val as bigint) as `values` FROM inputTbl1 a join inputTbl1 b on a.key=b.key )c PREHOOK: type: QUERY @@ -238,7 +234,7 @@ SELECT * FROM ( select key, count(1) as `values` from inputTbl1 group by key union all -select a.key as key, b.val as `values` +select a.key as key, cast(b.val as bigint) as `values` FROM inputTbl1 a join inputTbl1 b on a.key=b.key )c POSTHOOK: type: QUERY http://git-wip-us.apache.org/repos/asf/hive/blob/76fe9e78/ql/src/test/results/clientpositive/union_remove_14.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/union_remove_14.q.out b/ql/src/test/results/clientpositive/union_remove_14.q.out index fcb091e..3a76b95 100644 --- a/ql/src/test/results/clientpositive/union_remove_14.q.out +++ b/ql/src/test/results/clientpositive/union_remove_14.q.out @@ -58,7 +58,7 @@ SELECT * FROM ( select key, 1 as `values` from inputTbl1 union all -select a.key as key, b.val as `values` +select a.key as key, cast(b.val as bigint) as `values` FROM inputTbl1 a join inputTbl1 b on a.key=b.key )c PREHOOK: type: QUERY @@ -68,7 +68,7 @@ SELECT * FROM ( select key, 1 as `values` from inputTbl1 union all -select a.key as key, b.val as `values` +select a.key as key, cast(b.val as bigint) as `values` FROM inputTbl1 a join inputTbl1 b on a.key=b.key )c POSTHOOK: type: QUERY @@ -206,7 +206,7 @@ SELECT * FROM ( select key, 1 as `values` from inputTbl1 union all -select a.key as key, b.val as `values` +select a.key as key, cast(b.val as bigint) as `values` FROM inputTbl1 a join inputTbl1 b on a.key=b.key )c PREHOOK: type: QUERY @@ -217,7 +217,7 @@ SELECT * FROM ( select key, 1 as `values` from inputTbl1 union all -select a.key as key, b.val as `values` +select a.key as key, cast(b.val as bigint) as `values` FROM inputTbl1 a join inputTbl1 b on a.key=b.key )c POSTHOOK: type: QUERY http://git-wip-us.apache.org/repos/asf/hive/blob/76fe9e78/ql/src/test/results/clientpositive/union_type_chk.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/union_type_chk.q.out b/ql/src/test/results/clientpositive/union_type_chk.q.out deleted file mode 100644 index 1eb0182..0000000 --- a/ql/src/test/results/clientpositive/union_type_chk.q.out +++ /dev/null @@ -1,30 +0,0 @@ -PREHOOK: query: -- SORT_QUERY_RESULTS -select (x/sum(x) over()) as y from(select cast(1 as decimal(10,0)) as x from (select * from src limit 2)s1 union all select cast(1 as decimal(10,0)) x from (select * from src limit 2) s2 union all select '100000000' x from (select * from src limit 2) s3)u -PREHOOK: type: QUERY -PREHOOK: Input: default@src -#### A masked pattern was here #### -POSTHOOK: query: -- SORT_QUERY_RESULTS -select (x/sum(x) over()) as y from(select cast(1 as decimal(10,0)) as x from (select * from src limit 2)s1 union all select cast(1 as decimal(10,0)) x from (select * from src limit 2) s2 union all select '100000000' x from (select * from src limit 2) s3)u -POSTHOOK: type: QUERY -POSTHOOK: Input: default@src -#### A masked pattern was here #### -0.4999999900000002 -0.4999999900000002 -4.999999900000002E-9 -4.999999900000002E-9 -4.999999900000002E-9 -4.999999900000002E-9 -PREHOOK: query: select (x/sum(x) over()) as y from(select cast(1 as decimal(10,0)) as x from (select * from src limit 2)s1 union all select cast(1 as decimal(10,0)) x from (select * from src limit 2) s2 union all select cast (null as string) x from (select * from src limit 2) s3)u -PREHOOK: type: QUERY -PREHOOK: Input: default@src -#### A masked pattern was here #### -POSTHOOK: query: select (x/sum(x) over()) as y from(select cast(1 as decimal(10,0)) as x from (select * from src limit 2)s1 union all select cast(1 as decimal(10,0)) x from (select * from src limit 2) s2 union all select cast (null as string) x from (select * from src limit 2) s3)u -POSTHOOK: type: QUERY -POSTHOOK: Input: default@src -#### A masked pattern was here #### -0.25 -0.25 -0.25 -0.25 -NULL -NULL http://git-wip-us.apache.org/repos/asf/hive/blob/76fe9e78/ql/src/test/results/clientpositive/unionall_join_nullconstant.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/unionall_join_nullconstant.q.out b/ql/src/test/results/clientpositive/unionall_join_nullconstant.q.out index fca26b4..cced114 100644 --- a/ql/src/test/results/clientpositive/unionall_join_nullconstant.q.out +++ b/ql/src/test/results/clientpositive/unionall_join_nullconstant.q.out @@ -61,7 +61,7 @@ POSTHOOK: Output: default@table_b2 PREHOOK: query: CREATE VIEW a_view AS SELECT substring(a1.composite_key, 1, locate('|',a1.composite_key) - 1) AS autoname, -NULL AS col1 +cast(NULL as string) AS col1 FROM table_a1 a1 FULL OUTER JOIN table_a2 a2 ON a1.composite_key = a2.composite_key @@ -82,7 +82,7 @@ PREHOOK: Output: default@a_view POSTHOOK: query: CREATE VIEW a_view AS SELECT substring(a1.composite_key, 1, locate('|',a1.composite_key) - 1) AS autoname, -NULL AS col1 +cast(NULL as string) AS col1 FROM table_a1 a1 FULL OUTER JOIN table_a2 a2 ON a1.composite_key = a2.composite_key http://git-wip-us.apache.org/repos/asf/hive/blob/76fe9e78/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/TypeInfoUtils.java ---------------------------------------------------------------------- diff --git a/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/TypeInfoUtils.java b/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/TypeInfoUtils.java index 8f7b799..14349fa 100644 --- a/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/TypeInfoUtils.java +++ b/serde/src/java/org/apache/hadoop/hive/serde2/typeinfo/TypeInfoUtils.java @@ -874,6 +874,9 @@ public final class TypeInfoUtils { numericTypes.put(primitiveCategory, level); } + /** + * Test if it's implicitly convertible for data comparison. + */ public static boolean implicitConvertible(PrimitiveCategory from, PrimitiveCategory to) { if (from == to) { return true;