Repository: phoenix
Updated Branches:
  refs/heads/4.x-HBase-1.2 1d7c8059a -> a6f1b6369


PHOENIX-4182 DatabaseMetaData.getTables throws exception when getting SEQUENCE 
information


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/a6f1b636
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/a6f1b636
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/a6f1b636

Branch: refs/heads/4.x-HBase-1.2
Commit: a6f1b63692b3dec38aef4a9b44d28116c08344a4
Parents: 699253c
Author: James Taylor <jtay...@salesforce.com>
Authored: Mon Sep 11 13:06:17 2017 -0700
Committer: James Taylor <jtay...@salesforce.com>
Committed: Mon Sep 11 14:48:17 2017 -0700

----------------------------------------------------------------------
 .../phoenix/end2end/QueryDatabaseMetaDataIT.java      | 13 +++++++++++++
 .../apache/phoenix/jdbc/PhoenixDatabaseMetaData.java  | 14 ++++++++------
 2 files changed, 21 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/phoenix/blob/a6f1b636/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
----------------------------------------------------------------------
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 44012b9..12c0bd3 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
@@ -275,6 +275,19 @@ public class QueryDatabaseMetaDataIT extends 
BaseClientManagedTimeIT {
         assertEquals("BAS", rs.getString("TABLE_NAME"));
         assertEquals(PTableType.TABLE.toString(), rs.getString("TABLE_TYPE"));
         assertFalse(rs.next());
+        
+        rs = dbmd.getTables(null, "B", null, new String[] 
{PhoenixDatabaseMetaData.SEQUENCE_TABLE_TYPE});
+        assertTrue(rs.next());
+        assertNull(rs.getString("TABLE_CAT"));
+        assertEquals("B", rs.getString("TABLE_SCHEM"));
+        assertEquals("S1", rs.getString("TABLE_NAME"));
+        assertEquals(PhoenixDatabaseMetaData.SEQUENCE_TABLE_TYPE, 
rs.getString("TABLE_TYPE"));
+        assertTrue(rs.next());
+        assertNull(rs.getString("TABLE_CAT"));
+        assertEquals("B", rs.getString("TABLE_SCHEM"));
+        assertEquals("S3", rs.getString("TABLE_NAME"));
+        assertEquals(PhoenixDatabaseMetaData.SEQUENCE_TABLE_TYPE, 
rs.getString("TABLE_TYPE"));
+        assertFalse(rs.next());
     }
     
     @Test

http://git-wip-us.apache.org/repos/asf/phoenix/blob/a6f1b636/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixDatabaseMetaData.java
----------------------------------------------------------------------
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 24bfde7..ac7f3ef 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
@@ -1031,10 +1031,10 @@ public class PhoenixDatabaseMetaData implements 
DatabaseMetaData {
         public Integer getScale() {
             return null;
         }
-               @Override
-               public SortOrder getSortOrder() {
-                       return SortOrder.getDefault();
-               }
+        @Override
+        public SortOrder getSortOrder() {
+            return SortOrder.getDefault();
+        }
     };
     private static final RowProjector TABLE_TYPE_ROW_PROJECTOR = new 
RowProjector(Arrays.<ColumnProjector>asList(
             new ExpressionProjector(TABLE_TYPE, SYSTEM_CATALOG,
@@ -1160,10 +1160,12 @@ public class PhoenixDatabaseMetaData implements 
DatabaseMetaData {
             StringBuilder whereClause = new StringBuilder();
             addTenantIdFilter(whereClause, catalog);
             if (schemaPattern != null) {
-                whereClause.append(" and " + SEQUENCE_SCHEMA + 
(schemaPattern.length() == 0 ? " is null" : " like '" + 
StringUtil.escapeStringConstant(schemaPattern) + "'\n" ));
+                appendConjunction(whereClause);
+                whereClause.append(SEQUENCE_SCHEMA + (schemaPattern.length() 
== 0 ? " is null" : " like '" + StringUtil.escapeStringConstant(schemaPattern) 
+ "'\n" ));
             }
             if (tableNamePattern != null) {
-                whereClause.append(" and " + SEQUENCE_NAME + " like '" + 
StringUtil.escapeStringConstant(tableNamePattern) + "'\n" );
+                appendConjunction(whereClause);
+                whereClause.append(SEQUENCE_NAME + " like '" + 
StringUtil.escapeStringConstant(tableNamePattern) + "'\n" );
             }
             if (whereClause.length() > 0) {
                 buf.append(" where\n");

Reply via email to