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.