http://git-wip-us.apache.org/repos/asf/phoenix/blob/14dab2f4/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpgradeIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpgradeIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpgradeIT.java index 6722b67..b47738d 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpgradeIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpgradeIT.java @@ -51,6 +51,7 @@ import org.apache.phoenix.util.MetaDataUtil; import org.apache.phoenix.util.PhoenixRuntime; import org.apache.phoenix.util.SchemaUtil; import org.apache.phoenix.util.UpgradeUtil; +import org.junit.Ignore; import org.junit.Test; public class UpgradeIT extends BaseHBaseManagedTimeIT { @@ -59,64 +60,74 @@ public class UpgradeIT extends BaseHBaseManagedTimeIT { @Test public void testUpgradeForTenantViewWithSameColumnsAsBaseTable() throws Exception { - testViewUpgrade(true, TENANT_ID, null, "TABLEWITHVIEW1", null, "VIEW1", ColumnDiff.EQUAL); - testViewUpgrade(true, TENANT_ID, "TABLESCHEMA", "TABLEWITHVIEW", null, "VIEW2", + String tableWithViewName = generateRandomString(); + String viewTableName = generateRandomString(); + testViewUpgrade(true, TENANT_ID, null, tableWithViewName + "1", null, viewTableName + "1", ColumnDiff.EQUAL); + testViewUpgrade(true, TENANT_ID, "TABLESCHEMA", tableWithViewName + "", null, viewTableName + "2", ColumnDiff.EQUAL); - testViewUpgrade(true, TENANT_ID, null, "TABLEWITHVIEW3", "VIEWSCHEMA", "VIEW3", + testViewUpgrade(true, TENANT_ID, null, tableWithViewName + "3", viewTableName + "SCHEMA", viewTableName + "3", ColumnDiff.EQUAL); - testViewUpgrade(true, TENANT_ID, "TABLESCHEMA", "TABLEWITHVIEW4", "VIEWSCHEMA", "VIEW4", + testViewUpgrade(true, TENANT_ID, "TABLESCHEMA", tableWithViewName + "4", viewTableName + "SCHEMA", viewTableName + "4", ColumnDiff.EQUAL); - testViewUpgrade(true, TENANT_ID, "SAMESCHEMA", "TABLEWITHVIEW5", "SAMESCHEMA", "VIEW5", + testViewUpgrade(true, TENANT_ID, "SAMESCHEMA", tableWithViewName + "5", "SAMESCHEMA", viewTableName + "5", ColumnDiff.EQUAL); } @Test public void testUpgradeForTenantViewWithMoreColumnsThanBaseTable() throws Exception { - testViewUpgrade(true, TENANT_ID, null, "TABLEWITHVIEW1", null, "VIEW1", ColumnDiff.MORE); - testViewUpgrade(true, TENANT_ID, "TABLESCHEMA", "TABLEWITHVIEW", null, "VIEW2", + String tableWithViewName = generateRandomString(); + String viewTableName = generateRandomString(); + testViewUpgrade(true, TENANT_ID, null, tableWithViewName + "1", null, viewTableName + "1", ColumnDiff.MORE); + testViewUpgrade(true, TENANT_ID, "TABLESCHEMA", tableWithViewName + "", null, viewTableName + "2", ColumnDiff.MORE); - testViewUpgrade(true, TENANT_ID, null, "TABLEWITHVIEW3", "VIEWSCHEMA", "VIEW3", + testViewUpgrade(true, TENANT_ID, null, tableWithViewName + "3", "VIEWSCHEMA", viewTableName + "3", ColumnDiff.MORE); - testViewUpgrade(true, TENANT_ID, "TABLESCHEMA", "TABLEWITHVIEW4", "VIEWSCHEMA", "VIEW4", + testViewUpgrade(true, TENANT_ID, "TABLESCHEMA", tableWithViewName + "4", "VIEWSCHEMA", viewTableName + "4", ColumnDiff.MORE); - testViewUpgrade(true, TENANT_ID, "SAMESCHEMA", "TABLEWITHVIEW5", "SAMESCHEMA", "VIEW5", + testViewUpgrade(true, TENANT_ID, "SAMESCHEMA", tableWithViewName + "5", "SAMESCHEMA", viewTableName + "5", ColumnDiff.MORE); } @Test public void testUpgradeForViewWithSameColumnsAsBaseTable() throws Exception { - testViewUpgrade(false, null, null, "TABLEWITHVIEW1", null, "VIEW1", ColumnDiff.EQUAL); - testViewUpgrade(false, null, "TABLESCHEMA", "TABLEWITHVIEW", null, "VIEW2", + String tableWithViewName = generateRandomString(); + String viewTableName = generateRandomString(); + testViewUpgrade(false, null, null, tableWithViewName + "1", null, viewTableName + "1", ColumnDiff.EQUAL); + testViewUpgrade(false, null, "TABLESCHEMA", tableWithViewName + "", null, viewTableName + "2", ColumnDiff.EQUAL); - testViewUpgrade(false, null, null, "TABLEWITHVIEW3", "VIEWSCHEMA", "VIEW3", + testViewUpgrade(false, null, null, tableWithViewName + "3", "VIEWSCHEMA", viewTableName + "3", ColumnDiff.EQUAL); - testViewUpgrade(false, null, "TABLESCHEMA", "TABLEWITHVIEW4", "VIEWSCHEMA", "VIEW4", + testViewUpgrade(false, null, "TABLESCHEMA", tableWithViewName + "4", "VIEWSCHEMA", viewTableName + "4", ColumnDiff.EQUAL); - testViewUpgrade(false, null, "SAMESCHEMA", "TABLEWITHVIEW5", "SAMESCHEMA", "VIEW5", + testViewUpgrade(false, null, "SAMESCHEMA", tableWithViewName + "5", "SAMESCHEMA", viewTableName + "5", ColumnDiff.EQUAL); } @Test public void testUpgradeForViewWithMoreColumnsThanBaseTable() throws Exception { - testViewUpgrade(false, null, null, "TABLEWITHVIEW1", null, "VIEW1", ColumnDiff.MORE); - testViewUpgrade(false, null, "TABLESCHEMA", "TABLEWITHVIEW", null, "VIEW2", ColumnDiff.MORE); - testViewUpgrade(false, null, null, "TABLEWITHVIEW3", "VIEWSCHEMA", "VIEW3", ColumnDiff.MORE); - testViewUpgrade(false, null, "TABLESCHEMA", "TABLEWITHVIEW4", "VIEWSCHEMA", "VIEW4", + String tableWithViewName = generateRandomString(); + String viewTableName = generateRandomString(); + testViewUpgrade(false, null, null, tableWithViewName + "1", null, viewTableName + "1", ColumnDiff.MORE); + testViewUpgrade(false, null, "TABLESCHEMA", tableWithViewName + "", null, viewTableName + "2", ColumnDiff.MORE); + testViewUpgrade(false, null, null, tableWithViewName + "3", "VIEWSCHEMA", viewTableName + "3", ColumnDiff.MORE); + testViewUpgrade(false, null, "TABLESCHEMA", tableWithViewName + "4", "VIEWSCHEMA", viewTableName + "4", ColumnDiff.MORE); - testViewUpgrade(false, null, "SAMESCHEMA", "TABLEWITHVIEW5", "SAMESCHEMA", "VIEW5", + testViewUpgrade(false, null, "SAMESCHEMA", tableWithViewName + "5", "SAMESCHEMA", viewTableName + "5", ColumnDiff.MORE); } @Test public void testSettingBaseColumnCountWhenBaseTableColumnDropped() throws Exception { - testViewUpgrade(true, TENANT_ID, null, "TABLEWITHVIEW1", null, "VIEW1", ColumnDiff.MORE); - testViewUpgrade(true, TENANT_ID, "TABLESCHEMA", "TABLEWITHVIEW", null, "VIEW2", + String tableWithViewName = generateRandomString(); + String viewTableName = generateRandomString(); + testViewUpgrade(true, TENANT_ID, null, tableWithViewName + "1", null, viewTableName + "1", ColumnDiff.MORE); + testViewUpgrade(true, TENANT_ID, "TABLESCHEMA", tableWithViewName + "", null, viewTableName + "2", ColumnDiff.LESS); - testViewUpgrade(true, TENANT_ID, null, "TABLEWITHVIEW3", "VIEWSCHEMA", "VIEW3", + testViewUpgrade(true, TENANT_ID, null, tableWithViewName + "3", "VIEWSCHEMA", viewTableName + "3", ColumnDiff.LESS); - testViewUpgrade(true, TENANT_ID, "TABLESCHEMA", "TABLEWITHVIEW4", "VIEWSCHEMA", "VIEW4", + testViewUpgrade(true, TENANT_ID, "TABLESCHEMA", tableWithViewName + "4", "VIEWSCHEMA", viewTableName + "4", ColumnDiff.LESS); - testViewUpgrade(true, TENANT_ID, "SAMESCHEMA", "TABLEWITHVIEW5", "SAMESCHEMA", "VIEW5", + testViewUpgrade(true, TENANT_ID, "SAMESCHEMA", tableWithViewName + "5", "SAMESCHEMA", viewTableName + "5", ColumnDiff.LESS); } @@ -127,12 +138,16 @@ public class UpgradeIT extends BaseHBaseManagedTimeIT { try (Connection conn = DriverManager.getConnection(getUrl())) { String schemaName = "TEST"; - String phoenixFullTableName = schemaName + ".S_NEW"; - String indexName = "IDX"; - String localIndexName = "LIDX"; + String phoenixFullTableName = schemaName + "." + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + String localIndexName = "LIDX_" + generateRandomString(); + + String viewName = "VIEW_" + generateRandomString(); + String viewIndexName = "VIDX_" + generateRandomString(); + String[] tableNames = new String[] { phoenixFullTableName, schemaName + "." + indexName, - schemaName + "." + localIndexName, "diff.v", "test.v","v"}; - String[] viewIndexes = new String[] { "diff.v_idx", "test.v_idx" }; + schemaName + "." + localIndexName, "diff." + viewName, "test." + viewName, viewName}; + String[] viewIndexes = new String[] { "diff." + viewIndexName, "test." + viewIndexName }; conn.createStatement().execute("CREATE TABLE " + phoenixFullTableName + "(k VARCHAR PRIMARY KEY, v INTEGER, f INTEGER, g INTEGER NULL, h INTEGER NULL)"); PreparedStatement upsertStmt = conn @@ -150,13 +165,13 @@ public class UpgradeIT extends BaseHBaseManagedTimeIT { // creating global index conn.createStatement().execute("create index " + indexName + " on " + phoenixFullTableName + "(k)"); // creating view in schema 'diff' - conn.createStatement().execute("CREATE VIEW diff.v (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName); + conn.createStatement().execute("CREATE VIEW diff." + viewName + " (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName); // creating view in schema 'test' - conn.createStatement().execute("CREATE VIEW test.v (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName); - conn.createStatement().execute("CREATE VIEW v (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName); + conn.createStatement().execute("CREATE VIEW test." + viewName + " (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName); + conn.createStatement().execute("CREATE VIEW " + viewName + "(col VARCHAR) AS SELECT * FROM " + phoenixFullTableName); // Creating index on views - conn.createStatement().execute("create index v_idx on diff.v(col)"); - conn.createStatement().execute("create index v_idx on test.v(col)"); + conn.createStatement().execute("create index " + viewIndexName + " on diff." + viewName + "(col)"); + conn.createStatement().execute("create index " + viewIndexName + " on test." + viewName + "(col)"); // validate data for (String tableName : tableNames) { @@ -243,13 +258,18 @@ public class UpgradeIT extends BaseHBaseManagedTimeIT { IllegalArgumentException, IOException, InterruptedException { String[] strings = new String[] { "a", "b", "c", "d" }; String schemaName = "TEST"; - String phoenixFullTableName = schemaName + ".S_NEW1"; + String phoenixFullTableName = schemaName + "." + generateRandomString(); String hbaseTableName = SchemaUtil.getPhysicalTableName(Bytes.toBytes(phoenixFullTableName), true) .getNameAsString(); - String indexName = "IDX"; - String[] tableNames = new String[] { phoenixFullTableName, "diff.v1", "test.v1", "v1" }; - String[] viewIndexes = new String[] { "test.v_idx", "diff.v_idx" }; - String[] tenantViewIndexes = new String[] { "test.v1_idx", "diff.v1_idx" }; + String indexName = "IDX_" + generateRandomString(); + String viewName = "V_" + generateRandomString(); + String viewName1 = "V1_" + generateRandomString(); + String viewIndexName = "V_IDX_" + generateRandomString(); + String tenantViewIndexName = "V1_IDX_" + generateRandomString(); + + String[] tableNames = new String[] { phoenixFullTableName, "diff." + viewName1, "test." + viewName1, viewName1 }; + String[] viewIndexes = new String[] { "test." + viewIndexName, "diff." + viewIndexName }; + String[] tenantViewIndexes = new String[] { "test." + tenantViewIndexName, "diff." + tenantViewIndexName }; try (Connection conn = DriverManager.getConnection(getUrl())) { conn.createStatement().execute("CREATE TABLE " + phoenixFullTableName + "(k VARCHAR not null, v INTEGER not null, f INTEGER, g INTEGER NULL, h INTEGER NULL CONSTRAINT pk PRIMARY KEY(k,v)) MULTI_TENANT=true"); @@ -266,13 +286,13 @@ public class UpgradeIT extends BaseHBaseManagedTimeIT { // creating global index conn.createStatement().execute("create index " + indexName + " on " + phoenixFullTableName + "(f)"); // creating view in schema 'diff' - conn.createStatement().execute("CREATE VIEW diff.v (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName); + conn.createStatement().execute("CREATE VIEW diff." + viewName + " (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName); // creating view in schema 'test' - conn.createStatement().execute("CREATE VIEW test.v (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName); - conn.createStatement().execute("CREATE VIEW v (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName); + conn.createStatement().execute("CREATE VIEW test." + viewName + " (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName); + conn.createStatement().execute("CREATE VIEW " + viewName + " (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName); // Creating index on views - conn.createStatement().execute("create local index v_idx on diff.v(col)"); - conn.createStatement().execute("create local index v_idx on test.v(col)"); + conn.createStatement().execute("create local index " + viewIndexName + " on diff." + viewName + "(col)"); + conn.createStatement().execute("create local index " + viewIndexName + " on test." + viewName + "(col)"); } Properties props = new Properties(); String tenantId = "a"; @@ -289,14 +309,14 @@ public class UpgradeIT extends BaseHBaseManagedTimeIT { conn.commit(); // creating view in schema 'diff' conn.createStatement() - .execute("CREATE VIEW diff.v1 (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName); + .execute("CREATE VIEW diff." + viewName1 + " (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName); // creating view in schema 'test' conn.createStatement() - .execute("CREATE VIEW test.v1 (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName); - conn.createStatement().execute("CREATE VIEW v1 (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName); + .execute("CREATE VIEW test." + viewName1 + " (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName); + conn.createStatement().execute("CREATE VIEW " + viewName1 + " (col VARCHAR) AS SELECT * FROM " + phoenixFullTableName); // Creating index on views - conn.createStatement().execute("create index v1_idx on diff.v1(col)"); - conn.createStatement().execute("create index v1_idx on test.v1(col)"); + conn.createStatement().execute("create index " + tenantViewIndexName + " on diff." + viewName1 + "(col)"); + conn.createStatement().execute("create index " + tenantViewIndexName + " on test." + viewName1 + "(col)"); } props = new Properties(); @@ -352,7 +372,7 @@ public class UpgradeIT extends BaseHBaseManagedTimeIT { assertTrue(rs.getString(1).contains(hbaseTableName)); } - + @Test public void testSettingBaseColumnCountForMultipleViewsOnTable() throws Exception { String baseSchema = "XYZ"; @@ -361,13 +381,13 @@ public class UpgradeIT extends BaseHBaseManagedTimeIT { try (Connection conn = DriverManager.getConnection(getUrl())) { String baseTableDDL = "CREATE TABLE " + fullBaseTableName + " (TENANT_ID VARCHAR NOT NULL, PK1 VARCHAR NOT NULL, V1 INTEGER, V2 INTEGER CONSTRAINT NAME_PK PRIMARY KEY(TENANT_ID, PK1)) MULTI_TENANT = true"; conn.createStatement().execute(baseTableDDL); - + for (int i = 1; i <=2; i++) { // Create views for tenants; String tenant = "tenant" + i; try (Connection tenantConn = createTenantConnection(tenant)) { String view = "TENANT_VIEW1"; - + // view with its own column String viewDDL = "CREATE VIEW " + view + " AS SELECT * FROM " + fullBaseTableName; tenantConn.createStatement().execute(viewDDL); @@ -392,11 +412,11 @@ public class UpgradeIT extends BaseHBaseManagedTimeIT { removeBaseColumnCountKV(tenant, null, view); } } - + // create global views try (Connection globalConn = DriverManager.getConnection(getUrl())) { String view = "GLOBAL_VIEW1"; - + // view with its own column String viewDDL = "CREATE VIEW " + view + " AS SELECT * FROM " + fullBaseTableName; globalConn.createStatement().execute(viewDDL);
http://git-wip-us.apache.org/repos/asf/phoenix/blob/14dab2f4/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertBigValuesIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertBigValuesIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertBigValuesIT.java index 3d1bb4a..564fdd9 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertBigValuesIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertBigValuesIT.java @@ -30,7 +30,7 @@ import java.util.Properties; import org.junit.Test; -public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT { +public class UpsertBigValuesIT extends BaseHBaseManagedTimeTableReuseIT { private static final long INTEGER_MIN_MINUS_ONE = (long)Integer.MIN_VALUE - 1; private static final long INTEGER_MAX_PLUS_ONE = (long)Integer.MAX_VALUE + 1; @@ -39,10 +39,11 @@ public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT { public void testIntegerPK() throws Exception { int[] testNumbers = {Integer.MIN_VALUE, Integer.MIN_VALUE + 1, -2, -1, 0, 1, 2, Integer.MAX_VALUE - 1, Integer.MAX_VALUE}; - ensureTableCreated(getUrl(),"PKIntValueTest"); + String tableName = generateRandomString(); + ensureTableCreated(getUrl(), tableName,"PKIntValueTest"); Properties props = new Properties(); Connection conn = DriverManager.getConnection(getUrl(), props); - String upsert = "UPSERT INTO PKIntValueTest VALUES(?)"; + String upsert = "UPSERT INTO " + tableName + " VALUES(?)"; PreparedStatement stmt = conn.prepareStatement(upsert); for (int i = 0; i < testNumbers.length; i++) { stmt.setInt(1, testNumbers[i]); @@ -51,18 +52,18 @@ public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT { conn.commit(); conn.close(); - String select = "SELECT COUNT(*) from PKIntValueTest"; + String select = "SELECT COUNT(*) from " + tableName ; ResultSet rs = conn.createStatement().executeQuery(select); assertTrue(rs.next()); assertEquals(testNumbers.length, rs.getInt(1)); assertFalse(rs.next()); - select = "SELECT count(*) FROM PKIntValueTest where pk >= " + Integer.MIN_VALUE; + select = "SELECT count(*) FROM " + tableName + " where pk >= " + Integer.MIN_VALUE; rs = conn.createStatement().executeQuery(select); assertTrue(rs.next()); assertEquals(testNumbers.length, rs.getInt(1)); assertFalse(rs.next()); - select = "SELECT pk FROM PKIntValueTest where pk >= " + Integer.MIN_VALUE + + select = "SELECT pk FROM " + tableName + " where pk >= " + Integer.MIN_VALUE + " GROUP BY pk ORDER BY pk ASC NULLS LAST"; rs = conn.createStatement().executeQuery(select); for (int i = 0; i < testNumbers.length; i++) { @@ -73,12 +74,12 @@ public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT { // NOTE: This case currently fails with an error message: // "Overflow trying to get next key for [-1, -1, -1, -1]" - select = "SELECT count(*) FROM PKIntValueTest where pk <= " + Integer.MAX_VALUE; + select = "SELECT count(*) FROM " + tableName + " where pk <= " + Integer.MAX_VALUE; rs = conn.createStatement().executeQuery(select); assertTrue(rs.next()); assertEquals(testNumbers.length, rs.getInt(1)); assertFalse(rs.next()); - select = "SELECT pk FROM PKIntValueTest where pk <= " + Integer.MAX_VALUE + + select = "SELECT pk FROM " + tableName + " where pk <= " + Integer.MAX_VALUE + " GROUP BY pk ORDER BY pk DESC NULLS LAST"; rs = conn.createStatement().executeQuery(select); for (int i = testNumbers.length - 1; i >= 0; i--) { @@ -88,12 +89,12 @@ public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT { assertFalse(rs.next()); // NOTE: This case currently fails since it is not retrieving the negative values. - select = "SELECT count(*) FROM PKIntValueTest where pk >= " + INTEGER_MIN_MINUS_ONE; + select = "SELECT count(*) FROM " + tableName + " where pk >= " + INTEGER_MIN_MINUS_ONE; rs = conn.createStatement().executeQuery(select); assertTrue(rs.next()); assertEquals(testNumbers.length, rs.getInt(1)); assertFalse(rs.next()); - select = "SELECT pk FROM PKIntValueTest where pk >= " + INTEGER_MIN_MINUS_ONE + + select = "SELECT pk FROM " + tableName + " where pk >= " + INTEGER_MIN_MINUS_ONE + " GROUP BY pk ORDER BY pk ASC NULLS LAST "; rs = conn.createStatement().executeQuery(select); for (int i = 0; i < testNumbers.length; i++) { @@ -103,12 +104,12 @@ public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT { assertFalse(rs.next()); // NOTE: This test case fails because it is not retrieving positive values. - select = "SELECT count(*) FROM PKIntValueTest where pk <= " + INTEGER_MAX_PLUS_ONE; + select = "SELECT count(*) FROM " + tableName + " where pk <= " + INTEGER_MAX_PLUS_ONE; rs = conn.createStatement().executeQuery(select); assertTrue(rs.next()); assertEquals(testNumbers.length, rs.getInt(1)); assertFalse(rs.next()); - select = "SELECT pk FROM PKIntValueTest where pk <= " + INTEGER_MAX_PLUS_ONE + + select = "SELECT pk FROM " + tableName + " where pk <= " + INTEGER_MAX_PLUS_ONE + " GROUP BY pk ORDER BY pk DESC NULLS LAST"; rs = conn.createStatement().executeQuery(select); for (int i = testNumbers.length - 1; i >= 0; i--) { @@ -123,12 +124,13 @@ public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT { // NOTE: Due to how we parse negative long, -9223372036854775808L, the minimum value of // bigint is not recognizable in the current version. As a result, we start with // Long.MIN_VALUE+1 as the smallest value. + String tableName = generateRandomString(); long[] testNumbers = {Long.MIN_VALUE+1 , Long.MIN_VALUE+2 , -2L, -1L, 0L, 1L, 2L, Long.MAX_VALUE-1, Long.MAX_VALUE}; - ensureTableCreated(getUrl(),"PKBigIntValueTest"); + ensureTableCreated(getUrl(), tableName, "PKBigIntValueTest" ); Properties props = new Properties(); Connection conn = DriverManager.getConnection(getUrl(), props); - String upsert = "UPSERT INTO PKBigIntValueTest VALUES(?)"; + String upsert = "UPSERT INTO " + tableName + " VALUES(?)"; PreparedStatement stmt = conn.prepareStatement(upsert); for (int i=0; i<testNumbers.length; i++) { stmt.setLong(1, testNumbers[i]); @@ -137,18 +139,18 @@ public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT { conn.commit(); conn.close(); - String select = "SELECT COUNT(*) from PKBigIntValueTest"; + String select = "SELECT COUNT(*) from " + tableName ; ResultSet rs = conn.createStatement().executeQuery(select); assertTrue(rs.next()); assertEquals(testNumbers.length, rs.getInt(1)); assertFalse(rs.next()); - select = "SELECT count(*) FROM PKBigIntValueTest where pk >= " + (Long.MIN_VALUE + 1); + select = "SELECT count(*) FROM " + tableName + " where pk >= " + (Long.MIN_VALUE + 1); rs = conn.createStatement().executeQuery(select); assertTrue(rs.next()); assertEquals(testNumbers.length, rs.getInt(1)); assertFalse(rs.next()); - select = "SELECT pk FROM PKBigIntValueTest WHERE pk >= " + (Long.MIN_VALUE + 1) + + select = "SELECT pk FROM " + tableName + " WHERE pk >= " + (Long.MIN_VALUE + 1) + " GROUP BY pk ORDER BY pk ASC NULLS LAST"; rs = conn.createStatement().executeQuery(select); for (int i = 0; i < testNumbers.length; i++) { @@ -157,12 +159,12 @@ public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT { } assertFalse(rs.next()); - select = "SELECT count(*) FROM PKBigIntValueTest where pk <= " + Long.MAX_VALUE; + select = "SELECT count(*) FROM " + tableName + " where pk <= " + Long.MAX_VALUE; rs = conn.createStatement().executeQuery(select); assertTrue(rs.next()); assertEquals(testNumbers.length, rs.getInt(1)); assertFalse(rs.next()); - select = "SELECT pk FROM PKBigIntValueTest WHERE pk <= " + Long.MAX_VALUE + + select = "SELECT pk FROM " + tableName + " WHERE pk <= " + Long.MAX_VALUE + " GROUP BY pk ORDER BY pk DESC NULLS LAST"; rs = conn.createStatement().executeQuery(select); for (int i = testNumbers.length - 1; i >= 0; i--) { @@ -206,12 +208,13 @@ public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT { @Test public void testIntegerKV() throws Exception { + String tableName = generateRandomString(); int[] testNumbers = {Integer.MIN_VALUE, Integer.MIN_VALUE + 1, -2, -1, 0, 1, 2, Integer.MAX_VALUE - 1, Integer.MAX_VALUE}; - ensureTableCreated(getUrl(),"KVIntValueTest"); + ensureTableCreated(getUrl(), tableName, "KVIntValueTest" ); Properties props = new Properties(); Connection conn = DriverManager.getConnection(getUrl(), props); - String upsert = "UPSERT INTO KVIntValueTest VALUES(?, ?)"; + String upsert = "UPSERT INTO " + tableName + " VALUES(?, ?)"; PreparedStatement stmt = conn.prepareStatement(upsert); for (int i=0; i<testNumbers.length; i++) { stmt.setInt(1, i); @@ -221,18 +224,18 @@ public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT { conn.commit(); conn.close(); - String select = "SELECT COUNT(*) from KVIntValueTest"; + String select = "SELECT COUNT(*) from " + tableName ; ResultSet rs = conn.createStatement().executeQuery(select); assertTrue(rs.next()); assertEquals(testNumbers.length, rs.getInt(1)); assertFalse(rs.next()); - select = "SELECT count(*) FROM KVIntValueTest where kv >= " + Integer.MIN_VALUE; + select = "SELECT count(*) FROM " + tableName + " where kv >= " + Integer.MIN_VALUE; rs = conn.createStatement().executeQuery(select); assertTrue(rs.next()); assertEquals(testNumbers.length, rs.getInt(1)); assertFalse(rs.next()); - select = "SELECT kv FROM KVIntValueTest WHERE kv >= " + Integer.MIN_VALUE + + select = "SELECT kv FROM " + tableName + " WHERE kv >= " + Integer.MIN_VALUE + " GROUP BY kv ORDER BY kv ASC NULLS LAST"; rs = conn.createStatement().executeQuery(select); for (int i=0; i<testNumbers.length; i++) { @@ -241,12 +244,12 @@ public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT { } assertFalse(rs.next()); - select = "SELECT count(*) FROM KVIntValueTest where kv <= " + Integer.MAX_VALUE; + select = "SELECT count(*) FROM " + tableName + " where kv <= " + Integer.MAX_VALUE; rs = conn.createStatement().executeQuery(select); assertTrue(rs.next()); assertEquals(testNumbers.length, rs.getInt(1)); assertFalse(rs.next()); - select = "SELECT kv FROM KVIntValueTest WHERE kv <= " + Integer.MAX_VALUE + + select = "SELECT kv FROM " + tableName + " WHERE kv <= " + Integer.MAX_VALUE + " GROUP BY kv ORDER BY kv DESC NULLS LAST"; rs = conn.createStatement().executeQuery(select); for (int i=testNumbers.length-1; i>=0; i--) { @@ -255,12 +258,12 @@ public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT { } assertFalse(rs.next()); - select = "SELECT count(*) FROM KVIntValueTest where kv >= " + INTEGER_MIN_MINUS_ONE; + select = "SELECT count(*) FROM " + tableName + " where kv >= " + INTEGER_MIN_MINUS_ONE; rs = conn.createStatement().executeQuery(select); assertTrue(rs.next()); assertEquals(testNumbers.length, rs.getInt(1)); assertFalse(rs.next()); - select = "SELECT kv FROM KVIntValueTest WHERE kv >= " + INTEGER_MIN_MINUS_ONE + + select = "SELECT kv FROM " + tableName + " WHERE kv >= " + INTEGER_MIN_MINUS_ONE + " GROUP BY kv ORDER BY kv ASC NULLS LAST "; rs = conn.createStatement().executeQuery(select); for (int i=0; i<testNumbers.length; i++) { @@ -269,12 +272,12 @@ public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT { } assertFalse(rs.next()); - select = "SELECT count(*) FROM KVIntValueTest where kv <= " + INTEGER_MAX_PLUS_ONE; + select = "SELECT count(*) FROM " + tableName + " where kv <= " + INTEGER_MAX_PLUS_ONE; rs = conn.createStatement().executeQuery(select); assertTrue(rs.next()); assertEquals(testNumbers.length, rs.getInt(1)); assertFalse(rs.next()); - select = "SELECT kv FROM KVIntValueTest WHERE kv <= " + INTEGER_MAX_PLUS_ONE + + select = "SELECT kv FROM " + tableName + " WHERE kv <= " + INTEGER_MAX_PLUS_ONE + " GROUP BY kv ORDER BY kv DESC NULLS LAST"; rs = conn.createStatement().executeQuery(select); for (int i=testNumbers.length-1; i>=0; i--) { @@ -289,12 +292,13 @@ public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT { // NOTE: Due to how we parse negative long, -9223372036854775808L, the minimum value of // bigint is not recognizable in the current version. As a result, we start with // Long.MIN_VALUE+1 as the smallest value. + String tableName = generateRandomString(); long[] testNumbers = {Long.MIN_VALUE+1, Long.MIN_VALUE+2, -2L, -1L, 0L, 1L, 2L, Long.MAX_VALUE-1, Long.MAX_VALUE}; - ensureTableCreated(getUrl(),"KVBigIntValueTest"); + ensureTableCreated(getUrl(), tableName, "KVBigIntValueTest" ); Properties props = new Properties(); Connection conn = DriverManager.getConnection(getUrl(), props); - String upsert = "UPSERT INTO KVBigIntValueTest VALUES(?,?)"; + String upsert = "UPSERT INTO " + tableName + " VALUES(?,?)"; PreparedStatement stmt = conn.prepareStatement(upsert); for (int i = 0; i < testNumbers.length; i++) { stmt.setLong(1, i); @@ -304,18 +308,18 @@ public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT { conn.commit(); conn.close(); - String select = "SELECT COUNT(*) from KVBigIntValueTest"; + String select = "SELECT COUNT(*) from " + tableName ; ResultSet rs = conn.createStatement().executeQuery(select); assertTrue(rs.next()); assertEquals(testNumbers.length, rs.getInt(1)); assertFalse(rs.next()); - select = "SELECT count(*) FROM KVBigIntValueTest where kv >= " + (Long.MIN_VALUE+1); + select = "SELECT count(*) FROM " + tableName + " where kv >= " + (Long.MIN_VALUE+1); rs = conn.createStatement().executeQuery(select); assertTrue(rs.next()); assertEquals(testNumbers.length, rs.getInt(1)); assertFalse(rs.next()); - select = "SELECT kv FROM KVBigIntValueTest WHERE kv >= " + (Long.MIN_VALUE+1) + + select = "SELECT kv FROM " + tableName + " WHERE kv >= " + (Long.MIN_VALUE+1) + " GROUP BY kv ORDER BY kv ASC NULLS LAST"; rs = conn.createStatement().executeQuery(select); for (int i = 0; i < testNumbers.length; i++) { @@ -324,12 +328,12 @@ public class UpsertBigValuesIT extends BaseHBaseManagedTimeIT { } assertFalse(rs.next()); - select = "SELECT count(*) FROM KVBigIntValueTest where kv <= " + Long.MAX_VALUE; + select = "SELECT count(*) FROM " + tableName + " where kv <= " + Long.MAX_VALUE; rs = conn.createStatement().executeQuery(select); assertTrue(rs.next()); assertEquals(testNumbers.length, rs.getInt(1)); assertFalse(rs.next()); - select = "SELECT kv FROM KVBigIntValueTest WHERE kv <= " + Long.MAX_VALUE + + select = "SELECT kv FROM " + tableName + " WHERE kv <= " + Long.MAX_VALUE + " GROUP BY kv ORDER BY kv DESC NULLS LAST"; rs = conn.createStatement().executeQuery(select); for (int i = testNumbers.length-1; i >= 0; i--) { http://git-wip-us.apache.org/repos/asf/phoenix/blob/14dab2f4/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectIT.java index 4d811a4..8c9c8eb 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertSelectIT.java @@ -29,6 +29,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.assertNotNull; @@ -88,8 +89,9 @@ public class UpsertSelectIT extends BaseClientManagedTimeIT { private void testUpsertSelect(boolean createIndex) throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts-1); - ensureTableCreated(getUrl(), CUSTOM_ENTITY_DATA_FULL_NAME, ts-1); + initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts-1, getUrl()); + + ensureTableCreated(getUrl(), CUSTOM_ENTITY_DATA_FULL_NAME, CUSTOM_ENTITY_DATA_FULL_NAME, ts-1); String indexName = "IDX1"; if (createIndex) { Properties props = new Properties(); @@ -208,8 +210,8 @@ public class UpsertSelectIT extends BaseClientManagedTimeIT { public void testUpsertSelectEmptyPKColumn() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts-1); - ensureTableCreated(getUrl(), PTSDB_NAME, ts-1); + initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts-1, getUrl()); + ensureTableCreated(getUrl(), PTSDB_NAME, PTSDB_NAME, ts-1); Properties props = new Properties(); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 1)); // Execute at timestamp 1 Connection conn = DriverManager.getConnection(getUrl(), props); @@ -384,8 +386,8 @@ public class UpsertSelectIT extends BaseClientManagedTimeIT { private void testUpsertSelectForAgg(boolean autoCommit) throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts-1); - ensureTableCreated(getUrl(), PTSDB_NAME, ts-1); + initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), null, ts-1, getUrl()); + ensureTableCreated(getUrl(), PTSDB_NAME, PTSDB_NAME, ts-1); Properties props = new Properties(); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 1)); // Execute at timestamp 1 Connection conn = DriverManager.getConnection(getUrl(), props); @@ -460,7 +462,7 @@ public class UpsertSelectIT extends BaseClientManagedTimeIT { byte[][] splits = new byte[][] { PInteger.INSTANCE.toBytes(1), PInteger.INSTANCE.toBytes(2), PInteger.INSTANCE.toBytes(3), PInteger.INSTANCE.toBytes(4)}; long ts = nextTimestamp(); - ensureTableCreated(getUrl(),"IntKeyTest",splits, ts-2); + ensureTableCreated(getUrl(),"IntKeyTest", "IntKeyTest", splits, ts-2); Properties props = new Properties(); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 1)); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -600,7 +602,7 @@ public class UpsertSelectIT extends BaseClientManagedTimeIT { byte[][] splits = new byte[][] { PInteger.INSTANCE.toBytes(1), PInteger.INSTANCE.toBytes(2), PInteger.INSTANCE.toBytes(3), PInteger.INSTANCE.toBytes(4)}; long ts = nextTimestamp(); - ensureTableCreated(getUrl(),"IntKeyTest",splits,ts-2); + ensureTableCreated(getUrl(),"IntKeyTest", "IntKeyTest", splits,ts-2); Properties props = new Properties(); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 1)); Connection conn = DriverManager.getConnection(getUrl(), props); http://git-wip-us.apache.org/repos/asf/phoenix/blob/14dab2f4/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertValuesIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertValuesIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertValuesIT.java index 9bbe23e..9725175 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertValuesIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UpsertValuesIT.java @@ -52,7 +52,7 @@ public class UpsertValuesIT extends BaseClientManagedTimeIT { @Test public void testGroupByWithLimitOverRowKey() throws Exception { long ts = nextTimestamp(); - ensureTableCreated(getUrl(),TestUtil.PTSDB_NAME,null, ts-2); + ensureTableCreated(getUrl(),TestUtil.PTSDB_NAME,TestUtil.PTSDB_NAME, null, ts-2); Properties props = new Properties(); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 10)); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -85,7 +85,7 @@ public class UpsertValuesIT extends BaseClientManagedTimeIT { public void testUpsertDateValues() throws Exception { long ts = nextTimestamp(); Date now = new Date(System.currentTimeMillis()); - ensureTableCreated(getUrl(),TestUtil.PTSDB_NAME,null, ts-2); + ensureTableCreated(getUrl(),TestUtil.PTSDB_NAME,TestUtil.PTSDB_NAME,null, ts-2); Properties props = new Properties(); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 1)); // Execute at timestamp 1 Connection conn = DriverManager.getConnection(getUrl(), props); @@ -114,7 +114,7 @@ public class UpsertValuesIT extends BaseClientManagedTimeIT { @Test public void testUpsertValuesWithExpression() throws Exception { long ts = nextTimestamp(); - ensureTableCreated(getUrl(),"IntKeyTest",null, ts-2); + ensureTableCreated(getUrl(),"IntKeyTest","IntKeyTest", null, ts-2); Properties props = new Properties(); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 1)); // Execute at timestamp 1 Connection conn = DriverManager.getConnection(getUrl(), props); http://git-wip-us.apache.org/repos/asf/phoenix/blob/14dab2f4/phoenix-core/src/it/java/org/apache/phoenix/end2end/UseSchemaIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UseSchemaIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UseSchemaIT.java index cec23ed..c42c287 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/UseSchemaIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/UseSchemaIT.java @@ -41,16 +41,18 @@ import org.apache.phoenix.util.SchemaUtil; import org.apache.phoenix.util.TestUtil; import org.junit.Test; -public class UseSchemaIT extends BaseHBaseManagedTimeIT { +public class UseSchemaIT extends BaseHBaseManagedTimeTableReuseIT { @Test public void testUseSchemaCaseInsensitive() throws Exception { - testUseSchema("TEST_SCHEMA"); + String schemaName = generateRandomString(); + testUseSchema(schemaName); } @Test public void testUseSchemaCaseSensitive() throws Exception { - testUseSchema("\"test_schema\""); + String schemaName = generateRandomString(); + testUseSchema("\"" + schemaName + "\""); } public void testUseSchema(String schema) throws Exception { @@ -59,25 +61,26 @@ public class UseSchemaIT extends BaseHBaseManagedTimeIT { Connection conn = DriverManager.getConnection(getUrl(), props); String ddl = "CREATE SCHEMA IF NOT EXISTS "+schema; conn.createStatement().execute(ddl); - ddl = "create table "+schema+".TEST(id varchar primary key)"; + String testTable = generateRandomString(); + ddl = "create table "+schema+"." + testTable + "(id varchar primary key)"; conn.createStatement().execute(ddl); conn.createStatement().execute("use "+schema); - String query = "select count(*) from TEST"; + String query = "select count(*) from " + testTable; ResultSet rs = conn.createStatement().executeQuery(query); assertTrue(rs.next()); assertEquals(0, rs.getInt(1)); try { - conn.createStatement().execute("use test"); + conn.createStatement().execute("use " + testTable); fail(); } catch (SQLException e) { assertEquals(SQLExceptionCode.SCHEMA_NOT_FOUND.getErrorCode(), e.getErrorCode()); } conn.createStatement().execute("use default"); - ddl = "create table IF NOT EXISTS TEST(schema_name varchar primary key)"; + ddl = "create table IF NOT EXISTS " + testTable + "(schema_name varchar primary key)"; conn.createStatement().execute(ddl); - conn.createStatement().executeUpdate("upsert into test values('"+SchemaUtil.SCHEMA_FOR_DEFAULT_NAMESPACE+"')"); + conn.createStatement().executeUpdate("upsert into " + testTable + " values('"+SchemaUtil.SCHEMA_FOR_DEFAULT_NAMESPACE+"')"); conn.commit(); - rs = conn.createStatement().executeQuery("select schema_name from TEST"); + rs = conn.createStatement().executeQuery("select schema_name from " + testTable); assertTrue(rs.next()); assertEquals(SchemaUtil.SCHEMA_FOR_DEFAULT_NAMESPACE, rs.getString(1)); conn.close(); @@ -86,29 +89,30 @@ public class UseSchemaIT extends BaseHBaseManagedTimeIT { @Test public void testSchemaInJdbcUrl() throws Exception { Properties props = new Properties(); - String schema = "TEST_SCHEMA"; + String schema = generateRandomString(); props.setProperty(QueryServices.SCHEMA_ATTRIB, schema); props.setProperty(QueryServices.IS_NAMESPACE_MAPPING_ENABLED, Boolean.toString(true)); Connection conn = DriverManager.getConnection(getUrl(), props); conn.setAutoCommit(true); String ddl = "CREATE SCHEMA IF NOT EXISTS " + schema; conn.createStatement().execute(ddl); - ddl = "create table IF NOT EXISTS " + schema + ".test(schema_name varchar primary key)"; + String testTable = generateRandomString(); + ddl = "create table IF NOT EXISTS " + schema + "." + testTable + " (schema_name varchar primary key)"; conn.createStatement().execute(ddl); - conn.createStatement().executeUpdate("upsert into " + schema + ".test values('" + schema + "')"); - String query = "select schema_name from test"; + conn.createStatement().executeUpdate("upsert into " + schema + "." + testTable + " values('" + schema + "')"); + String query = "select schema_name from " + testTable; ResultSet rs = conn.createStatement().executeQuery(query); assertTrue(rs.next()); assertEquals(schema, rs.getString(1)); - schema = "test"; + schema = generateRandomString(); ddl = "CREATE SCHEMA " + schema; conn.createStatement().execute(ddl); conn.createStatement().execute("use " + schema); - ddl = "create table test(schema_name varchar primary key)"; + ddl = "create table " + testTable + "(schema_name varchar primary key)"; conn.createStatement().execute(ddl); - conn.createStatement().executeUpdate("upsert into test values('" + schema + "')"); - rs = conn.createStatement().executeQuery("select schema_name from test"); + conn.createStatement().executeUpdate("upsert into " + testTable + " values('" + schema + "')"); + rs = conn.createStatement().executeQuery("select schema_name from " + testTable ); assertTrue(rs.next()); assertEquals(schema, rs.getString(1)); conn.close(); @@ -117,8 +121,8 @@ public class UseSchemaIT extends BaseHBaseManagedTimeIT { @Test public void testMappedView() throws Exception { Properties props = new Properties(); - String schema = "TEST_SCHEMA_V"; - String tableName = "TEST"; + String schema = generateRandomString(); + String tableName = generateRandomString(); String fullTablename = schema + QueryConstants.NAME_SEPARATOR + tableName; props.setProperty(QueryServices.SCHEMA_ATTRIB, schema); Connection conn = DriverManager.getConnection(getUrl(), props); http://git-wip-us.apache.org/repos/asf/phoenix/blob/14dab2f4/phoenix-core/src/it/java/org/apache/phoenix/end2end/VariableLengthPKIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/VariableLengthPKIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/VariableLengthPKIT.java index c0b557c..4bc0f43 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/VariableLengthPKIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/VariableLengthPKIT.java @@ -58,7 +58,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT { } protected static void initGroupByRowKeyColumns(long ts) throws Exception { - ensureTableCreated(getUrl(),PTSDB_NAME, null, ts-2); + ensureTableCreated(getUrl(),PTSDB_NAME, PTSDB_NAME, null, ts-2); // Insert all rows at ts String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts; @@ -85,7 +85,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT { } protected static void initTableValues(byte[][] splits, long ts) throws Exception { - ensureTableCreated(getUrl(),PTSDB_NAME, splits, ts-2); + ensureTableCreated(getUrl(),PTSDB_NAME, PTSDB_NAME, splits, ts-2); // Insert all rows at ts String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts; @@ -106,7 +106,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT { stmt.setBigDecimal(4, new BigDecimal(.5)); stmt.execute(); - ensureTableCreated(getUrl(),BTABLE_NAME, splits, ts-2); + ensureTableCreated(getUrl(),BTABLE_NAME, BTABLE_NAME, splits, ts-2); conn.setAutoCommit(false); // Insert all rows at ts @@ -431,7 +431,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT { @Test public void testNullValueEqualityScan() throws Exception { long ts = nextTimestamp(); - ensureTableCreated(getUrl(),PTSDB_NAME,null, ts-2); + ensureTableCreated(getUrl(),PTSDB_NAME, PTSDB_NAME, null, ts-2); // Insert all rows at ts String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts; @@ -459,7 +459,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT { @Test public void testVarLengthPKColScan() throws Exception { long ts = nextTimestamp(); - ensureTableCreated(getUrl(),PTSDB_NAME,null, ts-2); + ensureTableCreated(getUrl(),PTSDB_NAME, PTSDB_NAME, null, ts-2); String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts; // Insert at timestamp 0 Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); @@ -489,7 +489,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT { @Test public void testEscapedQuoteScan() throws Exception { long ts = nextTimestamp(); - ensureTableCreated(getUrl(),PTSDB_NAME,null, ts-2); + ensureTableCreated(getUrl(), PTSDB_NAME, PTSDB_NAME, null, ts-2); String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts; // Insert at timestamp 0 Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); @@ -527,7 +527,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT { } private static void initPtsdbTableValues(long ts) throws Exception { - ensureTableCreated(getUrl(),PTSDB_NAME,null, ts-2); + ensureTableCreated(getUrl(),PTSDB_NAME, PTSDB_NAME, null, ts-2); String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts; // Insert at timestamp 0 Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); @@ -560,7 +560,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT { } private static void initPtsdbTableValues2(long ts, Date d) throws Exception { - ensureTableCreated(getUrl(),PTSDB2_NAME,null, ts-2); + ensureTableCreated(getUrl(),PTSDB2_NAME, PTSDB2_NAME, null, ts-2); String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts; // Insert at timestamp 0 Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); @@ -696,7 +696,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT { @Test public void testBatchUpsert() throws Exception { long ts = nextTimestamp(); - ensureTableCreated(getUrl(),PTSDB2_NAME,null, ts-2); + ensureTableCreated(getUrl(),PTSDB2_NAME, PTSDB2_NAME, null, ts-2); Date d = new Date(ts); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts)); @@ -874,7 +874,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT { @Test public void testMissingPKColumn() throws Exception { long ts = nextTimestamp(); - ensureTableCreated(getUrl(),PTSDB_NAME,null, ts-2); + ensureTableCreated(getUrl(),PTSDB_NAME, PTSDB_NAME, null, ts-2); String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts; // Insert at timestamp 0 Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); @@ -894,7 +894,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT { @Test public void testNoKVColumn() throws Exception { long ts = nextTimestamp(); - ensureTableCreated(getUrl(),BTABLE_NAME,null, ts-2); + ensureTableCreated(getUrl(),BTABLE_NAME, BTABLE_NAME, null, ts-2); String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts; // Insert at timestamp 0 Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); @@ -914,7 +914,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT { // Broken, since we don't know if insert vs update. @Test public void testMissingKVColumn() throws Exception { long ts = nextTimestamp(); - ensureTableCreated(getUrl(),BTABLE_NAME,null, ts-2); + ensureTableCreated(getUrl(),BTABLE_NAME, BTABLE_NAME, null, ts-2); String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts; // Insert at timestamp 0 Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); @@ -942,7 +942,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT { @Test public void testTooShortKVColumn() throws Exception { long ts = nextTimestamp(); - ensureTableCreated(getUrl(),BTABLE_NAME,null, ts-2); + ensureTableCreated(getUrl(),BTABLE_NAME, BTABLE_NAME, null, ts-2); String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts; // Insert at timestamp 0 Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); @@ -978,7 +978,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT { @Test public void testTooShortPKColumn() throws Exception { long ts = nextTimestamp(); - ensureTableCreated(getUrl(),BTABLE_NAME,null, ts-2); + ensureTableCreated(getUrl(),BTABLE_NAME, BTABLE_NAME, null, ts-2); String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts; // Insert at timestamp 0 Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); @@ -1014,7 +1014,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT { @Test public void testTooLongPKColumn() throws Exception { long ts = nextTimestamp(); - ensureTableCreated(getUrl(),BTABLE_NAME,null, ts-2); + ensureTableCreated(getUrl(),BTABLE_NAME, BTABLE_NAME, null, ts-2); String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts; // Insert at timestamp 0 Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); @@ -1051,7 +1051,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT { @Test public void testTooLongKVColumn() throws Exception { long ts = nextTimestamp(); - ensureTableCreated(getUrl(),BTABLE_NAME,null, ts-2); + ensureTableCreated(getUrl(),BTABLE_NAME, BTABLE_NAME, null, ts-2); String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts; // Insert at timestamp 0 Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); @@ -1481,7 +1481,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT { @Test public void testLikeOnColumn() throws Exception { long ts = nextTimestamp(); - ensureTableCreated(getUrl(),PTSDB_NAME,null, ts-2); + ensureTableCreated(getUrl(),PTSDB_NAME, PTSDB_NAME, null, ts-2); // Insert all rows at ts String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts; @@ -1598,7 +1598,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT { @Test public void testILikeOnColumn() throws Exception { long ts = nextTimestamp(); - ensureTableCreated(getUrl(),PTSDB_NAME,null, ts-2); + ensureTableCreated(getUrl(),PTSDB_NAME, PTSDB_NAME, null, ts-2); // Insert all rows at ts String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts; @@ -1730,7 +1730,7 @@ public class VariableLengthPKIT extends BaseClientManagedTimeIT { @Test public void testIsNullInPK() throws Exception { long ts = nextTimestamp(); - ensureTableCreated(getUrl(),PTSDB_NAME,null, ts-2); + ensureTableCreated(getUrl(),PTSDB_NAME, PTSDB_NAME, null, ts-2); // Insert all rows at ts String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts; http://git-wip-us.apache.org/repos/asf/phoenix/blob/14dab2f4/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/DropMetadataIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/DropMetadataIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/DropMetadataIT.java index ec360ad..93f8e27 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/DropMetadataIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/DropMetadataIT.java @@ -18,9 +18,7 @@ package org.apache.phoenix.end2end.index; import static org.apache.phoenix.util.PhoenixRuntime.TENANT_ID_ATTRIB; -import static org.apache.phoenix.util.TestUtil.HBASE_NATIVE; -import static org.apache.phoenix.util.TestUtil.HBASE_NATIVE_SCHEMA_NAME; -import static org.apache.phoenix.util.TestUtil.TEST_PROPERTIES; +import static org.apache.phoenix.util.TestUtil.*; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; @@ -41,7 +39,7 @@ import org.apache.hadoop.hbase.client.ResultScanner; import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding; import org.apache.hadoop.hbase.util.Bytes; -import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; +import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.end2end.Shadower; import org.apache.phoenix.jdbc.PhoenixConnection; import org.apache.phoenix.query.QueryConstants; @@ -61,17 +59,12 @@ import org.junit.Test; import com.google.common.collect.Maps; -public class DropMetadataIT extends BaseHBaseManagedTimeIT { - private static final byte[] HBASE_NATIVE_BYTES = SchemaUtil.getTableNameAsBytes(HBASE_NATIVE_SCHEMA_NAME, HBASE_NATIVE); +public class DropMetadataIT extends BaseHBaseManagedTimeTableReuseIT { private static final byte[] FAMILY_NAME = Bytes.toBytes(SchemaUtil.normalizeIdentifier("1")); public static final String SCHEMA_NAME = ""; - public static final String DATA_TABLE_NAME = "T"; - public static final String INDEX_TABLE_NAME = "I"; - public static final String DATA_TABLE_FULL_NAME = SchemaUtil.getTableName(SCHEMA_NAME, "T"); - public static final String INDEX_TABLE_FULL_NAME = SchemaUtil.getTableName(SCHEMA_NAME, "I"); private final String TENANT_SPECIFIC_URL = getUrl() + ';' + TENANT_ID_ATTRIB + "=tenant1"; - @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) + @Shadower(classBeingShadowed = BaseHBaseManagedTimeTableReuseIT.class) @BeforeClass public static void doSetup() throws Exception { Map<String,String> props = Maps.newHashMapWithExpectedSize(1); @@ -84,14 +77,12 @@ public class DropMetadataIT extends BaseHBaseManagedTimeIT { @Test public void testDropViewKeepsHTable() throws Exception { HBaseAdmin admin = driver.getConnectionQueryServices(getUrl(), TEST_PROPERTIES).getAdmin(); + String hbaseNativeViewName = generateRandomString(); + + byte[] hbaseNativeBytes = SchemaUtil.getTableNameAsBytes(HBASE_NATIVE_SCHEMA_NAME, hbaseNativeViewName); try { - try { - admin.disableTable(HBASE_NATIVE_BYTES); - admin.deleteTable(HBASE_NATIVE_BYTES); - } catch (org.apache.hadoop.hbase.TableNotFoundException e) { - } @SuppressWarnings("deprecation") - HTableDescriptor descriptor = new HTableDescriptor(HBASE_NATIVE_BYTES); + HTableDescriptor descriptor = new HTableDescriptor(hbaseNativeBytes); HColumnDescriptor columnDescriptor = new HColumnDescriptor(FAMILY_NAME); columnDescriptor.setKeepDeletedCells(true); descriptor.addFamily(columnDescriptor); @@ -102,7 +93,7 @@ public class DropMetadataIT extends BaseHBaseManagedTimeIT { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); - conn.createStatement().execute("create view " + HBASE_NATIVE + + conn.createStatement().execute("create view " + hbaseNativeViewName+ " (uint_key unsigned_int not null," + " ulong_key unsigned_long not null," + " string_key varchar not null,\n" + @@ -110,41 +101,32 @@ public class DropMetadataIT extends BaseHBaseManagedTimeIT { " \"1\".ulong_col unsigned_long" + " CONSTRAINT pk PRIMARY KEY (uint_key, ulong_key, string_key))\n" + HColumnDescriptor.DATA_BLOCK_ENCODING + "='" + DataBlockEncoding.NONE + "'"); - conn.createStatement().execute("drop view " + HBASE_NATIVE); - - admin = driver.getConnectionQueryServices(getUrl(), PropertiesUtil.deepCopy(TEST_PROPERTIES)).getAdmin(); - try { - try { - admin.disableTable(HBASE_NATIVE_BYTES); - admin.deleteTable(HBASE_NATIVE_BYTES); - } catch (org.apache.hadoop.hbase.TableNotFoundException e) { - fail(); // The underlying HBase table should still exist - } - } finally { - admin.close(); - } + conn.createStatement().execute("drop view " + hbaseNativeViewName); + } @Test public void testDroppingIndexedColDropsIndex() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); - String localIndexTableName1 = "LOCAL_" + INDEX_TABLE_NAME + "_1"; - String localIndexTableName2 = "LOCAL_" + INDEX_TABLE_NAME + "_2"; + String indexTableName = generateRandomString(); + String dataTableFullName = SchemaUtil.getTableName(SCHEMA_NAME, generateRandomString()); + String localIndexTableName1 = "LOCAL_" + indexTableName + "_1"; + String localIndexTableName2 = "LOCAL_" + indexTableName + "_2"; try (Connection conn = DriverManager.getConnection(getUrl(), props)) { conn.setAutoCommit(false); conn.createStatement().execute( - "CREATE TABLE " + DATA_TABLE_FULL_NAME + "CREATE TABLE " + dataTableFullName + " (k VARCHAR NOT NULL PRIMARY KEY, v1 VARCHAR, v2 VARCHAR)"); // create one regular and two local indexes conn.createStatement().execute( - "CREATE INDEX " + INDEX_TABLE_NAME + " ON " + DATA_TABLE_FULL_NAME + " (v2) INCLUDE (v1)"); + "CREATE INDEX " + indexTableName + " ON " + dataTableFullName + " (v2) INCLUDE (v1)"); conn.createStatement().execute( - "CREATE LOCAL INDEX " + localIndexTableName1 + " ON " + DATA_TABLE_FULL_NAME + " (v2) INCLUDE (v1)"); + "CREATE LOCAL INDEX " + localIndexTableName1 + " ON " + dataTableFullName + " (v2) INCLUDE (v1)"); conn.createStatement().execute( - "CREATE LOCAL INDEX " + localIndexTableName2 + " ON " + DATA_TABLE_FULL_NAME + " (k) INCLUDE (v1)"); + "CREATE LOCAL INDEX " + localIndexTableName2 + " ON " + dataTableFullName + " (k) INCLUDE (v1)"); // upsert a single row - PreparedStatement stmt = conn.prepareStatement("UPSERT INTO " + DATA_TABLE_FULL_NAME + " VALUES(?,?,?)"); + PreparedStatement stmt = conn.prepareStatement("UPSERT INTO " + dataTableFullName + " VALUES(?,?,?)"); stmt.setString(1, "a"); stmt.setString(2, "x"); stmt.setString(3, "1"); @@ -153,7 +135,7 @@ public class DropMetadataIT extends BaseHBaseManagedTimeIT { // verify the indexes were created PhoenixConnection pconn = conn.unwrap(PhoenixConnection.class); - PTable dataTable = pconn.getTable(new PTableKey(null, DATA_TABLE_FULL_NAME)); + PTable dataTable = pconn.getTable(new PTableKey(null, dataTableFullName)); assertEquals("Unexpected number of indexes ", 3, dataTable.getIndexes().size()); PTable indexTable = dataTable.getIndexes().get(0); byte[] indexTablePhysicalName = indexTable.getPhysicalName().getBytes(); @@ -161,19 +143,19 @@ public class DropMetadataIT extends BaseHBaseManagedTimeIT { // drop v2 which causes the regular index and first local index to be dropped conn.createStatement().execute( - "ALTER TABLE " + DATA_TABLE_FULL_NAME + " DROP COLUMN v2 "); + "ALTER TABLE " + dataTableFullName + " DROP COLUMN v2 "); // verify the both of the indexes' metadata were dropped - conn.createStatement().execute("SELECT * FROM "+DATA_TABLE_FULL_NAME); + conn.createStatement().execute("SELECT * FROM "+dataTableFullName); try { - conn.createStatement().execute("SELECT * FROM "+INDEX_TABLE_NAME); + conn.createStatement().execute("SELECT * FROM "+indexTableName); fail("Index should have been dropped"); } catch (TableNotFoundException e) { } pconn = conn.unwrap(PhoenixConnection.class); - dataTable = pconn.getTable(new PTableKey(null, DATA_TABLE_FULL_NAME)); + dataTable = pconn.getTable(new PTableKey(null, dataTableFullName)); try { - pconn.getTable(new PTableKey(null, INDEX_TABLE_NAME)); + pconn.getTable(new PTableKey(null, indexTableName)); fail("index should have been dropped"); } catch (TableNotFoundException e) { } @@ -220,28 +202,33 @@ public class DropMetadataIT extends BaseHBaseManagedTimeIT { public void helpTestDroppingIndexedColDropsViewIndex(boolean isMultiTenant) throws Exception { try (Connection conn = DriverManager.getConnection(getUrl()); Connection viewConn = isMultiTenant ? DriverManager.getConnection(TENANT_SPECIFIC_URL) : conn ) { + String tableWithView = generateRandomString(); + String viewOfTable = generateRandomString(); + String viewIndex1 = generateRandomString(); + String viewIndex2 = generateRandomString(); + conn.setAutoCommit(false); viewConn.setAutoCommit(false); - String ddlFormat = "CREATE TABLE TABLEWITHVIEW (%s k VARCHAR NOT NULL, v1 VARCHAR, v2 VARCHAR, v3 VARCHAR, v4 VARCHAR CONSTRAINT PK PRIMARY KEY(%s k))%s"; + String ddlFormat = "CREATE TABLE " + tableWithView + " (%s k VARCHAR NOT NULL, v1 VARCHAR, v2 VARCHAR, v3 VARCHAR, v4 VARCHAR CONSTRAINT PK PRIMARY KEY(%s k))%s"; String ddl = String.format(ddlFormat, isMultiTenant ? "TENANT_ID VARCHAR NOT NULL, " : "", isMultiTenant ? "TENANT_ID, " : "", isMultiTenant ? "MULTI_TENANT=true" : ""); conn.createStatement().execute(ddl); viewConn.createStatement() .execute( - "CREATE VIEW VIEWOFTABLE ( VIEW_COL1 DECIMAL(10,2), VIEW_COL2 VARCHAR ) AS SELECT * FROM TABLEWITHVIEW"); + "CREATE VIEW " + viewOfTable + " ( VIEW_COL1 DECIMAL(10,2), VIEW_COL2 VARCHAR ) AS SELECT * FROM " + tableWithView ); // create an index with the column that will be dropped - viewConn.createStatement().execute("CREATE INDEX VIEWINDEX1 ON VIEWOFTABLE(v2) INCLUDE (v4)"); + viewConn.createStatement().execute("CREATE INDEX " + viewIndex1 + " ON " + viewOfTable + "(v2) INCLUDE (v4)"); // create an index without the column that will be dropped - viewConn.createStatement().execute("CREATE INDEX VIEWINDEX2 ON VIEWOFTABLE(v1) INCLUDE (v4)"); + viewConn.createStatement().execute("CREATE INDEX " + viewIndex2 + " ON " + viewOfTable + "(v1) INCLUDE (v4)"); // verify index was created try { - viewConn.createStatement().execute("SELECT * FROM VIEWINDEX1"); + viewConn.createStatement().execute("SELECT * FROM " + viewIndex1 ); } catch (TableNotFoundException e) { fail("Index on view was not created"); } // upsert a single row - PreparedStatement stmt = viewConn.prepareStatement("UPSERT INTO VIEWOFTABLE VALUES(?,?,?,?,?,?,?)"); + PreparedStatement stmt = viewConn.prepareStatement("UPSERT INTO " + viewOfTable + " VALUES(?,?,?,?,?,?,?)"); stmt.setString(1, "a"); stmt.setString(2, "b"); stmt.setString(3, "c"); @@ -255,47 +242,47 @@ public class DropMetadataIT extends BaseHBaseManagedTimeIT { // verify the index was created PhoenixConnection pconn = viewConn.unwrap(PhoenixConnection.class); PName tenantId = isMultiTenant ? PNameFactory.newName("tenant1") : null; - PTable view = pconn.getTable(new PTableKey(tenantId, "VIEWOFTABLE")); - PTable viewIndex = pconn.getTable(new PTableKey(tenantId, "VIEWINDEX1")); + PTable view = pconn.getTable(new PTableKey(tenantId, viewOfTable )); + PTable viewIndex = pconn.getTable(new PTableKey(tenantId, viewIndex1 )); byte[] viewIndexPhysicalTable = viewIndex.getPhysicalName().getBytes(); assertNotNull("Can't find view index", viewIndex); assertEquals("Unexpected number of indexes ", 2, view.getIndexes().size()); - assertEquals("Unexpected index ", "VIEWINDEX1", view.getIndexes().get(0).getName() + assertEquals("Unexpected index ", viewIndex1 , view.getIndexes().get(0).getName() .getString()); - assertEquals("Unexpected index ", "VIEWINDEX2", view.getIndexes().get(1).getName() + assertEquals("Unexpected index ", viewIndex2 , view.getIndexes().get(1).getName() .getString()); // drop two columns - conn.createStatement().execute("ALTER TABLE TABLEWITHVIEW DROP COLUMN v2, v3 "); + conn.createStatement().execute("ALTER TABLE " + tableWithView + " DROP COLUMN v2, v3 "); // verify columns were dropped try { - conn.createStatement().execute("SELECT v2 FROM TABLEWITHVIEW"); + conn.createStatement().execute("SELECT v2 FROM " + tableWithView ); fail("Column should have been dropped"); } catch (ColumnNotFoundException e) { } try { - conn.createStatement().execute("SELECT v3 FROM TABLEWITHVIEW"); + conn.createStatement().execute("SELECT v3 FROM " + tableWithView ); fail("Column should have been dropped"); } catch (ColumnNotFoundException e) { } // verify index metadata was dropped try { - viewConn.createStatement().execute("SELECT * FROM VIEWINDEX1"); + viewConn.createStatement().execute("SELECT * FROM " + viewIndex1 ); fail("Index metadata should have been dropped"); } catch (TableNotFoundException e) { } pconn = viewConn.unwrap(PhoenixConnection.class); - view = pconn.getTable(new PTableKey(tenantId, "VIEWOFTABLE")); + view = pconn.getTable(new PTableKey(tenantId, viewOfTable )); try { - viewIndex = pconn.getTable(new PTableKey(tenantId, "VIEWINDEX1")); + viewIndex = pconn.getTable(new PTableKey(tenantId, viewIndex1 )); fail("View index should have been dropped"); } catch (TableNotFoundException e) { } assertEquals("Unexpected number of indexes ", 1, view.getIndexes().size()); - assertEquals("Unexpected index ", "VIEWINDEX2", view.getIndexes().get(0).getName().getString()); + assertEquals("Unexpected index ", viewIndex2 , view.getIndexes().get(0).getName().getString()); // verify that the physical index view table is *not* dropped conn.unwrap(PhoenixConnection.class).getQueryServices().getTableDescriptor(viewIndexPhysicalTable); @@ -306,8 +293,8 @@ public class DropMetadataIT extends BaseHBaseManagedTimeIT { ResultScanner results = table.getScanner(scan); Result result = results.next(); assertNotNull(result); - // there should be a single row belonging to VIEWINDEX2 - assertNotNull("VIEWINDEX2 row is missing", result.getValue(QueryConstants.DEFAULT_COLUMN_FAMILY_BYTES, + // there should be a single row belonging to " + viewIndex2 + " + assertNotNull( viewIndex2 + " row is missing", result.getValue(QueryConstants.DEFAULT_COLUMN_FAMILY_BYTES, IndexUtil.getIndexColumnName(QueryConstants.DEFAULT_COLUMN_FAMILY, "V4").getBytes())); assertNull(results.next()); }