You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by ma...@apache.org on 2016/09/20 18:05:47 UTC
[24/47] phoenix git commit: PHOENIX-3278 Remove usage of
BaseTest.ensureTableCreated()
PHOENIX-3278 Remove usage of BaseTest.ensureTableCreated()
Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/7af70887
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/7af70887
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/7af70887
Branch: refs/heads/calcite
Commit: 7af708873c0b4457eb6598fb41fd279672fe0029
Parents: e4fd039
Author: James Taylor <ja...@apache.org>
Authored: Wed Sep 14 09:31:00 2016 -0700
Committer: James Taylor <ja...@apache.org>
Committed: Wed Sep 14 09:45:30 2016 -0700
----------------------------------------------------------------------
.../BaseHBaseManagedTimeTableReuseIT.java | 3 --
.../ConnectionQueryServicesTestImpl.java | 30 +++--------
.../apache/phoenix/end2end/DynamicUpsertIT.java | 31 ++++++------
.../apache/phoenix/end2end/GroupByCaseIT.java | 27 +++++-----
.../apache/phoenix/end2end/HashJoinMoreIT.java | 14 ------
.../apache/phoenix/end2end/PercentileIT.java | 29 +++++------
.../end2end/QueryDatabaseMetaDataIT.java | 9 ++--
.../org/apache/phoenix/end2end/QueryMoreIT.java | 6 +--
.../end2end/RegexpReplaceFunctionIT.java | 4 +-
.../phoenix/end2end/RegexpSubstrFunctionIT.java | 4 +-
.../apache/phoenix/end2end/SkipScanQueryIT.java | 2 +-
.../org/apache/phoenix/end2end/SortOrderIT.java | 9 +++-
.../phoenix/end2end/SpillableGroupByIT.java | 21 +++++---
.../end2end/index/IndexExpressionIT.java | 47 ++++++++++-------
.../apache/phoenix/end2end/index/IndexIT.java | 4 +-
.../phoenix/end2end/index/IndexMetadataIT.java | 26 ++++++----
.../phoenix/end2end/index/MutableIndexIT.java | 2 +-
.../org/apache/phoenix/rpc/UpdateCacheIT.java | 9 ++--
.../phoenix/rpc/UpdateCacheWithScnIT.java | 12 ++++-
.../org/apache/phoenix/tx/TransactionIT.java | 53 +++++++++++---------
.../apache/phoenix/jdbc/PhoenixTestDriver.java | 2 +-
.../java/org/apache/phoenix/query/BaseTest.java | 52 +++----------------
.../java/org/apache/phoenix/util/TestUtil.java | 29 +++++++++++
23 files changed, 208 insertions(+), 217 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/phoenix/blob/7af70887/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseHBaseManagedTimeTableReuseIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseHBaseManagedTimeTableReuseIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseHBaseManagedTimeTableReuseIT.java
index c40ec59..b09984b 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseHBaseManagedTimeTableReuseIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseHBaseManagedTimeTableReuseIT.java
@@ -18,8 +18,6 @@
package org.apache.phoenix.end2end;
-import javax.annotation.concurrent.NotThreadSafe;
-
import org.apache.hadoop.conf.Configuration;
import org.apache.phoenix.query.BaseTest;
import org.apache.phoenix.util.ReadOnlyProps;
@@ -45,7 +43,6 @@ import org.junit.experimental.categories.Category;
*
* @since 0.1
*/
-@NotThreadSafe
@Category(HBaseManagedTimeTableReuseTest.class)
public class BaseHBaseManagedTimeTableReuseIT extends BaseTest {
protected static Configuration getTestClusterConfig() {
http://git-wip-us.apache.org/repos/asf/phoenix/blob/7af70887/phoenix-core/src/it/java/org/apache/phoenix/end2end/ConnectionQueryServicesTestImpl.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ConnectionQueryServicesTestImpl.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ConnectionQueryServicesTestImpl.java
index 2d0ed60..48f392b 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ConnectionQueryServicesTestImpl.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ConnectionQueryServicesTestImpl.java
@@ -49,39 +49,23 @@ public class ConnectionQueryServicesTestImpl extends ConnectionQueryServicesImpl
}
@Override
- public void addConnection(PhoenixConnection connection) throws SQLException {
+ public synchronized void addConnection(PhoenixConnection connection) throws SQLException {
connections.add(connection);
}
@Override
- public void removeConnection(PhoenixConnection connection) throws SQLException {
+ public synchronized void removeConnection(PhoenixConnection connection) throws SQLException {
connections.remove(connection);
}
@Override
- public void init(String url, Properties props) throws SQLException {
- try {
- super.init(url, props);
- /**
- * Clear the server-side meta data cache on initialization. Otherwise, if we
- * query for meta data tables, we'll get nothing (since the server just came
- * up). However, our server-side cache (which is a singleton) will claim
- * that we do have tables and our create table calls will return the cached
- * meta data instead of creating new metadata.
- */
- clearCache();
- } catch (SQLException e) {
- throw e;
- } catch (Exception e) {
- throw new SQLException(e);
- }
- }
-
- @Override
public void close() throws SQLException {
try {
- Set<PhoenixConnection> connections = this.connections;
- this.connections = Sets.newHashSet();
+ Set<PhoenixConnection> connections;
+ synchronized(this) {
+ connections = this.connections;
+ this.connections = Sets.newHashSet();
+ }
SQLCloseables.closeAll(connections);
long unfreedBytes = clearCache();
assertEquals("Found unfreed bytes in server-side cache", 0, unfreedBytes);
http://git-wip-us.apache.org/repos/asf/phoenix/blob/7af70887/phoenix-core/src/it/java/org/apache/phoenix/end2end/DynamicUpsertIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DynamicUpsertIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DynamicUpsertIT.java
index 0852859..c0fd38a 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DynamicUpsertIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DynamicUpsertIT.java
@@ -36,7 +36,6 @@ import org.apache.phoenix.schema.ColumnAlreadyExistsException;
import org.apache.phoenix.schema.ColumnFamilyNotFoundException;
import org.apache.phoenix.util.PropertiesUtil;
import org.junit.Before;
-import org.junit.BeforeClass;
import org.junit.Test;
/**
@@ -48,14 +47,14 @@ import org.junit.Test;
public class DynamicUpsertIT extends BaseHBaseManagedTimeTableReuseIT {
- private static String TABLE;
+ private String tableName;
- @BeforeClass
- public static void doBeforeTestSetup() throws Exception {
- TABLE = BaseTest.generateRandomString();
+ @Before
+ public void doBeforeTestSetup() throws Exception {
+ tableName = BaseTest.generateRandomString();
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
Connection conn = DriverManager.getConnection(getUrl(), props);
- String ddl = "create table if not exists " + TABLE + " (entry varchar not null primary key,"
+ String ddl = "create table " + tableName + " (entry varchar not null primary key,"
+ " a.dummy varchar," + " b.dummy varchar)";
conn.createStatement().execute(ddl);
conn.close();
@@ -66,9 +65,9 @@ public class DynamicUpsertIT extends BaseHBaseManagedTimeTableReuseIT {
*/
@Test
public void testUpsert() throws Exception {
- String upsertquery = "UPSERT INTO " + TABLE
+ String upsertquery = "UPSERT INTO " + tableName
+ " (entry, a.DynCol VARCHAR,a.dummy) VALUES ('dynEntry','DynValue','DynColValue')";
- String selectquery = "SELECT DynCol FROM " + TABLE + " (a.DynCol VARCHAR) where entry='dynEntry'";
+ String selectquery = "SELECT DynCol FROM " + tableName + " (a.DynCol VARCHAR) where entry='dynEntry'";
// String selectquery = "SELECT * FROM "+TABLE;
String url = getUrl() + ";";
@@ -96,9 +95,9 @@ public class DynamicUpsertIT extends BaseHBaseManagedTimeTableReuseIT {
*/
@Test
public void testMultiUpsert() throws Exception {
- String upsertquery = "UPSERT INTO " + TABLE
+ String upsertquery = "UPSERT INTO " + tableName
+ " (entry, a.DynColA VARCHAR,b.DynColB varchar) VALUES('dynEntry','DynColValuea','DynColValueb')";
- String selectquery = "SELECT DynColA,entry,DynColB FROM " + TABLE
+ String selectquery = "SELECT DynColA,entry,DynColB FROM " + tableName
+ " (a.DynColA VARCHAR,b.DynColB VARCHAR) where entry='dynEntry'";
String url = getUrl() + ";";
@@ -129,9 +128,9 @@ public class DynamicUpsertIT extends BaseHBaseManagedTimeTableReuseIT {
@Test
public void testFullUpsert() throws Exception {
String upsertquery = "UPSERT INTO "
- + TABLE
+ + tableName
+ " (a.DynColA VARCHAR,b.DynColB varchar) VALUES('dynEntry','aValue','bValue','DynColValuea','DynColValueb')";
- String selectquery = "SELECT entry,DynColA,a.dummy,DynColB,b.dummy FROM " + TABLE
+ String selectquery = "SELECT entry,DynColA,a.dummy,DynColB,b.dummy FROM " + tableName
+ " (a.DynColA VARCHAR,b.DynColB VARCHAR) where entry='dynEntry'";
String url = getUrl() + ";";
@@ -163,7 +162,7 @@ public class DynamicUpsertIT extends BaseHBaseManagedTimeTableReuseIT {
*/
@Test
public void testFullUnbalancedUpsert() throws Exception {
- String upsertquery = "UPSERT INTO " + TABLE
+ String upsertquery = "UPSERT INTO " + tableName
+ " (a.DynCol VARCHAR,b.DynCol varchar) VALUES('dynEntry','aValue','bValue','dyncola')";
String url = getUrl() + ";";
@@ -185,7 +184,7 @@ public class DynamicUpsertIT extends BaseHBaseManagedTimeTableReuseIT {
*/
@Test(expected = ColumnAlreadyExistsException.class)
public void testAmbiguousStaticUpsert() throws Exception {
- String upsertquery = "UPSERT INTO " + TABLE + " (a.dummy INTEGER,b.dummy INTEGER) VALUES(1,2)";
+ String upsertquery = "UPSERT INTO " + tableName + " (a.dummy INTEGER,b.dummy INTEGER) VALUES(1,2)";
String url = getUrl() + ";";
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
Connection conn = DriverManager.getConnection(url, props);
@@ -202,7 +201,7 @@ public class DynamicUpsertIT extends BaseHBaseManagedTimeTableReuseIT {
*/
@Test(expected = ColumnAlreadyExistsException.class)
public void testAmbiguousDynamicUpsert() throws Exception {
- String upsertquery = "UPSERT INTO " + TABLE + " (a.DynCol VARCHAR,a.DynCol INTEGER) VALUES('dynCol',1)";
+ String upsertquery = "UPSERT INTO " + tableName + " (a.DynCol VARCHAR,a.DynCol INTEGER) VALUES('dynCol',1)";
String url = getUrl() + ";";
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
Connection conn = DriverManager.getConnection(url, props);
@@ -219,7 +218,7 @@ public class DynamicUpsertIT extends BaseHBaseManagedTimeTableReuseIT {
*/
@Test(expected = ColumnFamilyNotFoundException.class)
public void testFakeCFDynamicUpsert() throws Exception {
- String upsertquery = "UPSERT INTO " + TABLE + " (fakecf.DynCol VARCHAR) VALUES('dynCol')";
+ String upsertquery = "UPSERT INTO " + tableName + " (fakecf.DynCol VARCHAR) VALUES('dynCol')";
String url = getUrl() + ";";
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
Connection conn = DriverManager.getConnection(url, props);
http://git-wip-us.apache.org/repos/asf/phoenix/blob/7af70887/phoenix-core/src/it/java/org/apache/phoenix/end2end/GroupByCaseIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/GroupByCaseIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/GroupByCaseIT.java
index 86a1f64..7cbbcbe 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/GroupByCaseIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/GroupByCaseIT.java
@@ -17,9 +17,7 @@
*/
package org.apache.phoenix.end2end;
-import static org.apache.phoenix.util.TestUtil.GROUPBYTEST_NAME;
import static org.apache.phoenix.util.TestUtil.TEST_PROPERTIES;
-import static org.apache.phoenix.util.TestUtil.getTableName;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
@@ -42,29 +40,28 @@ import org.junit.Test;
public class GroupByCaseIT extends BaseHBaseManagedTimeTableReuseIT {
- private static int id;
-
private static void initData(Connection conn, String tableName) throws SQLException {
- ensureTableCreated(getUrl(), tableName, GROUPBYTEST_NAME);
- insertRow(conn, tableName, "Report1", 10);
- insertRow(conn, tableName, "Report2", 10);
- insertRow(conn, tableName, "Report3", 30);
- insertRow(conn, tableName, "Report4", 30);
- insertRow(conn, tableName, "SOQL1", 10);
- insertRow(conn, tableName, "SOQL2", 10);
- insertRow(conn, tableName, "SOQL3", 30);
- insertRow(conn, tableName, "SOQL4", 30);
+ conn.createStatement().execute("create table " + tableName +
+ " (id varchar not null primary key,\n" +
+ " uri varchar, appcpu integer)");
+ insertRow(conn, tableName, "Report1", 10, 1);
+ insertRow(conn, tableName, "Report2", 10, 2);
+ insertRow(conn, tableName, "Report3", 30, 3);
+ insertRow(conn, tableName, "Report4", 30, 4);
+ insertRow(conn, tableName, "SOQL1", 10, 5);
+ insertRow(conn, tableName, "SOQL2", 10, 6);
+ insertRow(conn, tableName, "SOQL3", 30, 7);
+ insertRow(conn, tableName, "SOQL4", 30, 8);
conn.commit();
conn.close();
}
- private static void insertRow(Connection conn, String tableName, String uri, int appcpu) throws SQLException {
+ private static void insertRow(Connection conn, String tableName, String uri, int appcpu, int id) throws SQLException {
PreparedStatement statement = conn.prepareStatement("UPSERT INTO " + tableName + "(id, uri, appcpu) values (?,?,?)");
statement.setString(1, "id" + id);
statement.setString(2, uri);
statement.setInt(3, appcpu);
statement.executeUpdate();
- id++;
}
@Test
http://git-wip-us.apache.org/repos/asf/phoenix/blob/7af70887/phoenix-core/src/it/java/org/apache/phoenix/end2end/HashJoinMoreIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/HashJoinMoreIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/HashJoinMoreIT.java
index 943a376..715132f 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/HashJoinMoreIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/HashJoinMoreIT.java
@@ -27,17 +27,14 @@ import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
-import java.sql.SQLException;
import java.sql.Statement;
import java.util.Map;
import java.util.Properties;
-import org.apache.phoenix.jdbc.PhoenixConnection;
import org.apache.phoenix.query.QueryServices;
import org.apache.phoenix.util.PropertiesUtil;
import org.apache.phoenix.util.QueryUtil;
import org.apache.phoenix.util.ReadOnlyProps;
-import org.junit.After;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -104,17 +101,6 @@ public class HashJoinMoreIT extends BaseHBaseManagedTimeTableReuseIT {
setUpTestDriver(new ReadOnlyProps(props.entrySet().iterator()));
}
- @After
- public void assertNoUnfreedMemory() throws SQLException {
- Connection conn = DriverManager.getConnection(getUrl());
- try {
- long unfreedBytes = conn.unwrap(PhoenixConnection.class).getQueryServices().clearCache();
- assertEquals(0,unfreedBytes);
- } finally {
- conn.close();
- }
- }
-
@Test
public void testJoinOverSaltedTables() throws Exception {
String tempTableNoSalting = generateRandomString();
http://git-wip-us.apache.org/repos/asf/phoenix/blob/7af70887/phoenix-core/src/it/java/org/apache/phoenix/end2end/PercentileIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/PercentileIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/PercentileIT.java
index f0b4b24..598785c 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/PercentileIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/PercentileIT.java
@@ -23,7 +23,6 @@ import static org.apache.phoenix.util.TestUtil.A_VALUE;
import static org.apache.phoenix.util.TestUtil.B_VALUE;
import static org.apache.phoenix.util.TestUtil.C_VALUE;
import static org.apache.phoenix.util.TestUtil.INDEX_DATA_SCHEMA;
-import static org.apache.phoenix.util.TestUtil.INDEX_DATA_TABLE;
import static org.apache.phoenix.util.TestUtil.ROW1;
import static org.apache.phoenix.util.TestUtil.ROW2;
import static org.apache.phoenix.util.TestUtil.ROW3;
@@ -408,14 +407,13 @@ public class PercentileIT extends BaseHBaseManagedTimeTableReuseIT {
@Test
public void testPercentileContOnDescPKColumn() throws Exception {
String indexDataTableName = generateRandomString();
- ensureTableCreated(getUrl(), indexDataTableName, INDEX_DATA_TABLE);
- populateINDEX_DATA_TABLETable(indexDataTableName);
-
- String query = "SELECT PERCENTILE_CONT(1) WITHIN GROUP (ORDER BY long_pk ASC) FROM " + INDEX_DATA_SCHEMA
- + QueryConstants.NAME_SEPARATOR + indexDataTableName;
+ String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexDataTableName;
+ String query = "SELECT PERCENTILE_CONT(1) WITHIN GROUP (ORDER BY long_pk ASC) FROM " + fullTableName;
Connection conn = DriverManager.getConnection(getUrl());
try {
+ conn.createStatement().execute("create table " + fullTableName + TEST_TABLE_SCHEMA + "IMMUTABLE_ROWS=true");
+ populateINDEX_DATA_TABLETable(indexDataTableName);
PreparedStatement statement = conn.prepareStatement(query);
ResultSet rs = statement.executeQuery();
assertTrue(rs.next());
@@ -431,14 +429,12 @@ public class PercentileIT extends BaseHBaseManagedTimeTableReuseIT {
@Test
public void testPercentRankOnDescPKColumn() throws Exception {
String indexDataTableName = generateRandomString();
- ensureTableCreated(getUrl(), indexDataTableName, INDEX_DATA_TABLE);
- populateINDEX_DATA_TABLETable(indexDataTableName);
-
- String query = "SELECT PERCENT_RANK(2) WITHIN GROUP (ORDER BY long_pk ASC) FROM " + INDEX_DATA_SCHEMA
- + QueryConstants.NAME_SEPARATOR + indexDataTableName;
-
Connection conn = DriverManager.getConnection(getUrl());
try {
+ String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexDataTableName;
+ String query = "SELECT PERCENT_RANK(2) WITHIN GROUP (ORDER BY long_pk ASC) FROM " + fullTableName;
+ conn.createStatement().execute("create table " + fullTableName + TEST_TABLE_SCHEMA + "IMMUTABLE_ROWS=true");
+ populateINDEX_DATA_TABLETable(indexDataTableName);
PreparedStatement statement = conn.prepareStatement(query);
ResultSet rs = statement.executeQuery();
assertTrue(rs.next());
@@ -454,14 +450,13 @@ public class PercentileIT extends BaseHBaseManagedTimeTableReuseIT {
@Test
public void testPercentileDiscOnDescPKColumn() throws Exception {
String indexDataTableName = generateRandomString();
- ensureTableCreated(getUrl(), indexDataTableName, INDEX_DATA_TABLE);
- populateINDEX_DATA_TABLETable(indexDataTableName);
-
- String query = "SELECT PERCENTILE_DISC(0.4) WITHIN GROUP (ORDER BY long_pk DESC) FROM " + INDEX_DATA_SCHEMA
- + QueryConstants.NAME_SEPARATOR + indexDataTableName;
Connection conn = DriverManager.getConnection(getUrl());
try {
+ String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexDataTableName;
+ String query = "SELECT PERCENTILE_DISC(0.4) WITHIN GROUP (ORDER BY long_pk DESC) FROM " + fullTableName;
+ conn.createStatement().execute("create table " + fullTableName + TEST_TABLE_SCHEMA + "IMMUTABLE_ROWS=true");
+ populateINDEX_DATA_TABLETable(indexDataTableName);
PreparedStatement statement = conn.prepareStatement(query);
ResultSet rs = statement.executeQuery();
assertTrue(rs.next());
http://git-wip-us.apache.org/repos/asf/phoenix/blob/7af70887/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
index fbcc120..805691d 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java
@@ -34,6 +34,7 @@ import static org.apache.phoenix.util.TestUtil.PTSDB_NAME;
import static org.apache.phoenix.util.TestUtil.STABLE_NAME;
import static org.apache.phoenix.util.TestUtil.TABLE_WITH_SALTING;
import static org.apache.phoenix.util.TestUtil.TEST_PROPERTIES;
+import static org.apache.phoenix.util.TestUtil.createGroupByTestTable;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotEquals;
@@ -591,13 +592,15 @@ public class QueryDatabaseMetaDataIT extends BaseClientManagedTimeIT {
@Test
public void testMultiTableColumnsMetadataScan() throws SQLException {
long ts = nextTimestamp();
+ Properties props = new Properties();
+ props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts));
+ Connection conn = DriverManager.getConnection(getUrl(), props);
+ createGroupByTestTable(conn, GROUPBYTEST_NAME);
ensureTableCreated(getUrl(), MDTEST_NAME, MDTEST_NAME, ts);
- ensureTableCreated(getUrl(), GROUPBYTEST_NAME, GROUPBYTEST_NAME, ts);
ensureTableCreated(getUrl(), PTSDB_NAME, PTSDB_NAME, ts);
ensureTableCreated(getUrl(), CUSTOM_ENTITY_DATA_FULL_NAME, CUSTOM_ENTITY_DATA_FULL_NAME, ts);
- Properties props = new Properties();
props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 5));
- Connection conn = DriverManager.getConnection(getUrl(), props);
+ conn = DriverManager.getConnection(getUrl(), props);
DatabaseMetaData dbmd = conn.getMetaData();
ResultSet rs = dbmd.getColumns(null, "", "%TEST%", null);
assertTrue(rs.next());
http://git-wip-us.apache.org/repos/asf/phoenix/blob/7af70887/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryMoreIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryMoreIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryMoreIT.java
index c4e4665..6da9144 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryMoreIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryMoreIT.java
@@ -72,21 +72,21 @@ public class QueryMoreIT extends BaseHBaseManagedTimeTableReuseIT {
}
private void testQueryMore(boolean queryAgainstTenantSpecificView, boolean dataTableSalted) throws Exception {
- String[] tenantIds = new String[] {"00Dxxxxxtenant1", "00Dxxxxxtenant2", "00Dxxxxxtenant3"};
+ String[] tenantIds = new String[] {"T1_" + generateRandomString(), "T2_" + generateRandomString(), "T3_" + generateRandomString()};
int numRowsPerTenant = 10;
String cursorTableName = generateRandomString();
String base_history_table = generateRandomString();
this.dataTableName = base_history_table + (dataTableSalted ? "_SALTED" : "");
String cursorTableDDL = "CREATE TABLE IF NOT EXISTS " +
cursorTableName + " (\n" +
- "TENANT_ID VARCHAR(15) NOT NULL\n," +
+ "TENANT_ID VARCHAR NOT NULL\n," +
"QUERY_ID VARCHAR(15) NOT NULL,\n" +
"CURSOR_ORDER BIGINT NOT NULL \n" +
"CONSTRAINT CURSOR_TABLE_PK PRIMARY KEY (TENANT_ID, QUERY_ID, CURSOR_ORDER)) "+
"SALT_BUCKETS = 4, TTL=86400";
String baseDataTableDDL = "CREATE TABLE IF NOT EXISTS " +
dataTableName + " (\n" +
- "TENANT_ID CHAR(15) NOT NULL,\n" +
+ "TENANT_ID VARCHAR NOT NULL,\n" +
"PARENT_ID CHAR(15) NOT NULL,\n" +
"CREATED_DATE DATE NOT NULL,\n" +
"ENTITY_HISTORY_ID CHAR(15) NOT NULL,\n" +
http://git-wip-us.apache.org/repos/asf/phoenix/blob/7af70887/phoenix-core/src/it/java/org/apache/phoenix/end2end/RegexpReplaceFunctionIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/RegexpReplaceFunctionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/RegexpReplaceFunctionIT.java
index 7670481..5ce04eb 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/RegexpReplaceFunctionIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/RegexpReplaceFunctionIT.java
@@ -17,7 +17,7 @@
*/
package org.apache.phoenix.end2end;
-import static org.apache.phoenix.util.TestUtil.GROUPBYTEST_NAME;
+import static org.apache.phoenix.util.TestUtil.createGroupByTestTable;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
@@ -41,8 +41,8 @@ public class RegexpReplaceFunctionIT extends BaseHBaseManagedTimeTableReuseIT {
@Before
public void doBeforeTestSetup() throws Exception {
this.tableName = generateRandomString();
- ensureTableCreated(getUrl(), this.tableName, GROUPBYTEST_NAME);
Connection conn = DriverManager.getConnection(getUrl());
+ createGroupByTestTable(conn, tableName);
insertRow(conn, "Report11", 10);
insertRow(conn, "Report11", 10);
insertRow(conn, "Report22", 30);
http://git-wip-us.apache.org/repos/asf/phoenix/blob/7af70887/phoenix-core/src/it/java/org/apache/phoenix/end2end/RegexpSubstrFunctionIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/RegexpSubstrFunctionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/RegexpSubstrFunctionIT.java
index 6669017..777ccd1 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/RegexpSubstrFunctionIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/RegexpSubstrFunctionIT.java
@@ -17,7 +17,7 @@
*/
package org.apache.phoenix.end2end;
-import static org.apache.phoenix.util.TestUtil.GROUPBYTEST_NAME;
+import static org.apache.phoenix.util.TestUtil.createGroupByTestTable;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
@@ -41,8 +41,8 @@ public class RegexpSubstrFunctionIT extends BaseHBaseManagedTimeTableReuseIT {
@Before
public void doBeforeTestSetup() throws Exception {
tableName = generateRandomString();
- ensureTableCreated(getUrl(), tableName, GROUPBYTEST_NAME);
Connection conn = DriverManager.getConnection(getUrl());
+ createGroupByTestTable(conn, tableName);
insertRow(conn, "Report1?1", 10);
insertRow(conn, "Report1?2", 10);
insertRow(conn, "Report2?1", 30);
http://git-wip-us.apache.org/repos/asf/phoenix/blob/7af70887/phoenix-core/src/it/java/org/apache/phoenix/end2end/SkipScanQueryIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SkipScanQueryIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SkipScanQueryIT.java
index 1021bdd..944acf7 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SkipScanQueryIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SkipScanQueryIT.java
@@ -353,7 +353,7 @@ public class SkipScanQueryIT extends BaseHBaseManagedTimeTableReuseIT {
String tableName = generateRandomString();
String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName);
try {
- createMultiCFTestTable(fullTableName , null);
+ TestUtil.createMultiCFTestTable(conn , fullTableName, null);
populateMultiCFTestTable(fullTableName);
String upsert = "UPSERT INTO " + fullTableName
+ " VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
http://git-wip-us.apache.org/repos/asf/phoenix/blob/7af70887/phoenix-core/src/it/java/org/apache/phoenix/end2end/SortOrderIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SortOrderIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SortOrderIT.java
index 4357272..87814fc 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SortOrderIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SortOrderIT.java
@@ -45,6 +45,7 @@ import org.apache.phoenix.schema.types.PDouble;
import org.apache.phoenix.schema.types.PFloat;
import org.apache.phoenix.util.PropertiesUtil;
import org.junit.Assert;
+import org.junit.Before;
import org.junit.Test;
import com.google.common.collect.Lists;
@@ -55,6 +56,12 @@ import com.google.common.collect.Lists;
public class SortOrderIT extends BaseHBaseManagedTimeTableReuseIT {
+ private String baseTableName;
+
+ @Before
+ public void generateTableName() {
+ baseTableName = generateRandomString();
+ }
@Test
public void noOrder() throws Exception {
@@ -530,7 +537,7 @@ public class SortOrderIT extends BaseHBaseManagedTimeTableReuseIT {
}
private void testCompareCompositeKey(Integer saltBuckets, PDataType dataType, SortOrder sortOrder, String whereClause, List<Integer> expectedResults, String orderBy) throws SQLException {
- String tableName = "t_" + saltBuckets + "_" + dataType + "_" + sortOrder;
+ String tableName = "t_" + saltBuckets + "_" + dataType + "_" + sortOrder + "_" + baseTableName;
String ddl = "create table if not exists " + tableName + " (k1 bigint not null, k2 " + dataType.getSqlTypeName() + (dataType.isFixedWidth() ? " not null" : "") + ", constraint pk primary key (k1,k2 " + sortOrder + "))" + (saltBuckets == null ? "" : (" SALT_BUCKETS= " + saltBuckets));
Connection conn = DriverManager.getConnection(getUrl(), PropertiesUtil.deepCopy(TEST_PROPERTIES));
conn.createStatement().execute(ddl);
http://git-wip-us.apache.org/repos/asf/phoenix/blob/7af70887/phoenix-core/src/it/java/org/apache/phoenix/end2end/SpillableGroupByIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SpillableGroupByIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SpillableGroupByIT.java
index 51dcd21..22bf8ce 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SpillableGroupByIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SpillableGroupByIT.java
@@ -19,6 +19,7 @@ package org.apache.phoenix.end2end;
import static org.apache.phoenix.util.TestUtil.GROUPBYTEST_NAME;
import static org.apache.phoenix.util.TestUtil.TEST_PROPERTIES;
+import static org.apache.phoenix.util.TestUtil.createGroupByTestTable;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
@@ -47,7 +48,7 @@ import com.google.common.collect.Maps;
* cluster.
*/
-public class SpillableGroupByIT extends BaseOwnClusterHBaseManagedTimeIT {
+public class SpillableGroupByIT extends BaseOwnClusterClientManagedTimeIT {
private static final int NUM_ROWS_INSERTED = 1000;
@@ -72,10 +73,8 @@ public class SpillableGroupByIT extends BaseOwnClusterHBaseManagedTimeIT {
setUpTestDriver(new ReadOnlyProps(props.entrySet().iterator()));
}
- private long createTable() throws Exception {
- long ts = nextTimestamp();
- ensureTableCreated(getUrl(), GROUPBYTEST_NAME, GROUPBYTEST_NAME, null, ts - 2);
- return ts;
+ private void createTable(Connection conn, String tableName) throws Exception {
+ createGroupByTestTable(conn, tableName);
}
private void loadData(long ts) throws SQLException {
@@ -108,13 +107,19 @@ public class SpillableGroupByIT extends BaseOwnClusterHBaseManagedTimeIT {
@Test
public void testScanUri() throws Exception {
+ long ts = nextTimestamp();
SpillableGroupByIT spGpByT = new SpillableGroupByIT();
- long ts = spGpByT.createTable();
- spGpByT.loadData(ts);
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB,
- Long.toString(ts + 10));
+ Long.toString(ts));
Connection conn = DriverManager.getConnection(getUrl(), props);
+ createTable(conn, GROUPBYTEST_NAME);
+ ts += 2;
+ spGpByT.loadData(ts);
+ props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
+ props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB,
+ Long.toString(ts + 10));
+ conn = DriverManager.getConnection(getUrl(), props);
try {
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(GROUPBY1);
http://git-wip-us.apache.org/repos/asf/phoenix/blob/7af70887/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexExpressionIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexExpressionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexExpressionIT.java
index 65f9bac..0dc2036 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexExpressionIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexExpressionIT.java
@@ -11,8 +11,6 @@ package org.apache.phoenix.end2end.index;
import static org.apache.phoenix.query.QueryConstants.MILLIS_IN_DAY;
import static org.apache.phoenix.util.TestUtil.INDEX_DATA_SCHEMA;
-import static org.apache.phoenix.util.TestUtil.INDEX_DATA_TABLE;
-import static org.apache.phoenix.util.TestUtil.MUTABLE_INDEX_DATA_TABLE;
import static org.apache.phoenix.util.TestUtil.TEST_PROPERTIES;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
@@ -111,6 +109,11 @@ public class IndexExpressionIT extends BaseHBaseManagedTimeTableReuseIT {
assertEquals(i, rs.getLong(12));
}
+ private void createDataTable(Connection conn, String dataTableName, String tableProps) throws SQLException {
+ String tableDDL = "create table " + dataTableName + TEST_TABLE_SCHEMA + tableProps;
+ conn.createStatement().execute(tableDDL);
+ }
+
protected void helpTestCreateAndUpdate(boolean mutable, boolean localIndex) throws Exception {
String dataTableName = generateRandomString();
String fullDataTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + dataTableName;
@@ -119,7 +122,8 @@ public class IndexExpressionIT extends BaseHBaseManagedTimeTableReuseIT {
Connection conn = DriverManager.getConnection(getUrl(), props);
try {
conn.setAutoCommit(false);
- populateDataTable(conn, dataTableName, mutable ? MUTABLE_INDEX_DATA_TABLE : INDEX_DATA_TABLE);
+ createDataTable(conn, fullDataTableName, mutable ? "" : "IMMUTABLE_ROWS=true");
+ populateDataTable(conn, fullDataTableName);
// create an expression index
String ddl = "CREATE "
@@ -207,7 +211,7 @@ public class IndexExpressionIT extends BaseHBaseManagedTimeTableReuseIT {
String dataTableName = generateRandomString();
String fullDataTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + dataTableName;
String indexName = generateRandomString();
- helpTestUpdate(dataTableName, fullDataTableName, indexName, false);
+ helpTestUpdate(fullDataTableName, indexName, false);
}
@Test
@@ -215,15 +219,16 @@ public class IndexExpressionIT extends BaseHBaseManagedTimeTableReuseIT {
String dataTableName = generateRandomString();
String fullDataTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + dataTableName;
String indexName = generateRandomString();
- helpTestUpdate(dataTableName, fullDataTableName, indexName, true);
+ helpTestUpdate(fullDataTableName, indexName, true);
}
- protected void helpTestUpdate(String dataTableName, String fullDataTableName, String indexName, boolean localIndex) throws Exception {
+ protected void helpTestUpdate(String fullDataTableName, String indexName, boolean localIndex) throws Exception {
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
Connection conn = DriverManager.getConnection(getUrl(), props);
try {
conn.setAutoCommit(false);
- populateDataTable(conn, dataTableName, MUTABLE_INDEX_DATA_TABLE);
+ createDataTable(conn, fullDataTableName, "");
+ populateDataTable(conn, fullDataTableName);
// create an expression index
String ddl = "CREATE "
@@ -280,9 +285,8 @@ public class IndexExpressionIT extends BaseHBaseManagedTimeTableReuseIT {
}
}
- private void populateDataTable(Connection conn, String dataTable, String tableType) throws SQLException {
- ensureTableCreated(getUrl(), dataTable, tableType);
- String upsert = "UPSERT INTO " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + dataTable
+ private void populateDataTable(Connection conn, String dataTable) throws SQLException {
+ String upsert = "UPSERT INTO " + dataTable
+ " VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
PreparedStatement stmt1 = conn.prepareStatement(upsert);
// insert two rows
@@ -320,8 +324,8 @@ public class IndexExpressionIT extends BaseHBaseManagedTimeTableReuseIT {
Connection conn = DriverManager.getConnection(getUrl(), props);
try {
conn.setAutoCommit(false);
- ensureTableCreated(getUrl(), dataTableName, mutable ? MUTABLE_INDEX_DATA_TABLE : INDEX_DATA_TABLE);
- populateDataTable(conn, dataTableName, mutable ? MUTABLE_INDEX_DATA_TABLE : INDEX_DATA_TABLE);
+ createDataTable(conn, fullDataTableName, mutable ? "" : "IMMUTABLE_ROWS=true");
+ populateDataTable(conn, fullDataTableName);
String ddl = "CREATE " + (localIndex ? "LOCAL" : "") + " INDEX " + indexName + " ON " + fullDataTableName
+ " (2*long_col2)";
PreparedStatement stmt = conn.prepareStatement(ddl);
@@ -394,8 +398,8 @@ public class IndexExpressionIT extends BaseHBaseManagedTimeTableReuseIT {
Connection conn = DriverManager.getConnection(getUrl(), props);
try {
conn.setAutoCommit(false);
- ensureTableCreated(getUrl(), dataTableName, mutable ? MUTABLE_INDEX_DATA_TABLE : INDEX_DATA_TABLE);
- populateDataTable(conn, dataTableName, mutable ? MUTABLE_INDEX_DATA_TABLE : INDEX_DATA_TABLE);
+ createDataTable(conn, fullDataTableName, mutable ? "" : "IMMUTABLE_ROWS=true");
+ populateDataTable(conn, fullDataTableName);
String ddl = "CREATE " + (localIndex ? "LOCAL" : "") + " INDEX " + indexName + " ON " + fullDataTableName
+ " (long_pk, varchar_pk, 1+long_pk, UPPER(varchar_pk) )" + " INCLUDE (long_col1, long_col2)";
PreparedStatement stmt = conn.prepareStatement(ddl);
@@ -475,7 +479,8 @@ public class IndexExpressionIT extends BaseHBaseManagedTimeTableReuseIT {
Connection conn = DriverManager.getConnection(getUrl(), props);
try {
conn.setAutoCommit(false);
- populateDataTable(conn, dataTableName, mutable ? MUTABLE_INDEX_DATA_TABLE : INDEX_DATA_TABLE);
+ createDataTable(conn, fullDataTableName, mutable ? "" : "IMMUTABLE_ROWS=true");
+ populateDataTable(conn, fullDataTableName);
String ddl = "CREATE " + (localIndex ? "LOCAL" : "") + " INDEX " + indexName + " ON " + fullDataTableName
+ " (int_col1+int_col2)";
PreparedStatement stmt = conn.prepareStatement(ddl);
@@ -530,7 +535,8 @@ public class IndexExpressionIT extends BaseHBaseManagedTimeTableReuseIT {
Connection conn = DriverManager.getConnection(getUrl(), props);
try {
conn.setAutoCommit(false);
- populateDataTable(conn, dataTableName, mutable ? MUTABLE_INDEX_DATA_TABLE : INDEX_DATA_TABLE);
+ createDataTable(conn, fullDataTableName, mutable ? "" : "IMMUTABLE_ROWS=true");
+ populateDataTable(conn, fullDataTableName);
String ddl = "CREATE " + (localIndex ? "LOCAL" : "") + " INDEX " + indexName + " ON " + fullDataTableName
+ " (int_col1+1)";
PreparedStatement stmt = conn.prepareStatement(ddl);
@@ -584,7 +590,8 @@ public class IndexExpressionIT extends BaseHBaseManagedTimeTableReuseIT {
Connection conn = DriverManager.getConnection(getUrl(), props);
try {
conn.setAutoCommit(false);
- populateDataTable(conn, dataTableName, mutable ? MUTABLE_INDEX_DATA_TABLE : INDEX_DATA_TABLE);
+ createDataTable(conn, fullDataTableName, mutable ? "" : "IMMUTABLE_ROWS=true");
+ populateDataTable(conn, fullDataTableName);
String ddl = "CREATE " + (localIndex ? "LOCAL" : "") + " INDEX " + indexName + " ON " + fullDataTableName
+ " (int_col1+1)";
@@ -634,7 +641,8 @@ public class IndexExpressionIT extends BaseHBaseManagedTimeTableReuseIT {
Connection conn = DriverManager.getConnection(getUrl(), props);
try {
conn.setAutoCommit(false);
- populateDataTable(conn, dataTableName, mutable ? MUTABLE_INDEX_DATA_TABLE : INDEX_DATA_TABLE);
+ createDataTable(conn, fullDataTableName, mutable ? "" : "IMMUTABLE_ROWS=true");
+ populateDataTable(conn, fullDataTableName);
String ddl = "CREATE " + (localIndex ? "LOCAL" : "") + " INDEX " + indexName + " ON " + fullDataTableName
+ " (int_col1+1)";
@@ -798,7 +806,8 @@ public class IndexExpressionIT extends BaseHBaseManagedTimeTableReuseIT {
Connection conn = DriverManager.getConnection(getUrl(), props);
try {
conn.setAutoCommit(false);
- populateDataTable(conn, dataTableName, mutable ? MUTABLE_INDEX_DATA_TABLE : INDEX_DATA_TABLE);
+ createDataTable(conn, fullDataTableName, mutable ? "" : "IMMUTABLE_ROWS=true");
+ populateDataTable(conn, fullDataTableName);
String ddl = "CREATE " + (localIndex ? "LOCAL" : "") + " INDEX " + indexName + " ON " + fullDataTableName
+ " (int_col1+1)";
http://git-wip-us.apache.org/repos/asf/phoenix/blob/7af70887/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexIT.java
index 8283b28..072e216 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexIT.java
@@ -517,7 +517,7 @@ public class IndexIT extends BaseOwnClusterIT {
conn.setAutoCommit(false);
Date date = new Date(System.currentTimeMillis());
- createMultiCFTestTable(fullTableName, tableDDLOptions);
+ TestUtil.createMultiCFTestTable(conn, fullTableName, tableDDLOptions);
populateMultiCFTestTable(fullTableName, date);
String ddl = "CREATE " + (localIndex ? " LOCAL " : "") + " INDEX " + indexName + " ON " + fullTableName + " (date_col)";
PreparedStatement stmt = conn.prepareStatement(ddl);
@@ -1011,7 +1011,7 @@ public class IndexIT extends BaseOwnClusterIT {
ResultSet rs;
Date date = new Date(System.currentTimeMillis());
- createMultiCFTestTable(fullTableName, tableDDLOptions);
+ TestUtil.createMultiCFTestTable(conn, fullTableName, tableDDLOptions);
populateMultiCFTestTable(fullTableName, date);
String ddl = null;
ddl = "CREATE " + (localIndex ? "LOCAL " : "") + "INDEX " + indexName + " ON " + fullTableName + " (decimal_pk) INCLUDE (decimal_col1, decimal_col2)";
http://git-wip-us.apache.org/repos/asf/phoenix/blob/7af70887/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexMetadataIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexMetadataIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexMetadataIT.java
index 8cce14a..2e1fe1d 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexMetadataIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexMetadataIT.java
@@ -17,7 +17,8 @@
*/
package org.apache.phoenix.end2end.index;
-import static org.apache.phoenix.util.TestUtil.*;
+import static org.apache.phoenix.util.TestUtil.INDEX_DATA_SCHEMA;
+import static org.apache.phoenix.util.TestUtil.TEST_PROPERTIES;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
@@ -33,7 +34,6 @@ import java.sql.SQLException;
import java.sql.Types;
import java.util.Properties;
-import org.apache.hadoop.hbase.HConstants;
import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT;
import org.apache.phoenix.exception.SQLExceptionCode;
@@ -50,7 +50,6 @@ import org.apache.phoenix.schema.types.PDate;
import org.apache.phoenix.util.PropertiesUtil;
import org.apache.phoenix.util.SchemaUtil;
import org.apache.phoenix.util.StringUtil;
-import org.apache.phoenix.util.TestUtil;
import org.junit.Test;
@@ -121,10 +120,12 @@ public class IndexMetadataIT extends BaseHBaseManagedTimeTableReuseIT {
Connection conn = DriverManager.getConnection(getUrl(), props);
conn.setAutoCommit(false);
String indexDataTable = generateRandomString();
+ String fullIndexDataTable = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexDataTable;
String indexName = generateRandomString();
try {
- ensureTableCreated(getUrl(), indexDataTable, MUTABLE_INDEX_DATA_TABLE);
- String ddl = "CREATE INDEX " + indexName + " ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexDataTable
+ String tableDDL = "create table " + fullIndexDataTable + TEST_TABLE_SCHEMA;
+ conn.createStatement().execute(tableDDL);
+ String ddl = "CREATE INDEX " + indexName + " ON " + fullIndexDataTable
+ " (varchar_col1 ASC, varchar_col2 ASC, int_pk DESC)"
+ " INCLUDE (int_col1, int_col2)";
PreparedStatement stmt = conn.prepareStatement(ddl);
@@ -299,8 +300,9 @@ public class IndexMetadataIT extends BaseHBaseManagedTimeTableReuseIT {
String indexName = generateRandomString();
conn.setAutoCommit(false);
try {
- ensureTableCreated(getUrl(), indexDataTable, INDEX_DATA_TABLE);
- String ddl = "CREATE INDEX " + indexName + " ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexDataTable
+ String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexDataTable;
+ conn.createStatement().execute("create table " + fullTableName + TEST_TABLE_SCHEMA + "IMMUTABLE_ROWS=true");
+ String ddl = "CREATE INDEX " + indexName + " ON " + fullTableName
+ " (char_col1 ASC, int_col2 ASC, long_col2 DESC)"
+ " INCLUDE (int_col1)";
PreparedStatement stmt = conn.prepareStatement(ddl);
@@ -359,8 +361,9 @@ public class IndexMetadataIT extends BaseHBaseManagedTimeTableReuseIT {
String indexName = "\"lowerCaseIndex\"";
String indexDataTable = generateRandomString();
try {
- ensureTableCreated(getUrl(), indexDataTable, INDEX_DATA_TABLE);
- String ddl = "CREATE INDEX " + indexName + " ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexDataTable
+ String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexDataTable;
+ conn.createStatement().execute("create table " + fullTableName + TEST_TABLE_SCHEMA + "IMMUTABLE_ROWS=true");
+ String ddl = "CREATE INDEX " + indexName + " ON " + fullTableName
+ " (char_col1 ASC, int_col2 ASC, long_col2 DESC)"
+ " INCLUDE (int_col1)";
PreparedStatement stmt = conn.prepareStatement(ddl);
@@ -394,8 +397,9 @@ public class IndexMetadataIT extends BaseHBaseManagedTimeTableReuseIT {
String indexDataTable = generateRandomString();
String indexName = generateRandomString();
try {
- ensureTableCreated(getUrl(), indexDataTable, TestUtil.INDEX_DATA_TABLE);
- String ddl = "CREATE INDEX " + indexName + " ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexDataTable
+ String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexDataTable;
+ conn.createStatement().execute("create table " + fullTableName + TEST_TABLE_SCHEMA + "IMMUTABLE_ROWS=true");
+ String ddl = "CREATE INDEX " + indexName + " ON " + fullTableName
+ " (a.int_col1, a.long_col1, b.int_col2, b.long_col2)"
+ " INCLUDE(int_col1, int_col2)";
PreparedStatement stmt = conn.prepareStatement(ddl);
http://git-wip-us.apache.org/repos/asf/phoenix/blob/7af70887/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexIT.java
index 0fde1c6..1646538 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexIT.java
@@ -109,7 +109,7 @@ public class MutableIndexIT extends BaseHBaseManagedTimeTableReuseIT {
String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName);
String fullIndexName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, indexName);
- createMultiCFTestTable(fullTableName, tableDDLOptions);
+ TestUtil.createMultiCFTestTable(conn, fullTableName, tableDDLOptions);
populateMultiCFTestTable(fullTableName);
PreparedStatement stmt = conn.prepareStatement("CREATE " + (localIndex ? " LOCAL " : "") + " INDEX " + indexName + " ON " + fullTableName
+ " (char_col1 ASC, int_col1 ASC) INCLUDE (long_col1, long_col2)");
http://git-wip-us.apache.org/repos/asf/phoenix/blob/7af70887/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java b/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java
index 00de6b0..f1eafc2 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java
@@ -18,7 +18,6 @@
package org.apache.phoenix.rpc;
import static org.apache.phoenix.util.TestUtil.INDEX_DATA_SCHEMA;
-import static org.apache.phoenix.util.TestUtil.MUTABLE_INDEX_DATA_TABLE;
import static org.apache.phoenix.util.TestUtil.TEST_PROPERTIES;
import static org.apache.phoenix.util.TestUtil.TRANSACTIONAL_DATA_TABLE;
import static org.junit.Assert.assertFalse;
@@ -84,7 +83,8 @@ public class UpdateCacheIT extends BaseHBaseManagedTimeTableReuseIT {
@Test
public void testUpdateCacheForTxnTable() throws Exception {
String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + TRANSACTIONAL_DATA_TABLE;
- ensureTableCreated(getUrl(), TRANSACTIONAL_DATA_TABLE, TRANSACTIONAL_DATA_TABLE);
+ Connection conn = DriverManager.getConnection(getUrl(), PropertiesUtil.deepCopy(TEST_PROPERTIES));
+ conn.createStatement().execute("create table " + fullTableName + TEST_TABLE_SCHEMA + "TRANSACTIONAL=true");
helpTestUpdateCache(fullTableName, null, new int[] {1, 1});
}
@@ -92,7 +92,8 @@ public class UpdateCacheIT extends BaseHBaseManagedTimeTableReuseIT {
public void testUpdateCacheForNonTxnTable() throws Exception {
String tableName = generateRandomString();
String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + tableName;
- ensureTableCreated(getUrl(), tableName, MUTABLE_INDEX_DATA_TABLE);
+ Connection conn = DriverManager.getConnection(getUrl(), PropertiesUtil.deepCopy(TEST_PROPERTIES));
+ conn.createStatement().execute("create table " + fullTableName + TEST_TABLE_SCHEMA);
helpTestUpdateCache(fullTableName, null, new int[] {1, 3});
}
@@ -107,9 +108,9 @@ public class UpdateCacheIT extends BaseHBaseManagedTimeTableReuseIT {
public void testUpdateCacheForNeverUpdatedTable() throws Exception {
String tableName = generateRandomString();
String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + tableName;
- ensureTableCreated(getUrl(), tableName, MUTABLE_INDEX_DATA_TABLE);
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
try (Connection conn = DriverManager.getConnection(getUrl(), props)) {
+ conn.createStatement().execute("create table " + fullTableName + TEST_TABLE_SCHEMA);
conn.createStatement().execute(
"alter table " + fullTableName + " SET UPDATE_CACHE_FREQUENCY=NEVER");
}
http://git-wip-us.apache.org/repos/asf/phoenix/blob/7af70887/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheWithScnIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheWithScnIT.java b/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheWithScnIT.java
index 44e3115..75f67b3 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheWithScnIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheWithScnIT.java
@@ -19,9 +19,16 @@ package org.apache.phoenix.rpc;
import static org.apache.phoenix.util.TestUtil.INDEX_DATA_SCHEMA;
import static org.apache.phoenix.util.TestUtil.MUTABLE_INDEX_DATA_TABLE;
+import static org.apache.phoenix.util.TestUtil.TEST_PROPERTIES;
+
+import java.sql.Connection;
+import java.sql.DriverManager;
+import java.util.Properties;
import org.apache.phoenix.end2end.BaseClientManagedTimeIT;
import org.apache.phoenix.query.QueryConstants;
+import org.apache.phoenix.util.PhoenixRuntime;
+import org.apache.phoenix.util.PropertiesUtil;
import org.junit.Test;
public class UpdateCacheWithScnIT extends BaseClientManagedTimeIT {
@@ -30,7 +37,10 @@ public class UpdateCacheWithScnIT extends BaseClientManagedTimeIT {
public void testUpdateCacheWithScn() throws Exception {
long ts = nextTimestamp();
String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + MUTABLE_INDEX_DATA_TABLE;
- ensureTableCreated(getUrl(), MUTABLE_INDEX_DATA_TABLE, MUTABLE_INDEX_DATA_TABLE, ts);
+ Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
+ props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts));
+ Connection conn = DriverManager.getConnection(getUrl(), props);
+ conn.createStatement().execute("create table " + fullTableName + TEST_TABLE_SCHEMA);
// FIXME: given that the scn is advancing in the test, why aren't there more RPCs?
UpdateCacheIT.helpTestUpdateCache(fullTableName, ts+2, new int[] {1, 1});
}
http://git-wip-us.apache.org/repos/asf/phoenix/blob/7af70887/phoenix-core/src/it/java/org/apache/phoenix/tx/TransactionIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/tx/TransactionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/tx/TransactionIT.java
index 0377a37..e55a63e 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/tx/TransactionIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/tx/TransactionIT.java
@@ -19,7 +19,6 @@ package org.apache.phoenix.tx;
import static org.apache.phoenix.util.TestUtil.INDEX_DATA_SCHEMA;
import static org.apache.phoenix.util.TestUtil.TEST_PROPERTIES;
-import static org.apache.phoenix.util.TestUtil.TRANSACTIONAL_DATA_TABLE;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
@@ -52,6 +51,7 @@ import org.apache.phoenix.end2end.Shadower;
import org.apache.phoenix.exception.SQLExceptionCode;
import org.apache.phoenix.jdbc.PhoenixConnection;
import org.apache.phoenix.jdbc.PhoenixDatabaseMetaData;
+import org.apache.phoenix.jdbc.PhoenixResultSet;
import org.apache.phoenix.query.QueryConstants;
import org.apache.phoenix.query.QueryServices;
import org.apache.phoenix.query.QueryServicesOptions;
@@ -62,15 +62,13 @@ import org.apache.phoenix.util.ByteUtil;
import org.apache.phoenix.util.PropertiesUtil;
import org.apache.phoenix.util.ReadOnlyProps;
import org.apache.phoenix.util.TestUtil;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Ignore;
-import org.junit.Test;
-
import org.apache.tephra.TransactionContext;
import org.apache.tephra.TransactionSystemClient;
import org.apache.tephra.TxConstants;
import org.apache.tephra.hbase.TransactionAwareHTable;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+import org.junit.Test;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
@@ -85,14 +83,18 @@ public class TransactionIT extends BaseHBaseManagedTimeTableReuseIT {
props.put(QueryServices.TRANSACTIONS_ENABLED, Boolean.toString(true));
setUpTestDriver(new ReadOnlyProps(props.entrySet().iterator()));
}
-
+
+ private static void createTable(Connection conn, String tableName) throws SQLException {
+ conn.createStatement().execute("create table " + tableName + TEST_TABLE_SCHEMA + "TRANSACTIONAL=true");
+ }
+
@Test
public void testReadOwnWrites() throws Exception {
String transTableName = generateRandomString();
String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + transTableName;
- ensureTableCreated(getUrl(), transTableName, TRANSACTIONAL_DATA_TABLE);
String selectSql = "SELECT * FROM "+ fullTableName;
try (Connection conn = DriverManager.getConnection(getUrl())) {
+ createTable(conn, fullTableName);
conn.setAutoCommit(false);
ResultSet rs = conn.createStatement().executeQuery(selectSql);
assertFalse(rs.next());
@@ -125,9 +127,9 @@ public class TransactionIT extends BaseHBaseManagedTimeTableReuseIT {
public void testTxnClosedCorrecty() throws Exception {
String transTableName = generateRandomString();
String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + transTableName;
- ensureTableCreated(getUrl(), transTableName, TRANSACTIONAL_DATA_TABLE);
String selectSql = "SELECT * FROM "+fullTableName;
try (Connection conn = DriverManager.getConnection(getUrl())) {
+ createTable(conn, fullTableName);
conn.setAutoCommit(false);
ResultSet rs = conn.createStatement().executeQuery(selectSql);
assertFalse(rs.next());
@@ -144,12 +146,13 @@ public class TransactionIT extends BaseHBaseManagedTimeTableReuseIT {
rs = conn.createStatement().executeQuery(selectSql);
TestUtil.validateRowKeyColumns(rs, 1);
TestUtil.validateRowKeyColumns(rs, 2);
+ Long currentTx = rs.unwrap(PhoenixResultSet.class).getCurrentRow().getValue(0).getTimestamp();
assertFalse(rs.next());
conn.close();
- // wait for any open txns to time out
- Thread.sleep(DEFAULT_TXN_TIMEOUT_SECONDS*1000+10000);
- assertTrue("There should be no invalid transactions", txManager.getInvalidSize()==0);
+ // start new connection
+ conn.createStatement().executeQuery(selectSql);
+ assertFalse("This transaction should not be on the invalid transactions", txManager.getCurrentState().getInvalid().contains(currentTx));
}
}
@@ -157,10 +160,11 @@ public class TransactionIT extends BaseHBaseManagedTimeTableReuseIT {
public void testDelete() throws Exception {
String transTableName = generateRandomString();
String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + transTableName;
- ensureTableCreated(getUrl(), transTableName, TRANSACTIONAL_DATA_TABLE);
String selectSQL = "SELECT * FROM " + fullTableName;
- try (Connection conn1 = DriverManager.getConnection(getUrl());
+ try (Connection conn = DriverManager.getConnection(getUrl());
+ Connection conn1 = DriverManager.getConnection(getUrl());
Connection conn2 = DriverManager.getConnection(getUrl())) {
+ createTable(conn, fullTableName);
conn1.setAutoCommit(false);
ResultSet rs = conn1.createStatement().executeQuery(selectSQL);
assertFalse(rs.next());
@@ -196,8 +200,8 @@ public class TransactionIT extends BaseHBaseManagedTimeTableReuseIT {
public void testAutoCommitQuerySingleTable() throws Exception {
String transTableName = generateRandomString();
String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + transTableName;
- ensureTableCreated(getUrl(), transTableName, TRANSACTIONAL_DATA_TABLE);
try (Connection conn = DriverManager.getConnection(getUrl())) {
+ createTable(conn, fullTableName);
conn.setAutoCommit(true);
// verify no rows returned
ResultSet rs = conn.createStatement().executeQuery("SELECT * FROM " + fullTableName);
@@ -209,8 +213,8 @@ public class TransactionIT extends BaseHBaseManagedTimeTableReuseIT {
public void testAutoCommitQueryMultiTables() throws Exception {
String transTableName = generateRandomString();
String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + transTableName;
- ensureTableCreated(getUrl(), transTableName, TRANSACTIONAL_DATA_TABLE);
try (Connection conn = DriverManager.getConnection(getUrl())) {
+ createTable(conn, fullTableName);
conn.setAutoCommit(true);
// verify no rows returned
ResultSet rs = conn.createStatement().executeQuery("SELECT * FROM " + fullTableName + " a JOIN " + fullTableName + " b ON (a.long_pk = b.int_pk)");
@@ -222,9 +226,9 @@ public class TransactionIT extends BaseHBaseManagedTimeTableReuseIT {
public void testColConflicts() throws Exception {
String transTableName = generateRandomString();
String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + transTableName;
- ensureTableCreated(getUrl(), transTableName, TRANSACTIONAL_DATA_TABLE);
try (Connection conn1 = DriverManager.getConnection(getUrl());
Connection conn2 = DriverManager.getConnection(getUrl())) {
+ createTable(conn1, fullTableName);
conn1.setAutoCommit(false);
conn2.setAutoCommit(false);
String selectSql = "SELECT * FROM "+fullTableName;
@@ -295,7 +299,8 @@ public class TransactionIT extends BaseHBaseManagedTimeTableReuseIT {
public void testRowConflictDetected() throws Exception {
String transTableName = generateRandomString();
String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + transTableName;
- ensureTableCreated(getUrl(), transTableName, TRANSACTIONAL_DATA_TABLE);
+ Connection conn = DriverManager.getConnection(getUrl());
+ createTable(conn, fullTableName);
testRowConflicts(fullTableName);
}
@@ -303,8 +308,8 @@ public class TransactionIT extends BaseHBaseManagedTimeTableReuseIT {
public void testNoConflictDetectionForImmutableRows() throws Exception {
String transTableName = generateRandomString();
String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + transTableName;
- ensureTableCreated(getUrl(), transTableName, TRANSACTIONAL_DATA_TABLE);
Connection conn = DriverManager.getConnection(getUrl());
+ createTable(conn, fullTableName);
conn.createStatement().execute("ALTER TABLE " + fullTableName + " SET IMMUTABLE_ROWS=true");
testRowConflicts(fullTableName);
}
@@ -496,10 +501,6 @@ public class TransactionIT extends BaseHBaseManagedTimeTableReuseIT {
@Test
public void testCreateTableToBeTransactional() throws Exception {
-
- String transTableName = generateRandomString();
- String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + transTableName;
- ensureTableCreated(getUrl(), transTableName, TRANSACTIONAL_DATA_TABLE);
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
Connection conn = DriverManager.getConnection(getUrl(), props);
String ddl = "CREATE TABLE TEST_TRANSACTIONAL_TABLE (k varchar primary key) transactional=true";
@@ -542,11 +543,13 @@ public class TransactionIT extends BaseHBaseManagedTimeTableReuseIT {
assertTrue(htable.getTableDescriptor().getCoprocessors().contains(PhoenixTransactionalProcessor.class.getName()));
}
+ @Test
public void testCurrentDate() throws Exception {
String transTableName = generateRandomString();
String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + transTableName;
String selectSql = "SELECT current_date() FROM "+fullTableName;
try (Connection conn = DriverManager.getConnection(getUrl())) {
+ createTable(conn, fullTableName);
conn.setAutoCommit(false);
ResultSet rs = conn.createStatement().executeQuery(selectSql);
assertFalse(rs.next());
@@ -782,10 +785,10 @@ public class TransactionIT extends BaseHBaseManagedTimeTableReuseIT {
public void testInflightUpdateNotSeen() throws Exception {
String transTableName = generateRandomString();
String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + transTableName;
- ensureTableCreated(getUrl(), transTableName, TRANSACTIONAL_DATA_TABLE);
String selectSQL = "SELECT * FROM " + fullTableName;
try (Connection conn1 = DriverManager.getConnection(getUrl());
Connection conn2 = DriverManager.getConnection(getUrl())) {
+ createTable(conn1, fullTableName);
conn1.setAutoCommit(false);
conn2.setAutoCommit(true);
ResultSet rs = conn1.createStatement().executeQuery(selectSQL);
@@ -836,10 +839,10 @@ public class TransactionIT extends BaseHBaseManagedTimeTableReuseIT {
public void testInflightDeleteNotSeen() throws Exception {
String transTableName = generateRandomString();
String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + transTableName;
- ensureTableCreated(getUrl(), transTableName, TRANSACTIONAL_DATA_TABLE);
String selectSQL = "SELECT * FROM " + fullTableName;
try (Connection conn1 = DriverManager.getConnection(getUrl());
Connection conn2 = DriverManager.getConnection(getUrl())) {
+ createTable(conn1, fullTableName);
conn1.setAutoCommit(false);
conn2.setAutoCommit(true);
ResultSet rs = conn1.createStatement().executeQuery(selectSQL);
http://git-wip-us.apache.org/repos/asf/phoenix/blob/7af70887/phoenix-core/src/test/java/org/apache/phoenix/jdbc/PhoenixTestDriver.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/test/java/org/apache/phoenix/jdbc/PhoenixTestDriver.java b/phoenix-core/src/test/java/org/apache/phoenix/jdbc/PhoenixTestDriver.java
index c8928cc..f9fa9f8 100644
--- a/phoenix-core/src/test/java/org/apache/phoenix/jdbc/PhoenixTestDriver.java
+++ b/phoenix-core/src/test/java/org/apache/phoenix/jdbc/PhoenixTestDriver.java
@@ -116,7 +116,7 @@ public class PhoenixTestDriver extends PhoenixEmbeddedDriver {
try {
queryServices.close();
} finally {
- if (executor != null) executor.shutdown();
+ if (executor != null) executor.shutdownNow();
connectionQueryServices = null;
}
}
http://git-wip-us.apache.org/repos/asf/phoenix/blob/7af70887/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 daef367..a28ef3b 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
@@ -42,11 +42,8 @@ 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.E_VALUE;
import static org.apache.phoenix.util.TestUtil.FUNKY_NAME;
-import static org.apache.phoenix.util.TestUtil.GROUPBYTEST_NAME;
import static org.apache.phoenix.util.TestUtil.HBASE_DYNAMIC_COLUMNS;
import static org.apache.phoenix.util.TestUtil.HBASE_NATIVE;
-import static org.apache.phoenix.util.TestUtil.INDEX_DATA_SCHEMA;
-import static org.apache.phoenix.util.TestUtil.INDEX_DATA_TABLE;
import static org.apache.phoenix.util.TestUtil.JOIN_COITEM_TABLE_FULL_NAME;
import static org.apache.phoenix.util.TestUtil.JOIN_CUSTOMER_TABLE_FULL_NAME;
import static org.apache.phoenix.util.TestUtil.JOIN_ITEM_TABLE_FULL_NAME;
@@ -55,7 +52,6 @@ import static org.apache.phoenix.util.TestUtil.JOIN_SUPPLIER_TABLE_FULL_NAME;
import static org.apache.phoenix.util.TestUtil.KEYONLY_NAME;
import static org.apache.phoenix.util.TestUtil.MDTEST_NAME;
import static org.apache.phoenix.util.TestUtil.MULTI_CF_NAME;
-import static org.apache.phoenix.util.TestUtil.MUTABLE_INDEX_DATA_TABLE;
import static org.apache.phoenix.util.TestUtil.PARENTID1;
import static org.apache.phoenix.util.TestUtil.PARENTID2;
import static org.apache.phoenix.util.TestUtil.PARENTID3;
@@ -79,15 +75,14 @@ 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.STABLE_NAME;
+import static org.apache.phoenix.util.TestUtil.SUM_DOUBLE_NAME;
import static org.apache.phoenix.util.TestUtil.TABLE_WITH_ARRAY;
import static org.apache.phoenix.util.TestUtil.TABLE_WITH_SALTING;
import static org.apache.phoenix.util.TestUtil.TEST_PROPERTIES;
-import static org.apache.phoenix.util.TestUtil.TRANSACTIONAL_DATA_TABLE;
-import static org.apache.phoenix.util.TestUtil.SUM_DOUBLE_NAME;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.assertFalse;
import static org.junit.Assert.fail;
import java.io.IOException;
@@ -157,6 +152,11 @@ import org.apache.phoenix.util.PropertiesUtil;
import org.apache.phoenix.util.QueryUtil;
import org.apache.phoenix.util.ReadOnlyProps;
import org.apache.phoenix.util.SchemaUtil;
+import org.apache.tephra.TransactionManager;
+import org.apache.tephra.TxConstants;
+import org.apache.tephra.distributed.TransactionService;
+import org.apache.tephra.metrics.TxMetricsCollector;
+import org.apache.tephra.persist.InMemoryTransactionStateStorage;
import org.apache.twill.discovery.DiscoveryService;
import org.apache.twill.discovery.ZKDiscoveryService;
import org.apache.twill.internal.utils.Networks;
@@ -175,12 +175,6 @@ import com.google.common.collect.Sets;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.google.inject.util.Providers;
-import org.apache.tephra.TransactionManager;
-import org.apache.tephra.TxConstants;
-import org.apache.tephra.distributed.TransactionService;
-import org.apache.tephra.metrics.TxMetricsCollector;
-import org.apache.tephra.persist.InMemoryTransactionStateStorage;
-
/**
*
* Base class that contains all the methods needed by
@@ -364,9 +358,6 @@ public abstract class BaseTest {
" e.cpu_utilization decimal(31,10),\n" +
" f.response_time bigint,\n" +
" g.response_time bigint)");
- builder.put(GROUPBYTEST_NAME,"create table " + GROUPBYTEST_NAME +
- " (id varchar not null primary key,\n" +
- " uri varchar, appcpu integer)");
builder.put(HBASE_NATIVE,"create table " + HBASE_NATIVE +
" (uint_key unsigned_int not null," +
" ulong_key unsigned_long not null," +
@@ -442,9 +433,6 @@ public abstract class BaseTest {
builder.put("KVBigIntValueTest", "create table KVBigIntValueTest" +
" (pk integer not null primary key,\n" +
" kv bigint)\n");
- builder.put(INDEX_DATA_TABLE, "create table " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + INDEX_DATA_TABLE + TEST_TABLE_SCHEMA + "IMMUTABLE_ROWS=true");
- builder.put(MUTABLE_INDEX_DATA_TABLE, "create table " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + MUTABLE_INDEX_DATA_TABLE + TEST_TABLE_SCHEMA);
- builder.put(TRANSACTIONAL_DATA_TABLE, "create table " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + TRANSACTIONAL_DATA_TABLE + TEST_TABLE_SCHEMA + "TRANSACTIONAL=true");
builder.put(SUM_DOUBLE_NAME,"create table SumDoubleTest" +
" (id varchar not null primary key, d DOUBLE, f FLOAT, ud UNSIGNED_DOUBLE, uf UNSIGNED_FLOAT, i integer, de decimal)");
builder.put(JOIN_ORDER_TABLE_FULL_NAME, "create table " + JOIN_ORDER_TABLE_FULL_NAME +
@@ -1988,32 +1976,6 @@ public abstract class BaseTest {
}
}
- protected static void createMultiCFTestTable(String tableName, String options) throws SQLException {
- String ddl = "create table if not exists " + tableName + "(" +
- " varchar_pk VARCHAR NOT NULL, " +
- " char_pk CHAR(5) NOT NULL, " +
- " int_pk INTEGER NOT NULL, "+
- " long_pk BIGINT NOT NULL, " +
- " decimal_pk DECIMAL(31, 10) NOT NULL, " +
- " a.varchar_col1 VARCHAR, " +
- " a.char_col1 CHAR(5), " +
- " a.int_col1 INTEGER, " +
- " a.long_col1 BIGINT, " +
- " a.decimal_col1 DECIMAL(31, 10), " +
- " b.varchar_col2 VARCHAR, " +
- " b.char_col2 CHAR(5), " +
- " b.int_col2 INTEGER, " +
- " b.long_col2 BIGINT, " +
- " b.decimal_col2 DECIMAL, " +
- " b.date_col DATE " +
- " CONSTRAINT pk PRIMARY KEY (varchar_pk, char_pk, int_pk, long_pk DESC, decimal_pk)) "
- + (options!=null? options : "");
- Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
- Connection conn = DriverManager.getConnection(getUrl(), props);
- conn.createStatement().execute(ddl);
- conn.close();
- }
-
// Populate the test table with data.
protected static void populateMultiCFTestTable(String tableName) throws SQLException {
populateMultiCFTestTable(tableName, null);
http://git-wip-us.apache.org/repos/asf/phoenix/blob/7af70887/phoenix-core/src/test/java/org/apache/phoenix/util/TestUtil.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/test/java/org/apache/phoenix/util/TestUtil.java b/phoenix-core/src/test/java/org/apache/phoenix/util/TestUtil.java
index 68e7b9b..cddd762 100644
--- a/phoenix-core/src/test/java/org/apache/phoenix/util/TestUtil.java
+++ b/phoenix-core/src/test/java/org/apache/phoenix/util/TestUtil.java
@@ -472,6 +472,12 @@ public class TestUtil {
conn.commit();
}
+ public static void createGroupByTestTable(Connection conn, String tableName) throws SQLException {
+ conn.createStatement().execute("create table " + tableName +
+ " (id varchar not null primary key,\n" +
+ " uri varchar, appcpu integer)");
+ }
+
private static void createTable(Connection conn, String inputSqlType, String tableName, String sortOrder) throws SQLException {
String dmlFormat =
"CREATE TABLE " + tableName + "_%s (id INTEGER NOT NULL, pk %s NOT NULL, " + "kv %s "
@@ -697,5 +703,28 @@ public class TestUtil {
return aggregators;
}
}
+
+ public static void createMultiCFTestTable(Connection conn, String tableName, String options) throws SQLException {
+ String ddl = "create table if not exists " + tableName + "(" +
+ " varchar_pk VARCHAR NOT NULL, " +
+ " char_pk CHAR(5) NOT NULL, " +
+ " int_pk INTEGER NOT NULL, "+
+ " long_pk BIGINT NOT NULL, " +
+ " decimal_pk DECIMAL(31, 10) NOT NULL, " +
+ " a.varchar_col1 VARCHAR, " +
+ " a.char_col1 CHAR(5), " +
+ " a.int_col1 INTEGER, " +
+ " a.long_col1 BIGINT, " +
+ " a.decimal_col1 DECIMAL(31, 10), " +
+ " b.varchar_col2 VARCHAR, " +
+ " b.char_col2 CHAR(5), " +
+ " b.int_col2 INTEGER, " +
+ " b.long_col2 BIGINT, " +
+ " b.decimal_col2 DECIMAL, " +
+ " b.date_col DATE " +
+ " CONSTRAINT pk PRIMARY KEY (varchar_pk, char_pk, int_pk, long_pk DESC, decimal_pk)) "
+ + (options!=null? options : "");
+ conn.createStatement().execute(ddl);
+ }
}