Repository: hive Updated Branches: refs/heads/master e92df8dd6 -> 4d03e31d3
HIVE-21082: In HPL/SQL, declare statement does not support variable of type character (Baoning He, reviewed by Daniel Dai) Signed-off-by: Daniel Dai <dai...@gmail.com> Project: http://git-wip-us.apache.org/repos/asf/hive/repo Commit: http://git-wip-us.apache.org/repos/asf/hive/commit/4d03e31d Tree: http://git-wip-us.apache.org/repos/asf/hive/tree/4d03e31d Diff: http://git-wip-us.apache.org/repos/asf/hive/diff/4d03e31d Branch: refs/heads/master Commit: 4d03e31d353121beccb6031e4a0d19d9d865e404 Parents: e92df8d Author: Daniel Dai <dai...@gmail.com> Authored: Wed Jan 9 10:35:42 2019 -0800 Committer: Daniel Dai <dai...@gmail.com> Committed: Wed Jan 9 10:36:10 2019 -0800 ---------------------------------------------------------------------- hplsql/src/main/antlr4/org/apache/hive/hplsql/Hplsql.g4 | 1 + hplsql/src/main/java/org/apache/hive/hplsql/Var.java | 2 +- .../src/test/java/org/apache/hive/hplsql/TestHplsqlLocal.java | 5 +++++ hplsql/src/test/queries/local/declare4.sql | 7 +++++++ hplsql/src/test/results/local/declare4.out.txt | 6 ++++++ 5 files changed, 20 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hive/blob/4d03e31d/hplsql/src/main/antlr4/org/apache/hive/hplsql/Hplsql.g4 ---------------------------------------------------------------------- diff --git a/hplsql/src/main/antlr4/org/apache/hive/hplsql/Hplsql.g4 b/hplsql/src/main/antlr4/org/apache/hive/hplsql/Hplsql.g4 index 9dd898e..186b617 100644 --- a/hplsql/src/main/antlr4/org/apache/hive/hplsql/Hplsql.g4 +++ b/hplsql/src/main/antlr4/org/apache/hive/hplsql/Hplsql.g4 @@ -363,6 +363,7 @@ alter_table_add_constraint_item : dtype : // Data types T_CHAR + | T_CHARACTER | T_BIGINT | T_BINARY_DOUBLE | T_BINARY_FLOAT http://git-wip-us.apache.org/repos/asf/hive/blob/4d03e31d/hplsql/src/main/java/org/apache/hive/hplsql/Var.java ---------------------------------------------------------------------- diff --git a/hplsql/src/main/java/org/apache/hive/hplsql/Var.java b/hplsql/src/main/java/org/apache/hive/hplsql/Var.java index 2421c60..a117cb6 100644 --- a/hplsql/src/main/java/org/apache/hive/hplsql/Var.java +++ b/hplsql/src/main/java/org/apache/hive/hplsql/Var.java @@ -327,7 +327,7 @@ public class Var { return Type.BIGINT; } else if (type.equalsIgnoreCase("CHAR") || type.equalsIgnoreCase("VARCHAR") || type.equalsIgnoreCase("VARCHAR2") || - type.equalsIgnoreCase("STRING") || type.equalsIgnoreCase("XML")) { + type.equalsIgnoreCase("STRING") || type.equalsIgnoreCase("XML") || type.equalsIgnoreCase("CHARACTER")) { return Type.STRING; } else if (type.equalsIgnoreCase("DEC") || type.equalsIgnoreCase("DECIMAL") || type.equalsIgnoreCase("NUMERIC") || http://git-wip-us.apache.org/repos/asf/hive/blob/4d03e31d/hplsql/src/test/java/org/apache/hive/hplsql/TestHplsqlLocal.java ---------------------------------------------------------------------- diff --git a/hplsql/src/test/java/org/apache/hive/hplsql/TestHplsqlLocal.java b/hplsql/src/test/java/org/apache/hive/hplsql/TestHplsqlLocal.java index cac2f8b..cd0e938 100644 --- a/hplsql/src/test/java/org/apache/hive/hplsql/TestHplsqlLocal.java +++ b/hplsql/src/test/java/org/apache/hive/hplsql/TestHplsqlLocal.java @@ -182,6 +182,11 @@ public class TestHplsqlLocal { public void testDeclare3() throws Exception { run("declare3"); } + + @Test + public void testDeclare4() throws Exception { + run("declare4"); + } @Test public void testDeclareCondition() throws Exception { http://git-wip-us.apache.org/repos/asf/hive/blob/4d03e31d/hplsql/src/test/queries/local/declare4.sql ---------------------------------------------------------------------- diff --git a/hplsql/src/test/queries/local/declare4.sql b/hplsql/src/test/queries/local/declare4.sql new file mode 100644 index 0000000..8928292 --- /dev/null +++ b/hplsql/src/test/queries/local/declare4.sql @@ -0,0 +1,7 @@ +declare + code character(10) not null := 'a'; + code1 character not null := 'ab'; +begin + print code; + print code1; +end; \ No newline at end of file http://git-wip-us.apache.org/repos/asf/hive/blob/4d03e31d/hplsql/src/test/results/local/declare4.out.txt ---------------------------------------------------------------------- diff --git a/hplsql/src/test/results/local/declare4.out.txt b/hplsql/src/test/results/local/declare4.out.txt new file mode 100644 index 0000000..5f9dcc2 --- /dev/null +++ b/hplsql/src/test/results/local/declare4.out.txt @@ -0,0 +1,6 @@ +Ln:2 DECLARE code character = 'a' +Ln:3 DECLARE code1 character = 'ab' +Ln:5 PRINT +a +Ln:6 PRINT +ab \ No newline at end of file