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

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


The following commit(s) were added to refs/heads/main by this push:
     new 67bfe8bbe1 [CALCITE-6969] Support ClickHouse in SqlLibrary
67bfe8bbe1 is described below

commit 67bfe8bbe1eab70021aebd9b4c0dfcc5d2dec12a
Author: Yu Xu <[email protected]>
AuthorDate: Fri Apr 18 17:11:41 2025 +0800

    [CALCITE-6969] Support ClickHouse in SqlLibrary
---
 core/src/main/java/org/apache/calcite/sql/fun/SqlLibrary.java | 7 +++++--
 core/src/test/java/org/apache/calcite/util/UtilTest.java      | 8 ++++----
 site/_docs/reference.md                                       | 1 +
 3 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/core/src/main/java/org/apache/calcite/sql/fun/SqlLibrary.java 
b/core/src/main/java/org/apache/calcite/sql/fun/SqlLibrary.java
index ef889928d5..2bdb1e8535 100644
--- a/core/src/main/java/org/apache/calcite/sql/fun/SqlLibrary.java
+++ b/core/src/main/java/org/apache/calcite/sql/fun/SqlLibrary.java
@@ -85,7 +85,10 @@ public enum SqlLibrary {
   SNOWFLAKE("f", "snowflake"),
   /** A collection of operators that are in Apache Spark but not in standard
    * SQL. */
-  SPARK("s", "spark");
+  SPARK("s", "spark"),
+  /** A collection of operators that are in ClickHouse but not in standard
+   * SQL. */
+  CLICKHOUSE("i", "clickhouse");
 
   /** Map from {@link Enum#name() name} and {@link #fun} to library. */
   public static final Map<String, SqlLibrary> MAP;
@@ -120,7 +123,7 @@ public List<SqlLibrary> children() {
     switch (this) {
     case ALL:
       return ImmutableList.of(BIG_QUERY, CALCITE, HIVE, MSSQL, MYSQL, ORACLE,
-          POSTGRESQL, REDSHIFT, SNOWFLAKE, SPARK);
+          POSTGRESQL, REDSHIFT, SNOWFLAKE, SPARK, CLICKHOUSE);
     default:
       return ImmutableList.of();
     }
diff --git a/core/src/test/java/org/apache/calcite/util/UtilTest.java 
b/core/src/test/java/org/apache/calcite/util/UtilTest.java
index a39a541d9d..45c964beed 100644
--- a/core/src/test/java/org/apache/calcite/util/UtilTest.java
+++ b/core/src/test/java/org/apache/calcite/util/UtilTest.java
@@ -929,16 +929,16 @@ private List<Integer> makeConsList(int start, int end) {
 
     assertThat(SqlLibrary.expand(ImmutableList.of(a)),
         hasToString("[ALL, BIG_QUERY, CALCITE, HIVE, MSSQL, MYSQL, ORACLE, "
-            + "POSTGRESQL, REDSHIFT, SNOWFLAKE, SPARK]"));
+            + "POSTGRESQL, REDSHIFT, SNOWFLAKE, SPARK, CLICKHOUSE]"));
     assertThat(SqlLibrary.expand(ImmutableList.of(a, c)),
         hasToString("[ALL, BIG_QUERY, CALCITE, HIVE, MSSQL, MYSQL, ORACLE, "
-            + "POSTGRESQL, REDSHIFT, SNOWFLAKE, SPARK]"));
+            + "POSTGRESQL, REDSHIFT, SNOWFLAKE, SPARK, CLICKHOUSE]"));
     assertThat(SqlLibrary.expand(ImmutableList.of(c, a)),
         hasToString("[CALCITE, ALL, BIG_QUERY, HIVE, MSSQL, MYSQL, ORACLE, "
-            + "POSTGRESQL, REDSHIFT, SNOWFLAKE, SPARK]"));
+            + "POSTGRESQL, REDSHIFT, SNOWFLAKE, SPARK, CLICKHOUSE]"));
     assertThat(SqlLibrary.expand(ImmutableList.of(c, o, a)),
         hasToString("[CALCITE, ORACLE, ALL, BIG_QUERY, HIVE, MSSQL, MYSQL, "
-            + "POSTGRESQL, REDSHIFT, SNOWFLAKE, SPARK]"));
+            + "POSTGRESQL, REDSHIFT, SNOWFLAKE, SPARK, CLICKHOUSE]"));
     assertThat(SqlLibrary.expand(ImmutableList.of(o, c, o)),
         hasToString("[ORACLE, CALCITE]"));
 
diff --git a/site/_docs/reference.md b/site/_docs/reference.md
index f329d7ad0f..3a994d2460 100644
--- a/site/_docs/reference.md
+++ b/site/_docs/reference.md
@@ -2758,6 +2758,7 @@ ### Dialect-specific Operators
 * 'p' for PostgreSQL ('fun=postgresql' in the connect string),
 * 'r' for Amazon RedShift ('fun=redshift' in the connect string),
 * 's' for Apache Spark ('fun=spark' in the connect string).
+* 'i' for ClickHouse('fun=clickhouse' in the connect string).
 
 One operator name may correspond to multiple SQL dialects, but with different
 semantics.

Reply via email to