Repository: phoenix Updated Branches: refs/heads/4.x-HBase-0.98 8c8c07c77 -> e9347fc62
PHOENIX-2902 Adjust PhoenixDatabaseMetadata#getSchemas query if namespaces are enabled Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/e9347fc6 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/e9347fc6 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/e9347fc6 Branch: refs/heads/4.x-HBase-0.98 Commit: e9347fc62704960069020932581065d2774dd450 Parents: 8c8c07c Author: Ankit Singhal <ankitsingha...@gmail.com> Authored: Wed Jul 6 18:10:14 2016 +0530 Committer: Ankit Singhal <ankitsingha...@gmail.com> Committed: Wed Jul 6 18:10:14 2016 +0530 ---------------------------------------------------------------------- .../phoenix/end2end/QueryDatabaseMetaDataIT.java | 17 +++++++++++------ .../phoenix/jdbc/PhoenixDatabaseMetaData.java | 6 ++++-- 2 files changed, 15 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/phoenix/blob/e9347fc6/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 65ba0ad..4012d0c 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 @@ -273,13 +273,12 @@ public class QueryDatabaseMetaDataIT extends BaseClientManagedTimeIT { @Test public void testSchemaMetadataScan() throws SQLException { + long ts = nextTimestamp(); + ensureTableCreated(getUrl(), CUSTOM_ENTITY_DATA_FULL_NAME, null, ts); + ensureTableCreated(getUrl(), PTSDB_NAME, null, ts); Properties props = new Properties(); - props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(1)); - props.setProperty(QueryServices.IS_NAMESPACE_MAPPING_ENABLED, Boolean.toString(true)); + props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 5)); Connection conn = DriverManager.getConnection(getUrl(), props); - conn.createStatement().execute("CREATE SCHEMA " + CUSTOM_ENTITY_DATA_SCHEMA_NAME); - props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(2)); - conn = DriverManager.getConnection(getUrl(), props); DatabaseMetaData dbmd = conn.getMetaData(); ResultSet rs; rs = dbmd.getSchemas(null, CUSTOM_ENTITY_DATA_SCHEMA_NAME); @@ -288,10 +287,16 @@ public class QueryDatabaseMetaDataIT extends BaseClientManagedTimeIT { assertEquals(rs.getString(2),null); assertFalse(rs.next()); - rs = dbmd.getSchemas(); + rs = dbmd.getSchemas(null, null); + assertTrue(rs.next()); + assertEquals(rs.getString("TABLE_SCHEM"),null); + assertEquals(rs.getString("TABLE_CATALOG"),null); assertTrue(rs.next()); assertEquals(rs.getString("TABLE_SCHEM"),CUSTOM_ENTITY_DATA_SCHEMA_NAME); assertEquals(rs.getString("TABLE_CATALOG"),null); + assertTrue(rs.next()); + assertEquals(rs.getString("TABLE_SCHEM"),PhoenixDatabaseMetaData.SYSTEM_CATALOG_SCHEMA); + assertEquals(rs.getString("TABLE_CATALOG"),null); assertFalse(rs.next()); } http://git-wip-us.apache.org/repos/asf/phoenix/blob/e9347fc6/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 a067fb4..4fd4485 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 @@ -930,8 +930,10 @@ public class PhoenixDatabaseMetaData implements DatabaseMetaData { if (schemaPattern != null) { buf.append(" and " + TABLE_SCHEM + " like '" + StringUtil.escapeStringConstant(schemaPattern) + "'"); } - buf.append(" and " + TABLE_NAME + " = '" + MetaDataClient.EMPTY_TABLE + "'"); - + if (SchemaUtil.isNamespaceMappingEnabled(null, connection.getQueryServices().getProps())) { + buf.append(" and " + TABLE_NAME + " = '" + MetaDataClient.EMPTY_TABLE + "'"); + } + // TODO: we should union this with SYSTEM.SEQUENCE too, but we only have support for // UNION ALL and we really need UNION so that it dedups. Statement stmt = connection.createStatement();