You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by mu...@apache.org on 2017/09/13 17:51:53 UTC
[1/2] phoenix git commit: PHOENIX-4194 Modify RoundFloorCeilFuncIT,
RowValueConstructorIT, SaltedTableIT, TenantIdTypeIT,
StoreNullsIT and RebuildIndexConnectionPropsIT to not use CurrentSCN
Repository: phoenix
Updated Branches:
refs/heads/4.x-HBase-0.98 458973fd3 -> 67aa5da88
http://git-wip-us.apache.org/repos/asf/phoenix/blob/67aa5da8/phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java b/phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java
index afcaeef..4341fd5 100644
--- a/phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java
+++ b/phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java
@@ -1237,27 +1237,31 @@ public abstract class BaseTest {
}
- protected static void initEntityHistoryTableValues(String tenantId, byte[][] splits, Date date, Long ts) throws Exception {
- initEntityHistoryTableValues(tenantId, splits, date, ts, getUrl());
+ protected static String initEntityHistoryTableValues(String tenantId, byte[][] splits, Date date, Long ts) throws Exception {
+ return initEntityHistoryTableValues(ENTITY_HISTORY_TABLE_NAME, tenantId, splits, date, ts, getUrl());
}
- protected static void initSaltedEntityHistoryTableValues(String tenantId, byte[][] splits, Date date, Long ts) throws Exception {
- initSaltedEntityHistoryTableValues(tenantId, splits, date, ts, getUrl());
- }
-
- protected static void initEntityHistoryTableValues(String tenantId, byte[][] splits, String url) throws Exception {
- initEntityHistoryTableValues(tenantId, splits, null, null, url);
+ protected static String initEntityHistoryTableValues(String tableName, String tenantId, byte[][] splits, Date date, Long ts) throws Exception {
+ return initEntityHistoryTableValues(tableName, tenantId, splits, date, ts, getUrl());
}
- protected static void initEntityHistoryTableValues(String tenantId, byte[][] splits, Date date, String url) throws Exception {
- initEntityHistoryTableValues(tenantId, splits, date, null, url);
+ protected static String initSaltedEntityHistoryTableValues(String tableName, String tenantId, byte[][] splits, Date date, Long ts) throws Exception {
+ return initSaltedEntityHistoryTableValues(tableName, tenantId, splits, date, ts, getUrl());
+ }
+
+ protected static String initEntityHistoryTableValues(String tableName, String tenantId, byte[][] splits, String url) throws Exception {
+ return initEntityHistoryTableValues(tableName, tenantId, splits, null, null, url);
}
- private static void initEntityHistoryTableValues(String tenantId, byte[][] splits, Date date, Long ts, String url) throws Exception {
+ private static String initEntityHistoryTableValues(String tableName, String tenantId, byte[][] splits, Date date, Long ts, String url) throws Exception {
+ if (tableName == null) {
+ tableName = generateUniqueName();
+ }
+
if (ts == null) {
- ensureTableCreated(url, ENTITY_HISTORY_TABLE_NAME, ENTITY_HISTORY_TABLE_NAME, splits, null);
+ ensureTableCreated(url, tableName, ENTITY_HISTORY_TABLE_NAME, splits, null);
} else {
- ensureTableCreated(url, ENTITY_HISTORY_TABLE_NAME, ENTITY_HISTORY_TABLE_NAME, splits, ts-2, null);
+ ensureTableCreated(url, tableName, ENTITY_HISTORY_TABLE_NAME, splits, ts-2, null);
}
Properties props = new Properties();
@@ -1269,7 +1273,7 @@ public abstract class BaseTest {
// Insert all rows at ts
PreparedStatement stmt = conn.prepareStatement(
"upsert into " +
- ENTITY_HISTORY_TABLE_NAME+
+ tableName +
"(" +
" ORGANIZATION_ID, " +
" PARENT_ID, " +
@@ -1355,13 +1359,19 @@ public abstract class BaseTest {
} finally {
conn.close();
}
+
+ return tableName;
}
- protected static void initSaltedEntityHistoryTableValues(String tenantId, byte[][] splits, Date date, Long ts, String url) throws Exception {
+ protected static String initSaltedEntityHistoryTableValues(String tableName, String tenantId, byte[][] splits, Date date, Long ts, String url) throws Exception {
+ if (tableName == null) {
+ tableName = generateUniqueName();
+ }
+
if (ts == null) {
- ensureTableCreated(url, ENTITY_HISTORY_SALTED_TABLE_NAME, ENTITY_HISTORY_SALTED_TABLE_NAME, splits, null);
+ ensureTableCreated(url, tableName, ENTITY_HISTORY_SALTED_TABLE_NAME, splits, null);
} else {
- ensureTableCreated(url, ENTITY_HISTORY_SALTED_TABLE_NAME, ENTITY_HISTORY_SALTED_TABLE_NAME, splits, ts-2, null);
+ ensureTableCreated(url, tableName, ENTITY_HISTORY_SALTED_TABLE_NAME, splits, ts-2, null);
}
Properties props = new Properties();
@@ -1373,7 +1383,7 @@ public abstract class BaseTest {
// Insert all rows at ts
PreparedStatement stmt = conn.prepareStatement(
"upsert into " +
- ENTITY_HISTORY_SALTED_TABLE_NAME+
+ tableName +
"(" +
" ORGANIZATION_ID, " +
" PARENT_ID, " +
@@ -1459,6 +1469,8 @@ public abstract class BaseTest {
} finally {
conn.close();
}
+
+ return tableName;
}
/**
[2/2] phoenix git commit: PHOENIX-4194 Modify RoundFloorCeilFuncIT,
RowValueConstructorIT, SaltedTableIT, TenantIdTypeIT,
StoreNullsIT and RebuildIndexConnectionPropsIT to not use CurrentSCN
Posted by mu...@apache.org.
PHOENIX-4194 Modify RoundFloorCeilFuncIT, RowValueConstructorIT, SaltedTableIT, TenantIdTypeIT, StoreNullsIT and RebuildIndexConnectionPropsIT to not use CurrentSCN
Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/67aa5da8
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/67aa5da8
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/67aa5da8
Branch: refs/heads/4.x-HBase-0.98
Commit: 67aa5da881aec450baecec8452cd8ee741487cd3
Parents: 458973f
Author: Mujtaba <mu...@apache.org>
Authored: Wed Sep 13 10:51:24 2017 -0700
Committer: Mujtaba <mu...@apache.org>
Committed: Wed Sep 13 10:51:24 2017 -0700
----------------------------------------------------------------------
.../phoenix/end2end/RoundFloorCeilFuncIT.java | 21 +-
.../phoenix/end2end/RowValueConstructorIT.java | 365 ++++++++-----------
.../apache/phoenix/end2end/StoreNullsIT.java | 27 +-
.../apache/phoenix/end2end/TenantIdTypeIT.java | 6 +-
.../phoenix/end2end/salted/SaltedTableIT.java | 101 +++--
.../java/org/apache/phoenix/query/BaseTest.java | 48 ++-
6 files changed, 242 insertions(+), 326 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/phoenix/blob/67aa5da8/phoenix-core/src/it/java/org/apache/phoenix/end2end/RoundFloorCeilFuncIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/RoundFloorCeilFuncIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/RoundFloorCeilFuncIT.java
index 423876f..b1e218b 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/RoundFloorCeilFuncIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/RoundFloorCeilFuncIT.java
@@ -59,7 +59,6 @@ public class RoundFloorCeilFuncIT extends ParallelStatsDisabledIT {
private static final double unsignedDoubleUpserted = 1.264d;
private static final float floatUpserted = 1.264f;
private static final float unsignedFloatUpserted = 1.264f;
-
private String tableName;
@Before
@@ -647,33 +646,23 @@ public class RoundFloorCeilFuncIT extends ParallelStatsDisabledIT {
@Test
public void testRoundOffFunction() throws SQLException {
- long ts = nextTimestamp();
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 10));
Connection conn = DriverManager.getConnection(getUrl(), props);
- String ddl = "create table round_test(k bigint primary key)";
+ String uniquetableName = generateUniqueName();
+ String ddl = "create table " + uniquetableName + "(k bigint primary key)";
conn.createStatement().execute(ddl);
- conn.close();
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 30));
- conn = DriverManager.getConnection(getUrl(), props);
- PreparedStatement stmt = conn.prepareStatement("upsert into round_test values(1380603308885)");
+ PreparedStatement stmt = conn.prepareStatement("upsert into " + uniquetableName + " values(1380603308885)");
stmt.execute();
conn.commit();
- conn.close();
-
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 40));
- conn = DriverManager.getConnection(getUrl(), props);
ResultSet rs;
- stmt = conn.prepareStatement("select round(k/1000000,0) from round_test");
+ stmt = conn.prepareStatement("select round(k/1000000,0) from " + uniquetableName);
rs = stmt.executeQuery();
assertTrue(rs.next());
assertEquals(1380603, rs.getLong(1));
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 40));
- conn = DriverManager.getConnection(getUrl(), props);
- stmt = conn.prepareStatement("select round(k/1000000,0) x from round_test group by x");
+ stmt = conn.prepareStatement("select round(k/1000000,0) x from " + uniquetableName + " group by x");
rs = stmt.executeQuery();
assertTrue(rs.next());
assertEquals(1380603, rs.getLong(1));
http://git-wip-us.apache.org/repos/asf/phoenix/blob/67aa5da8/phoenix-core/src/it/java/org/apache/phoenix/end2end/RowValueConstructorIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/RowValueConstructorIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/RowValueConstructorIT.java
index b7d67f2..df7603a 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/RowValueConstructorIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/RowValueConstructorIT.java
@@ -22,8 +22,6 @@ import static org.apache.phoenix.util.TestUtil.ENTITYHISTID1;
import static org.apache.phoenix.util.TestUtil.ENTITYHISTID3;
import static org.apache.phoenix.util.TestUtil.ENTITYHISTID7;
import static org.apache.phoenix.util.TestUtil.ENTITYHISTIDS;
-import static org.apache.phoenix.util.TestUtil.ENTITY_HISTORY_SALTED_TABLE_NAME;
-import static org.apache.phoenix.util.TestUtil.ENTITY_HISTORY_TABLE_NAME;
import static org.apache.phoenix.util.TestUtil.PARENTID1;
import static org.apache.phoenix.util.TestUtil.PARENTID3;
import static org.apache.phoenix.util.TestUtil.PARENTID7;
@@ -38,7 +36,6 @@ import static org.apache.phoenix.util.TestUtil.ROW7;
import static org.apache.phoenix.util.TestUtil.ROW8;
import static org.apache.phoenix.util.TestUtil.ROW9;
import static org.apache.phoenix.util.TestUtil.TEST_PROPERTIES;
-import static org.apache.phoenix.util.TestUtil.ATABLE_NAME;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
@@ -57,19 +54,18 @@ import org.apache.phoenix.util.DateUtil;
import org.apache.phoenix.util.PhoenixRuntime;
import org.apache.phoenix.util.PropertiesUtil;
import org.apache.phoenix.util.QueryUtil;
+import org.apache.phoenix.util.SchemaUtil;
import org.junit.Test;
-public class RowValueConstructorIT extends BaseClientManagedTimeIT {
+public class RowValueConstructorIT extends ParallelStatsDisabledIT {
@Test
public void testRowValueConstructorInWhereWithEqualsExpression() throws Exception {
- long ts = nextTimestamp();
String tenantId = getOrganizationId();
- initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl(), null);
- String query = "SELECT a_integer, x_integer FROM aTable WHERE ?=organization_id AND (a_integer, x_integer) = (7, 5)";
+ String tableName = initATableValues(null, tenantId, getDefaultSplits(tenantId), null, null, getUrl(), null);
+ String query = "SELECT a_integer, x_integer FROM " + tableName + " WHERE ?=organization_id AND (a_integer, x_integer) = (7, 5)";
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2)); // Execute at timestamp 2
Connection conn = DriverManager.getConnection(getUrl(), props);
try {
PreparedStatement statement = conn.prepareStatement(query);
@@ -89,12 +85,10 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
@Test
public void testRowValueConstructorInWhereWithGreaterThanExpression() throws Exception {
- long ts = nextTimestamp();
String tenantId = getOrganizationId();
- initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl(), null);
- String query = "SELECT a_integer, x_integer FROM aTable WHERE ?=organization_id AND (a_integer, x_integer) >= (4, 4)";
+ String tableName = initATableValues(null, tenantId, getDefaultSplits(tenantId), null, null, getUrl(), null);
+ String query = "SELECT a_integer, x_integer FROM " + tableName + " WHERE ?=organization_id AND (a_integer, x_integer) >= (4, 4)";
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2)); // Execute at timestamp 2
Connection conn = DriverManager.getConnection(getUrl(), props);
try {
PreparedStatement statement = conn.prepareStatement(query);
@@ -115,12 +109,10 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
@Test
public void testRowValueConstructorInWhereWithUnEqualNumberArgs() throws Exception {
- long ts = nextTimestamp();
String tenantId = getOrganizationId();
- initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl(), null);
- String query = "SELECT a_integer, x_integer FROM aTable WHERE ?=organization_id AND (a_integer, x_integer, y_integer) >= (7, 5)";
+ String tableName = initATableValues(null, tenantId, getDefaultSplits(tenantId), null, null, getUrl(), null);
+ String query = "SELECT a_integer, x_integer FROM " + tableName + " WHERE ?=organization_id AND (a_integer, x_integer, y_integer) >= (7, 5)";
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2)); // Execute at timestamp 2
Connection conn = DriverManager.getConnection(getUrl(), props);
try {
PreparedStatement statement = conn.prepareStatement(query);
@@ -141,12 +133,10 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
@Test
public void testBindVarsInRowValueConstructor() throws Exception {
- long ts = nextTimestamp();
String tenantId = getOrganizationId();
- initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl(), null);
- String query = "SELECT a_integer, x_integer FROM aTable WHERE ?=organization_id AND (a_integer, x_integer) = (?, ?)";
+ String tableName = initATableValues(null, tenantId, getDefaultSplits(tenantId), null, null, getUrl(), null);
+ String query = "SELECT a_integer, x_integer FROM " + tableName + " WHERE ?=organization_id AND (a_integer, x_integer) = (?, ?)";
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2)); // Execute at timestamp 2
Connection conn = DriverManager.getConnection(getUrl(), props);
try {
PreparedStatement statement = conn.prepareStatement(query);
@@ -168,12 +158,10 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
@Test
public void testRowValueConstructorOnLHSAndLiteralExpressionOnRHS() throws Exception {
- long ts = nextTimestamp();
String tenantId = getOrganizationId();
- initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl(), null);
- String query = "SELECT a_integer, x_integer FROM aTable WHERE ?=organization_id AND (a_integer, x_integer) >= 7";
+ String tableName = initATableValues(null, tenantId, getDefaultSplits(tenantId), null, null, getUrl(), null);
+ String query = "SELECT a_integer, x_integer FROM " + tableName + " WHERE ?=organization_id AND (a_integer, x_integer) >= 7";
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2)); // Execute at timestamp 2
Connection conn = DriverManager.getConnection(getUrl(), props);
try {
PreparedStatement statement = conn.prepareStatement(query);
@@ -192,12 +180,10 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
@Test
public void testRowValueConstructorOnRHSLiteralExpressionOnLHS() throws Exception {
- long ts = nextTimestamp();
String tenantId = getOrganizationId();
- initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl(), null);
- String query = "SELECT a_integer, x_integer FROM aTable WHERE ?=organization_id AND 7 <= (a_integer, x_integer)";
+ String tableName = initATableValues(null, tenantId, getDefaultSplits(tenantId), null, null, getUrl(), null);
+ String query = "SELECT a_integer, x_integer FROM " + tableName + " WHERE ?=organization_id AND 7 <= (a_integer, x_integer)";
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2)); // Execute at timestamp 2
Connection conn = DriverManager.getConnection(getUrl(), props);
try {
PreparedStatement statement = conn.prepareStatement(query);
@@ -216,12 +202,10 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
@Test
public void testRowValueConstructorOnLHSBuiltInFunctionOperatingOnIntegerLiteralRHS() throws Exception {
- long ts = nextTimestamp();
String tenantId = getOrganizationId();
- initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl(), null);
- String query = "SELECT a_integer, x_integer FROM aTable WHERE ?=organization_id AND (a_integer, x_integer) >= to_number('7')";
+ String tableName = initATableValues(null, tenantId, getDefaultSplits(tenantId), null, null, getUrl(), null);
+ String query = "SELECT a_integer, x_integer FROM " + tableName + " WHERE ?=organization_id AND (a_integer, x_integer) >= to_number('7')";
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2)); // Execute at timestamp 2
Connection conn = DriverManager.getConnection(getUrl(), props);
try {
PreparedStatement statement = conn.prepareStatement(query);
@@ -240,12 +224,10 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
@Test
public void testRowValueConstructorOnRHSWithBuiltInFunctionOperatingOnIntegerLiteralOnLHS() throws Exception {
- long ts = nextTimestamp();
String tenantId = getOrganizationId();
- initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl(), null);
- String query = "SELECT a_integer, x_integer FROM aTable WHERE ?=organization_id AND to_number('7') <= (a_integer, x_integer)";
+ String tableName = initATableValues(null, tenantId, getDefaultSplits(tenantId), null, null, getUrl(), null);
+ String query = "SELECT a_integer, x_integer FROM " + tableName + " WHERE ?=organization_id AND to_number('7') <= (a_integer, x_integer)";
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2)); // Execute at timestamp 2
Connection conn = DriverManager.getConnection(getUrl(), props);
try {
PreparedStatement statement = conn.prepareStatement(query);
@@ -264,12 +246,10 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
@Test
public void testRowValueConstructorOnLHSWithBuiltInFunctionOperatingOnColumnRefOnRHS() throws Exception {
- long ts = nextTimestamp();
String tenantId = getOrganizationId();
- initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts - 1, getUrl(), null);
- String upsertQuery = "UPSERT INTO aTable(organization_id, entity_id, a_string) values (?, ?, ?)";
+ String tableName = initATableValues(null, tenantId, getDefaultSplits(tenantId), null, null, getUrl(), null);
+ String upsertQuery = "UPSERT INTO " + tableName + " (organization_id, entity_id, a_string) values (?, ?, ?)";
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts));
Connection conn = DriverManager.getConnection(getUrl(), props);
conn.setAutoCommit(true);
try {
@@ -312,9 +292,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
statement.executeUpdate();
conn.commit();
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 1));
- conn = DriverManager.getConnection(getUrl(), props);
- statement = conn.prepareStatement("select a_string from atable where organization_id = ? and (6, x_integer) <= to_number(a_string)");
+ statement = conn.prepareStatement("select a_string from " + tableName + " where organization_id = ? and (6, x_integer) <= to_number(a_string)");
statement.setString(1, tenantId);
ResultSet rs = statement.executeQuery();
int count = 0;
@@ -330,12 +308,10 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
@Test
public void testRowValueConstructorOnRHSWithBuiltInFunctionOperatingOnColumnRefOnLHS() throws Exception {
- long ts = nextTimestamp();
String tenantId = getOrganizationId();
- initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts - 1, getUrl(), null);
- String upsertQuery = "UPSERT INTO aTable(organization_id, entity_id, a_string) values (?, ?, ?)";
+ String tableName = initATableValues(null, tenantId, getDefaultSplits(tenantId), null, null, getUrl(), null);
+ String upsertQuery = "UPSERT INTO " + tableName + "(organization_id, entity_id, a_string) values (?, ?, ?)";
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts));
Connection conn = DriverManager.getConnection(getUrl(), props);
conn.setAutoCommit(true);
try {
@@ -378,9 +354,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
statement.executeUpdate();
conn.commit();
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 1));
- conn = DriverManager.getConnection(getUrl(), props);
- statement = conn.prepareStatement("select a_string from atable where organization_id = ? and to_number(a_string) >= (6, 6)");
+ statement = conn.prepareStatement("select a_string from " + tableName + " where organization_id = ? and to_number(a_string) >= (6, 6)");
statement.setString(1, tenantId);
ResultSet rs = statement.executeQuery();
int count = 0;
@@ -396,15 +370,13 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
@Test
public void testQueryMoreWithInListRowValueConstructor() throws Exception {
- long ts = nextTimestamp();
String tenantId = getOrganizationId();
Date date = new Date(System.currentTimeMillis());
- initEntityHistoryTableValues(tenantId, getDefaultSplits(tenantId), date, ts);
+ String tableName = initEntityHistoryTableValues(null, tenantId, getDefaultSplits(tenantId), date, null);
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2));
Connection conn = DriverManager.getConnection(getUrl(), props);
- PreparedStatement statement = conn.prepareStatement("select parent_id from " + ENTITY_HISTORY_TABLE_NAME +
+ PreparedStatement statement = conn.prepareStatement("select parent_id from " + tableName +
" WHERE (organization_id, parent_id, created_date, entity_history_id) IN ((?, ?, ?, ?),(?,?,?,?))");
statement.setString(1, tenantId);
statement.setString(2, PARENTID3);
@@ -434,16 +406,15 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
}
private void _testQueryMoreFunctionalityUsingAllPkColsInRowValueConstructor(boolean salted) throws Exception, SQLException {
- long ts = nextTimestamp();
String tenantId = getOrganizationId();
Date date = new Date(System.currentTimeMillis());
+ String tableName;
if(salted) {
- initSaltedEntityHistoryTableValues(tenantId, null, date, ts - 1);
+ tableName = initSaltedEntityHistoryTableValues(null, tenantId, null, date, null);
} else {
- initEntityHistoryTableValues(tenantId, getDefaultSplits(tenantId), date, ts - 1);
+ tableName = initEntityHistoryTableValues(null, tenantId, getDefaultSplits(tenantId), date, null);
}
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2));
Connection conn = DriverManager.getConnection(getUrl(), props);
String startingOrgId = tenantId;
@@ -451,13 +422,8 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
Date startingDate = date;
String startingEntityHistId = ENTITYHISTID1;
PreparedStatement statement = null;
- if(salted) {
- statement = conn.prepareStatement("select organization_id, parent_id, created_date, entity_history_id, old_value, new_value from " + ENTITY_HISTORY_SALTED_TABLE_NAME +
- " WHERE (organization_id, parent_id, created_date, entity_history_id) > (?, ?, ?, ?) ORDER BY organization_id, parent_id, created_date, entity_history_id LIMIT 3 ");
- } else {
- statement = conn.prepareStatement("select organization_id, parent_id, created_date, entity_history_id, old_value, new_value from " + ENTITY_HISTORY_TABLE_NAME +
- " WHERE (organization_id, parent_id, created_date, entity_history_id) > (?, ?, ?, ?) ORDER BY organization_id, parent_id, created_date, entity_history_id LIMIT 3 ");
- }
+ statement = conn.prepareStatement("select organization_id, parent_id, created_date, entity_history_id, old_value, new_value from " + tableName +
+ " WHERE (organization_id, parent_id, created_date, entity_history_id) > (?, ?, ?, ?) ORDER BY organization_id, parent_id, created_date, entity_history_id LIMIT 3 ");
statement.setString(1, startingOrgId);
statement.setString(2, startingParentId);
statement.setDate(3, startingDate);
@@ -515,16 +481,15 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
* @throws Exception
*/
private void _testQueryMoreWithSubsetofPKColsInRowValueConstructor(boolean salted) throws Exception {
- long ts = nextTimestamp();
String tenantId = getOrganizationId();
Date date = new Date(System.currentTimeMillis());
+ String tableName;
if(salted) {
- initSaltedEntityHistoryTableValues(tenantId, null, date, ts - 1);
+ tableName = initSaltedEntityHistoryTableValues(null, tenantId, null, date, null);
} else {
- initEntityHistoryTableValues(tenantId, getDefaultSplits(tenantId), date, ts - 1);
+ tableName = initEntityHistoryTableValues(null, tenantId, getDefaultSplits(tenantId), date, null);
}
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts));
Connection conn = DriverManager.getConnection(getUrl(), props);
//initial values of pk.
@@ -534,13 +499,8 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
String startingEntityHistId = ENTITYHISTID1;
PreparedStatement statement = null;
- if(salted) {
- statement = conn.prepareStatement("select organization_id, parent_id, created_date, entity_history_id, old_value, new_value from " + ENTITY_HISTORY_SALTED_TABLE_NAME +
- " WHERE (organization_id, parent_id, entity_history_id) > (?, ?, ?) ORDER BY organization_id, parent_id, entity_history_id LIMIT 3 ");
- } else {
- statement = conn.prepareStatement("select organization_id, parent_id, created_date, entity_history_id, old_value, new_value from " + ENTITY_HISTORY_TABLE_NAME +
- " WHERE (organization_id, parent_id, entity_history_id) > (?, ?, ?) ORDER BY organization_id, parent_id, entity_history_id LIMIT 3 ");
- }
+ statement = conn.prepareStatement("select organization_id, parent_id, created_date, entity_history_id, old_value, new_value from " + tableName +
+ " WHERE (organization_id, parent_id, entity_history_id) > (?, ?, ?) ORDER BY organization_id, parent_id, entity_history_id LIMIT 3 ");
statement.setString(1, startingOrgId);
statement.setString(2, startingParentId);
statement.setString(3, startingEntityHistId);
@@ -594,28 +554,22 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
* @throws Exception
*/
private void _testQueryMoreWithLeadingPKColSkippedInRowValueConstructor(boolean salted) throws Exception {
- long ts = nextTimestamp();
String tenantId = getOrganizationId();
Date date = new Date(System.currentTimeMillis());
+ String tableName;
if(salted) {
- initSaltedEntityHistoryTableValues(tenantId, null, date, ts - 1);
+ tableName = initSaltedEntityHistoryTableValues(null, tenantId, null, date, null);
} else {
- initEntityHistoryTableValues(tenantId, getDefaultSplits(tenantId), date, ts - 1);
+ tableName = initEntityHistoryTableValues(null, tenantId, getDefaultSplits(tenantId), date, null);
}
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts));
Connection conn = DriverManager.getConnection(getUrl(), props);
String startingParentId = PARENTID1;
Date startingDate = date;
String startingEntityHistId = ENTITYHISTID1;
PreparedStatement statement = null;
- if(salted) {
- statement = conn.prepareStatement("select organization_id, parent_id, created_date, entity_history_id, old_value, new_value from " + ENTITY_HISTORY_SALTED_TABLE_NAME +
- " WHERE (parent_id, created_date, entity_history_id) > (?, ?, ?) ORDER BY parent_id, created_date, entity_history_id LIMIT 3 ");
- } else {
- statement = conn.prepareStatement("select organization_id, parent_id, created_date, entity_history_id, old_value, new_value from " + ENTITY_HISTORY_TABLE_NAME +
- " WHERE (parent_id, created_date, entity_history_id) > (?, ?, ?) ORDER BY parent_id, created_date, entity_history_id LIMIT 3 ");
- }
+ statement = conn.prepareStatement("select organization_id, parent_id, created_date, entity_history_id, old_value, new_value from " + tableName +
+ " WHERE (parent_id, created_date, entity_history_id) > (?, ?, ?) ORDER BY parent_id, created_date, entity_history_id LIMIT 3 ");
statement.setString(1, startingParentId);
statement.setDate(2, startingDate);
statement.setString(3, startingEntityHistId);
@@ -652,12 +606,10 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
@Test
public void testRVCWithNonLeadingPkColsOfTypesIntegerAndString() throws Exception {
- long ts = nextTimestamp();
String tenantId = getOrganizationId();
- initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl(), null);
- String query = "SELECT a_integer, a_string FROM aTable WHERE ?=organization_id AND (a_integer, a_string) <= (5, 'a')";
+ String tableName = initATableValues(null, tenantId, getDefaultSplits(tenantId), null, null, getUrl(), null);
+ String query = "SELECT a_integer, a_string FROM " + tableName + " WHERE ?=organization_id AND (a_integer, a_string) <= (5, 'a')";
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2)); // Execute at timestamp 2
Connection conn = DriverManager.getConnection(getUrl(), props);
try {
PreparedStatement statement = conn.prepareStatement(query);
@@ -678,19 +630,17 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
@Test
public void testRVCWithNonLeadingPkColsOfTypesTimeStampAndString() throws Exception {
- long ts = nextTimestamp();
String tenantId = getOrganizationId();
- initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl(), null);
+ String tableName = initATableValues(null, tenantId, getDefaultSplits(tenantId), null, null, getUrl(), null);
String updateStmt =
"upsert into " +
- "ATABLE(" +
+ tableName + "(" +
" ORGANIZATION_ID, " +
" ENTITY_ID, " +
" A_TIMESTAMP) " +
"VALUES (?, ?, ?)";
- String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + (ts + 1);
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- Connection upsertConn = DriverManager.getConnection(url, props);
+ Connection upsertConn = DriverManager.getConnection(getUrl(), props);
upsertConn.setAutoCommit(true);
PreparedStatement stmt = upsertConn.prepareStatement(updateStmt);
stmt.setString(1, tenantId);
@@ -699,9 +649,8 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
stmt.setTimestamp(3, tsValue);
stmt.execute();
- String query = "SELECT a_timestamp, a_string FROM aTable WHERE ?=organization_id AND (a_timestamp, a_string) = (?, 'a')";
+ String query = "SELECT a_timestamp, a_string FROM " + tableName + " WHERE ?=organization_id AND (a_timestamp, a_string) = (?, 'a')";
props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2)); // Execute at timestamp 2
Connection conn = DriverManager.getConnection(getUrl(), props);
try {
PreparedStatement statement = conn.prepareStatement(query);
@@ -722,16 +671,14 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
@Test
public void testNestedRVCBasic() throws Exception {
- long ts = nextTimestamp();
String tenantId = getOrganizationId();
- initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl(), null);
+ String tableName = initATableValues(null, tenantId, getDefaultSplits(tenantId), null, null, getUrl(), null);
//all the three queries should return the same rows.
- String[] queries = {"SELECT organization_id, entity_id, a_string FROM aTable WHERE ((organization_id, entity_id), a_string) >= ((?, ?), ?)",
- "SELECT organization_id, entity_id, a_string FROM aTable WHERE (organization_id, entity_id, a_string) >= (?, ?, ?)",
- "SELECT organization_id, entity_id, a_string FROM aTable WHERE (organization_id, (entity_id, a_string)) >= (?, (?, ?))"
+ String[] queries = {"SELECT organization_id, entity_id, a_string FROM " + tableName + " WHERE ((organization_id, entity_id), a_string) >= ((?, ?), ?)",
+ "SELECT organization_id, entity_id, a_string FROM " + tableName + " WHERE (organization_id, entity_id, a_string) >= (?, ?, ?)",
+ "SELECT organization_id, entity_id, a_string FROM " + tableName + " WHERE (organization_id, (entity_id, a_string)) >= (?, (?, ?))"
};
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2)); // Execute at timestamp 2
Connection conn = DriverManager.getConnection(getUrl(), props);
PreparedStatement statement = null;
try {
@@ -760,13 +707,11 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
@Test
public void testRVCWithInListClausePossibleNullValues() throws Exception {
- long ts = nextTimestamp();
String tenantId = getOrganizationId();
- initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl(), null);
+ String tableName = initATableValues(null, tenantId, getDefaultSplits(tenantId), null, null, getUrl(), null);
//we have a row present in aTable where x_integer = 5 and y_integer = NULL which gets translated to 0 when retriving from HBase.
- String query = "SELECT x_integer, y_integer FROM aTable WHERE ? = organization_id AND (x_integer, y_integer) IN ((5))";
+ String query = "SELECT x_integer, y_integer FROM " + tableName + " WHERE ? = organization_id AND (x_integer, y_integer) IN ((5))";
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2)); // Execute at timestamp 2
Connection conn = DriverManager.getConnection(getUrl(), props);
try {
PreparedStatement statement = conn.prepareStatement(query);
@@ -782,14 +727,12 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
@Test
public void testRVCWithInListClauseUsingSubsetOfPKColsInOrder() throws Exception {
- long ts = nextTimestamp();
String tenantId = getOrganizationId();
- initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl(), null);
+ String tableName = initATableValues(null, tenantId, getDefaultSplits(tenantId), null, null, getUrl(), null);
// Though we have a row present in aTable where organization_id = tenantId and x_integer = 5,
// we'd also need to have an entity_id that is null (which we don't have).
- String query = "SELECT organization_id, entity_id FROM aTable WHERE (organization_id, entity_id) IN (('" + tenantId + "')) AND x_integer = 5";
+ String query = "SELECT organization_id, entity_id FROM " + tableName + " WHERE (organization_id, entity_id) IN (('" + tenantId + "')) AND x_integer = 5";
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2)); // Execute at timestamp 2
Connection conn = null;
PreparedStatement statement = null;
try {
@@ -812,12 +755,10 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
@Test
public void testRVCWithCeilAndFloorNeededForDecimal() throws Exception {
- long ts = nextTimestamp();
String tenantId = getOrganizationId();
- initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl(), null);
- String query = "SELECT a_integer, x_integer FROM aTable WHERE ?=organization_id AND (a_integer, x_integer) < (8.6, 4.5) AND (a_integer, x_integer) > (6.8, 4)";
+ String tableName = initATableValues(null, tenantId, getDefaultSplits(tenantId), null, null, getUrl(), null);
+ String query = "SELECT a_integer, x_integer FROM " + tableName + " WHERE ?=organization_id AND (a_integer, x_integer) < (8.6, 4.5) AND (a_integer, x_integer) > (6.8, 4)";
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2)); // Execute at timestamp 2
Connection conn = DriverManager.getConnection(getUrl(), props);
try {
PreparedStatement statement = conn.prepareStatement(query);
@@ -837,14 +778,12 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
@Test
public void testRVCWithCeilAndFloorNeededForTimestamp() throws Exception {
- long ts = nextTimestamp();
String tenantId = getOrganizationId();
Date dateUpserted = DateUtil.parseDate("2012-01-01 14:25:28");
dateUpserted = new Date(dateUpserted.getTime() + 660); // this makes the dateUpserted equivalent to 2012-01-01 14:25:28.660
- initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), dateUpserted, ts, getUrl(), null);
- String query = "SELECT a_integer, a_date FROM aTable WHERE ?=organization_id AND (a_integer, a_date) <= (9, ?) AND (a_integer, a_date) >= (6, ?)";
+ String tableName = initATableValues(null, tenantId, getDefaultSplits(tenantId), dateUpserted, null, getUrl(), null);
+ String query = "SELECT a_integer, a_date FROM " + tableName + " WHERE ?=organization_id AND (a_integer, a_date) <= (9, ?) AND (a_integer, a_date) >= (6, ?)";
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2)); // Execute at timestamp 2
Connection conn = DriverManager.getConnection(getUrl(), props);
try {
PreparedStatement statement = conn.prepareStatement(query);
@@ -872,23 +811,20 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
@Test
public void testRVCWithMultiCompKeysForIn() throws Exception {
- long ts = nextTimestamp();
+ String tableName = generateUniqueName();
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 10));
Connection conn = DriverManager.getConnection(getUrl(), props);
- conn.createStatement().execute("CREATE TABLE t (pk1 varchar, pk2 varchar, constraint pk primary key (pk1,pk2))");
+ conn.createStatement().execute("CREATE TABLE " + tableName + " (pk1 varchar, pk2 varchar, constraint pk primary key (pk1,pk2))");
conn.close();
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 20));
conn = DriverManager.getConnection(getUrl(), props);
conn.setAutoCommit(true);
- conn.createStatement().execute("UPSERT INTO t VALUES('a','a')");
- conn.createStatement().execute("UPSERT INTO t VALUES('b','b')");
+ conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('a','a')");
+ conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('b','b')");
conn.close();
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 30));
conn = DriverManager.getConnection(getUrl(), props);
- ResultSet rs = conn.createStatement().executeQuery("SELECT * FROM t WHERE (pk1,pk2) IN (('a','a'),('b','b'))");
+ ResultSet rs = conn.createStatement().executeQuery("SELECT * FROM " + tableName + " WHERE (pk1,pk2) IN (('a','a'),('b','b'))");
assertTrue(rs.next());
assertEquals("a",rs.getString(1));
assertEquals("a",rs.getString(2));
@@ -900,7 +836,6 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
private Connection nextConnection(String url) throws SQLException {
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(nextTimestamp()));
return DriverManager.getConnection(url, props);
}
@@ -908,25 +843,27 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
@Test
public void testInListOfRVC1() throws Exception {
String tenantId = "ABC";
+ String tableName = generateUniqueName();
+ String viewName = generateUniqueName();
String tenantSpecificUrl = getUrl() + ";" + PhoenixRuntime.TENANT_ID_ATTRIB + '=' + tenantId;
- String baseTableDDL = "CREATE TABLE t (tenantId varchar(5) NOT NULL, pk2 varchar(5) NOT NULL, pk3 INTEGER NOT NULL, c1 INTEGER constraint pk primary key (tenantId,pk2,pk3)) MULTI_TENANT=true";
- createTestTable(getUrl(), baseTableDDL, null, nextTimestamp());
- String tenantTableDDL = "CREATE VIEW t_view (tenant_col VARCHAR) AS SELECT *\n" +
- " FROM t";
- createTestTable(tenantSpecificUrl, tenantTableDDL, null, nextTimestamp());
+ String baseTableDDL = "CREATE TABLE " + tableName + " (tenantId varchar(5) NOT NULL, pk2 varchar(5) NOT NULL, pk3 INTEGER NOT NULL, c1 INTEGER constraint pk primary key (tenantId,pk2,pk3)) MULTI_TENANT=true";
+ createTestTable(getUrl(), baseTableDDL, null, null);
+ String tenantTableDDL = "CREATE VIEW " + viewName + " (tenant_col VARCHAR) AS SELECT *\n" +
+ " FROM " + tableName;
+ createTestTable(tenantSpecificUrl, tenantTableDDL, null, null);
Connection conn = nextConnection(tenantSpecificUrl);
- conn.createStatement().executeUpdate("upsert into t_view (pk2, pk3, c1) values ('helo1', 1, 1)");
- conn.createStatement().executeUpdate("upsert into t_view (pk2, pk3, c1) values ('helo2', 2, 2)");
- conn.createStatement().executeUpdate("upsert into t_view (pk2, pk3, c1) values ('helo3', 3, 3)");
- conn.createStatement().executeUpdate("upsert into t_view (pk2, pk3, c1) values ('helo4', 4, 4)");
- conn.createStatement().executeUpdate("upsert into t_view (pk2, pk3, c1) values ('helo5', 5, 5)");
+ conn.createStatement().executeUpdate("upsert into " + viewName + " (pk2, pk3, c1) values ('helo1', 1, 1)");
+ conn.createStatement().executeUpdate("upsert into " + viewName + " (pk2, pk3, c1) values ('helo2', 2, 2)");
+ conn.createStatement().executeUpdate("upsert into " + viewName + " (pk2, pk3, c1) values ('helo3', 3, 3)");
+ conn.createStatement().executeUpdate("upsert into " + viewName + " (pk2, pk3, c1) values ('helo4', 4, 4)");
+ conn.createStatement().executeUpdate("upsert into " + viewName + " (pk2, pk3, c1) values ('helo5', 5, 5)");
conn.commit();
conn.close();
conn = nextConnection(tenantSpecificUrl);
//order by needed on the query to make the order of rows returned deterministic.
- PreparedStatement stmt = conn.prepareStatement("select pk2, pk3 from t_view WHERE (pk2, pk3) IN ((?, ?), (?, ?)) ORDER BY pk2");
+ PreparedStatement stmt = conn.prepareStatement("select pk2, pk3 from " + viewName + " WHERE (pk2, pk3) IN ((?, ?), (?, ?)) ORDER BY pk2");
stmt.setString(1, "helo3");
stmt.setInt(2, 3);
stmt.setString(3, "helo5");
@@ -946,25 +883,27 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
@Test
public void testInListOfRVC2() throws Exception {
String tenantId = "ABC";
+ String tableName = generateUniqueName();
+ String viewName = generateUniqueName();
String tenantSpecificUrl = getUrl() + ";" + PhoenixRuntime.TENANT_ID_ATTRIB + '=' + tenantId;
- String baseTableDDL = "CREATE TABLE t (tenantId varchar(5) NOT NULL, pk2 varchar(5) NOT NULL, pk3 INTEGER NOT NULL, c1 INTEGER constraint pk primary key (tenantId,pk2,pk3)) MULTI_TENANT=true";
- createTestTable(getUrl(), baseTableDDL, null, nextTimestamp());
- String tenantTableDDL = "CREATE VIEW t_view (tenant_col VARCHAR) AS SELECT *\n" +
- " FROM t";
- createTestTable(tenantSpecificUrl, tenantTableDDL, null, nextTimestamp());
+ String baseTableDDL = "CREATE TABLE " + tableName + " (tenantId varchar(5) NOT NULL, pk2 varchar(5) NOT NULL, pk3 INTEGER NOT NULL, c1 INTEGER constraint pk primary key (tenantId,pk2,pk3)) MULTI_TENANT=true";
+ createTestTable(getUrl(), baseTableDDL, null, null);
+ String tenantTableDDL = "CREATE VIEW " + viewName + " (tenant_col VARCHAR) AS SELECT *\n" +
+ " FROM " + tableName;
+ createTestTable(tenantSpecificUrl, tenantTableDDL, null, null);
Connection conn = nextConnection(tenantSpecificUrl);
- conn.createStatement().executeUpdate("upsert into t_view (pk2, pk3, c1) values ('helo1', 1, 1)");
- conn.createStatement().executeUpdate("upsert into t_view (pk2, pk3, c1) values ('helo2', 2, 2)");
- conn.createStatement().executeUpdate("upsert into t_view (pk2, pk3, c1) values ('helo3', 3, 3)");
- conn.createStatement().executeUpdate("upsert into t_view (pk2, pk3, c1) values ('helo4', 4, 4)");
- conn.createStatement().executeUpdate("upsert into t_view (pk2, pk3, c1) values ('helo5', 5, 5)");
+ conn.createStatement().executeUpdate("upsert into " + viewName + " (pk2, pk3, c1) values ('helo1', 1, 1)");
+ conn.createStatement().executeUpdate("upsert into " + viewName + " (pk2, pk3, c1) values ('helo2', 2, 2)");
+ conn.createStatement().executeUpdate("upsert into " + viewName + " (pk2, pk3, c1) values ('helo3', 3, 3)");
+ conn.createStatement().executeUpdate("upsert into " + viewName + " (pk2, pk3, c1) values ('helo4', 4, 4)");
+ conn.createStatement().executeUpdate("upsert into " + viewName + " (pk2, pk3, c1) values ('helo5', 5, 5)");
conn.commit();
conn.close();
conn = nextConnection(getUrl());
//order by needed on the query to make the order of rows returned deterministic.
- PreparedStatement stmt = conn.prepareStatement("select pk2, pk3 from t WHERE (tenantId, pk2, pk3) IN ((?, ?, ?), (?, ?, ?)) ORDER BY pk2");
+ PreparedStatement stmt = conn.prepareStatement("select pk2, pk3 from " + tableName + " WHERE (tenantId, pk2, pk3) IN ((?, ?, ?), (?, ?, ?)) ORDER BY pk2");
stmt.setString(1, tenantId);
stmt.setString(2, "helo3");
stmt.setInt(3, 3);
@@ -986,21 +925,22 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
@Test
public void testInListOfRVC3() throws Exception {
String tenantId = "ABC";
- String tableDDL = "CREATE TABLE t (tenantId varchar(5) NOT NULL, pk2 varchar(5) NOT NULL, pk3 INTEGER NOT NULL, c1 INTEGER constraint pk primary key (tenantId,pk2,pk3))";
- createTestTable(getUrl(), tableDDL, null, nextTimestamp());
+ String tableName = generateUniqueName();
+ String tableDDL = "CREATE TABLE " + tableName + " (tenantId varchar(5) NOT NULL, pk2 varchar(5) NOT NULL, pk3 INTEGER NOT NULL, c1 INTEGER constraint pk primary key (tenantId,pk2,pk3))";
+ createTestTable(getUrl(), tableDDL, null, null);
Connection conn = nextConnection(getUrl());
- conn.createStatement().executeUpdate("upsert into t (tenantId, pk2, pk3, c1) values ('ABC', 'helo1', 1, 1)");
- conn.createStatement().executeUpdate("upsert into t (tenantId, pk2, pk3, c1) values ('ABC', 'helo2', 2, 2)");
- conn.createStatement().executeUpdate("upsert into t (tenantId, pk2, pk3, c1) values ('ABC', 'helo3', 3, 3)");
- conn.createStatement().executeUpdate("upsert into t (tenantId, pk2, pk3, c1) values ('ABC', 'helo4', 4, 4)");
- conn.createStatement().executeUpdate("upsert into t (tenantId, pk2, pk3, c1) values ('ABC', 'helo5', 5, 5)");
+ conn.createStatement().executeUpdate("upsert into " + tableName + " (tenantId, pk2, pk3, c1) values ('ABC', 'helo1', 1, 1)");
+ conn.createStatement().executeUpdate("upsert into " + tableName + " (tenantId, pk2, pk3, c1) values ('ABC', 'helo2', 2, 2)");
+ conn.createStatement().executeUpdate("upsert into " + tableName + " (tenantId, pk2, pk3, c1) values ('ABC', 'helo3', 3, 3)");
+ conn.createStatement().executeUpdate("upsert into " + tableName + " (tenantId, pk2, pk3, c1) values ('ABC', 'helo4', 4, 4)");
+ conn.createStatement().executeUpdate("upsert into " + tableName + " (tenantId, pk2, pk3, c1) values ('ABC', 'helo5', 5, 5)");
conn.commit();
conn.close();
conn = nextConnection(getUrl());
//order by needed on the query to make the order of rows returned deterministic.
- PreparedStatement stmt = conn.prepareStatement("select pk2, pk3 from t WHERE (tenantId, pk2, pk3) IN ((?, ?, ?), (?, ?, ?)) ORDER BY pk2");
+ PreparedStatement stmt = conn.prepareStatement("select pk2, pk3 from " + tableName + " WHERE (tenantId, pk2, pk3) IN ((?, ?, ?), (?, ?, ?)) ORDER BY pk2");
stmt.setString(1, tenantId);
stmt.setString(2, "helo3");
stmt.setInt(3, 3);
@@ -1022,25 +962,27 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
@Test
public void testInListOfRVC4() throws Exception {
String tenantId = "ABC";
+ String tableName = generateUniqueName();
+ String viewName = generateUniqueName();
String tenantSpecificUrl = getUrl() + ";" + PhoenixRuntime.TENANT_ID_ATTRIB + '=' + tenantId;
- String baseTableDDL = "CREATE TABLE t (tenantId varchar(5) NOT NULL, pk2 varchar(5) NOT NULL, pk3 INTEGER NOT NULL, c1 INTEGER constraint pk primary key (tenantId,pk2,pk3)) SALT_BUCKETS=4, MULTI_TENANT=true";
- createTestTable(getUrl(), baseTableDDL, null, nextTimestamp());
- String tenantTableDDL = "CREATE VIEW t_view (tenant_col VARCHAR) AS SELECT *\n" +
- " FROM t";
- createTestTable(tenantSpecificUrl, tenantTableDDL, null, nextTimestamp());
+ String baseTableDDL = "CREATE TABLE " + tableName + " (tenantId varchar(5) NOT NULL, pk2 varchar(5) NOT NULL, pk3 INTEGER NOT NULL, c1 INTEGER constraint pk primary key (tenantId,pk2,pk3)) SALT_BUCKETS=4, MULTI_TENANT=true";
+ createTestTable(getUrl(), baseTableDDL, null, null);
+ String tenantTableDDL = "CREATE VIEW " + viewName + " (tenant_col VARCHAR) AS SELECT *\n" +
+ " FROM " + tableName;
+ createTestTable(tenantSpecificUrl, tenantTableDDL, null, null);
Connection conn = nextConnection(tenantSpecificUrl);
- conn.createStatement().executeUpdate("upsert into t_view (pk2, pk3, c1) values ('helo1', 1, 1)");
- conn.createStatement().executeUpdate("upsert into t_view (pk2, pk3, c1) values ('helo2', 2, 2)");
- conn.createStatement().executeUpdate("upsert into t_view (pk2, pk3, c1) values ('helo3', 3, 3)");
- conn.createStatement().executeUpdate("upsert into t_view (pk2, pk3, c1) values ('helo4', 4, 4)");
- conn.createStatement().executeUpdate("upsert into t_view (pk2, pk3, c1) values ('helo5', 5, 5)");
+ conn.createStatement().executeUpdate("upsert into " + viewName + " (pk2, pk3, c1) values ('helo1', 1, 1)");
+ conn.createStatement().executeUpdate("upsert into " + viewName + " (pk2, pk3, c1) values ('helo2', 2, 2)");
+ conn.createStatement().executeUpdate("upsert into " + viewName + " (pk2, pk3, c1) values ('helo3', 3, 3)");
+ conn.createStatement().executeUpdate("upsert into " + viewName + " (pk2, pk3, c1) values ('helo4', 4, 4)");
+ conn.createStatement().executeUpdate("upsert into " + viewName + " (pk2, pk3, c1) values ('helo5', 5, 5)");
conn.commit();
conn.close();
conn = nextConnection(getUrl());
//order by needed on the query to make the order of rows returned deterministic.
- PreparedStatement stmt = conn.prepareStatement("select pk2, pk3 from t WHERE (tenantId, pk2, pk3) IN ((?, ?, ?), (?, ?, ?)) ORDER BY pk2");
+ PreparedStatement stmt = conn.prepareStatement("select pk2, pk3 from " + tableName + " WHERE (tenantId, pk2, pk3) IN ((?, ?, ?), (?, ?, ?)) ORDER BY pk2");
stmt.setString(1, tenantId);
stmt.setString(2, "helo3");
stmt.setInt(3, 3);
@@ -1062,21 +1004,22 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
@Test
public void testInListOfRVC5() throws Exception {
String tenantId = "ABC";
- String tableDDL = "CREATE TABLE t (tenantId varchar(5) NOT NULL, pk2 varchar(5) NOT NULL, pk3 INTEGER NOT NULL, c1 INTEGER constraint pk primary key (tenantId,pk2,pk3)) SALT_BUCKETS=4";
- createTestTable(getUrl(), tableDDL, null, nextTimestamp());
+ String tableName = generateUniqueName();
+ String tableDDL = "CREATE TABLE " + tableName + " (tenantId varchar(5) NOT NULL, pk2 varchar(5) NOT NULL, pk3 INTEGER NOT NULL, c1 INTEGER constraint pk primary key (tenantId,pk2,pk3)) SALT_BUCKETS=4";
+ createTestTable(getUrl(), tableDDL, null, null);
Connection conn = nextConnection(getUrl());
- conn.createStatement().executeUpdate("upsert into t (tenantId, pk2, pk3, c1) values ('ABC', 'helo1', 1, 1)");
- conn.createStatement().executeUpdate("upsert into t (tenantId, pk2, pk3, c1) values ('ABC', 'helo2', 2, 2)");
- conn.createStatement().executeUpdate("upsert into t (tenantId, pk2, pk3, c1) values ('ABC', 'helo3', 3, 3)");
- conn.createStatement().executeUpdate("upsert into t (tenantId, pk2, pk3, c1) values ('ABC', 'helo4', 4, 4)");
- conn.createStatement().executeUpdate("upsert into t (tenantId, pk2, pk3, c1) values ('ABC', 'helo5', 5, 5)");
+ conn.createStatement().executeUpdate("upsert into " + tableName + " (tenantId, pk2, pk3, c1) values ('ABC', 'helo1', 1, 1)");
+ conn.createStatement().executeUpdate("upsert into " + tableName + " (tenantId, pk2, pk3, c1) values ('ABC', 'helo2', 2, 2)");
+ conn.createStatement().executeUpdate("upsert into " + tableName + " (tenantId, pk2, pk3, c1) values ('ABC', 'helo3', 3, 3)");
+ conn.createStatement().executeUpdate("upsert into " + tableName + " (tenantId, pk2, pk3, c1) values ('ABC', 'helo4', 4, 4)");
+ conn.createStatement().executeUpdate("upsert into " + tableName + " (tenantId, pk2, pk3, c1) values ('ABC', 'helo5', 5, 5)");
conn.commit();
conn.close();
conn = nextConnection(getUrl());
//order by needed on the query to make the order of rows returned deterministic.
- PreparedStatement stmt = conn.prepareStatement("select pk2, pk3 from t WHERE (tenantId, pk2, pk3) IN ((?, ?, ?), (?, ?, ?)) ORDER BY pk2");
+ PreparedStatement stmt = conn.prepareStatement("select pk2, pk3 from " + tableName + " WHERE (tenantId, pk2, pk3) IN ((?, ?, ?), (?, ?, ?)) ORDER BY pk2");
stmt.setString(1, tenantId);
stmt.setString(2, "helo3");
stmt.setInt(3, 3);
@@ -1097,21 +1040,22 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
@Test
public void testInListOfRVCColumnValuesSmallerLengthThanSchema() throws Exception {
String tenantId = "ABC";
- String tableDDL = "CREATE TABLE t (tenantId char(15) NOT NULL, pk2 char(15) NOT NULL, pk3 INTEGER NOT NULL, c1 INTEGER constraint pk primary key (tenantId,pk2,pk3))";
- createTestTable(getUrl(), tableDDL, null, nextTimestamp());
+ String tableName = generateUniqueName();
+ String tableDDL = "CREATE TABLE " + tableName + " (tenantId char(15) NOT NULL, pk2 char(15) NOT NULL, pk3 INTEGER NOT NULL, c1 INTEGER constraint pk primary key (tenantId,pk2,pk3))";
+ createTestTable(getUrl(), tableDDL, null, null);
Connection conn = nextConnection(getUrl());
- conn.createStatement().executeUpdate("upsert into t (tenantId, pk2, pk3, c1) values ('ABC', 'hel1', 1, 1)");
- conn.createStatement().executeUpdate("upsert into t (tenantId, pk2, pk3, c1) values ('ABC', 'hel2', 2, 2)");
- conn.createStatement().executeUpdate("upsert into t (tenantId, pk2, pk3, c1) values ('ABC', 'hel3', 3, 3)");
- conn.createStatement().executeUpdate("upsert into t (tenantId, pk2, pk3, c1) values ('ABC', 'hel4', 4, 4)");
- conn.createStatement().executeUpdate("upsert into t (tenantId, pk2, pk3, c1) values ('ABC', 'hel5', 5, 5)");
+ conn.createStatement().executeUpdate("upsert into " + tableName + " (tenantId, pk2, pk3, c1) values ('ABC', 'hel1', 1, 1)");
+ conn.createStatement().executeUpdate("upsert into " + tableName + " (tenantId, pk2, pk3, c1) values ('ABC', 'hel2', 2, 2)");
+ conn.createStatement().executeUpdate("upsert into " + tableName + " (tenantId, pk2, pk3, c1) values ('ABC', 'hel3', 3, 3)");
+ conn.createStatement().executeUpdate("upsert into " + tableName + " (tenantId, pk2, pk3, c1) values ('ABC', 'hel4', 4, 4)");
+ conn.createStatement().executeUpdate("upsert into " + tableName + " (tenantId, pk2, pk3, c1) values ('ABC', 'hel5', 5, 5)");
conn.commit();
conn.close();
conn = nextConnection(getUrl());
//order by needed on the query to make the order of rows returned deterministic.
- PreparedStatement stmt = conn.prepareStatement("select pk2, pk3 from t WHERE (tenantId, pk2, pk3) IN ((?, ?, ?), (?, ?, ?)) ORDER BY PK2");
+ PreparedStatement stmt = conn.prepareStatement("select pk2, pk3 from " + tableName + " WHERE (tenantId, pk2, pk3) IN ((?, ?, ?), (?, ?, ?)) ORDER BY PK2");
stmt.setString(1, tenantId);
stmt.setString(2, "hel3");
stmt.setInt(3, 3);
@@ -1141,28 +1085,29 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
private void testRVCWithComparisonOps(boolean columnValueLengthSmaller) throws Exception {
String tenantId = "ABC";
- String tableDDLFormat = "CREATE TABLE t (tenantId char(%s) NOT NULL, pk2 char(%s) NOT NULL, pk3 INTEGER NOT NULL, c1 INTEGER constraint pk primary key (tenantId,pk2,pk3))";
+ String tableName = generateUniqueName();
+ String tableDDLFormat = "CREATE TABLE " + tableName + " (tenantId char(%s) NOT NULL, pk2 char(%s) NOT NULL, pk3 INTEGER NOT NULL, c1 INTEGER constraint pk primary key (tenantId,pk2,pk3))";
String tableDDL;
if (columnValueLengthSmaller) {
tableDDL = String.format(tableDDLFormat, 15, 15);
} else {
tableDDL = String.format(tableDDLFormat, 3, 5);
}
- createTestTable(getUrl(), tableDDL, null, nextTimestamp());
+ createTestTable(getUrl(), tableDDL, null, null);
Connection conn = nextConnection(getUrl());
- conn.createStatement().executeUpdate("upsert into t (tenantId, pk2, pk3, c1) values ('ABC', 'helo1', 1, 1)");
- conn.createStatement().executeUpdate("upsert into t (tenantId, pk2, pk3, c1) values ('ABC', 'helo2', 2, 2)");
- conn.createStatement().executeUpdate("upsert into t (tenantId, pk2, pk3, c1) values ('ABC', 'helo3', 3, 3)");
- conn.createStatement().executeUpdate("upsert into t (tenantId, pk2, pk3, c1) values ('ABC', 'helo4', 4, 4)");
- conn.createStatement().executeUpdate("upsert into t (tenantId, pk2, pk3, c1) values ('ABC', 'helo5', 5, 5)");
+ conn.createStatement().executeUpdate("upsert into " + tableName + " (tenantId, pk2, pk3, c1) values ('ABC', 'helo1', 1, 1)");
+ conn.createStatement().executeUpdate("upsert into " + tableName + " (tenantId, pk2, pk3, c1) values ('ABC', 'helo2', 2, 2)");
+ conn.createStatement().executeUpdate("upsert into " + tableName + " (tenantId, pk2, pk3, c1) values ('ABC', 'helo3', 3, 3)");
+ conn.createStatement().executeUpdate("upsert into " + tableName + " (tenantId, pk2, pk3, c1) values ('ABC', 'helo4', 4, 4)");
+ conn.createStatement().executeUpdate("upsert into " + tableName + " (tenantId, pk2, pk3, c1) values ('ABC', 'helo5', 5, 5)");
conn.commit();
conn.close();
conn = nextConnection(getUrl());
// >
- PreparedStatement stmt = conn.prepareStatement("select pk2, pk3 from t WHERE (tenantId, pk2, pk3) > (?, ?, ?)");
+ PreparedStatement stmt = conn.prepareStatement("select pk2, pk3 from " + tableName + " WHERE (tenantId, pk2, pk3) > (?, ?, ?)");
stmt.setString(1, tenantId);
stmt.setString(2, "helo3");
stmt.setInt(3, 3);
@@ -1177,7 +1122,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
assertFalse(rs.next());
// >=
- stmt = conn.prepareStatement("select pk2, pk3 from t WHERE (tenantId, pk2, pk3) >= (?, ?, ?)");
+ stmt = conn.prepareStatement("select pk2, pk3 from " + tableName + " WHERE (tenantId, pk2, pk3) >= (?, ?, ?)");
stmt.setString(1, tenantId);
stmt.setString(2, "helo4");
stmt.setInt(3, 4);
@@ -1192,7 +1137,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
assertFalse(rs.next());
// <
- stmt = conn.prepareStatement("select pk2, pk3 from t WHERE (tenantId, pk2, pk3) < (?, ?, ?)");
+ stmt = conn.prepareStatement("select pk2, pk3 from " + tableName + " WHERE (tenantId, pk2, pk3) < (?, ?, ?)");
stmt.setString(1, tenantId);
stmt.setString(2, "helo2");
stmt.setInt(3, 2);
@@ -1204,7 +1149,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
assertFalse(rs.next());
// <=
- stmt = conn.prepareStatement("select pk2, pk3 from t WHERE (tenantId, pk2, pk3) <= (?, ?, ?)");
+ stmt = conn.prepareStatement("select pk2, pk3 from " + tableName + " WHERE (tenantId, pk2, pk3) <= (?, ?, ?)");
stmt.setString(1, tenantId);
stmt.setString(2, "helo2");
stmt.setInt(3, 2);
@@ -1219,7 +1164,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
assertFalse(rs.next());
// =
- stmt = conn.prepareStatement("select pk2, pk3 from t WHERE (tenantId, pk2, pk3) = (?, ?, ?)");
+ stmt = conn.prepareStatement("select pk2, pk3 from " + tableName + " WHERE (tenantId, pk2, pk3) = (?, ?, ?)");
stmt.setString(1, tenantId);
stmt.setString(2, "helo4");
stmt.setInt(3, 4);
@@ -1233,7 +1178,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
@Test
public void testForceSkipScan() throws Exception {
- String tempTableWithCompositePK = "TEMP_TABLE_COMPOSITE_PK";
+ String tempTableWithCompositePK = generateUniqueName();
Connection conn = nextConnection(getUrl());
try {
conn.createStatement().execute("CREATE TABLE " + tempTableWithCompositePK
@@ -1275,7 +1220,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
assertFalse(rs.next());
- String plan = "CLIENT PARALLEL 4-WAY SKIP SCAN ON 12 KEYS OVER TEMP_TABLE_COMPOSITE_PK [0,2] - [3,4]\n" +
+ String plan = "CLIENT PARALLEL 4-WAY SKIP SCAN ON 12 KEYS OVER " + tempTableWithCompositePK + " [0,2] - [3,4]\n" +
"CLIENT MERGE SORT";
String explainQuery = "EXPLAIN " + query;
rs = conn.createStatement().executeQuery(explainQuery);
@@ -1289,7 +1234,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
@Test
public void testComparisonAgainstRVCCombinedWithOrAnd_1() throws Exception {
String tableDDL = "CREATE TABLE RVC1 (tenantId char(15) NOT NULL, pk2 char(15) NOT NULL, pk3 INTEGER NOT NULL, c1 INTEGER constraint pk primary key (tenantId,pk2,pk3)) SALT_BUCKETS = 4";
- createTestTable(getUrl(), tableDDL, null, nextTimestamp());
+ createTestTable(getUrl(), tableDDL, null, null);
Connection conn = nextConnection(getUrl());
conn.createStatement().executeUpdate("upsert into RVC1 (tenantId, pk2, pk3, c1) values ('ABC', 'helo1', 1, 1)");
@@ -1339,9 +1284,9 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
String tenantId = "ABC";
String tenantSpecificUrl = getUrl() + ";" + PhoenixRuntime.TENANT_ID_ATTRIB + '=' + tenantId;
String baseTableDDL = "CREATE TABLE RVC2 (tenant_id char(15) NOT NULL, pk2 char(15) NOT NULL, pk3 INTEGER NOT NULL, c1 INTEGER constraint pk primary key (tenant_id,pk2,pk3)) MULTI_TENANT=true, SALT_BUCKETS = 4";
- createTestTable(getUrl(), baseTableDDL, null, nextTimestamp());
+ createTestTable(getUrl(), baseTableDDL, null, null);
String tenantTableDDL = "CREATE VIEW t_view AS SELECT * FROM RVC2";
- createTestTable(tenantSpecificUrl, tenantTableDDL, null, nextTimestamp());
+ createTestTable(tenantSpecificUrl, tenantTableDDL, null, null);
Connection conn = nextConnection(tenantSpecificUrl);
conn.createStatement().executeUpdate("upsert into t_view (pk2, pk3, c1) values ('helo1', 1, 1)");
@@ -1432,7 +1377,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
@Test
public void testCountDistinct1() throws Exception {
Connection conn = nextConnection(getUrl());
- String tableName = "testCountDistinct1rvc";
+ String tableName = generateUniqueName();
String ddl = "CREATE TABLE " + tableName + " (region_name VARCHAR PRIMARY KEY, a INTEGER, b INTEGER)";
conn.createStatement().execute(ddl);
@@ -1456,7 +1401,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
@Test
public void testCountDistinct2() throws Exception {
Connection conn = nextConnection(getUrl());
- String tableName = "testCountDistinct2rvc";
+ String tableName = generateUniqueName();
String ddl = "CREATE TABLE " + tableName + " (region_name VARCHAR PRIMARY KEY, a VARCHAR, b VARCHAR)";
conn.createStatement().execute(ddl);
conn.commit();
@@ -1505,7 +1450,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
@Test
public void testCountDistinct4() throws Exception {
Connection conn = nextConnection(getUrl());
- String tableName = "testCountDistinct4rvc";
+ String tableName = generateUniqueName();
String ddl = "CREATE TABLE " + tableName + " (region_name VARCHAR PRIMARY KEY, a VARCHAR, b VARCHAR)";
conn.createStatement().execute(ddl);
@@ -1528,7 +1473,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
@Test
public void testRVCRequiringExtractNodeClear() throws Exception {
Connection conn = nextConnection(getUrl());
- String tableName = "testRVCWithTrailingGT";
+ String tableName = generateUniqueName();
String ddl = "CREATE TABLE " + tableName + " (k1 VARCHAR, k2 VARCHAR, k3 VARCHAR, k4 VARCHAR, CONSTRAINT pk PRIMARY KEY (k1,k2,k3,k4))";
conn.createStatement().execute(ddl);
@@ -1554,7 +1499,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
@Test
public void testRVCRequiringNoSkipScan() throws Exception {
Connection conn = nextConnection(getUrl());
- String tableName = "testRVCWithTrailingGT";
+ String tableName = generateUniqueName();
String ddl = "CREATE TABLE " + tableName + " (k1 VARCHAR, k2 VARCHAR, k3 VARCHAR, k4 VARCHAR, CONSTRAINT pk PRIMARY KEY (k1,k2,k3,k4))";
conn.createStatement().execute(ddl);
@@ -1601,7 +1546,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
* Index's pks are (pk2, ... , pkn, pk1), n >= 3
* RVC is (pk2, ... , pkn, pk1), n >= 3
*
- * Expalin select * from t where (pk2, ... , pkn, pk1) > ('201', ..., 'n01', '101') and pk[2-n] = '[2-n]03'
+ * Expalin select * from " + tableName + " where (pk2, ... , pkn, pk1) > ('201', ..., 'n01', '101') and pk[2-n] = '[2-n]03'
*
* You will Get "DEGENERATE SCAN OVER TABLE_NAME"
*
@@ -1610,7 +1555,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT {
@Test
public void testRVCLastPkIsTable1stPkIndex() throws Exception {
Connection conn = nextConnection(getUrl());
- String tableName = "t";
+ String tableName = generateUniqueName();
String ddl = "CREATE TABLE " + tableName
+ " (k1 VARCHAR, k2 VARCHAR, k3 VARCHAR, k4 VARCHAR,"
+ " CONSTRAINT pk PRIMARY KEY (k1,k2,k3,k4))";
http://git-wip-us.apache.org/repos/asf/phoenix/blob/67aa5da8/phoenix-core/src/it/java/org/apache/phoenix/end2end/StoreNullsIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/StoreNullsIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/StoreNullsIT.java
index 49aef9b..abc8411 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/StoreNullsIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/StoreNullsIT.java
@@ -205,6 +205,7 @@ public class StoreNullsIT extends ParallelStatsDisabledIT {
rs.close();
historicalStmt.close();
+ conn.close();
historicalConn.close();
}
@@ -244,6 +245,9 @@ public class StoreNullsIT extends ParallelStatsDisabledIT {
rs = historicalStmt.executeQuery("SELECT name FROM " + dataTableName + " WHERE id = 1");
assertFalse(rs.next());
rs.close();
+ conn.close();
+ historicalStmt.close();
+ historicalConn.close();
}
}
@@ -263,51 +267,28 @@ public class StoreNullsIT extends ParallelStatsDisabledIT {
String tableName = generateUniqueName();
String indexName = generateUniqueName();
Properties props = PropertiesUtil.deepCopy(TestUtil.TEST_PROPERTIES);
- long ts = 1000;
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts));
Connection conn = DriverManager.getConnection(getUrl(), props);
conn.createStatement().execute("CREATE TABLE " + tableName + "(k1 CHAR(2) NOT NULL, k2 CHAR(2) NOT NULL, ts TIMESTAMP, V VARCHAR, V2 VARCHAR, "
+ "CONSTRAINT pk PRIMARY KEY (k1,k2)) STORE_NULLS=" + storeNulls + (columnEncoded ? "" : ",COLUMN_ENCODED_BYTES=0"));
- conn.close();
-
- ts = 1010;
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts));
- conn = DriverManager.getConnection(getUrl(), props);
conn.createStatement().execute("CREATE INDEX " + indexName + " ON " + tableName + "(k2,k1,ts) INCLUDE (V, v2)");
- conn.close();
-
- ts = 1020;
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts));
- conn = DriverManager.getConnection(getUrl(), props);
PreparedStatement stmt = conn.prepareStatement("UPSERT INTO " + tableName + " VALUES('aa','aa',?, '0')");
stmt.setTimestamp(1, new Timestamp(1000L));
stmt.executeUpdate();
conn.commit();
- conn.close();
Timestamp expectedTimestamp;
- ts = 1030;
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts));
- conn = DriverManager.getConnection(getUrl(), props);
stmt = conn.prepareStatement("UPSERT INTO " + tableName + " VALUES('aa','aa',?, null)");
expectedTimestamp = null;
stmt.setTimestamp(1, expectedTimestamp);
stmt.executeUpdate();
conn.commit();
- ts = 1040;
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts));
- conn = DriverManager.getConnection(getUrl(), props);
stmt = conn.prepareStatement("UPSERT INTO " + tableName + " VALUES('aa','aa',?, null)");
expectedTimestamp = null;
stmt.setTimestamp(1, expectedTimestamp);
stmt.executeUpdate();
conn.commit();
- ts = 1050;
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts));
- conn = DriverManager.getConnection(getUrl(), props);
-
TestUtil.dumpTable(conn.unwrap(PhoenixConnection.class).getQueryServices().getTable(Bytes.toBytes(tableName)));
TestUtil.dumpTable(conn.unwrap(PhoenixConnection.class).getQueryServices().getTable(Bytes.toBytes(indexName)));
http://git-wip-us.apache.org/repos/asf/phoenix/blob/67aa5da8/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantIdTypeIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantIdTypeIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantIdTypeIT.java
index 73b3212..a0c13a9 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantIdTypeIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantIdTypeIT.java
@@ -45,14 +45,11 @@ import com.google.common.collect.Lists;
public class TenantIdTypeIT extends ParallelStatsDisabledIT {
private Connection regularConnection(String url) throws SQLException {
- Properties props = new Properties();
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(nextTimestamp()));
- return DriverManager.getConnection(url, props);
+ return DriverManager.getConnection(url);
}
private Connection tenantConnection(String url) throws SQLException {
Properties props = new Properties();
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(nextTimestamp()));
String tenantIdProperty = this.tenantId.replaceAll("\'", "");
props.setProperty(PhoenixRuntime.TENANT_ID_ATTRIB, tenantIdProperty);
return DriverManager.getConnection(url, props);
@@ -60,7 +57,6 @@ public class TenantIdTypeIT extends ParallelStatsDisabledIT {
private Connection inconvertibleConnection(String url) throws SQLException {
Properties props = new Properties();
- props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(nextTimestamp()));
String tenantIdProperty = "ABigOlString";
props.setProperty(PhoenixRuntime.TENANT_ID_ATTRIB, tenantIdProperty);
return DriverManager.getConnection(url, props);
http://git-wip-us.apache.org/repos/asf/phoenix/blob/67aa5da8/phoenix-core/src/it/java/org/apache/phoenix/end2end/salted/SaltedTableIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/salted/SaltedTableIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/salted/SaltedTableIT.java
index 5ae11bf..a9db576 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/salted/SaltedTableIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/salted/SaltedTableIT.java
@@ -32,9 +32,11 @@ import java.sql.SQLException;
import java.util.Properties;
import org.apache.phoenix.end2end.BaseClientManagedTimeIT;
+import org.apache.phoenix.end2end.ParallelStatsDisabledIT;
import org.apache.phoenix.util.PhoenixRuntime;
import org.apache.phoenix.util.PropertiesUtil;
import org.apache.phoenix.util.QueryUtil;
+import org.apache.phoenix.util.SchemaUtil;
import org.junit.Test;
@@ -42,12 +44,16 @@ import org.junit.Test;
* Tests for table with transparent salting.
*/
-public class SaltedTableIT extends BaseClientManagedTimeIT {
+public class SaltedTableIT extends ParallelStatsDisabledIT {
- private static void initTableValues(byte[][] splits, long ts) throws Exception {
- String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts;
+ private static String getUniqueTableName() {
+ return SchemaUtil.getTableName(generateUniqueName(), generateUniqueName());
+ }
+
+ private static String initTableValues(byte[][] splits) throws Exception {
+ String tableName = getUniqueTableName();
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- Connection conn = DriverManager.getConnection(url, props);
+ Connection conn = DriverManager.getConnection(getUrl(), props);
// Rows we inserted:
// 1ab123abc111
@@ -58,8 +64,8 @@ public class SaltedTableIT extends BaseClientManagedTimeIT {
// 4abc123jkl444
try {
// Upsert with no column specifies.
- ensureTableCreated(getUrl(), TABLE_WITH_SALTING, TABLE_WITH_SALTING, splits, ts-2, null);
- String query = "UPSERT INTO " + TABLE_WITH_SALTING + " VALUES(?,?,?,?,?)";
+ ensureTableCreated(getUrl(), tableName, TABLE_WITH_SALTING, splits, null, null);
+ String query = "UPSERT INTO " + tableName + " VALUES(?,?,?,?,?)";
PreparedStatement stmt = conn.prepareStatement(query);
stmt.setInt(1, 1);
stmt.setString(2, "ab");
@@ -78,7 +84,7 @@ public class SaltedTableIT extends BaseClientManagedTimeIT {
conn.commit();
// Test upsert when statement explicitly specifies the columns to upsert into.
- query = "UPSERT INTO " + TABLE_WITH_SALTING +
+ query = "UPSERT INTO " + tableName +
" (a_integer, a_string, a_id, b_string, b_integer) " +
" VALUES(?,?,?,?,?)";
stmt = conn.prepareStatement(query);
@@ -100,7 +106,7 @@ public class SaltedTableIT extends BaseClientManagedTimeIT {
conn.commit();
// Test upsert when order of column is shuffled.
- query = "UPSERT INTO " + TABLE_WITH_SALTING +
+ query = "UPSERT INTO " + tableName +
" (a_string, a_integer, a_id, b_string, b_integer) " +
" VALUES(?,?,?,?,?)";
stmt = conn.prepareStatement(query);
@@ -122,16 +128,15 @@ public class SaltedTableIT extends BaseClientManagedTimeIT {
} finally {
conn.close();
}
+ return tableName;
}
@Test
public void testTableWithInvalidBucketNumber() throws Exception {
- long ts = nextTimestamp();
- String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + (ts + 5);
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- Connection conn = DriverManager.getConnection(url, props);
+ Connection conn = DriverManager.getConnection(getUrl(), props);
try {
- String query = "create table salted_table (a_integer integer not null CONSTRAINT pk PRIMARY KEY (a_integer)) SALT_BUCKETS = 257";
+ String query = "create table " + getUniqueTableName() + " (a_integer integer not null CONSTRAINT pk PRIMARY KEY (a_integer)) SALT_BUCKETS = 257";
PreparedStatement stmt = conn.prepareStatement(query);
stmt.execute();
fail("Should have caught exception");
@@ -145,8 +150,8 @@ public class SaltedTableIT extends BaseClientManagedTimeIT {
@Test
public void testTableWithSplit() throws Exception {
try {
- createTestTable(getUrl(), "create table salted_table (a_integer integer not null primary key) SALT_BUCKETS = 4",
- new byte[][] {{1}, {2,3}, {2,5}, {3}}, nextTimestamp());
+ createTestTable(getUrl(), "create table " + getUniqueTableName() + " (a_integer integer not null primary key) SALT_BUCKETS = 4",
+ new byte[][] {{1}, {2,3}, {2,5}, {3}}, null);
fail("Should have caught exception");
} catch (SQLException e) {
assertTrue(e.getMessage(), e.getMessage().contains("ERROR 1022 (42Y81): Should not specify split points on salted table with default row key order."));
@@ -155,14 +160,12 @@ public class SaltedTableIT extends BaseClientManagedTimeIT {
@Test
public void testSelectValueNoWhereClause() throws Exception {
- long ts = nextTimestamp();
- String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + (ts + 5);
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- Connection conn = DriverManager.getConnection(url, props);
+ Connection conn = DriverManager.getConnection(getUrl(), props);
try {
- initTableValues(null, ts);
+ String tableName = initTableValues(null);
- String query = "SELECT * FROM " + TABLE_WITH_SALTING;
+ String query = "SELECT * FROM " + tableName;
PreparedStatement statement = conn.prepareStatement(query);
ResultSet rs = statement.executeQuery();
@@ -216,18 +219,16 @@ public class SaltedTableIT extends BaseClientManagedTimeIT {
@Test
public void testSelectValueWithFullyQualifiedWhereClause() throws Exception {
- long ts = nextTimestamp();
- String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + (ts + 5);
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- Connection conn = DriverManager.getConnection(url, props);
+ Connection conn = DriverManager.getConnection(getUrl(), props);
try {
- initTableValues(null, ts);
+ String tableName = initTableValues(null);
String query;
PreparedStatement stmt;
ResultSet rs;
// Variable length slot with bounded ranges.
- query = "SELECT * FROM " + TABLE_WITH_SALTING +
+ query = "SELECT * FROM " + tableName +
" WHERE a_integer = 1 AND a_string >= 'ab' AND a_string < 'de' AND a_id = '123'";
stmt = conn.prepareStatement(query);
rs = stmt.executeQuery();
@@ -240,7 +241,7 @@ public class SaltedTableIT extends BaseClientManagedTimeIT {
assertFalse(rs.next());
// all single slots with one value.
- query = "SELECT * FROM " + TABLE_WITH_SALTING +
+ query = "SELECT * FROM " + tableName +
" WHERE a_integer = 1 AND a_string = 'ab' AND a_id = '123'";
stmt = conn.prepareStatement(query);
@@ -254,7 +255,7 @@ public class SaltedTableIT extends BaseClientManagedTimeIT {
assertFalse(rs.next());
// all single slots with multiple values.
- query = "SELECT * FROM " + TABLE_WITH_SALTING +
+ query = "SELECT * FROM " + tableName +
" WHERE a_integer in (2, 4) AND a_string = 'abc' AND a_id = '123'";
stmt = conn.prepareStatement(query);
rs = stmt.executeQuery();
@@ -274,7 +275,7 @@ public class SaltedTableIT extends BaseClientManagedTimeIT {
assertEquals(444, rs.getInt(5));
assertFalse(rs.next());
- query = "SELECT a_integer, a_string FROM " + TABLE_WITH_SALTING +
+ query = "SELECT a_integer, a_string FROM " + tableName +
" WHERE a_integer in (1,2,3,4) AND a_string in ('a', 'abc', 'de') AND a_id = '123'";
stmt = conn.prepareStatement(query);
rs = stmt.executeQuery();
@@ -297,7 +298,7 @@ public class SaltedTableIT extends BaseClientManagedTimeIT {
assertFalse(rs.next());
// fixed length slot with bounded ranges.
- query = "SELECT a_string, a_id FROM " + TABLE_WITH_SALTING +
+ query = "SELECT a_string, a_id FROM " + tableName +
" WHERE a_integer > 1 AND a_integer < 4 AND a_string = 'abc' AND a_id = '123'";
stmt = conn.prepareStatement(query);
rs = stmt.executeQuery();
@@ -311,7 +312,7 @@ public class SaltedTableIT extends BaseClientManagedTimeIT {
assertFalse(rs.next());
// fixed length slot with unbound ranges.
- query = "SELECT b_string, b_integer FROM " + TABLE_WITH_SALTING +
+ query = "SELECT b_string, b_integer FROM " + tableName +
" WHERE a_integer > 1 AND a_string = 'abc' AND a_id = '123'";
stmt = conn.prepareStatement(query);
rs = stmt.executeQuery();
@@ -329,7 +330,7 @@ public class SaltedTableIT extends BaseClientManagedTimeIT {
assertFalse(rs.next());
// Variable length slot with unbounded ranges.
- query = "SELECT * FROM " + TABLE_WITH_SALTING +
+ query = "SELECT * FROM " + tableName +
" WHERE a_integer = 1 AND a_string > 'ab' AND a_id = '123'";
stmt = conn.prepareStatement(query);
rs = stmt.executeQuery();
@@ -348,15 +349,13 @@ public class SaltedTableIT extends BaseClientManagedTimeIT {
@Test
public void testSelectValueWithNotFullyQualifiedWhereClause() throws Exception {
- long ts = nextTimestamp();
- String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + (ts + 5);
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- Connection conn = DriverManager.getConnection(url, props);
+ Connection conn = DriverManager.getConnection(getUrl(), props);
try {
- initTableValues(null, ts);
+ String tableName = initTableValues(null);
// Where without fully qualified key, point query.
- String query = "SELECT * FROM " + TABLE_WITH_SALTING + " WHERE a_integer = ? AND a_string = ?";
+ String query = "SELECT * FROM " + tableName + " WHERE a_integer = ? AND a_string = ?";
PreparedStatement stmt = conn.prepareStatement(query);
stmt.setInt(1, 1);
@@ -371,7 +370,7 @@ public class SaltedTableIT extends BaseClientManagedTimeIT {
assertFalse(rs.next());
// Where without fully qualified key, range query.
- query = "SELECT * FROM " + TABLE_WITH_SALTING + " WHERE a_integer >= 2";
+ query = "SELECT * FROM " + tableName + " WHERE a_integer >= 2";
stmt = conn.prepareStatement(query);
rs = stmt.executeQuery();
assertTrue(rs.next());
@@ -397,7 +396,7 @@ public class SaltedTableIT extends BaseClientManagedTimeIT {
assertFalse(rs.next());
// With point query.
- query = "SELECT a_string FROM " + TABLE_WITH_SALTING + " WHERE a_string = ?";
+ query = "SELECT a_string FROM " + tableName + " WHERE a_string = ?";
stmt = conn.prepareStatement(query);
stmt.setString(1, "de");
rs = stmt.executeQuery();
@@ -405,7 +404,7 @@ public class SaltedTableIT extends BaseClientManagedTimeIT {
assertEquals("de", rs.getString(1));
assertFalse(rs.next());
- query = "SELECT a_id FROM " + TABLE_WITH_SALTING + " WHERE a_id = ?";
+ query = "SELECT a_id FROM " + tableName + " WHERE a_id = ?";
stmt = conn.prepareStatement(query);
stmt.setString(1, "456");
rs = stmt.executeQuery();
@@ -419,14 +418,12 @@ public class SaltedTableIT extends BaseClientManagedTimeIT {
@Test
public void testSelectWithGroupBy() throws Exception {
- long ts = nextTimestamp();
- String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + (ts + 5);
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- Connection conn = DriverManager.getConnection(url, props);
+ Connection conn = DriverManager.getConnection(getUrl(), props);
try {
- initTableValues(null, ts);
+ String tableName = initTableValues(null);
- String query = "SELECT a_integer FROM " + TABLE_WITH_SALTING + " GROUP BY a_integer";
+ String query = "SELECT a_integer FROM " + tableName + " GROUP BY a_integer";
PreparedStatement stmt = conn.prepareStatement(query);
ResultSet rs = stmt.executeQuery();
int count = 0;
@@ -441,14 +438,12 @@ public class SaltedTableIT extends BaseClientManagedTimeIT {
@Test
public void testLimitScan() throws Exception {
- long ts = nextTimestamp();
- String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + (ts + 5);
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- Connection conn = DriverManager.getConnection(url, props);
+ Connection conn = DriverManager.getConnection(getUrl(), props);
try {
- initTableValues(null, ts);
+ String tableName = initTableValues(null);
- String query = "SELECT a_integer FROM " + TABLE_WITH_SALTING + " WHERE a_string='abc' LIMIT 1";
+ String query = "SELECT a_integer FROM " + tableName + " WHERE a_string='abc' LIMIT 1";
PreparedStatement stmt = conn.prepareStatement(query);
ResultSet rs = stmt.executeQuery();
assertTrue(rs.next());
@@ -461,18 +456,16 @@ public class SaltedTableIT extends BaseClientManagedTimeIT {
@Test
public void testSelectWithOrderByRowKey() throws Exception {
- long ts = nextTimestamp();
- String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + (ts + 5);
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- Connection conn = DriverManager.getConnection(url, props);
+ Connection conn = DriverManager.getConnection(getUrl(), props);
try {
- initTableValues(null, ts);
+ String tableName = initTableValues(null);
- String query = "SELECT * FROM " + TABLE_WITH_SALTING + " ORDER BY a_integer, a_string, a_id";
+ String query = "SELECT * FROM " + tableName + " ORDER BY a_integer, a_string, a_id";
PreparedStatement statement = conn.prepareStatement(query);
ResultSet explainPlan = statement.executeQuery("EXPLAIN " + query);
// Confirm that ORDER BY in row key order will be optimized out for salted table
- assertEquals("CLIENT PARALLEL 4-WAY FULL SCAN OVER TABLE_WITH_SALTING\n" +
+ assertEquals("CLIENT PARALLEL 4-WAY FULL SCAN OVER " + tableName + "\n" +
"CLIENT MERGE SORT", QueryUtil.getExplainPlan(explainPlan));
ResultSet rs = statement.executeQuery();