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

mbudiu 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 4fa0d5bbe9 [CALCITE-7128] SqlImplementor.toSql does not handle UUID 
literals
4fa0d5bbe9 is described below

commit 4fa0d5bbe987c4ae0779ca434fb71e1ae8637b77
Author: Mihai Budiu <[email protected]>
AuthorDate: Tue Aug 5 17:46:19 2025 -0700

    [CALCITE-7128] SqlImplementor.toSql does not handle UUID literals
    
    Signed-off-by: Mihai Budiu <[email protected]>
---
 .../main/java/org/apache/calcite/rel/rel2sql/SqlImplementor.java | 3 +++
 .../org/apache/calcite/rel/rel2sql/RelToSqlConverterTest.java    | 9 +++++++++
 2 files changed, 12 insertions(+)

diff --git 
a/core/src/main/java/org/apache/calcite/rel/rel2sql/SqlImplementor.java 
b/core/src/main/java/org/apache/calcite/rel/rel2sql/SqlImplementor.java
index 1b92f18b96..80eb1b2887 100644
--- a/core/src/main/java/org/apache/calcite/rel/rel2sql/SqlImplementor.java
+++ b/core/src/main/java/org/apache/calcite/rel/rel2sql/SqlImplementor.java
@@ -133,6 +133,7 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.UUID;
 import java.util.function.Function;
 import java.util.function.IntFunction;
 import java.util.function.Predicate;
@@ -1555,6 +1556,8 @@ public static SqlNode toSql(RexLiteral literal) {
       return SqlLiteral.createTimestamp(typeName,
           castNonNull(literal.getValueAs(TimestampString.class)),
           literal.getType().getPrecision(), POS);
+    case UUID:
+      return 
SqlLiteral.createUuid(castNonNull(literal.getValueAs(UUID.class)), POS);
     case BINARY:
       return 
SqlLiteral.createBinaryString(castNonNull(literal.getValueAs(byte[].class)), 
POS);
     case ANY:
diff --git 
a/core/src/test/java/org/apache/calcite/rel/rel2sql/RelToSqlConverterTest.java 
b/core/src/test/java/org/apache/calcite/rel/rel2sql/RelToSqlConverterTest.java
index a0b7c2425d..f0420e7919 100644
--- 
a/core/src/test/java/org/apache/calcite/rel/rel2sql/RelToSqlConverterTest.java
+++ 
b/core/src/test/java/org/apache/calcite/rel/rel2sql/RelToSqlConverterTest.java
@@ -9382,6 +9382,15 @@ private void checkLiteral2(String expression, String 
expected) {
     sql(sql6).ok(expected6);
   }
 
+  /** Test case for <a 
href="https://issues.apache.org/jira/browse/CALCITE-7128";>[CALCITE-7128]
+   * SqlImplementor.toSql does not handle UUID literals</a>. */
+  @Test void testUuid() {
+    final String sql = "SELECT UUID '123e4567-e89b-12d3-a456-426655440000' AS 
x";
+    final String expected = "SELECT *\n"
+        + "FROM (VALUES (UUID '123e4567-e89b-12d3-a456-426655440000')) AS 
\"t\" (\"X\")";
+    sql(sql).ok(expected);
+  }
+
   /** Test case for
    * <a 
href="https://issues.apache.org/jira/browse/CALCITE-6116";>[CALCITE-6116]
    * Add EXISTS function (enabled in Spark library)</a>. */

Reply via email to