[06/50] [abbrv] hive git commit: HIVE-11493: Predicate with integer column equals double evaluates to false (Pengcheng Xiong, reviewed by Hari Sankar Sivarama Subramaniyan)
HIVE-11493: Predicate with integer column equals double evaluates to false (Pengcheng Xiong, reviewed by Hari Sankar Sivarama Subramaniyan) Project: http://git-wip-us.apache.org/repos/asf/hive/repo Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/b8f1ae11 Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/b8f1ae11 Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/b8f1ae11 Branch: refs/heads/llap Commit: b8f1ae110616a8fe162f79140c785f76be76fc67 Parents: 6e76291 Author: Pengcheng Xiong Authored: Thu Aug 13 21:01:54 2015 -0700 Committer: Pengcheng Xiong Committed: Thu Aug 13 21:02:40 2015 -0700 -- .../hive/ql/parse/TypeCheckProcFactory.java | 2 +- .../clientpositive/cast_tinyint_to_double.q | 7 .../clientpositive/cast_tinyint_to_double.q.out | 38 .../clientpositive/infer_const_type.q.out | 7 ++-- .../clientpositive/spark/vectorization_0.q.out | 2 +- .../spark/vectorization_short_regress.q.out | 20 +-- .../clientpositive/tez/vectorization_0.q.out| 2 +- .../tez/vectorization_short_regress.q.out | 20 +-- .../clientpositive/vectorization_0.q.out| 2 +- .../vectorization_short_regress.q.out | 20 +-- 10 files changed, 84 insertions(+), 36 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hive/blob/b8f1ae11/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java -- diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java index cd68f4e..ab5d006 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java @@ -1034,7 +1034,7 @@ public class TypeCheckProcFactory { // we'll try again to convert it to double // however, if we already tried this, or the column is NUMBER type and // the operator is EQUAL, return false due to the type mismatch - if (triedDouble || + if (triedDouble && (genericUDF instanceof GenericUDFOPEqual && !columnType.equals(serdeConstants.STRING_TYPE_NAME))) { return new ExprNodeConstantDesc(false); http://git-wip-us.apache.org/repos/asf/hive/blob/b8f1ae11/ql/src/test/queries/clientpositive/cast_tinyint_to_double.q -- diff --git a/ql/src/test/queries/clientpositive/cast_tinyint_to_double.q b/ql/src/test/queries/clientpositive/cast_tinyint_to_double.q new file mode 100644 index 000..59c5e89 --- /dev/null +++ b/ql/src/test/queries/clientpositive/cast_tinyint_to_double.q @@ -0,0 +1,7 @@ +drop table t; +CREATE TABLE t(c tinyint); +insert overwrite table t select 10 from src limit 1; + +select * from t where c = 10.0; + +select * from t where c = -10.0; \ No newline at end of file http://git-wip-us.apache.org/repos/asf/hive/blob/b8f1ae11/ql/src/test/results/clientpositive/cast_tinyint_to_double.q.out -- diff --git a/ql/src/test/results/clientpositive/cast_tinyint_to_double.q.out b/ql/src/test/results/clientpositive/cast_tinyint_to_double.q.out new file mode 100644 index 000..c29df65 --- /dev/null +++ b/ql/src/test/results/clientpositive/cast_tinyint_to_double.q.out @@ -0,0 +1,38 @@ +PREHOOK: query: drop table t +PREHOOK: type: DROPTABLE +POSTHOOK: query: drop table t +POSTHOOK: type: DROPTABLE +PREHOOK: query: CREATE TABLE t(c tinyint) +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@t +POSTHOOK: query: CREATE TABLE t(c tinyint) +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@t +PREHOOK: query: insert overwrite table t select 10 from src limit 1 +PREHOOK: type: QUERY +PREHOOK: Input: default@src +PREHOOK: Output: default@t +POSTHOOK: query: insert overwrite table t select 10 from src limit 1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src +POSTHOOK: Output: default@t +POSTHOOK: Lineage: t.c EXPRESSION [] +PREHOOK: query: select * from t where c = 10.0 +PREHOOK: type: QUERY +PREHOOK: Input: default@t + A masked pattern was here +POSTHOOK: query: select * from t where c = 10.0 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@t + A masked pattern was here +10 +PREHOOK: query: select * from t where c = -10.0 +PREHOOK: type: QUERY +PREHOOK: Input: default@t + A masked pattern was here +POSTHOOK: query: select * from t where c = -10.0 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@t + A masked pattern was here http://git-wip-us.apache.org/repos/asf/hive/blob/b8f1ae11
[30/50] [abbrv] hive git commit: HIVE-11493: Predicate with integer column equals double evaluates to false (Pengcheng Xiong, reviewed by Hari Sankar Sivarama Subramaniyan)
HIVE-11493: Predicate with integer column equals double evaluates to false (Pengcheng Xiong, reviewed by Hari Sankar Sivarama Subramaniyan) Project: http://git-wip-us.apache.org/repos/asf/hive/repo Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/b8f1ae11 Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/b8f1ae11 Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/b8f1ae11 Branch: refs/heads/hbase-metastore Commit: b8f1ae110616a8fe162f79140c785f76be76fc67 Parents: 6e76291 Author: Pengcheng Xiong Authored: Thu Aug 13 21:01:54 2015 -0700 Committer: Pengcheng Xiong Committed: Thu Aug 13 21:02:40 2015 -0700 -- .../hive/ql/parse/TypeCheckProcFactory.java | 2 +- .../clientpositive/cast_tinyint_to_double.q | 7 .../clientpositive/cast_tinyint_to_double.q.out | 38 .../clientpositive/infer_const_type.q.out | 7 ++-- .../clientpositive/spark/vectorization_0.q.out | 2 +- .../spark/vectorization_short_regress.q.out | 20 +-- .../clientpositive/tez/vectorization_0.q.out| 2 +- .../tez/vectorization_short_regress.q.out | 20 +-- .../clientpositive/vectorization_0.q.out| 2 +- .../vectorization_short_regress.q.out | 20 +-- 10 files changed, 84 insertions(+), 36 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hive/blob/b8f1ae11/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java -- diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java index cd68f4e..ab5d006 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java @@ -1034,7 +1034,7 @@ public class TypeCheckProcFactory { // we'll try again to convert it to double // however, if we already tried this, or the column is NUMBER type and // the operator is EQUAL, return false due to the type mismatch - if (triedDouble || + if (triedDouble && (genericUDF instanceof GenericUDFOPEqual && !columnType.equals(serdeConstants.STRING_TYPE_NAME))) { return new ExprNodeConstantDesc(false); http://git-wip-us.apache.org/repos/asf/hive/blob/b8f1ae11/ql/src/test/queries/clientpositive/cast_tinyint_to_double.q -- diff --git a/ql/src/test/queries/clientpositive/cast_tinyint_to_double.q b/ql/src/test/queries/clientpositive/cast_tinyint_to_double.q new file mode 100644 index 000..59c5e89 --- /dev/null +++ b/ql/src/test/queries/clientpositive/cast_tinyint_to_double.q @@ -0,0 +1,7 @@ +drop table t; +CREATE TABLE t(c tinyint); +insert overwrite table t select 10 from src limit 1; + +select * from t where c = 10.0; + +select * from t where c = -10.0; \ No newline at end of file http://git-wip-us.apache.org/repos/asf/hive/blob/b8f1ae11/ql/src/test/results/clientpositive/cast_tinyint_to_double.q.out -- diff --git a/ql/src/test/results/clientpositive/cast_tinyint_to_double.q.out b/ql/src/test/results/clientpositive/cast_tinyint_to_double.q.out new file mode 100644 index 000..c29df65 --- /dev/null +++ b/ql/src/test/results/clientpositive/cast_tinyint_to_double.q.out @@ -0,0 +1,38 @@ +PREHOOK: query: drop table t +PREHOOK: type: DROPTABLE +POSTHOOK: query: drop table t +POSTHOOK: type: DROPTABLE +PREHOOK: query: CREATE TABLE t(c tinyint) +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@t +POSTHOOK: query: CREATE TABLE t(c tinyint) +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@t +PREHOOK: query: insert overwrite table t select 10 from src limit 1 +PREHOOK: type: QUERY +PREHOOK: Input: default@src +PREHOOK: Output: default@t +POSTHOOK: query: insert overwrite table t select 10 from src limit 1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src +POSTHOOK: Output: default@t +POSTHOOK: Lineage: t.c EXPRESSION [] +PREHOOK: query: select * from t where c = 10.0 +PREHOOK: type: QUERY +PREHOOK: Input: default@t + A masked pattern was here +POSTHOOK: query: select * from t where c = 10.0 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@t + A masked pattern was here +10 +PREHOOK: query: select * from t where c = -10.0 +PREHOOK: type: QUERY +PREHOOK: Input: default@t + A masked pattern was here +POSTHOOK: query: select * from t where c = -10.0 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@t + A masked pattern was here http://git-wip-us.apache.org/repos/asf/hive/bl
hive git commit: HIVE-11493: Predicate with integer column equals double evaluates to false (Pengcheng Xiong, reviewed by Hari Sankar Sivarama Subramaniyan)
Repository: hive Updated Branches: refs/heads/master 6e7629193 -> b8f1ae110 HIVE-11493: Predicate with integer column equals double evaluates to false (Pengcheng Xiong, reviewed by Hari Sankar Sivarama Subramaniyan) Project: http://git-wip-us.apache.org/repos/asf/hive/repo Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/b8f1ae11 Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/b8f1ae11 Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/b8f1ae11 Branch: refs/heads/master Commit: b8f1ae110616a8fe162f79140c785f76be76fc67 Parents: 6e76291 Author: Pengcheng Xiong Authored: Thu Aug 13 21:01:54 2015 -0700 Committer: Pengcheng Xiong Committed: Thu Aug 13 21:02:40 2015 -0700 -- .../hive/ql/parse/TypeCheckProcFactory.java | 2 +- .../clientpositive/cast_tinyint_to_double.q | 7 .../clientpositive/cast_tinyint_to_double.q.out | 38 .../clientpositive/infer_const_type.q.out | 7 ++-- .../clientpositive/spark/vectorization_0.q.out | 2 +- .../spark/vectorization_short_regress.q.out | 20 +-- .../clientpositive/tez/vectorization_0.q.out| 2 +- .../tez/vectorization_short_regress.q.out | 20 +-- .../clientpositive/vectorization_0.q.out| 2 +- .../vectorization_short_regress.q.out | 20 +-- 10 files changed, 84 insertions(+), 36 deletions(-) -- http://git-wip-us.apache.org/repos/asf/hive/blob/b8f1ae11/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java -- diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java index cd68f4e..ab5d006 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/TypeCheckProcFactory.java @@ -1034,7 +1034,7 @@ public class TypeCheckProcFactory { // we'll try again to convert it to double // however, if we already tried this, or the column is NUMBER type and // the operator is EQUAL, return false due to the type mismatch - if (triedDouble || + if (triedDouble && (genericUDF instanceof GenericUDFOPEqual && !columnType.equals(serdeConstants.STRING_TYPE_NAME))) { return new ExprNodeConstantDesc(false); http://git-wip-us.apache.org/repos/asf/hive/blob/b8f1ae11/ql/src/test/queries/clientpositive/cast_tinyint_to_double.q -- diff --git a/ql/src/test/queries/clientpositive/cast_tinyint_to_double.q b/ql/src/test/queries/clientpositive/cast_tinyint_to_double.q new file mode 100644 index 000..59c5e89 --- /dev/null +++ b/ql/src/test/queries/clientpositive/cast_tinyint_to_double.q @@ -0,0 +1,7 @@ +drop table t; +CREATE TABLE t(c tinyint); +insert overwrite table t select 10 from src limit 1; + +select * from t where c = 10.0; + +select * from t where c = -10.0; \ No newline at end of file http://git-wip-us.apache.org/repos/asf/hive/blob/b8f1ae11/ql/src/test/results/clientpositive/cast_tinyint_to_double.q.out -- diff --git a/ql/src/test/results/clientpositive/cast_tinyint_to_double.q.out b/ql/src/test/results/clientpositive/cast_tinyint_to_double.q.out new file mode 100644 index 000..c29df65 --- /dev/null +++ b/ql/src/test/results/clientpositive/cast_tinyint_to_double.q.out @@ -0,0 +1,38 @@ +PREHOOK: query: drop table t +PREHOOK: type: DROPTABLE +POSTHOOK: query: drop table t +POSTHOOK: type: DROPTABLE +PREHOOK: query: CREATE TABLE t(c tinyint) +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@t +POSTHOOK: query: CREATE TABLE t(c tinyint) +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@t +PREHOOK: query: insert overwrite table t select 10 from src limit 1 +PREHOOK: type: QUERY +PREHOOK: Input: default@src +PREHOOK: Output: default@t +POSTHOOK: query: insert overwrite table t select 10 from src limit 1 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@src +POSTHOOK: Output: default@t +POSTHOOK: Lineage: t.c EXPRESSION [] +PREHOOK: query: select * from t where c = 10.0 +PREHOOK: type: QUERY +PREHOOK: Input: default@t + A masked pattern was here +POSTHOOK: query: select * from t where c = 10.0 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@t + A masked pattern was here +10 +PREHOOK: query: select * from t where c = -10.0 +PREHOOK: type: QUERY +PREHOOK: Input: default@t + A masked pattern was here +POSTHOOK: query: select * from t where c = -10.0 +POSTHOOK: type: QUERY +POSTHOOK: Input: default@t + A maske