Repository: phoenix Updated Branches: refs/heads/4.x-HBase-1.1 c69cdf046 -> 977df4783
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/977df478 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/977df478 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/977df478 Branch: refs/heads/4.x-HBase-1.1 Commit: 977df4783be81d38237ed4e3d5f1bf1def88e8b6 Parents: c69cdf0 Author: Ankit Singhal <ankitsingha...@gmail.com> Authored: Wed Jul 6 18:02:35 2016 +0530 Committer: Ankit Singhal <ankitsingha...@gmail.com> Committed: Wed Jul 6 18:02:35 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/977df478/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/977df478/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 7466b1c..c10bc9f 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();