This is an automated email from the ASF dual-hosted git repository. sankarh pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/hive.git
The following commit(s) were added to refs/heads/master by this push: new b975e12 HIVE-21540: Query with join condition having date literal throws SemanticException (Sankar Hariappan, reviewed by Zoltan Haindrich) b975e12 is described below commit b975e12c9a44e674c874810606094d8eba6d7a6c Author: Sankar Hariappan <sank...@apache.org> AuthorDate: Mon Apr 1 15:33:19 2019 +0530 HIVE-21540: Query with join condition having date literal throws SemanticException (Sankar Hariappan, reviewed by Zoltan Haindrich) Signed-off-by: Sankar Hariappan <sank...@apache.org> --- .../hadoop/hive/ql/parse/SemanticAnalyzer.java | 1 + ql/src/test/queries/clientpositive/date_5.q | 15 ++++++ ql/src/test/results/clientpositive/date_5.q.out | 58 ++++++++++++++++++++++ 3 files changed, 74 insertions(+) diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java index 1e79f32..767147b 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticAnalyzer.java @@ -2710,6 +2710,7 @@ public class SemanticAnalyzer extends BaseSemanticAnalyzer { case HiveParser.TOK_CHARSETLITERAL: case HiveParser.KW_TRUE: case HiveParser.KW_FALSE: + case HiveParser.TOK_DATELITERAL: case HiveParser.TOK_INTERVAL_DAY_LITERAL: case HiveParser.TOK_INTERVAL_DAY_TIME: case HiveParser.TOK_INTERVAL_DAY_TIME_LITERAL: diff --git a/ql/src/test/queries/clientpositive/date_5.q b/ql/src/test/queries/clientpositive/date_5.q new file mode 100644 index 0000000..55fb130 --- /dev/null +++ b/ql/src/test/queries/clientpositive/date_5.q @@ -0,0 +1,15 @@ +drop table if exists date_1; +drop table if exists date_2; + +create table date_1 (key int, dd date); +create table date_2 (key int, dd date); + +-- between clause with date literal in join condition +select d1.key, d2.dd + from (select key, dd as start_dd, current_date as end_dd from date_1) d1 + join date_2 as d2 + on d1.key = d2.key + where d2.dd between start_dd and end_dd; + +drop table date_1; +drop table date_2; \ No newline at end of file diff --git a/ql/src/test/results/clientpositive/date_5.q.out b/ql/src/test/results/clientpositive/date_5.q.out new file mode 100644 index 0000000..3ada616 --- /dev/null +++ b/ql/src/test/results/clientpositive/date_5.q.out @@ -0,0 +1,58 @@ +PREHOOK: query: drop table if exists date_1 +PREHOOK: type: DROPTABLE +POSTHOOK: query: drop table if exists date_1 +POSTHOOK: type: DROPTABLE +PREHOOK: query: drop table if exists date_2 +PREHOOK: type: DROPTABLE +POSTHOOK: query: drop table if exists date_2 +POSTHOOK: type: DROPTABLE +PREHOOK: query: create table date_1 (key int, dd date) +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@date_1 +POSTHOOK: query: create table date_1 (key int, dd date) +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@date_1 +PREHOOK: query: create table date_2 (key int, dd date) +PREHOOK: type: CREATETABLE +PREHOOK: Output: database:default +PREHOOK: Output: default@date_2 +POSTHOOK: query: create table date_2 (key int, dd date) +POSTHOOK: type: CREATETABLE +POSTHOOK: Output: database:default +POSTHOOK: Output: default@date_2 +PREHOOK: query: select d1.key, d2.dd + from (select key, dd as start_dd, current_date as end_dd from date_1) d1 + join date_2 as d2 + on d1.key = d2.key + where d2.dd between start_dd and end_dd +PREHOOK: type: QUERY +PREHOOK: Input: default@date_1 +PREHOOK: Input: default@date_2 +#### A masked pattern was here #### +POSTHOOK: query: select d1.key, d2.dd + from (select key, dd as start_dd, current_date as end_dd from date_1) d1 + join date_2 as d2 + on d1.key = d2.key + where d2.dd between start_dd and end_dd +POSTHOOK: type: QUERY +POSTHOOK: Input: default@date_1 +POSTHOOK: Input: default@date_2 +#### A masked pattern was here #### +PREHOOK: query: drop table date_1 +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@date_1 +PREHOOK: Output: default@date_1 +POSTHOOK: query: drop table date_1 +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@date_1 +POSTHOOK: Output: default@date_1 +PREHOOK: query: drop table date_2 +PREHOOK: type: DROPTABLE +PREHOOK: Input: default@date_2 +PREHOOK: Output: default@date_2 +POSTHOOK: query: drop table date_2 +POSTHOOK: type: DROPTABLE +POSTHOOK: Input: default@date_2 +POSTHOOK: Output: default@date_2