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");