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

amoghj pushed a commit to branch 1.5.x
in repository https://gitbox.apache.org/repos/asf/iceberg.git


The following commit(s) were added to refs/heads/1.5.x by this push:
     new 5d73e6b504 Core: Fix namespace SQL statement using ESCAPE character 
that works with MySQL/PostgreSQL (#10167) (#10169)
5d73e6b504 is described below

commit 5d73e6b5042a021df05a2ac0e091441df22a4612
Author: JB Onofré <[email protected]>
AuthorDate: Wed Apr 17 23:37:56 2024 +0200

    Core: Fix namespace SQL statement using ESCAPE character that works with 
MySQL/PostgreSQL (#10167) (#10169)
    
    Co-authored-by: Chauncy <[email protected]>
---
 core/src/main/java/org/apache/iceberg/jdbc/JdbcUtil.java | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/core/src/main/java/org/apache/iceberg/jdbc/JdbcUtil.java 
b/core/src/main/java/org/apache/iceberg/jdbc/JdbcUtil.java
index 8f918b4560..ffa606a94f 100644
--- a/core/src/main/java/org/apache/iceberg/jdbc/JdbcUtil.java
+++ b/core/src/main/java/org/apache/iceberg/jdbc/JdbcUtil.java
@@ -335,7 +335,7 @@ final class JdbcUtil {
           + TABLE_NAMESPACE
           + " = ? OR "
           + TABLE_NAMESPACE
-          + " LIKE ? ESCAPE '\\')"
+          + " LIKE ? ESCAPE '!')"
           + " LIMIT 1";
   static final String LIST_NAMESPACES_SQL =
       "SELECT DISTINCT "
@@ -426,7 +426,7 @@ final class JdbcUtil {
           + NAMESPACE_NAME
           + " = ? OR "
           + NAMESPACE_NAME
-          + " LIKE ? ESCAPE '\\' "
+          + " LIKE ? ESCAPE '!' "
           + " ) ";
   static final String INSERT_NAMESPACE_PROPERTIES_SQL =
       "INSERT INTO "
@@ -783,7 +783,7 @@ final class JdbcUtil {
     // when namespace has sub-namespace then additionally checking it with 
LIKE statement.
     // catalog.db can exists as: catalog.db.ns1 or catalog.db.ns1.ns2
     String namespaceStartsWith =
-        namespaceEquals.replace("\\", "\\\\").replace("_", "\\_").replace("%", 
"\\%") + ".%";
+        namespaceEquals.replace("!", "!!").replace("_", "!_").replace("%", 
"!%") + ".%";
     if (exists(connections, GET_NAMESPACE_SQL, catalogName, namespaceEquals, 
namespaceStartsWith)) {
       return true;
     }

Reply via email to