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

stoty pushed a commit to branch 4.16
in repository https://gitbox.apache.org/repos/asf/phoenix.git


The following commit(s) were added to refs/heads/4.16 by this push:
     new 9caa23c  PHOENIX-6493 MetaData schemaPattern handling errors
9caa23c is described below

commit 9caa23c88b7ffd9a70c7bbd9729456d5052af3f2
Author: Istvan Toth <st...@apache.org>
AuthorDate: Wed Jun 16 10:51:44 2021 +0200

    PHOENIX-6493 MetaData schemaPattern handling errors
---
 .../it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java | 6 ++++++
 .../main/java/org/apache/phoenix/jdbc/PhoenixDatabaseMetaData.java  | 6 ++++--
 2 files changed, 10 insertions(+), 2 deletions(-)

diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
index 226a2cc..51a9b5f 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
@@ -369,6 +369,12 @@ public class QueryDatabaseMetaDataIT extends 
ParallelStatsDisabledIT {
             assertEquals(rs.getString(2), null);
             assertFalse(rs.next());
 
+            rs = dbmd.getSchemas(null, "");
+            assertTrue(rs.next());
+            assertEquals(rs.getString(1), null);
+            assertEquals(rs.getString(2), null);
+            assertFalse(rs.next());
+
             rs = dbmd.getSchemas(null, null);
             assertTrue(rs.next());
             assertEquals(null, rs.getString("TABLE_SCHEM"));
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixDatabaseMetaData.java
 
b/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixDatabaseMetaData.java
index c78af6b..57370d3 100644
--- 
a/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixDatabaseMetaData.java
+++ 
b/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixDatabaseMetaData.java
@@ -1327,8 +1327,10 @@ public class PhoenixDatabaseMetaData implements 
DatabaseMetaData {
                 " where " + COLUMN_NAME + " is null");
         addTenantIdFilter(buf, catalog, parameterValues);
         if (schemaPattern != null) {
-            buf.append(" and " + TABLE_SCHEM + " like ?");
-            parameterValues.add(schemaPattern);
+            buf.append(" and " + TABLE_SCHEM + (schemaPattern.length() == 0 ? 
" is null" : " like ?"));
+            if(schemaPattern.length() > 0) {
+                parameterValues.add(schemaPattern);
+            }
         }
         if (SchemaUtil.isNamespaceMappingEnabled(null, 
connection.getQueryServices().getProps())) {
             buf.append(" and " + TABLE_NAME + " = '" + 
MetaDataClient.EMPTY_TABLE + "'");

Reply via email to