You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by vl...@apache.org on 2018/09/05 13:41:54 UTC
[7/9] calcite git commit: [CALCITE-2475] SqlAdvisor: support MINUS
[CALCITE-2475] SqlAdvisor: support MINUS
Project: http://git-wip-us.apache.org/repos/asf/calcite/repo
Commit: http://git-wip-us.apache.org/repos/asf/calcite/commit/4afea52a
Tree: http://git-wip-us.apache.org/repos/asf/calcite/tree/4afea52a
Diff: http://git-wip-us.apache.org/repos/asf/calcite/diff/4afea52a
Branch: refs/heads/master
Commit: 4afea52a7d50a188cd7b740deea6545013796690
Parents: 14a98e9
Author: Vladimir Sitnikov <si...@gmail.com>
Authored: Sun Aug 19 18:02:02 2018 +0300
Committer: Vladimir Sitnikov <si...@gmail.com>
Committed: Wed Sep 5 15:24:24 2018 +0300
----------------------------------------------------------------------
.../java/org/apache/calcite/sql/advise/SqlSimpleParser.java | 4 +++-
.../java/org/apache/calcite/sql/test/SqlAdvisorTest.java | 9 +++++++++
2 files changed, 12 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/calcite/blob/4afea52a/core/src/main/java/org/apache/calcite/sql/advise/SqlSimpleParser.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/sql/advise/SqlSimpleParser.java b/core/src/main/java/org/apache/calcite/sql/advise/SqlSimpleParser.java
index 28b66e3..7324a8f 100644
--- a/core/src/main/java/org/apache/calcite/sql/advise/SqlSimpleParser.java
+++ b/core/src/main/java/org/apache/calcite/sql/advise/SqlSimpleParser.java
@@ -38,7 +38,7 @@ public class SqlSimpleParser {
// keywords
SELECT, FROM, JOIN, ON, USING, WHERE, GROUP, HAVING, ORDER, BY,
- UNION, INTERSECT, EXCEPT,
+ UNION, INTERSECT, EXCEPT, MINUS,
/**
* left parenthesis
@@ -191,6 +191,7 @@ public class SqlSimpleParser {
case UNION:
case INTERSECT:
case EXCEPT:
+ case MINUS:
outList.add(token);
if (iter.hasNext()) {
token = iter.next();
@@ -236,6 +237,7 @@ public class SqlSimpleParser {
case UNION:
case INTERSECT:
case EXCEPT:
+ case MINUS:
subQueryList.remove(subQueryList.size() - 1);
iter.previous();
break loop;
http://git-wip-us.apache.org/repos/asf/calcite/blob/4afea52a/core/src/test/java/org/apache/calcite/sql/test/SqlAdvisorTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/calcite/sql/test/SqlAdvisorTest.java b/core/src/test/java/org/apache/calcite/sql/test/SqlAdvisorTest.java
index 8734bcd..fa6edf6 100644
--- a/core/src/test/java/org/apache/calcite/sql/test/SqlAdvisorTest.java
+++ b/core/src/test/java/org/apache/calcite/sql/test/SqlAdvisorTest.java
@@ -661,6 +661,15 @@ public class SqlAdvisorTest extends SqlValidatorTestCase {
assertComplete(sql, list);
}
+ @Test public void testSimlifyMinus() {
+ String sql;
+ sql = "select ^ from dummy a minus select * from dummy b";
+ assertSimplify(sql, "SELECT _suggest_ FROM dummy a");
+
+ sql = "select * from dummy a minus select ^ from dummy b";
+ assertSimplify(sql, "SELECT _suggest_ FROM dummy b");
+ }
+
@Test public void testOnCondition() throws Exception {
String sql;