You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by da...@apache.org on 2020/05/07 05:48:32 UTC

[calcite] branch master updated: [CALCITE-3973] Hints should not unparse as enclosed in parentheses (Alex Baden)

This is an automated email from the ASF dual-hosted git repository.

danny0405 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/calcite.git


The following commit(s) were added to refs/heads/master by this push:
     new 22fca8e  [CALCITE-3973] Hints should not unparse as enclosed in parentheses (Alex Baden)
22fca8e is described below

commit 22fca8e43d62ffae12b7d7e1a50438f257ac88b3
Author: Alex Baden <al...@gmail.com>
AuthorDate: Wed May 6 00:05:14 2020 -0600

    [CALCITE-3973] Hints should not unparse as enclosed in parentheses (Alex Baden)
    
    close apache/calcite#1961
---
 core/src/main/java/org/apache/calcite/sql/SqlSelectOperator.java  | 2 +-
 .../test/java/org/apache/calcite/sql/parser/SqlParserTest.java    | 8 ++++++++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/core/src/main/java/org/apache/calcite/sql/SqlSelectOperator.java b/core/src/main/java/org/apache/calcite/sql/SqlSelectOperator.java
index f55072c..5d12b71 100644
--- a/core/src/main/java/org/apache/calcite/sql/SqlSelectOperator.java
+++ b/core/src/main/java/org/apache/calcite/sql/SqlSelectOperator.java
@@ -147,7 +147,7 @@ public class SqlSelectOperator extends SqlOperator {
 
     if (select.hasHints()) {
       writer.sep("/*+");
-      select.hints.unparse(writer, leftPrec, rightPrec);
+      select.hints.unparse(writer, 0, 0);
       writer.print("*/");
       writer.newlineAndIndent();
     }
diff --git a/core/src/test/java/org/apache/calcite/sql/parser/SqlParserTest.java b/core/src/test/java/org/apache/calcite/sql/parser/SqlParserTest.java
index fa31a6d..21b664f 100644
--- a/core/src/test/java/org/apache/calcite/sql/parser/SqlParserTest.java
+++ b/core/src/test/java/org/apache/calcite/sql/parser/SqlParserTest.java
@@ -8664,6 +8664,14 @@ public class SqlParserTest {
         + "`EMPNO`\n"
         + "FROM `EMPS`";
     sql(sql2).ok(expected2);
+    // Hint item without parentheses
+    final String sql3 = "select /*+ simple_hint */ empno, ename, deptno from emps limit 2";
+    final String expected3 = "SELECT\n"
+        + "/*+ `SIMPLE_HINT` */\n"
+        + "`EMPNO`, `ENAME`, `DEPTNO`\n"
+        + "FROM `EMPS`\n"
+        + "FETCH NEXT 2 ROWS ONLY";
+    sql(sql3).ok(expected3);
   }
 
   @Test void testTableHintsInQuery() {