This is an automated email from the ASF dual-hosted git repository.

pboado pushed a commit to branch 4.x-cdh5.16
in repository https://gitbox.apache.org/repos/asf/phoenix.git

commit 58732144d28e1af4143b6554c0f01f7e1e0f1669
Author: Lars Hofhansl <la...@apache.org>
AuthorDate: Wed Jan 2 08:52:52 2019 +0000

    PHOENIX-5084 Changes from Transactional Tables are not visible to query in 
different client.
---
 .../org/apache/phoenix/jdbc/PhoenixDatabaseMetaData.java     | 12 ++++++++++++
 1 file changed, 12 insertions(+)

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 3ff62e2..61ba0fc 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
@@ -718,6 +718,7 @@ public class PhoenixDatabaseMetaData implements 
DatabaseMetaData {
     @Override
     public ResultSet getColumns(String catalog, String schemaPattern, String 
tableNamePattern, String columnNamePattern)
             throws SQLException {
+        try {
         boolean isTenantSpecificConnection = connection.getTenantId() != null;
         List<Tuple> tuples = Lists.newArrayListWithExpectedSize(10);
         ResultSet rs = getTables(catalog, schemaPattern, tableNamePattern, 
null);
@@ -893,6 +894,11 @@ public class PhoenixDatabaseMetaData implements 
DatabaseMetaData {
             }
         }
         return new PhoenixResultSet(new MaterializedResultIterator(tuples), 
GET_COLUMNS_ROW_PROJECTOR, new StatementContext(new 
PhoenixStatement(connection), false));
+        } finally {
+            if (connection.getAutoCommit()) {
+                connection.commit();
+            }
+        }
     }
 
     @Override
@@ -1142,6 +1148,7 @@ public class PhoenixDatabaseMetaData implements 
DatabaseMetaData {
         if (tableName == null || tableName.length() == 0) {
             return emptyResultSet;
         }
+        try {
         List<Tuple> tuples = Lists.newArrayListWithExpectedSize(10);
         ResultSet rs = getTables(catalog, schemaName, tableName, null);
         while (rs.next()) {
@@ -1219,6 +1226,11 @@ public class PhoenixDatabaseMetaData implements 
DatabaseMetaData {
         return new PhoenixResultSet(new MaterializedResultIterator(tuples),
                 GET_PRIMARY_KEYS_ROW_PROJECTOR,
                 new StatementContext(new PhoenixStatement(connection), false));
+        } finally {
+            if (connection.getAutoCommit()) {
+                connection.commit();
+            }
+        }
     }
 
     @Override

Reply via email to