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:45:46 UTC

[phoenix] branch master 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 master
in repository https://gitbox.apache.org/repos/asf/phoenix.git


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

commit fcdf5bc3dcf1079df7ed4f8497b28d72764cf046
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 + "'");