Repository: hive Updated Branches: refs/heads/master 0a62507c9 -> 7e64114dd
http://git-wip-us.apache.org/repos/asf/hive/blob/7e64114d/ql/src/test/results/clientpositive/vector_udf_string_to_boolean.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/vector_udf_string_to_boolean.q.out b/ql/src/test/results/clientpositive/vector_udf_string_to_boolean.q.out index 1b06698..1761b5a 100644 --- a/ql/src/test/results/clientpositive/vector_udf_string_to_boolean.q.out +++ b/ql/src/test/results/clientpositive/vector_udf_string_to_boolean.q.out @@ -8,88 +8,112 @@ POSTHOOK: Output: database:default POSTHOOK: Output: default@t PREHOOK: query: insert into t values ('false') PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table PREHOOK: Output: default@t POSTHOOK: query: insert into t values ('false') POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table POSTHOOK: Output: default@t -POSTHOOK: Lineage: t.s SIMPLE [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: t.s SCRIPT [] PREHOOK: query: insert into t values ('FALSE') PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table PREHOOK: Output: default@t POSTHOOK: query: insert into t values ('FALSE') POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table POSTHOOK: Output: default@t -POSTHOOK: Lineage: t.s SIMPLE [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: t.s SCRIPT [] PREHOOK: query: insert into t values ('FaLsE') PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table PREHOOK: Output: default@t POSTHOOK: query: insert into t values ('FaLsE') POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table POSTHOOK: Output: default@t -POSTHOOK: Lineage: t.s SIMPLE [(values__tmp__table__3)values__tmp__table__3.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: t.s SCRIPT [] PREHOOK: query: insert into t values ('true') PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table PREHOOK: Output: default@t POSTHOOK: query: insert into t values ('true') POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table POSTHOOK: Output: default@t -POSTHOOK: Lineage: t.s SIMPLE [(values__tmp__table__4)values__tmp__table__4.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: t.s SCRIPT [] PREHOOK: query: insert into t values ('TRUE') PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table PREHOOK: Output: default@t POSTHOOK: query: insert into t values ('TRUE') POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table POSTHOOK: Output: default@t -POSTHOOK: Lineage: t.s SIMPLE [(values__tmp__table__5)values__tmp__table__5.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: t.s SCRIPT [] PREHOOK: query: insert into t values ('TrUe') PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table PREHOOK: Output: default@t POSTHOOK: query: insert into t values ('TrUe') POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table POSTHOOK: Output: default@t -POSTHOOK: Lineage: t.s SIMPLE [(values__tmp__table__6)values__tmp__table__6.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: t.s SCRIPT [] PREHOOK: query: insert into t values ('') PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table PREHOOK: Output: default@t POSTHOOK: query: insert into t values ('') POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table POSTHOOK: Output: default@t -POSTHOOK: Lineage: t.s SIMPLE [(values__tmp__table__7)values__tmp__table__7.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: t.s SCRIPT [] PREHOOK: query: insert into t values ('Other') PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table PREHOOK: Output: default@t POSTHOOK: query: insert into t values ('Other') POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table POSTHOOK: Output: default@t -POSTHOOK: Lineage: t.s SIMPLE [(values__tmp__table__8)values__tmp__table__8.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: t.s SCRIPT [] PREHOOK: query: insert into t values ('Off') PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table PREHOOK: Output: default@t POSTHOOK: query: insert into t values ('Off') POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table POSTHOOK: Output: default@t -POSTHOOK: Lineage: t.s SIMPLE [(values__tmp__table__9)values__tmp__table__9.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: t.s SCRIPT [] PREHOOK: query: insert into t values ('No') PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table PREHOOK: Output: default@t POSTHOOK: query: insert into t values ('No') POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table POSTHOOK: Output: default@t -POSTHOOK: Lineage: t.s SIMPLE [(values__tmp__table__10)values__tmp__table__10.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: t.s SCRIPT [] PREHOOK: query: insert into t values ('0') PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table PREHOOK: Output: default@t POSTHOOK: query: insert into t values ('0') POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table POSTHOOK: Output: default@t -POSTHOOK: Lineage: t.s SIMPLE [(values__tmp__table__11)values__tmp__table__11.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: t.s SCRIPT [] PREHOOK: query: insert into t values ('1') PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table PREHOOK: Output: default@t POSTHOOK: query: insert into t values ('1') POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table POSTHOOK: Output: default@t -POSTHOOK: Lineage: t.s SIMPLE [(values__tmp__table__12)values__tmp__table__12.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: t.s SCRIPT [] PREHOOK: query: explain select s,cast(s as boolean) from t order by s PREHOOK: type: QUERY POSTHOOK: query: explain select s,cast(s as boolean) from t order by s http://git-wip-us.apache.org/repos/asf/hive/blob/7e64114d/ql/src/test/results/clientpositive/vector_when_case_null.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/vector_when_case_null.q.out b/ql/src/test/results/clientpositive/vector_when_case_null.q.out index 1d1feb6..d7cc0b7 100644 --- a/ql/src/test/results/clientpositive/vector_when_case_null.q.out +++ b/ql/src/test/results/clientpositive/vector_when_case_null.q.out @@ -8,12 +8,14 @@ POSTHOOK: Output: database:default POSTHOOK: Output: default@count_case_groupby PREHOOK: query: insert into table count_case_groupby values ('key1', true),('key2', false),('key3', NULL),('key4', false),('key5',NULL) PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table PREHOOK: Output: default@count_case_groupby POSTHOOK: query: insert into table count_case_groupby values ('key1', true),('key2', false),('key3', NULL),('key4', false),('key5',NULL) POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table POSTHOOK: Output: default@count_case_groupby -POSTHOOK: Lineage: count_case_groupby.bool EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col2, type:string, comment:), ] -POSTHOOK: Lineage: count_case_groupby.key SIMPLE [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: count_case_groupby.bool SCRIPT [] +POSTHOOK: Lineage: count_case_groupby.key SCRIPT [] PREHOOK: query: explain vectorization expression SELECT key, COUNT(CASE WHEN bool THEN 1 WHEN NOT bool THEN 0 ELSE NULL END) AS cnt_bool0_ok FROM count_case_groupby GROUP BY key PREHOOK: type: QUERY http://git-wip-us.apache.org/repos/asf/hive/blob/7e64114d/ql/src/test/results/clientpositive/vectorization_parquet_projection.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/vectorization_parquet_projection.q.out b/ql/src/test/results/clientpositive/vectorization_parquet_projection.q.out index cc97d03..ade32ee 100644 --- a/ql/src/test/results/clientpositive/vectorization_parquet_projection.q.out +++ b/ql/src/test/results/clientpositive/vectorization_parquet_projection.q.out @@ -439,13 +439,15 @@ POSTHOOK: Output: default@parquet_nullsplit PREHOOK: query: insert into table parquet_nullsplit partition(len='1') values ('one', 'red') PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table PREHOOK: Output: default@parquet_nullsplit@len=1 POSTHOOK: query: insert into table parquet_nullsplit partition(len='1') values ('one', 'red') POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table POSTHOOK: Output: default@parquet_nullsplit@len=1 -POSTHOOK: Lineage: parquet_nullsplit PARTITION(len=1).key SIMPLE [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col1, type:string, comment:), ] -POSTHOOK: Lineage: parquet_nullsplit PARTITION(len=1).val SIMPLE [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +POSTHOOK: Lineage: parquet_nullsplit PARTITION(len=1).key SCRIPT [] +POSTHOOK: Lineage: parquet_nullsplit PARTITION(len=1).val SCRIPT [] PREHOOK: query: explain vectorization select count(*) from parquet_nullsplit where len = '1' PREHOOK: type: QUERY POSTHOOK: query: explain vectorization select count(*) from parquet_nullsplit where len = '1' http://git-wip-us.apache.org/repos/asf/hive/blob/7e64114d/ql/src/test/results/clientpositive/vectorized_case.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/vectorized_case.q.out b/ql/src/test/results/clientpositive/vectorized_case.q.out index 0cc7369..0489d72 100644 --- a/ql/src/test/results/clientpositive/vectorized_case.q.out +++ b/ql/src/test/results/clientpositive/vectorized_case.q.out @@ -458,12 +458,14 @@ POSTHOOK: Output: database:default POSTHOOK: Output: default@test_1 PREHOOK: query: INSERT INTO test_1 VALUES (3.0,1.0),(2.0,2.0),(1.0,3.0) PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table PREHOOK: Output: default@test_1 POSTHOOK: query: INSERT INTO test_1 VALUES (3.0,1.0),(2.0,2.0),(1.0,3.0) POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table POSTHOOK: Output: default@test_1 -POSTHOOK: Lineage: test_1.attr EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col2, type:string, comment:), ] -POSTHOOK: Lineage: test_1.member EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: test_1.attr SCRIPT [] +POSTHOOK: Lineage: test_1.member SCRIPT [] PREHOOK: query: EXPLAIN SELECT CASE WHEN member =1.0 THEN attr+1.0 ELSE attr+2.0 END FROM test_1 PREHOOK: type: QUERY @@ -615,12 +617,14 @@ POSTHOOK: Output: database:default POSTHOOK: Output: default@test_2 PREHOOK: query: INSERT INTO test_2 VALUES (3,1),(2,2),(1,3) PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table PREHOOK: Output: default@test_2 POSTHOOK: query: INSERT INTO test_2 VALUES (3,1),(2,2),(1,3) POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table POSTHOOK: Output: default@test_2 -POSTHOOK: Lineage: test_2.attr EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col2, type:string, comment:), ] -POSTHOOK: Lineage: test_2.member EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: test_2.attr SCRIPT [] +POSTHOOK: Lineage: test_2.member SCRIPT [] PREHOOK: query: EXPLAIN SELECT CASE WHEN member=1 THEN attr+1 else attr+2 END FROM test_2 PREHOOK: type: QUERY http://git-wip-us.apache.org/repos/asf/hive/blob/7e64114d/ql/src/test/results/clientpositive/vectorized_mapjoin2.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/vectorized_mapjoin2.q.out b/ql/src/test/results/clientpositive/vectorized_mapjoin2.q.out index 3f79d2b..e9a0e45 100644 --- a/ql/src/test/results/clientpositive/vectorized_mapjoin2.q.out +++ b/ql/src/test/results/clientpositive/vectorized_mapjoin2.q.out @@ -16,18 +16,22 @@ POSTHOOK: Output: database:default POSTHOOK: Output: default@y PREHOOK: query: insert into x values(1) PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table PREHOOK: Output: default@x POSTHOOK: query: insert into x values(1) POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table POSTHOOK: Output: default@x -POSTHOOK: Lineage: x.a EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: x.a SCRIPT [] PREHOOK: query: insert into y values(1) PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table PREHOOK: Output: default@y POSTHOOK: query: insert into y values(1) POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table POSTHOOK: Output: default@y -POSTHOOK: Lineage: y.b EXPRESSION [(values__tmp__table__2)values__tmp__table__2.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: y.b SCRIPT [] PREHOOK: query: explain vectorization expression select count(1) from x, y where a = b PREHOOK: type: QUERY http://git-wip-us.apache.org/repos/asf/hive/blob/7e64114d/ql/src/test/results/clientpositive/vectorized_timestamp.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/vectorized_timestamp.q.out b/ql/src/test/results/clientpositive/vectorized_timestamp.q.out index 1e0ff1a..6c49e03 100644 --- a/ql/src/test/results/clientpositive/vectorized_timestamp.q.out +++ b/ql/src/test/results/clientpositive/vectorized_timestamp.q.out @@ -12,11 +12,13 @@ POSTHOOK: Output: database:default POSTHOOK: Output: default@test PREHOOK: query: INSERT INTO TABLE test VALUES ('0001-01-01 00:00:00.000000000'), ('9999-12-31 23:59:59.999999999') PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table PREHOOK: Output: default@test POSTHOOK: query: INSERT INTO TABLE test VALUES ('0001-01-01 00:00:00.000000000'), ('9999-12-31 23:59:59.999999999') POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table POSTHOOK: Output: default@test -POSTHOOK: Lineage: test.ts EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col1, type:string, comment:), ] +POSTHOOK: Lineage: test.ts SCRIPT [] PREHOOK: query: EXPLAIN VECTORIZATION DETAIL SELECT ts FROM test PREHOOK: type: QUERY http://git-wip-us.apache.org/repos/asf/hive/blob/7e64114d/ql/src/test/results/clientpositive/windowing_windowspec4.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/clientpositive/windowing_windowspec4.q.out b/ql/src/test/results/clientpositive/windowing_windowspec4.q.out index 3a498b4..b668047 100644 --- a/ql/src/test/results/clientpositive/windowing_windowspec4.q.out +++ b/ql/src/test/results/clientpositive/windowing_windowspec4.q.out @@ -16,12 +16,14 @@ POSTHOOK: Output: database:default POSTHOOK: Output: default@smalltable_windowing PREHOOK: query: insert into smalltable_windowing values(3, 'a'), (1, 'a'), (2, 'a') PREHOOK: type: QUERY +PREHOOK: Input: _dummy_database@_dummy_table PREHOOK: Output: default@smalltable_windowing POSTHOOK: query: insert into smalltable_windowing values(3, 'a'), (1, 'a'), (2, 'a') POSTHOOK: type: QUERY +POSTHOOK: Input: _dummy_database@_dummy_table POSTHOOK: Output: default@smalltable_windowing -POSTHOOK: Lineage: smalltable_windowing.i EXPRESSION [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col1, type:string, comment:), ] -POSTHOOK: Lineage: smalltable_windowing.type SIMPLE [(values__tmp__table__1)values__tmp__table__1.FieldSchema(name:tmp_values_col2, type:string, comment:), ] +POSTHOOK: Lineage: smalltable_windowing.i SCRIPT [] +POSTHOOK: Lineage: smalltable_windowing.type SCRIPT [] PREHOOK: query: select type, i, max(i) over (partition by type order by i rows between 1 preceding and 7 following), min(i) over (partition by type order by i rows between 1 preceding and 7 following), http://git-wip-us.apache.org/repos/asf/hive/blob/7e64114d/ql/src/test/results/compiler/errors/wrong_distinct2.q.out ---------------------------------------------------------------------- diff --git a/ql/src/test/results/compiler/errors/wrong_distinct2.q.out b/ql/src/test/results/compiler/errors/wrong_distinct2.q.out index f6fc374..6a492d2 100644 --- a/ql/src/test/results/compiler/errors/wrong_distinct2.q.out +++ b/ql/src/test/results/compiler/errors/wrong_distinct2.q.out @@ -1 +1 @@ -Parse Error: line 2:45 cannot recognize input near 'DISTINCT' 'substr' '(' in selection target \ No newline at end of file +Parse Error: line 2:45 cannot recognize input near ',' 'DISTINCT' 'substr' in lateral view \ No newline at end of file http://git-wip-us.apache.org/repos/asf/hive/blob/7e64114d/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorConverters.java ---------------------------------------------------------------------- diff --git a/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorConverters.java b/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorConverters.java index faa0a1f..4c01d6a 100644 --- a/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorConverters.java +++ b/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorConverters.java @@ -45,6 +45,7 @@ import org.apache.hadoop.hive.serde2.objectinspector.primitive.SettableTimestamp import org.apache.hadoop.hive.serde2.objectinspector.primitive.SettableTimestampLocalTZObjectInspector; import org.apache.hadoop.hive.serde2.objectinspector.primitive.VoidObjectInspector; import org.apache.hadoop.hive.serde2.objectinspector.primitive.WritableStringObjectInspector; +import org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo; /** * ObjectInspectorConverters. @@ -75,6 +76,12 @@ public final class ObjectInspectorConverters { private static Converter getConverter(PrimitiveObjectInspector inputOI, PrimitiveObjectInspector outputOI) { switch (outputOI.getPrimitiveCategory()) { + case VOID: + if (!outputOI.getTypeInfo().equals(inputOI.getTypeInfo())) { + throw new RuntimeException("Hive internal error: conversion of " + + inputOI.getTypeName() + " to void not possible."); + } + return new IdentityConverter(); case BOOLEAN: return new PrimitiveObjectInspectorConverter.BooleanConverter( inputOI,
