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

Reply via email to