You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by td...@apache.org on 2017/05/10 18:04:25 UTC

[26/46] phoenix git commit: Merge with omid branch

Merge with omid branch


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

Branch: refs/heads/omid
Commit: 34e2d36fdc6817c736f186528182b612b8ffc9a0
Parents: 5b838cf f5f8634
Author: Ohad Shacham <oh...@yahoo-inc.com>
Authored: Tue Apr 18 14:07:25 2017 +0300
Committer: Ohad Shacham <oh...@yahoo-inc.com>
Committed: Tue Apr 18 14:07:25 2017 +0300

----------------------------------------------------------------------
 .../org/apache/phoenix/tx/FlappingTransactionIT.java  |  3 ---
 .../it/java/org/apache/phoenix/tx/TransactionIT.java  | 14 +++++++-------
 .../coprocessor/BaseScannerRegionObserver.java        |  1 -
 .../coprocessor/PhoenixTransactionalProcessor.java    |  4 ++--
 .../phoenix/coprocessor/ScanRegionObserver.java       |  1 -
 .../coprocessor/UngroupedAggregateRegionObserver.java |  6 +++---
 .../org/apache/phoenix/jdbc/PhoenixConnection.java    |  1 -
 .../org/apache/phoenix/schema/MetaDataClient.java     |  4 ++--
 .../main/java/org/apache/phoenix/util/IndexUtil.java  |  4 ++--
 .../java/org/apache/phoenix/util/PhoenixRuntime.java  |  4 ++--
 .../java/org/apache/phoenix/util/TransactionUtil.java |  1 -
 11 files changed, 18 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/phoenix/blob/34e2d36f/phoenix-core/src/it/java/org/apache/phoenix/tx/TransactionIT.java
----------------------------------------------------------------------
diff --cc phoenix-core/src/it/java/org/apache/phoenix/tx/TransactionIT.java
index f37d09b,ff2bf6b..f1cf7df
--- a/phoenix-core/src/it/java/org/apache/phoenix/tx/TransactionIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/tx/TransactionIT.java
@@@ -291,4 -600,118 +291,4 @@@ public class TransactionIT  extends Par
              conn.close();
          }
      }
- }
 -    
 -    @Test
 -    public void testParallelUpsertSelect() throws Exception {
 -        Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
 -        props.setProperty(QueryServices.MUTATE_BATCH_SIZE_BYTES_ATTRIB, Integer.toString(512));
 -        props.setProperty(QueryServices.SCAN_CACHE_SIZE_ATTRIB, Integer.toString(3));
 -        props.setProperty(QueryServices.SCAN_RESULT_CHUNK_SIZE, Integer.toString(3));
 -        Connection conn = DriverManager.getConnection(getUrl(), props);
 -        conn.setAutoCommit(false);
 -        String fullTableName1 = generateUniqueName();
 -        String fullTableName2 = generateUniqueName();
 -        String sequenceName = "S_" + generateUniqueName();
 -        conn.createStatement().execute("CREATE SEQUENCE " + sequenceName);
 -        conn.createStatement().execute("CREATE TABLE " + fullTableName1 + " (pk INTEGER PRIMARY KEY, val INTEGER) SALT_BUCKETS=4,TRANSACTIONAL=true");
 -        conn.createStatement().execute("CREATE TABLE " + fullTableName2 + " (pk INTEGER PRIMARY KEY, val INTEGER) TRANSACTIONAL=true");
 -
 -        for (int i = 0; i < 100; i++) {
 -            conn.createStatement().execute("UPSERT INTO " + fullTableName1 + " VALUES (NEXT VALUE FOR " + sequenceName + ", " + (i%10) + ")");
 -        }
 -        conn.commit();
 -        conn.setAutoCommit(true);
 -        int upsertCount = conn.createStatement().executeUpdate("UPSERT INTO " + fullTableName2 + " SELECT pk, val FROM " + fullTableName1);
 -        assertEquals(100,upsertCount);
 -        conn.close();
 -    }
 -
 -    @Test
 -    public void testTransactionalTableMetadata() throws SQLException {
 -
 -        try (Connection conn = DriverManager.getConnection(getUrl())) {
 -            String transactTableName = generateUniqueName();
 -            Statement stmt = conn.createStatement();
 -            stmt.execute("CREATE TABLE " + transactTableName + " (k VARCHAR PRIMARY KEY, v1 VARCHAR, v2 VARCHAR) " +
 -                "TRANSACTIONAL=true");
 -            conn.commit();
 -
 -            DatabaseMetaData dbmd = conn.getMetaData();
 -            ResultSet rs = dbmd.getTables(null, null, StringUtil.escapeLike(transactTableName), null);
 -            assertTrue(rs.next());
 -            assertEquals("Transactional table was not marked as transactional in JDBC API.",
 -                "true", rs.getString(PhoenixDatabaseMetaData.TRANSACTIONAL));
 -
 -            String nonTransactTableName = generateUniqueName();
 -            Statement stmt2 = conn.createStatement();
 -            stmt2.execute("CREATE TABLE " + nonTransactTableName + "(k VARCHAR PRIMARY KEY, v1 VARCHAR, v2 VARCHAR) ");
 -            conn.commit();
 -
 -            ResultSet rs2 = dbmd.getTables(null, null, StringUtil.escapeLike(nonTransactTableName), null);
 -            assertTrue(rs2.next());
 -            assertEquals("Non-transactional table was marked as transactional in JDBC API.",
 -                "false", rs2.getString(PhoenixDatabaseMetaData.TRANSACTIONAL));
 -        }
 -    }
 -
 -    @Test
 -    public void testInflightPartialEval() throws SQLException {
 -
 -        try (Connection conn = DriverManager.getConnection(getUrl())) {
 -            String transactTableName = generateUniqueName();
 -            Statement stmt = conn.createStatement();
 -            stmt.execute("CREATE TABLE " + transactTableName + " (k VARCHAR PRIMARY KEY, v1 VARCHAR, v2 VARCHAR) " +
 -                "TRANSACTIONAL=true");
 -            
 -            try (Connection conn1 = DriverManager.getConnection(getUrl()); Connection conn2 = DriverManager.getConnection(getUrl())) {
 -                conn1.createStatement().execute("UPSERT INTO " + transactTableName + " VALUES ('a','b','x')");
 -                // Select to force uncommitted data to be written
 -                ResultSet rs = conn1.createStatement().executeQuery("SELECT * FROM " + transactTableName);
 -                assertTrue(rs.next());
 -                assertEquals("a", rs.getString(1));
 -                assertEquals("b", rs.getString(2));
 -                assertFalse(rs.next());
 -                
 -                conn2.createStatement().execute("UPSERT INTO " + transactTableName + " VALUES ('a','c','x')");
 -                // Select to force uncommitted data to be written
 -                rs = conn2.createStatement().executeQuery("SELECT * FROM " + transactTableName );
 -                assertTrue(rs.next());
 -                assertEquals("a", rs.getString(1));
 -                assertEquals("c", rs.getString(2));
 -                assertFalse(rs.next());
 -                
 -                // If the AndExpression were to see the uncommitted row from conn2, the filter would
 -                // filter the row out early and no longer continue to evaluate other cells due to
 -                // the way partial evaluation holds state.
 -                rs = conn1.createStatement().executeQuery("SELECT * FROM " +  transactTableName + " WHERE v1 != 'c' AND v2 = 'x'");
 -                assertTrue(rs.next());
 -                assertEquals("a", rs.getString(1));
 -                assertEquals("b", rs.getString(2));
 -                assertFalse(rs.next());
 -                
 -                // Same as above for conn1 data
 -                rs = conn2.createStatement().executeQuery("SELECT * FROM " + transactTableName + " WHERE v1 != 'b' AND v2 = 'x'");
 -                assertTrue(rs.next());
 -                assertEquals("a", rs.getString(1));
 -                assertEquals("c", rs.getString(2));
 -                assertFalse(rs.next());
 -            }
 -
 -        }
 -    }
 -    
 -    
 -    @Test
 -    public void testOnDupKeyForTransactionalTable() throws Exception {
 -        // TODO: we should support having a transactional table defined for a connectionless connection
 -        try (Connection conn = DriverManager.getConnection(getUrl())) {
 -            String transactTableName = generateUniqueName();
 -            conn.createStatement().execute("CREATE TABLE " + transactTableName + " (k integer not null primary key, v bigint) TRANSACTIONAL=true");
 -            conn.createStatement().execute("UPSERT INTO " + transactTableName + " VALUES(0,0) ON DUPLICATE KEY UPDATE v = v + 1");
 -            fail();
 -        } catch (SQLException e) {
 -            assertEquals(SQLExceptionCode.CANNOT_USE_ON_DUP_KEY_FOR_TRANSACTIONAL.getErrorCode(), e.getErrorCode());
 -        }
 -    }
 -    
+ }

http://git-wip-us.apache.org/repos/asf/phoenix/blob/34e2d36f/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/BaseScannerRegionObserver.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/phoenix/blob/34e2d36f/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/ScanRegionObserver.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/phoenix/blob/34e2d36f/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
----------------------------------------------------------------------
diff --cc phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
index 2dec235,9e4f39d..ea18401
--- a/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/coprocessor/UngroupedAggregateRegionObserver.java
@@@ -110,8 -108,8 +110,9 @@@ import org.apache.phoenix.schema.types.
  import org.apache.phoenix.schema.types.PDouble;
  import org.apache.phoenix.schema.types.PFloat;
  import org.apache.phoenix.schema.types.PLong;
+ import org.apache.phoenix.transaction.PhoenixTransactionContext;
  import org.apache.phoenix.util.ByteUtil;
 +import org.apache.phoenix.util.EncodedColumnsUtil;
  import org.apache.phoenix.util.IndexUtil;
  import org.apache.phoenix.util.KeyValueUtil;
  import org.apache.phoenix.util.LogUtil;

http://git-wip-us.apache.org/repos/asf/phoenix/blob/34e2d36f/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixConnection.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/phoenix/blob/34e2d36f/phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java
----------------------------------------------------------------------
diff --cc phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java
index d09284f,42d1431..3bb6ae0
--- a/phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/schema/MetaDataClient.java
@@@ -212,8 -199,8 +212,9 @@@ import org.apache.phoenix.schema.types.
  import org.apache.phoenix.schema.types.PUnsignedLong;
  import org.apache.phoenix.schema.types.PVarbinary;
  import org.apache.phoenix.schema.types.PVarchar;
+ import org.apache.phoenix.transaction.PhoenixTransactionContext;
  import org.apache.phoenix.util.ByteUtil;
 +import org.apache.phoenix.util.EncodedColumnsUtil;
  import org.apache.phoenix.util.IndexUtil;
  import org.apache.phoenix.util.LogUtil;
  import org.apache.phoenix.util.MetaDataUtil;

http://git-wip-us.apache.org/repos/asf/phoenix/blob/34e2d36f/phoenix-core/src/main/java/org/apache/phoenix/util/IndexUtil.java
----------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/phoenix/blob/34e2d36f/phoenix-core/src/main/java/org/apache/phoenix/util/PhoenixRuntime.java
----------------------------------------------------------------------