You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by st...@apache.org on 2021/06/19 07:46:13 UTC

[phoenix] branch 5.1 updated: PHOENIX-6493 MetaData schemaPattern handling errors

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

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


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

commit 1f4b2651eae0f60871bb6074bc187283d2191ee5
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 ++++++
 phoenix-core/src/main/java/org/apache/phoenix/util/QueryUtil.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 f1ff66e..5ec4e09 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
@@ -430,6 +430,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/util/QueryUtil.java b/phoenix-core/src/main/java/org/apache/phoenix/util/QueryUtil.java
index 2702142..b6b76fb 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/util/QueryUtil.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/util/QueryUtil.java
@@ -545,8 +545,10 @@ public final class QueryUtil {
                 " where " + COLUMN_NAME + " is null");
         addTenantIdFilter(connection, 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 + "'");