Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 0095C200B80 for ; Wed, 14 Sep 2016 23:43:05 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id F3738160AB4; Wed, 14 Sep 2016 21:43:04 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id A11F2160AE3 for ; Wed, 14 Sep 2016 23:43:01 +0200 (CEST) Received: (qmail 83015 invoked by uid 500); 14 Sep 2016 21:43:00 -0000 Mailing-List: contact commits-help@phoenix.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@phoenix.apache.org Delivered-To: mailing list commits@phoenix.apache.org Received: (qmail 82655 invoked by uid 99); 14 Sep 2016 21:43:00 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 14 Sep 2016 21:43:00 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 62842E0551; Wed, 14 Sep 2016 21:43:00 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: maryannxue@apache.org To: commits@phoenix.apache.org Date: Wed, 14 Sep 2016 21:43:33 -0000 Message-Id: <3449af0135c84a4c85ac5031fc6b89a1@git.apache.org> In-Reply-To: <379effd053cc4d5d86339b9a37975de9@git.apache.org> References: <379effd053cc4d5d86339b9a37975de9@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [35/50] [abbrv] phoenix git commit: Modify phoenix IT tests to extend BaseHBaseManagedTimeTableReuseIT (Prakul Agarwal, Samarth Jain) archived-at: Wed, 14 Sep 2016 21:43:05 -0000 http://git-wip-us.apache.org/repos/asf/phoenix/blob/14dab2f4/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 c896a93..f0b4b24 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 @@ -56,14 +56,14 @@ import org.apache.phoenix.util.PropertiesUtil; import org.junit.Test; -public class PercentileIT extends BaseHBaseManagedTimeIT { +public class PercentileIT extends BaseHBaseManagedTimeTableReuseIT { @Test public void testPercentile() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); + String tableName = initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); - String query = "SELECT PERCENTILE_CONT(0.9) WITHIN GROUP (ORDER BY A_INTEGER ASC) FROM aTable"; + String query = "SELECT PERCENTILE_CONT(0.9) WITHIN GROUP (ORDER BY A_INTEGER ASC) FROM " + tableName; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -83,9 +83,9 @@ public class PercentileIT extends BaseHBaseManagedTimeIT { @Test public void testPercentileDesc() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); + String tableName = initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); - String query = "SELECT PERCENTILE_CONT(0.9) WITHIN GROUP (ORDER BY A_INTEGER DESC) FROM aTable"; + String query = "SELECT PERCENTILE_CONT(0.9) WITHIN GROUP (ORDER BY A_INTEGER DESC) FROM " + tableName; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -105,9 +105,9 @@ public class PercentileIT extends BaseHBaseManagedTimeIT { @Test public void testPercentileWithGroupby() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); + String tableName = initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); - String query = "SELECT A_STRING, PERCENTILE_CONT(0.9) WITHIN GROUP (ORDER BY A_INTEGER ASC) FROM aTable GROUP BY A_STRING"; + String query = "SELECT A_STRING, PERCENTILE_CONT(0.9) WITHIN GROUP (ORDER BY A_INTEGER ASC) FROM " + tableName + " GROUP BY A_STRING"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -138,9 +138,9 @@ public class PercentileIT extends BaseHBaseManagedTimeIT { @Test public void testPercentileWithGroupbyAndOrderBy() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); + String tableName = initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); - String query = "SELECT A_STRING, PERCENTILE_CONT(0.9) WITHIN GROUP (ORDER BY A_INTEGER ASC) AS PC FROM aTable GROUP BY A_STRING ORDER BY PC"; + String query = "SELECT A_STRING, PERCENTILE_CONT(0.9) WITHIN GROUP (ORDER BY A_INTEGER ASC) AS PC FROM " + tableName + " GROUP BY A_STRING ORDER BY PC"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -171,9 +171,9 @@ public class PercentileIT extends BaseHBaseManagedTimeIT { @Test public void testPercentileDiscAsc() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); + String tableName = initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); - String query = "SELECT PERCENTILE_DISC(0.9) WITHIN GROUP (ORDER BY A_INTEGER ASC) FROM aTable"; + String query = "SELECT PERCENTILE_DISC(0.9) WITHIN GROUP (ORDER BY A_INTEGER ASC) FROM " + tableName; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -192,9 +192,9 @@ public class PercentileIT extends BaseHBaseManagedTimeIT { @Test public void testPercentileDiscDesc() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); + String tableName = initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); - String query = "SELECT PERCENTILE_DISC(0.9) WITHIN GROUP (ORDER BY A_INTEGER DESC) FROM aTable"; + String query = "SELECT PERCENTILE_DISC(0.9) WITHIN GROUP (ORDER BY A_INTEGER DESC) FROM " + tableName; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -213,9 +213,9 @@ public class PercentileIT extends BaseHBaseManagedTimeIT { @Test public void testPercentileDiscWithGroupby() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); + String tableName = initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); - String query = "SELECT A_STRING, PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY A_INTEGER ASC) FROM aTable GROUP BY A_STRING"; + String query = "SELECT A_STRING, PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY A_INTEGER ASC) FROM " + tableName + " GROUP BY A_STRING"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -243,9 +243,9 @@ public class PercentileIT extends BaseHBaseManagedTimeIT { @Test public void testPercentileDiscWithGroupbyAndOrderBy() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); + String tableName = initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); - String query = "SELECT A_STRING, PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY A_INTEGER ASC) FROM aTable GROUP BY A_STRING ORDER BY A_STRING DESC"; + String query = "SELECT A_STRING, PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY A_INTEGER ASC) FROM " + tableName + " GROUP BY A_STRING ORDER BY A_STRING DESC"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -273,9 +273,9 @@ public class PercentileIT extends BaseHBaseManagedTimeIT { @Test public void testPercentRank() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); + String tableName = initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); - String query = "SELECT PERCENT_RANK(5) WITHIN GROUP (ORDER BY A_INTEGER ASC) FROM aTable"; + String query = "SELECT PERCENT_RANK(5) WITHIN GROUP (ORDER BY A_INTEGER ASC) FROM " + tableName; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -295,9 +295,9 @@ public class PercentileIT extends BaseHBaseManagedTimeIT { @Test public void testPercentRankWithNegativeNumeric() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); + String tableName = initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); - String query = "SELECT PERCENT_RANK(-2) WITHIN GROUP (ORDER BY A_INTEGER ASC) FROM aTable"; + String query = "SELECT PERCENT_RANK(-2) WITHIN GROUP (ORDER BY A_INTEGER ASC) FROM " + tableName; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -317,9 +317,9 @@ public class PercentileIT extends BaseHBaseManagedTimeIT { @Test public void testPercentRankDesc() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); + String tableName = initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); - String query = "SELECT PERCENT_RANK(8.9) WITHIN GROUP (ORDER BY A_INTEGER DESC) FROM aTable"; + String query = "SELECT PERCENT_RANK(8.9) WITHIN GROUP (ORDER BY A_INTEGER DESC) FROM " + tableName; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -339,9 +339,9 @@ public class PercentileIT extends BaseHBaseManagedTimeIT { @Test public void testPercentRankDescOnVARCHARColumn() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); + String tableName = initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); - String query = "SELECT PERCENT_RANK('ba') WITHIN GROUP (ORDER BY A_STRING DESC) FROM aTable"; + String query = "SELECT PERCENT_RANK('ba') WITHIN GROUP (ORDER BY A_STRING DESC) FROM " + tableName; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -361,9 +361,9 @@ public class PercentileIT extends BaseHBaseManagedTimeIT { @Test public void testPercentRankDescOnDECIMALColumn() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); + String tableName = initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); - String query = "SELECT PERCENT_RANK(2) WITHIN GROUP (ORDER BY x_decimal ASC) FROM aTable"; + String query = "SELECT PERCENT_RANK(2) WITHIN GROUP (ORDER BY x_decimal ASC) FROM " + tableName; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -383,9 +383,9 @@ public class PercentileIT extends BaseHBaseManagedTimeIT { @Test public void testMultiplePercentRanksOnSelect() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); + String tableName = initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); - String query = "SELECT PERCENT_RANK(2) WITHIN GROUP (ORDER BY x_decimal ASC), PERCENT_RANK(8.9) WITHIN GROUP (ORDER BY A_INTEGER DESC) FROM aTable"; + String query = "SELECT PERCENT_RANK(2) WITHIN GROUP (ORDER BY x_decimal ASC), PERCENT_RANK(8.9) WITHIN GROUP (ORDER BY A_INTEGER DESC) FROM " + tableName; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -407,11 +407,12 @@ public class PercentileIT extends BaseHBaseManagedTimeIT { @Test public void testPercentileContOnDescPKColumn() throws Exception { - ensureTableCreated(getUrl(), INDEX_DATA_TABLE); - populateINDEX_DATA_TABLETable(); + 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 + INDEX_DATA_TABLE; + + QueryConstants.NAME_SEPARATOR + indexDataTableName; Connection conn = DriverManager.getConnection(getUrl()); try { @@ -429,11 +430,12 @@ public class PercentileIT extends BaseHBaseManagedTimeIT { @Test public void testPercentRankOnDescPKColumn() throws Exception { - ensureTableCreated(getUrl(), INDEX_DATA_TABLE); - populateINDEX_DATA_TABLETable(); + 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 + INDEX_DATA_TABLE; + + QueryConstants.NAME_SEPARATOR + indexDataTableName; Connection conn = DriverManager.getConnection(getUrl()); try { @@ -451,11 +453,12 @@ public class PercentileIT extends BaseHBaseManagedTimeIT { @Test public void testPercentileDiscOnDescPKColumn() throws Exception { - ensureTableCreated(getUrl(), INDEX_DATA_TABLE); - populateINDEX_DATA_TABLETable(); + 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 + INDEX_DATA_TABLE; + + QueryConstants.NAME_SEPARATOR + indexDataTableName; Connection conn = DriverManager.getConnection(getUrl()); try { @@ -470,12 +473,12 @@ public class PercentileIT extends BaseHBaseManagedTimeIT { } } - private static void populateINDEX_DATA_TABLETable() throws SQLException { + private static void populateINDEX_DATA_TABLETable(String indexDataTableName) throws SQLException { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); Date date = DateUtil.parseDate("2015-01-01 00:00:00"); try { - String upsert = "UPSERT INTO " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + INDEX_DATA_TABLE + String upsert = "UPSERT INTO " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexDataTableName + " VALUES(?, ?, ?, ?, ?, ?)"; PreparedStatement stmt = conn.prepareStatement(upsert); stmt.setString(1, "varchar1"); @@ -508,12 +511,13 @@ public class PercentileIT extends BaseHBaseManagedTimeIT { } } - private static void initATableValues(String tenantId1, String tenantId2, byte[][] splits, + private static String initATableValues(String tenantId1, String tenantId2, byte[][] splits, Date date, Long ts) throws Exception { + String tableName = generateRandomString(); if (ts == null) { - ensureTableCreated(getUrl(), ATABLE_NAME, splits); + ensureTableCreated(getUrl(), tableName, ATABLE_NAME, splits); } else { - ensureTableCreated(getUrl(), ATABLE_NAME, splits, ts - 2); + ensureTableCreated(getUrl(), tableName, ATABLE_NAME, splits, ts - 2); } Properties props = new Properties(); @@ -523,7 +527,7 @@ public class PercentileIT extends BaseHBaseManagedTimeIT { Connection conn = DriverManager.getConnection(getUrl(), props); try { // Insert all rows at ts - PreparedStatement stmt = conn.prepareStatement("upsert into " + "ATABLE(" + PreparedStatement stmt = conn.prepareStatement("upsert into " + tableName + "(" + " ORGANIZATION_ID, " + " ENTITY_ID, " + " A_STRING, " + " B_STRING, " + " A_INTEGER, " + " A_DATE, " + " X_DECIMAL, " + " X_LONG, " + " X_INTEGER," + " Y_INTEGER)" @@ -669,6 +673,7 @@ public class PercentileIT extends BaseHBaseManagedTimeIT { conn.commit(); } finally { conn.close(); + return tableName; } } } http://git-wip-us.apache.org/repos/asf/phoenix/blob/14dab2f4/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixRuntimeIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixRuntimeIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixRuntimeIT.java index 3ba43e9..579eb19 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixRuntimeIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixRuntimeIT.java @@ -29,6 +29,7 @@ import java.util.Collections; import java.util.List; import java.util.Properties; +import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.client.HTableInterface; import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.ResultScanner; @@ -54,7 +55,7 @@ import org.junit.Test; import com.google.common.collect.Lists; -public class PhoenixRuntimeIT extends BaseHBaseManagedTimeIT { +public class PhoenixRuntimeIT extends BaseHBaseManagedTimeTableReuseIT { private static void assertTenantIds(Expression e, HTableInterface htable, Filter filter, String[] tenantIds) throws IOException { ImmutableBytesWritable ptr = new ImmutableBytesWritable(); Scan scan = new Scan(); @@ -95,23 +96,28 @@ public class PhoenixRuntimeIT extends BaseHBaseManagedTimeIT { } private void testGetTenantIdExpression(boolean isSalted) throws Exception { + //Have to delete metaData tables because BaseHBaseManagedTimeTableReuseIT doesn't delete them after each test case , and tenant list will create issues between test cases + deletePriorMetaData(HConstants.LATEST_TIMESTAMP, getUrl()); + Connection conn = DriverManager.getConnection(getUrl()); conn.setAutoCommit(true); - String tableName = "FOO_" + (isSalted ? "SALTED" : "UNSALTED"); + String tableName = generateRandomString() ; + String sequenceName = generateRandomString() ; conn.createStatement().execute("CREATE TABLE " + tableName + " (k1 VARCHAR NOT NULL, k2 VARCHAR, CONSTRAINT PK PRIMARY KEY(K1,K2)) MULTI_TENANT=true" + (isSalted ? ",SALT_BUCKETS=3" : "")); - conn.createStatement().execute("CREATE SEQUENCE s1"); + conn.createStatement().execute("CREATE SEQUENCE " + sequenceName); conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('t1','x')"); conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('t2','y')"); Properties props = PropertiesUtil.deepCopy(TestUtil.TEST_PROPERTIES); props.setProperty(PhoenixRuntime.TENANT_ID_ATTRIB, "t1"); Connection tsconn = DriverManager.getConnection(getUrl(), props); - tsconn.createStatement().execute("CREATE SEQUENCE s1"); + tsconn.createStatement().execute("CREATE SEQUENCE " + sequenceName); Expression e1 = PhoenixRuntime.getTenantIdExpression(tsconn, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_NAME); HTableInterface htable1 = tsconn.unwrap(PhoenixConnection.class).getQueryServices().getTable(PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_NAME_BYTES); assertTenantIds(e1, htable1, new FirstKeyOnlyFilter(), new String[] {"", "t1"} ); - - tsconn.createStatement().execute("CREATE VIEW A.BAR(V1 VARCHAR) AS SELECT * FROM " + tableName); + + String viewName = generateRandomString(); + tsconn.createStatement().execute("CREATE VIEW " + viewName + "(V1 VARCHAR) AS SELECT * FROM " + tableName); Expression e2 = PhoenixRuntime.getTenantIdExpression(tsconn, PhoenixDatabaseMetaData.SYSTEM_CATALOG_NAME); HTableInterface htable2 = conn.unwrap(PhoenixConnection.class).getQueryServices().getTable(PhoenixDatabaseMetaData.SYSTEM_CATALOG_NAME_BYTES); assertTenantIds(e2, htable2, getUserTableAndViewsFilter(), new String[] {"", "t1"} ); @@ -119,29 +125,33 @@ public class PhoenixRuntimeIT extends BaseHBaseManagedTimeIT { Expression e3 = PhoenixRuntime.getTenantIdExpression(conn, tableName); HTableInterface htable3 = conn.unwrap(PhoenixConnection.class).getQueryServices().getTable(Bytes.toBytes(tableName)); assertTenantIds(e3, htable3, new FirstKeyOnlyFilter(), new String[] {"t1", "t2"} ); - - conn.createStatement().execute("CREATE TABLE BAS (k1 VARCHAR PRIMARY KEY)"); - Expression e4 = PhoenixRuntime.getTenantIdExpression(conn, "BAS"); + + String basTableName = generateRandomString(); + conn.createStatement().execute("CREATE TABLE " + basTableName + " (k1 VARCHAR PRIMARY KEY)"); + Expression e4 = PhoenixRuntime.getTenantIdExpression(conn, basTableName); assertNull(e4); - tsconn.createStatement().execute("CREATE INDEX I1 ON A.BAR(V1)"); - Expression e5 = PhoenixRuntime.getTenantIdExpression(tsconn, "A.I1"); + String indexName1 = generateRandomString(); + tsconn.createStatement().execute("CREATE INDEX " + indexName1 + " ON " + viewName + "(V1)"); + Expression e5 = PhoenixRuntime.getTenantIdExpression(tsconn, indexName1); HTableInterface htable5 = tsconn.unwrap(PhoenixConnection.class).getQueryServices().getTable(Bytes.toBytes(MetaDataUtil.VIEW_INDEX_TABLE_PREFIX + tableName)); assertTenantIds(e5, htable5, new FirstKeyOnlyFilter(), new String[] {"t1"} ); - conn.createStatement().execute("CREATE INDEX I2 ON " + tableName + "(k2)"); - Expression e6 = PhoenixRuntime.getTenantIdExpression(conn, "I2"); - HTableInterface htable6 = conn.unwrap(PhoenixConnection.class).getQueryServices().getTable(Bytes.toBytes("I2")); + String indexName2 = generateRandomString(); + conn.createStatement().execute("CREATE INDEX " + indexName2 + " ON " + tableName + "(k2)"); + Expression e6 = PhoenixRuntime.getTenantIdExpression(conn, indexName2); + HTableInterface htable6 = conn.unwrap(PhoenixConnection.class).getQueryServices().getTable(Bytes.toBytes(indexName2)); assertTenantIds(e6, htable6, new FirstKeyOnlyFilter(), new String[] {"t1", "t2"} ); - tableName = "BAR_" + (isSalted ? "SALTED" : "UNSALTED"); + tableName = generateRandomString() + "BAR_" + (isSalted ? "SALTED" : "UNSALTED"); conn.createStatement().execute("CREATE TABLE " + tableName + " (k1 VARCHAR NOT NULL, k2 VARCHAR, CONSTRAINT PK PRIMARY KEY(K1,K2)) " + (isSalted ? "SALT_BUCKETS=3" : "")); conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('t1','x')"); conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('t2','y')"); Expression e7 = PhoenixRuntime.getFirstPKColumnExpression(conn, tableName); HTableInterface htable7 = conn.unwrap(PhoenixConnection.class).getQueryServices().getTable(Bytes.toBytes(tableName)); assertTenantIds(e7, htable7, new FirstKeyOnlyFilter(), new String[] {"t1", "t2"} ); - + + } } http://git-wip-us.apache.org/repos/asf/phoenix/blob/14dab2f4/phoenix-core/src/it/java/org/apache/phoenix/end2end/ProductMetricsIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ProductMetricsIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ProductMetricsIT.java index a68ba51..07dd101 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ProductMetricsIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ProductMetricsIT.java @@ -89,7 +89,7 @@ public class ProductMetricsIT extends BaseClientManagedTimeIT { } private static void initTable(byte[][] splits, long ts) throws Exception { - ensureTableCreated(getUrl(),PRODUCT_METRICS_NAME,splits, ts-2); + ensureTableCreated(getUrl(), PRODUCT_METRICS_NAME, PRODUCT_METRICS_NAME,splits, ts-2); } private static void assertNoRows(Connection conn) throws SQLException { http://git-wip-us.apache.org/repos/asf/phoenix/blob/14dab2f4/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 12066e6..fbcc120 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 @@ -99,9 +99,9 @@ public class QueryDatabaseMetaDataIT extends BaseClientManagedTimeIT { @Test public void testTableMetadataScan() throws SQLException { long ts = nextTimestamp(); - ensureTableCreated(getUrl(), ATABLE_NAME, null, ts); - ensureTableCreated(getUrl(), STABLE_NAME, null, ts); - ensureTableCreated(getUrl(), CUSTOM_ENTITY_DATA_FULL_NAME, null, ts); + ensureTableCreated(getUrl(), ATABLE_NAME, ATABLE_NAME, ts); + ensureTableCreated(getUrl(), STABLE_NAME, STABLE_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)); @@ -274,8 +274,8 @@ public class QueryDatabaseMetaDataIT extends BaseClientManagedTimeIT { @Test public void testSchemaMetadataScan() throws SQLException { long ts = nextTimestamp(); - ensureTableCreated(getUrl(), CUSTOM_ENTITY_DATA_FULL_NAME, null, ts); - ensureTableCreated(getUrl(), PTSDB_NAME, null, ts); + ensureTableCreated(getUrl(), CUSTOM_ENTITY_DATA_FULL_NAME, CUSTOM_ENTITY_DATA_FULL_NAME, ts); + ensureTableCreated(getUrl(), PTSDB_NAME, PTSDB_NAME, ts); Properties props = new Properties(); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 5)); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -303,7 +303,7 @@ public class QueryDatabaseMetaDataIT extends BaseClientManagedTimeIT { @Test public void testColumnMetadataScan() throws SQLException { long ts = nextTimestamp(); - ensureTableCreated(getUrl(), MDTEST_NAME, null, ts); + ensureTableCreated(getUrl(), MDTEST_NAME, MDTEST_NAME, ts); Properties props = new Properties(); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 5)); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -477,7 +477,7 @@ public class QueryDatabaseMetaDataIT extends BaseClientManagedTimeIT { assertEquals(SchemaUtil.normalizeIdentifier("col2"), rs.getString("COLUMN_NAME")); assertFalse(rs.next()); - ensureTableCreated(getUrl(), TABLE_WITH_SALTING, null, ts); + ensureTableCreated(getUrl(), TABLE_WITH_SALTING, TABLE_WITH_SALTING, ts); rs = dbmd.getColumns("", "", TABLE_WITH_SALTING, StringUtil.escapeLike("A_INTEGER")); assertTrue(rs.next()); assertEquals(1, rs.getInt("ORDINAL_POSITION")); @@ -488,8 +488,8 @@ public class QueryDatabaseMetaDataIT extends BaseClientManagedTimeIT { @Test public void testPrimaryKeyMetadataScan() throws SQLException { long ts = nextTimestamp(); - ensureTableCreated(getUrl(), MDTEST_NAME, null, ts); - ensureTableCreated(getUrl(), CUSTOM_ENTITY_DATA_FULL_NAME, null, ts); + ensureTableCreated(getUrl(), MDTEST_NAME, MDTEST_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); @@ -591,10 +591,10 @@ public class QueryDatabaseMetaDataIT extends BaseClientManagedTimeIT { @Test public void testMultiTableColumnsMetadataScan() throws SQLException { long ts = nextTimestamp(); - ensureTableCreated(getUrl(), MDTEST_NAME, null, ts); - ensureTableCreated(getUrl(), GROUPBYTEST_NAME, null, ts); - ensureTableCreated(getUrl(), PTSDB_NAME, null, ts); - ensureTableCreated(getUrl(), CUSTOM_ENTITY_DATA_FULL_NAME, null, ts); + 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); @@ -652,10 +652,10 @@ public class QueryDatabaseMetaDataIT extends BaseClientManagedTimeIT { public void testCreateDropTable() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); - ensureTableCreated(getUrl(), BTABLE_NAME, null, ts-2); - ensureTableCreated(getUrl(), PTSDB_NAME, null, ts-2); + ensureTableCreated(getUrl(), BTABLE_NAME, BTABLE_NAME, ts-2); + ensureTableCreated(getUrl(), PTSDB_NAME, PTSDB_NAME, ts-2); Properties props = new Properties(); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 5)); @@ -720,7 +720,7 @@ public class QueryDatabaseMetaDataIT extends BaseClientManagedTimeIT { Properties props = new Properties(); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 5)); PhoenixConnection conn1 = DriverManager.getConnection(getUrl(), props).unwrap(PhoenixConnection.class); - ensureTableCreated(getUrl(), tableName, null, ts); + ensureTableCreated(getUrl(), tableName, tableName, ts); descriptor = admin.getTableDescriptor(htableName); assertEquals(3,descriptor.getColumnFamilies().length); @@ -975,7 +975,7 @@ public class QueryDatabaseMetaDataIT extends BaseClientManagedTimeIT { public void testAddKVColumnToExistingFamily() throws Throwable { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); Properties props = new Properties(); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 5)); @@ -1006,8 +1006,7 @@ public class QueryDatabaseMetaDataIT extends BaseClientManagedTimeIT { public void testAddKVColumnToNewFamily() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); - + initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); Properties props = new Properties(); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 5)); Connection conn1 = DriverManager.getConnection(getUrl(), props); @@ -1033,7 +1032,7 @@ public class QueryDatabaseMetaDataIT extends BaseClientManagedTimeIT { public void testAddPKColumn() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); Properties props = new Properties(); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 5)); @@ -1066,7 +1065,7 @@ public class QueryDatabaseMetaDataIT extends BaseClientManagedTimeIT { public void testDropKVColumn() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); Properties props = new Properties(); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 5)); @@ -1106,7 +1105,7 @@ public class QueryDatabaseMetaDataIT extends BaseClientManagedTimeIT { public void testDropPKColumn() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); Properties props = new Properties(); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 5)); @@ -1124,7 +1123,7 @@ public class QueryDatabaseMetaDataIT extends BaseClientManagedTimeIT { public void testDropAllKVCols() throws Exception { ResultSet rs; long ts = nextTimestamp(); - ensureTableCreated(getUrl(), MDTEST_NAME, null, ts); + ensureTableCreated(getUrl(), MDTEST_NAME, MDTEST_NAME, null, ts); Properties props = new Properties(); @@ -1170,7 +1169,7 @@ public class QueryDatabaseMetaDataIT extends BaseClientManagedTimeIT { @Test public void testNewerTableDisallowed() throws Exception { long ts = nextTimestamp(); - ensureTableCreated(getUrl(), ATABLE_NAME, null, ts); + ensureTableCreated(getUrl(), ATABLE_NAME, ATABLE_NAME, null, ts); Properties props = new Properties(); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 5)); http://git-wip-us.apache.org/repos/asf/phoenix/blob/14dab2f4/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryExecWithoutSCNIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryExecWithoutSCNIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryExecWithoutSCNIT.java index 534f77d..6819e57 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryExecWithoutSCNIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryExecWithoutSCNIT.java @@ -32,13 +32,13 @@ import java.util.Properties; import org.junit.Test; -public class QueryExecWithoutSCNIT extends BaseHBaseManagedTimeIT { +public class QueryExecWithoutSCNIT extends BaseHBaseManagedTimeTableReuseIT { @Test public void testScanNoSCN() throws Exception { long ts = System.currentTimeMillis(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); - String query = "SELECT a_string, b_string FROM aTable WHERE organization_id=? and a_integer = 5"; + String tableName = initATableValues(tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); + String query = "SELECT a_string, b_string FROM " + tableName + " WHERE organization_id=? and a_integer = 5"; Properties props = new Properties(); // Test with no CurrentSCN property set Connection conn = DriverManager.getConnection(getUrl(), props); try { http://git-wip-us.apache.org/repos/asf/phoenix/blob/14dab2f4/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryWithLimitIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryWithLimitIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryWithLimitIT.java index 8711f67..fae7a7c 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryWithLimitIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryWithLimitIT.java @@ -61,7 +61,7 @@ public class QueryWithLimitIT extends BaseOwnClusterHBaseManagedTimeIT { Properties props = PropertiesUtil.deepCopy(TestUtil.TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); try { - ensureTableCreated(getUrl(),KEYONLY_NAME); + ensureTableCreated(getUrl(), KEYONLY_NAME, KEYONLY_NAME); initTableValues(conn, 100); String query = "SELECT i1 FROM KEYONLY LIMIT 1"; @@ -85,7 +85,7 @@ public class QueryWithLimitIT extends BaseOwnClusterHBaseManagedTimeIT { Properties props = PropertiesUtil.deepCopy(TestUtil.TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); - ensureTableCreated(getUrl(),KEYONLY_NAME); + ensureTableCreated(getUrl(), KEYONLY_NAME, KEYONLY_NAME); initTableValues(conn, 100); conn.createStatement().execute("UPDATE STATISTICS " + KEYONLY_NAME); http://git-wip-us.apache.org/repos/asf/phoenix/blob/14dab2f4/phoenix-core/src/it/java/org/apache/phoenix/end2end/ReadIsolationLevelIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ReadIsolationLevelIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ReadIsolationLevelIT.java index caebcb5..1573533 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ReadIsolationLevelIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ReadIsolationLevelIT.java @@ -42,7 +42,7 @@ public class ReadIsolationLevelIT extends BaseClientManagedTimeIT { protected static void initTableValues(long ts, byte[][] splits) throws Exception { String tenantId = getOrganizationId(); - ensureTableCreated(getUrl(),ATABLE_NAME,splits, ts-2); + ensureTableCreated(getUrl(),ATABLE_NAME, ATABLE_NAME, splits, ts-2); Properties props = new Properties(); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts)); http://git-wip-us.apache.org/repos/asf/phoenix/blob/14dab2f4/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 dcc20ff..7670481 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 @@ -33,13 +33,15 @@ import org.junit.Before; import org.junit.Test; -public class RegexpReplaceFunctionIT extends BaseHBaseManagedTimeIT { +public class RegexpReplaceFunctionIT extends BaseHBaseManagedTimeTableReuseIT { private int id; + protected String tableName; @Before public void doBeforeTestSetup() throws Exception { - ensureTableCreated(getUrl(), GROUPBYTEST_NAME); + this.tableName = generateRandomString(); + ensureTableCreated(getUrl(), this.tableName, GROUPBYTEST_NAME); Connection conn = DriverManager.getConnection(getUrl()); insertRow(conn, "Report11", 10); insertRow(conn, "Report11", 10); @@ -50,7 +52,8 @@ public class RegexpReplaceFunctionIT extends BaseHBaseManagedTimeIT { } private void insertRow(Connection conn, String uri, int appcpu) throws SQLException { - PreparedStatement statement = conn.prepareStatement("UPSERT INTO " + GROUPBYTEST_NAME + "(id, uri, appcpu) values (?,?,?)"); + + PreparedStatement statement = conn.prepareStatement("UPSERT INTO " + this.tableName + "(id, uri, appcpu) values (?,?,?)"); statement.setString(1, "id" + id); statement.setString(2, uri); statement.setInt(3, appcpu); @@ -62,14 +65,14 @@ public class RegexpReplaceFunctionIT extends BaseHBaseManagedTimeIT { public void testGroupByScanWithRegexpReplace() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); Statement stmt = conn.createStatement(); - ResultSet rs = stmt.executeQuery("select REGEXP_REPLACE(uri, '[1-3]+', '*') suburi, sum(appcpu) sumcpu from " + GROUPBYTEST_NAME + " group by suburi"); + ResultSet rs = stmt.executeQuery("select REGEXP_REPLACE(uri, '[1-3]+', '*') suburi, sum(appcpu) sumcpu from " + this.tableName + " group by suburi"); assertTrue(rs.next()); assertEquals(rs.getString("suburi"), "Report*"); assertEquals(rs.getInt("sumcpu"), 80); assertFalse(rs.next()); stmt = conn.createStatement(); - rs = stmt.executeQuery("select REGEXP_REPLACE(uri, '[1-3]+') suburi, sum(appcpu) sumcpu from " + GROUPBYTEST_NAME + " group by suburi"); + rs = stmt.executeQuery("select REGEXP_REPLACE(uri, '[1-3]+') suburi, sum(appcpu) sumcpu from " + this.tableName + " group by suburi"); assertTrue(rs.next()); assertEquals(rs.getString("suburi"), "Report"); assertEquals(rs.getInt("sumcpu"), 80); @@ -81,14 +84,14 @@ public class RegexpReplaceFunctionIT extends BaseHBaseManagedTimeIT { @Test public void testFilterWithRegexReplace() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - ResultSet rs = conn.createStatement().executeQuery("select id from " + GROUPBYTEST_NAME + " where REGEXP_REPLACE(uri, '[2-3]+', '*') = 'Report*'"); + ResultSet rs = conn.createStatement().executeQuery("select id from " + this.tableName + " where REGEXP_REPLACE(uri, '[2-3]+', '*') = 'Report*'"); assertTrue(rs.next()); assertEquals("id2", rs.getString(1)); assertTrue(rs.next()); assertEquals("id3", rs.getString(1)); assertFalse(rs.next()); - rs = conn.createStatement().executeQuery("select id from " + GROUPBYTEST_NAME + " where REGEXP_REPLACE(uri, '[2-3]+') = 'Report'"); + rs = conn.createStatement().executeQuery("select id from " + this.tableName + " where REGEXP_REPLACE(uri, '[2-3]+') = 'Report'"); assertTrue(rs.next()); assertEquals("id2", rs.getString(1)); assertTrue(rs.next()); http://git-wip-us.apache.org/repos/asf/phoenix/blob/14dab2f4/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 938fd5d..6669017 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 @@ -33,13 +33,15 @@ import org.junit.Before; import org.junit.Test; -public class RegexpSubstrFunctionIT extends BaseHBaseManagedTimeIT { +public class RegexpSubstrFunctionIT extends BaseHBaseManagedTimeTableReuseIT { private int id; + String tableName; @Before public void doBeforeTestSetup() throws Exception { - ensureTableCreated(getUrl(), GROUPBYTEST_NAME); + tableName = generateRandomString(); + ensureTableCreated(getUrl(), tableName, GROUPBYTEST_NAME); Connection conn = DriverManager.getConnection(getUrl()); insertRow(conn, "Report1?1", 10); insertRow(conn, "Report1?2", 10); @@ -50,7 +52,7 @@ public class RegexpSubstrFunctionIT extends BaseHBaseManagedTimeIT { } private void insertRow(Connection conn, String uri, int appcpu) throws SQLException { - PreparedStatement statement = conn.prepareStatement("UPSERT INTO " + GROUPBYTEST_NAME + "(id, uri, appcpu) values (?,?,?)"); + PreparedStatement statement = conn.prepareStatement("UPSERT INTO " + tableName + "(id, uri, appcpu) values (?,?,?)"); statement.setString(1, "id" + id); statement.setString(2, uri); statement.setInt(3, appcpu); @@ -59,7 +61,7 @@ public class RegexpSubstrFunctionIT extends BaseHBaseManagedTimeIT { } private void testGroupByScanWithRegexpSubstr(Connection conn, Integer offset, String exceptedSubstr) throws Exception { - String cmd = "select REGEXP_SUBSTR(uri, '[^\\\\?]+'" + ((offset == null) ? "" : ", " + offset.intValue()) +") suburi, sum(appcpu) sumcpu from " + GROUPBYTEST_NAME + " group by suburi"; + String cmd = "select REGEXP_SUBSTR(uri, '[^\\\\?]+'" + ((offset == null) ? "" : ", " + offset.intValue()) +") suburi, sum(appcpu) sumcpu from " + tableName + " group by suburi"; Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(cmd); assertTrue(rs.next()); @@ -87,7 +89,7 @@ public class RegexpSubstrFunctionIT extends BaseHBaseManagedTimeIT { } private void testFilterWithRegexSubstr(Connection conn, Integer offset, String exceptedSubstr) throws Exception { - String cmd = "select id from " + GROUPBYTEST_NAME + " where REGEXP_SUBSTR(uri, '[^\\\\?]+'"+ ((offset == null) ? "" : ", " + offset.intValue()) +") = '" + exceptedSubstr + "1'"; + String cmd = "select id from " + tableName + " where REGEXP_SUBSTR(uri, '[^\\\\?]+'"+ ((offset == null) ? "" : ", " + offset.intValue()) +") = '" + exceptedSubstr + "1'"; ResultSet rs = conn.createStatement().executeQuery(cmd); assertTrue(rs.next()); assertEquals("id0", rs.getString(1)); http://git-wip-us.apache.org/repos/asf/phoenix/blob/14dab2f4/phoenix-core/src/it/java/org/apache/phoenix/end2end/ReverseScanIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ReverseScanIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ReverseScanIT.java index 2722be1..ff29840 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ReverseScanIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ReverseScanIT.java @@ -52,27 +52,7 @@ import org.junit.Test; import com.google.common.collect.Maps; -public class ReverseScanIT extends BaseHBaseManagedTimeIT { - protected static final String ATABLE_INDEX_NAME = "ATABLE_IDX"; - - @BeforeClass - @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) - public static void doSetup() throws Exception { - Map props = Maps.newHashMapWithExpectedSize(1); - setUpTestDriver(new ReadOnlyProps(props.entrySet().iterator())); - // Ensures our split points will be used - // TODO: do deletePriorTables before test? - Connection conn = DriverManager.getConnection(getUrl()); - HBaseAdmin admin = conn.unwrap(PhoenixConnection.class).getQueryServices().getAdmin(); - try { - admin.disableTable(TestUtil.ATABLE_NAME); - admin.deleteTable(TestUtil.ATABLE_NAME); - } catch (TableNotFoundException e) { - } finally { - admin.close(); - conn.close(); - } - } +public class ReverseScanIT extends BaseHBaseManagedTimeTableReuseIT { private static byte[][] getSplitsAtRowKeys(String tenantId) { return new byte[][] { @@ -85,10 +65,10 @@ public class ReverseScanIT extends BaseHBaseManagedTimeIT { @Test public void testReverseRangeScan() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, getSplitsAtRowKeys(tenantId), getUrl()); + String tableName = initATableValues(tenantId, getSplitsAtRowKeys(tenantId), getUrl()); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); - String query = "SELECT entity_id FROM aTable WHERE entity_id >= '" + ROW3 + "' ORDER BY organization_id DESC, entity_id DESC"; + String query = "SELECT entity_id FROM " + tableName + " WHERE entity_id >= '" + ROW3 + "' ORDER BY organization_id DESC, entity_id DESC"; try { Statement stmt = conn.createStatement(); stmt.setFetchSize(2); @@ -113,11 +93,11 @@ public class ReverseScanIT extends BaseHBaseManagedTimeIT { rs = conn.createStatement().executeQuery("EXPLAIN " + query); assertEquals( - "CLIENT PARALLEL 1-WAY REVERSE FULL SCAN OVER ATABLE\n" + + "CLIENT PARALLEL 1-WAY REVERSE FULL SCAN OVER " + tableName + "\n" + " SERVER FILTER BY FIRST KEY ONLY AND ENTITY_ID >= '00A323122312312'", QueryUtil.getExplainPlan(rs)); - PreparedStatement statement = conn.prepareStatement("SELECT entity_id FROM aTable WHERE organization_id = ? AND entity_id >= ? ORDER BY organization_id DESC, entity_id DESC"); + PreparedStatement statement = conn.prepareStatement("SELECT entity_id FROM " + tableName + " WHERE organization_id = ? AND entity_id >= ? ORDER BY organization_id DESC, entity_id DESC"); statement.setString(1, tenantId); statement.setString(2, ROW7); rs = statement.executeQuery(); @@ -138,10 +118,10 @@ public class ReverseScanIT extends BaseHBaseManagedTimeIT { @Test public void testReverseSkipScan() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, getSplitsAtRowKeys(tenantId), getUrl()); + String tableName = initATableValues(tenantId, getSplitsAtRowKeys(tenantId), getUrl()); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); - String query = "SELECT entity_id FROM aTable WHERE organization_id = ? AND entity_id IN (?,?,?,?,?) ORDER BY organization_id DESC, entity_id DESC"; + String query = "SELECT entity_id FROM " + tableName + " WHERE organization_id = ? AND entity_id IN (?,?,?,?,?) ORDER BY organization_id DESC, entity_id DESC"; try { PreparedStatement statement = conn.prepareStatement(query); statement.setString(1, tenantId); @@ -173,15 +153,16 @@ public class ReverseScanIT extends BaseHBaseManagedTimeIT { ResultSet rs; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); conn = DriverManager.getConnection(getUrl(), props); + String tableName = generateRandomString(); conn.createStatement() - .execute("CREATE TABLE T" + " ( k VARCHAR, c1.a bigint,c2.b bigint CONSTRAINT pk PRIMARY KEY (k)) "); - conn.createStatement().execute("upsert into T values ('a',1,3)"); - conn.createStatement().execute("upsert into T values ('b',1,3)"); - conn.createStatement().execute("upsert into T values ('c',1,3)"); - conn.createStatement().execute("upsert into T values ('d',1,3)"); - conn.createStatement().execute("upsert into T values ('e',1,3)"); + .execute("CREATE TABLE " + tableName + " ( k VARCHAR, c1.a bigint,c2.b bigint CONSTRAINT pk PRIMARY KEY (k)) "); + conn.createStatement().execute("upsert into " + tableName + " values ('a',1,3)"); + conn.createStatement().execute("upsert into " + tableName + " values ('b',1,3)"); + conn.createStatement().execute("upsert into " + tableName + " values ('c',1,3)"); + conn.createStatement().execute("upsert into " + tableName + " values ('d',1,3)"); + conn.createStatement().execute("upsert into " + tableName + " values ('e',1,3)"); conn.commit(); - rs = conn.createStatement().executeQuery("SELECT k FROM T where k>'b' and k<'d' order by k desc"); + rs = conn.createStatement().executeQuery("SELECT k FROM " + tableName + " where k>'b' and k<'d' order by k desc"); assertTrue(rs.next()); assertEquals("c", rs.getString(1)); assertTrue(!rs.next()); @@ -190,17 +171,18 @@ public class ReverseScanIT extends BaseHBaseManagedTimeIT { @Test public void testReverseScanIndex() throws Exception { + String indexName = generateRandomString(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getSplitsAtRowKeys(tenantId), getUrl()); + String tableName = initATableValues(tenantId, getSplitsAtRowKeys(tenantId), getUrl()); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); - String ddl = "CREATE INDEX " + ATABLE_INDEX_NAME + " ON aTable (a_integer DESC) INCLUDE (" + String ddl = "CREATE INDEX " + indexName + " ON " + tableName + " (a_integer DESC) INCLUDE (" + " A_STRING, " + " B_STRING, " + " A_DATE)"; conn.createStatement().execute(ddl); String query = - "SELECT a_integer FROM atable where a_integer is not null order by a_integer nulls last limit 1"; + "SELECT a_integer FROM " + tableName + " where a_integer is not null order by a_integer nulls last limit 1"; PreparedStatement statement = conn.prepareStatement(query); ResultSet rs=statement.executeQuery(); @@ -210,7 +192,7 @@ public class ReverseScanIT extends BaseHBaseManagedTimeIT { rs = conn.createStatement().executeQuery("EXPLAIN " + query); assertEquals( - "CLIENT SERIAL 1-WAY REVERSE RANGE SCAN OVER ATABLE_IDX [not null]\n" + + "CLIENT SERIAL 1-WAY REVERSE RANGE SCAN OVER " + indexName + " [not null]\n" + " SERVER FILTER BY FIRST KEY ONLY\n" + " SERVER 1 ROW LIMIT\n" + "CLIENT 1 ROW LIMIT",QueryUtil.getExplainPlan(rs)); http://git-wip-us.apache.org/repos/asf/phoenix/blob/14dab2f4/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 ce38fcf..f35484d 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 @@ -38,6 +38,7 @@ 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; @@ -65,7 +66,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT { public void testRowValueConstructorInWhereWithEqualsExpression() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); String query = "SELECT a_integer, x_integer FROM aTable 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 @@ -90,7 +91,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT { public void testRowValueConstructorInWhereWithGreaterThanExpression() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); String query = "SELECT a_integer, x_integer FROM aTable 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 @@ -116,7 +117,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT { public void testRowValueConstructorInWhereWithUnEqualNumberArgs() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); String query = "SELECT a_integer, x_integer FROM aTable 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 @@ -142,7 +143,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT { public void testBindVarsInRowValueConstructor() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); String query = "SELECT a_integer, x_integer FROM aTable 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 @@ -169,7 +170,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT { public void testRowValueConstructorOnLHSAndLiteralExpressionOnRHS() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); String query = "SELECT a_integer, x_integer FROM aTable 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 @@ -193,7 +194,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT { public void testRowValueConstructorOnRHSLiteralExpressionOnLHS() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); String query = "SELECT a_integer, x_integer FROM aTable 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 @@ -217,7 +218,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT { public void testRowValueConstructorOnLHSBuiltInFunctionOperatingOnIntegerLiteralRHS() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); String query = "SELECT a_integer, x_integer FROM aTable 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 @@ -241,7 +242,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT { public void testRowValueConstructorOnRHSWithBuiltInFunctionOperatingOnIntegerLiteralOnLHS() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); String query = "SELECT a_integer, x_integer FROM aTable 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 @@ -265,7 +266,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT { public void testRowValueConstructorOnLHSWithBuiltInFunctionOperatingOnColumnRefOnRHS() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts - 1); + initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts - 1, getUrl()); String upsertQuery = "UPSERT INTO aTable(organization_id, entity_id, a_string) values (?, ?, ?)"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts)); @@ -331,7 +332,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT { public void testRowValueConstructorOnRHSWithBuiltInFunctionOperatingOnColumnRefOnLHS() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts - 1); + initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts - 1, getUrl()); String upsertQuery = "UPSERT INTO aTable(organization_id, entity_id, a_string) values (?, ?, ?)"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts)); @@ -653,7 +654,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT { public void testRVCWithNonLeadingPkColsOfTypesIntegerAndString() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); String query = "SELECT a_integer, a_string FROM aTable 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 @@ -679,7 +680,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT { public void testRVCWithNonLeadingPkColsOfTypesTimeStampAndString() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); String updateStmt = "upsert into " + "ATABLE(" + @@ -723,7 +724,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT { public void testNestedRVCBasic() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); //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) >= (?, ?, ?)", @@ -761,7 +762,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT { public void testRVCWithInListClausePossibleNullValues() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); //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))"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); @@ -783,7 +784,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT { public void testRVCWithInListClauseUsingSubsetOfPKColsInOrder() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); // 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"; @@ -813,7 +814,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT { public void testRVCWithCeilAndFloorNeededForDecimal() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); 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)"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2)); // Execute at timestamp 2 @@ -840,7 +841,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT { 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(tenantId, getDefaultSplits(tenantId), dateUpserted, ts); + initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), dateUpserted, ts, getUrl()); String query = "SELECT a_integer, a_date FROM aTable 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 http://git-wip-us.apache.org/repos/asf/phoenix/blob/14dab2f4/phoenix-core/src/it/java/org/apache/phoenix/end2end/SkipScanAfterManualSplitIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SkipScanAfterManualSplitIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SkipScanAfterManualSplitIT.java index 3a847b6..39ba19e 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SkipScanAfterManualSplitIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SkipScanAfterManualSplitIT.java @@ -43,7 +43,7 @@ import org.junit.Test; import com.google.common.collect.Maps; -public class SkipScanAfterManualSplitIT extends BaseHBaseManagedTimeIT { +public class SkipScanAfterManualSplitIT extends BaseHBaseManagedTimeTableReuseIT { private static final int BATCH_SIZE = 25; private static final int MAX_FILESIZE = 1024 * 10; @@ -56,13 +56,11 @@ public class SkipScanAfterManualSplitIT extends BaseHBaseManagedTimeIT { } PAYLOAD = buf.toString(); } - private static final String TABLE_NAME = "S"; - private static final byte[] TABLE_NAME_BYTES = Bytes.toBytes(TABLE_NAME); private static final int MIN_CHAR = 'a'; private static final int MAX_CHAR = 'z'; @BeforeClass - @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) + @Shadower(classBeingShadowed = BaseHBaseManagedTimeTableReuseIT.class) public static void doSetup() throws Exception { Map props = Maps.newHashMapWithExpectedSize(2); // needed for 64 region parallelization due to splitting @@ -75,13 +73,13 @@ public class SkipScanAfterManualSplitIT extends BaseHBaseManagedTimeIT { setUpTestDriver(new ReadOnlyProps(props.entrySet().iterator())); } - private static void initTable() throws Exception { + private static void initTable(String tableName) throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - conn.createStatement().execute("CREATE TABLE " + TABLE_NAME + "(" + conn.createStatement().execute("CREATE TABLE " + tableName + "(" + "a VARCHAR PRIMARY KEY, b VARCHAR) " + HTableDescriptor.MAX_FILESIZE + "=" + MAX_FILESIZE + "," + " SALT_BUCKETS = 4"); - PreparedStatement stmt = conn.prepareStatement("UPSERT INTO s VALUES(?,?)"); + PreparedStatement stmt = conn.prepareStatement("UPSERT INTO " + tableName + " VALUES(?,?)"); int rowCount = 0; for (int c1 = MIN_CHAR; c1 <= MAX_CHAR; c1++) { for (int c2 = MIN_CHAR; c2 <= MAX_CHAR; c2++) { @@ -99,7 +97,7 @@ public class SkipScanAfterManualSplitIT extends BaseHBaseManagedTimeIT { ConnectionQueryServices services = conn.unwrap(PhoenixConnection.class).getQueryServices(); HBaseAdmin admin = services.getAdmin(); try { - admin.flush(TABLE_NAME); + admin.flush(tableName); } finally { admin.close(); } @@ -108,18 +106,20 @@ public class SkipScanAfterManualSplitIT extends BaseHBaseManagedTimeIT { @Test public void testManualSplit() throws Exception { - initTable(); + String tableName = generateRandomString(); + byte[] tableNameBytes = Bytes.toBytes(tableName); + initTable(tableName); Connection conn = DriverManager.getConnection(getUrl()); ConnectionQueryServices services = conn.unwrap(PhoenixConnection.class).getQueryServices(); - int nRegions = services.getAllTableRegions(TABLE_NAME_BYTES).size(); + int nRegions = services.getAllTableRegions(tableNameBytes).size(); int nInitialRegions = nRegions; HBaseAdmin admin = services.getAdmin(); try { - admin.split(TABLE_NAME); + admin.split(tableName); int nTries = 0; while (nRegions == nInitialRegions && nTries < 10) { Thread.sleep(1000); - nRegions = services.getAllTableRegions(TABLE_NAME_BYTES).size(); + nRegions = services.getAllTableRegions(tableNameBytes).size(); nTries++; } // Split finished by this time, but cache isn't updated until @@ -127,10 +127,10 @@ public class SkipScanAfterManualSplitIT extends BaseHBaseManagedTimeIT { assertEquals(nRegions, nInitialRegions); int nRows = 2; - String query = "SELECT count(*) FROM S WHERE a IN ('tl','jt',' a',' b',' c',' d')"; + String query = "SELECT count(*) FROM " + tableName + " WHERE a IN ('tl','jt',' a',' b',' c',' d')"; ResultSet rs1 = conn.createStatement().executeQuery(query); assertTrue(rs1.next()); - nRegions = services.getAllTableRegions(TABLE_NAME_BYTES).size(); + nRegions = services.getAllTableRegions(tableNameBytes).size(); // Region cache has been updated, as there are more regions now assertNotEquals(nRegions, nInitialRegions); /* @@ -281,8 +281,8 @@ public class SkipScanAfterManualSplitIT extends BaseHBaseManagedTimeIT { @Test public void testSkipScanInListOfRVCAfterManualSplit() throws SQLException { Connection conn = DriverManager.getConnection(getUrl()); - - String ddl = "CREATE TABLE FIELD_HISTORY_ARCHIVE ( " + String tableName = generateRandomString(); + String ddl = "CREATE TABLE " + tableName + " ( " + "organization_id CHAR(15) NOT NULL, " + "parent_id CHAR(15) NOT NULL, " + "created_date DATE NOT NULL, " @@ -307,7 +307,7 @@ public class SkipScanAfterManualSplitIT extends BaseHBaseManagedTimeIT { ddlStmt.execute(); conn.commit(); - final String upsertPrefix = "UPSERT INTO FIELD_HISTORY_ARCHIVE VALUES ( '00Dxx0000001gER', "; + final String upsertPrefix = "UPSERT INTO " + tableName + " VALUES ( '00Dxx0000001gER', "; conn.createStatement().executeUpdate(upsertPrefix + "'001xx000003DGr4', TO_DATE('2014-07-11 20:53:01'), '017xx0000022MmH', '005xx000001Sv21' )"); conn.createStatement().executeUpdate(upsertPrefix + "'001xx000003DGr5', TO_DATE('2014-07-11 20:53:01'), '017xx0000022Mln', '005xx000001Sv21' )"); conn.createStatement().executeUpdate(upsertPrefix + "'001xx000003DGsy', TO_DATE('2014-07-11 20:53:01'), '017xx0000022MsO', '005xx000001Sv21' )"); @@ -318,8 +318,8 @@ public class SkipScanAfterManualSplitIT extends BaseHBaseManagedTimeIT { String sql = "SELECT " + "CREATED_BY_ID, PARENT_ID " - + "FROM FIELD_HISTORY_ARCHIVE " - + "WHERE ORGANIZATION_ID='00Dxx0000001gER' " + + "FROM " + tableName + + " WHERE ORGANIZATION_ID='00Dxx0000001gER' " + "AND (PARENT_ID,CREATED_DATE,ENTITY_HISTORY_ID) IN (" + "('001xx000003DGr4',TO_DATE('2014-07-11 20:53:01'),'017xx0000022MmH')," + "('001xx000003DGr5',TO_DATE('2014-07-11 20:53:01'),'017xx0000022Mln')," @@ -350,8 +350,8 @@ public class SkipScanAfterManualSplitIT extends BaseHBaseManagedTimeIT { @Test public void testMinMaxRangeIntersection() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - - PreparedStatement stmt = conn.prepareStatement("create table splits_test " + String tableName = generateRandomString(); + PreparedStatement stmt = conn.prepareStatement("create table " + tableName + "(pk1 UNSIGNED_TINYINT NOT NULL, pk2 UNSIGNED_TINYINT NOT NULL, kv VARCHAR " + "CONSTRAINT pk PRIMARY KEY (pk1, pk2)) SALT_BUCKETS=4 SPLIT ON (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"); // Split each salt bucket into multiple regions @@ -370,7 +370,7 @@ public class SkipScanAfterManualSplitIT extends BaseHBaseManagedTimeIT { stmt.execute(); // Use a query with a RVC in a non equality expression - ResultSet rs = conn.createStatement().executeQuery("select count(kv) from splits_test where pk1 <= 3 and (pk1,PK2) >= (3, 1)"); + ResultSet rs = conn.createStatement().executeQuery("select count(kv) from " + tableName + " where pk1 <= 3 and (pk1,PK2) >= (3, 1)"); assertTrue(rs.next()); } }