You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by ra...@apache.org on 2017/03/12 08:59:35 UTC

phoenix git commit: PHOENIX-3700 Implement getConnectioInfo methods in PhoenixCalciteConnection(Rajeshbabu)

Repository: phoenix
Updated Branches:
  refs/heads/calcite 6f23af898 -> efd68ab1d


PHOENIX-3700 Implement getConnectioInfo methods in PhoenixCalciteConnection(Rajeshbabu)


Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/efd68ab1
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/efd68ab1
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/efd68ab1

Branch: refs/heads/calcite
Commit: efd68ab1d03f00455d89114d2b5379942f37253b
Parents: 6f23af8
Author: Rajeshbabu Chintaguntla <ra...@apache.org>
Authored: Sun Mar 12 14:29:22 2017 +0530
Committer: Rajeshbabu Chintaguntla <ra...@apache.org>
Committed: Sun Mar 12 14:29:22 2017 +0530

----------------------------------------------------------------------
 .../calcite/jdbc/PhoenixCalciteFactory.java     | 31 ++++++++++++++++++--
 1 file changed, 28 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/phoenix/blob/efd68ab1/phoenix-core/src/main/java/org/apache/calcite/jdbc/PhoenixCalciteFactory.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/calcite/jdbc/PhoenixCalciteFactory.java b/phoenix-core/src/main/java/org/apache/calcite/jdbc/PhoenixCalciteFactory.java
index 7839cb8..5e04281 100644
--- a/phoenix-core/src/main/java/org/apache/calcite/jdbc/PhoenixCalciteFactory.java
+++ b/phoenix-core/src/main/java/org/apache/calcite/jdbc/PhoenixCalciteFactory.java
@@ -297,17 +297,42 @@ public class PhoenixCalciteFactory extends CalciteFactory {
 
         @Override
         public DatabaseMetaData getMetaData() throws SQLException {
+            PhoenixConnection pc = getPhoenixConnection(getRootSchema());
+            if(pc != null) {
+                return pc.getMetaData();
+            }
+            return super.getMetaData();
+        }
+
+        @Override
+        public Properties getClientInfo() throws SQLException {
+            PhoenixConnection pc = getPhoenixConnection(getRootSchema());
+            if(pc != null) {
+                return pc.getClientInfo();
+            }
+            return super.getClientInfo();
+        }
+
+        @Override
+        public String getClientInfo(String name) throws SQLException {
+            PhoenixConnection pc = getPhoenixConnection(getRootSchema());
+            if(pc != null) {
+                return pc.getClientInfo(name);
+            }
+            return super.getClientInfo(name);
+        }
+        
+        private PhoenixConnection getPhoenixConnection(SchemaPlus rootSchema) {
             for (String subSchemaName : getRootSchema().getSubSchemaNames()) {
                 try {
                     PhoenixSchema phoenixSchema =
                             getRootSchema().getSubSchema(subSchemaName).unwrap(PhoenixSchema.class);
-                    return phoenixSchema.pc.getMetaData();
+                    return phoenixSchema.pc;
                 } catch (ClassCastException e) {
                 }
             }
-            return super.getMetaData();
+            return null;
         }
-
         @SuppressWarnings("unchecked")
         @Override
         public <T> T unwrap(Class<T> iface) throws SQLException {