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
----------------------------------------------------------------------