You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by ja...@apache.org on 2017/09/11 21:51:07 UTC

[3/3] phoenix git commit: PHOENIX-4182 DatabaseMetaData.getTables throws exception when getting SEQUENCE information

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/2b78e48f
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/2b78e48f
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/2b78e48f

Branch: refs/heads/4.x-HBase-1.1
Commit: 2b78e48f41f82971af5a8934073b111eb7dde1d4
Parents: 1c4e09f
Author: James Taylor <jt...@salesforce.com>
Authored: Mon Sep 11 13:06:17 2017 -0700
Committer: James Taylor <jt...@salesforce.com>
Committed: Mon Sep 11 14:49:57 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/2b78e48f/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/2b78e48f/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");