You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by sa...@apache.org on 2016/08/26 00:17:24 UTC

[11/14] phoenix git commit: PHOENIX-3036 Modify phoenix IT tests to extend BaseHBaseManagedTimeTableReuseIT (Prakul Agarwal, Samarth Jain)

http://git-wip-us.apache.org/repos/asf/phoenix/blob/03df8ab5/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayPrependFunctionIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayPrependFunctionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayPrependFunctionIT.java
index 3145d95..f3386d9 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayPrependFunctionIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayPrependFunctionIT.java
@@ -27,12 +27,12 @@ import org.apache.phoenix.schema.TypeMismatchException;
 import org.apache.phoenix.schema.types.PhoenixArray;
 import org.junit.Test;
 
-public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
+public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeTableReuseIT {
 
-    private void initTableWithVarArray(Connection conn, String type, Object[] objectArray, String value) throws SQLException {
-        conn.createStatement().execute("CREATE TABLE t ( k VARCHAR PRIMARY KEY, a " + type + "[],b " + type + ")");
+    private void initTableWithVarArray(Connection conn, String tableName, String type, Object[] objectArray, String value) throws SQLException {
+        conn.createStatement().execute("CREATE TABLE " + tableName + " ( k VARCHAR PRIMARY KEY, a " + type + "[],b " + type + ")");
         conn.commit();
-        PreparedStatement stmt = conn.prepareStatement("UPSERT INTO t VALUES(?,?," + value + ")");
+        PreparedStatement stmt = conn.prepareStatement("UPSERT INTO " + tableName + " VALUES(?,?," + value + ")");
         PhoenixArray array = (PhoenixArray) conn.createArrayOf(type, objectArray);
         stmt.setString(1, "a");
         stmt.setArray(2, array);
@@ -41,10 +41,10 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
 
     }
 
-    private void initTables(Connection conn) throws Exception {
-        String ddl = "CREATE TABLE regions (region_name VARCHAR PRIMARY KEY,varchars VARCHAR[],integers INTEGER[],doubles DOUBLE[],bigints BIGINT[],chars CHAR(15)[],double1 DOUBLE,char1 CHAR(17),nullcheck INTEGER,chars2 CHAR(15)[])";
+    private void initTables(Connection conn, String tableName) throws Exception {
+        String ddl = "CREATE TABLE " + tableName + " (region_name VARCHAR PRIMARY KEY,varchars VARCHAR[],integers INTEGER[],doubles DOUBLE[],bigints BIGINT[],chars CHAR(15)[],double1 DOUBLE,char1 CHAR(17),nullcheck INTEGER,chars2 CHAR(15)[])";
         conn.createStatement().execute(ddl);
-        String dml = "UPSERT INTO regions(region_name,varchars,integers,doubles,bigints,chars,double1,char1,nullcheck,chars2) VALUES('SF Bay Area'," +
+        String dml = "UPSERT INTO " + tableName + " (region_name,varchars,integers,doubles,bigints,chars,double1,char1,nullcheck,chars2) VALUES('SF Bay Area'," +
                 "ARRAY['2345','46345','23234']," +
                 "ARRAY[2345,46345,23234,456]," +
                 "ARRAY[23.45,46.345,23.234,45.6,5.78]," +
@@ -60,10 +60,10 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
         conn.commit();
     }
 
-    private void initTablesDesc(Connection conn, String type, String val) throws Exception {
-        String ddl = "CREATE TABLE regions (pk " + type + " PRIMARY KEY DESC,varchars VARCHAR[],integers INTEGER[],doubles DOUBLE[],bigints BIGINT[],chars CHAR(15)[],chars2 CHAR(15)[], bools BOOLEAN[])";
+    private void initTablesDesc(Connection conn, String tableName, String type, String val) throws Exception {
+        String ddl = "CREATE TABLE " + tableName + " (pk " + type + " PRIMARY KEY DESC,varchars VARCHAR[],integers INTEGER[],doubles DOUBLE[],bigints BIGINT[],chars CHAR(15)[],chars2 CHAR(15)[], bools BOOLEAN[])";
         conn.createStatement().execute(ddl);
-        String dml = "UPSERT INTO regions(pk,varchars,integers,doubles,bigints,chars,chars2,bools) VALUES(" + val + "," +
+        String dml = "UPSERT INTO " + tableName + "(pk,varchars,integers,doubles,bigints,chars,chars2,bools) VALUES(" + val + "," +
                 "ARRAY['2345','46345','23234']," +
                 "ARRAY[2345,46345,23234,456]," +
                 "ARRAY[23.45,46.345,23.234,45.6,5.78]," +
@@ -80,10 +80,11 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
     @Test
     public void testArrayPrependFunctionInteger() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
-        initTables(conn);
+        String tableName = generateRandomString();
+        initTables(conn, tableName);
 
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(1234,integers) FROM regions WHERE region_name = 'SF Bay Area'");
+        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(1234,integers) FROM " + tableName + " WHERE region_name = 'SF Bay Area'");
         assertTrue(rs.next());
 
         Integer[] integers = new Integer[]{1234, 2345, 46345, 23234, 456};
@@ -97,10 +98,11 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
     @Test
     public void testArrayPrependFunctionVarchar() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
-        initTables(conn);
+        String tableName = generateRandomString();
+        initTables(conn, tableName);
 
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND('34567',varchars) FROM regions WHERE region_name = 'SF Bay Area'");
+        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND('34567',varchars) FROM " + tableName + " WHERE region_name = 'SF Bay Area'");
         assertTrue(rs.next());
 
         String[] strings = new String[]{"34567", "2345", "46345", "23234"};
@@ -115,12 +117,13 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
     public void testArrayPrependFunctionNulls1() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
         String[] s = new String[]{null, null, "1", "2"};
-        initTableWithVarArray(conn, "VARCHAR", s, null);
+        String tableName = generateRandomString();
+        initTableWithVarArray(conn, tableName, "VARCHAR", s, null);
         String[] s2 = new String[]{null, null, null, "1", "2"};
         PhoenixArray array2 = (PhoenixArray) conn.createArrayOf("VARCHAR", s2);
         conn = DriverManager.getConnection(getUrl());
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(b,a) FROM t WHERE k = 'a'");
+        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(b,a) FROM " + tableName + " WHERE k = 'a'");
         assertTrue(rs.next());
         assertEquals(array2, rs.getArray(1));
     }
@@ -129,12 +132,13 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
     public void testArrayPrependFunctionNulls2() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
         String[] s = new String[]{"1", "2"};
-        initTableWithVarArray(conn, "VARCHAR", s, null);
+        String tableName = generateRandomString();
+        initTableWithVarArray(conn, tableName, "VARCHAR", s, null);
         String[] s2 = new String[]{null, "1", "2"};
         PhoenixArray array2 = (PhoenixArray) conn.createArrayOf("VARCHAR", s2);
         conn = DriverManager.getConnection(getUrl());
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(b,a) FROM t WHERE k = 'a'");
+        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(b,a) FROM " + tableName + " WHERE k = 'a'");
         assertTrue(rs.next());
         assertEquals(array2, rs.getArray(1));
     }
@@ -143,12 +147,13 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
     public void testArrayPrependFunctionNulls3() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
         String[] s = new String[]{"176", null, "212"};
-        initTableWithVarArray(conn, "VARCHAR", s, null);
+        String tableName = generateRandomString();
+        initTableWithVarArray(conn, tableName, "VARCHAR", s, null);
         String[] s2 = new String[]{null, "176", null, "212"};
         PhoenixArray array2 = (PhoenixArray) conn.createArrayOf("VARCHAR", s2);
         conn = DriverManager.getConnection(getUrl());
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(b,a) FROM t WHERE k = 'a'");
+        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(b,a) FROM " + tableName + " WHERE k = 'a'");
         assertTrue(rs.next());
         assertEquals(array2, rs.getArray(1));
     }
@@ -157,12 +162,13 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
     public void testArrayPrependFunctionNulls4() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
         String[] s = new String[]{"176", null, "212"};
-        initTableWithVarArray(conn, "VARCHAR", s, "'foo'");
+        String tableName = generateRandomString();
+        initTableWithVarArray(conn, tableName, "VARCHAR", s, "'foo'");
         String[] s2 = new String[]{"foo", "176", null, "212"};
         PhoenixArray array2 = (PhoenixArray) conn.createArrayOf("VARCHAR", s2);
         conn = DriverManager.getConnection(getUrl());
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(b,a) FROM t WHERE k = 'a'");
+        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(b,a) FROM " + tableName + " WHERE k = 'a'");
         assertTrue(rs.next());
         assertEquals(array2, rs.getArray(1));
     }
@@ -170,10 +176,11 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
     @Test
     public void testArrayPrependFunctionDouble() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
-        initTables(conn);
+        String tableName = generateRandomString();
+        initTables(conn, tableName);
 
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(double1,doubles) FROM regions WHERE region_name = 'SF Bay Area'");
+        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(double1,doubles) FROM " + tableName + " WHERE region_name = 'SF Bay Area'");
         assertTrue(rs.next());
 
         Double[] doubles = new Double[]{23.45, 23.45, 46.345, 23.234, 45.6, 5.78};
@@ -187,10 +194,11 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
     @Test
     public void testArrayPrependFunctionDouble2() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
-        initTables(conn);
+        String tableName = generateRandomString();
+        initTables(conn, tableName);
 
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(23,doubles) FROM regions WHERE region_name = 'SF Bay Area'");
+        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(23,doubles) FROM " + tableName + " WHERE region_name = 'SF Bay Area'");
         assertTrue(rs.next());
 
         Double[] doubles = new Double[]{new Double(23), 23.45, 46.345, 23.234, 45.6, 5.78};
@@ -204,9 +212,10 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
     @Test
     public void testArrayPrependFunctionBigint() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
-        initTables(conn);
+        String tableName = generateRandomString();
+        initTables(conn, tableName);
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(1112,bigints) FROM regions WHERE region_name = 'SF Bay Area'");
+        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(1112,bigints) FROM " + tableName + " WHERE region_name = 'SF Bay Area'");
         assertTrue(rs.next());
 
         Long[] longs = new Long[]{1112l, 12l, 34l, 56l, 78l, 910l};
@@ -220,9 +229,10 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
     @Test
     public void testArrayPrependFunctionChar() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
-        initTables(conn);
+        String tableName = generateRandomString();
+        initTables(conn, tableName);
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND('fac',chars) FROM regions WHERE region_name = 'SF Bay Area'");
+        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND('fac',chars) FROM " + tableName + " WHERE region_name = 'SF Bay Area'");
         assertTrue(rs.next());
 
         String[] strings = new String[]{"fac", "a", "bbbb", "c", "ddd", "e"};
@@ -236,28 +246,31 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
     @Test(expected = TypeMismatchException.class)
     public void testArrayPrependFunctionIntToCharArray() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
-        initTables(conn);
+        String tableName = generateRandomString();
+        initTables(conn, tableName);
 
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(234,varchars) FROM regions WHERE region_name = 'SF Bay Area'");
+        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(234,varchars) FROM " + tableName + " WHERE region_name = 'SF Bay Area'");
     }
 
     @Test(expected = TypeMismatchException.class)
     public void testArrayPrependFunctionVarcharToIntegerArray() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
-        initTables(conn);
+        String tableName = generateRandomString();
+        initTables(conn, tableName);
 
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND('234',integers) FROM regions WHERE region_name = 'SF Bay Area'");
+        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND('234',integers) FROM " + tableName + " WHERE region_name = 'SF Bay Area'");
 
     }
 
     @Test(expected = SQLException.class)
     public void testArrayPrependFunctionChar2() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
-        initTables(conn);
+        String tableName = generateRandomString();
+        initTables(conn, tableName);
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND('facfacfacfacfacfacfac',chars) FROM regions WHERE region_name = 'SF Bay Area'");
+        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND('facfacfacfacfacfacfac',chars) FROM " + tableName + " WHERE region_name = 'SF Bay Area'");
         rs.next();
         rs.getArray(1);
     }
@@ -265,10 +278,11 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
     @Test
     public void testArrayPrependFunctionIntegerToDoubleArray() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
-        initTables(conn);
+        String tableName = generateRandomString();
+        initTables(conn, tableName);
 
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(45,doubles) FROM regions WHERE region_name = 'SF Bay Area'");
+        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(45,doubles) FROM " + tableName + " WHERE region_name = 'SF Bay Area'");
         assertTrue(rs.next());
 
         Double[] doubles = new Double[]{45.0, 23.45, 46.345, 23.234, 45.6, 5.78};
@@ -282,10 +296,11 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
     @Test
     public void testArrayPrependFunctionWithNestedFunctions1() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
-        initTables(conn);
+        String tableName = generateRandomString();
+        initTables(conn, tableName);
 
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(integers[1],ARRAY[23,45]) FROM regions WHERE region_name = 'SF Bay Area'");
+        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(integers[1],ARRAY[23,45]) FROM " + tableName + " WHERE region_name = 'SF Bay Area'");
         assertTrue(rs.next());
 
         Integer[] integers = new Integer[]{2345, 23, 45};
@@ -299,10 +314,11 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
     @Test
     public void testArrayPrependFunctionWithNestedFunctions2() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
-        initTables(conn);
+        String tableName = generateRandomString();
+        initTables(conn, tableName);
 
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(ARRAY_ELEM(ARRAY[2,4],1),integers) FROM regions WHERE region_name = 'SF Bay Area'");
+        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(ARRAY_ELEM(ARRAY[2,4],1),integers) FROM " + tableName+ " WHERE region_name = 'SF Bay Area'");
         assertTrue(rs.next());
 
         Integer[] integers = new Integer[]{2, 2345, 46345, 23234, 456};
@@ -316,10 +332,11 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
     @Test
     public void testArrayPrependFunctionWithNestedFunctions3() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
-        initTables(conn);
+        String tableName = generateRandomString();
+        initTables(conn, tableName);
 
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(ARRAY_ELEM(doubles,2),doubles) FROM regions WHERE region_name = 'SF Bay Area'");
+        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(ARRAY_ELEM(doubles,2),doubles) FROM " + tableName + " WHERE region_name = 'SF Bay Area'");
         assertTrue(rs.next());
 
         Double[] doubles = new Double[]{46.345, 23.45, 46.345, 23.234, 45.6, 5.78};
@@ -333,16 +350,16 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
     @Test
     public void testArrayPrependFunctionWithUpsert1() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
-
-        String ddl = "CREATE TABLE regions (region_name VARCHAR PRIMARY KEY,varchars VARCHAR[])";
+        String tableName = generateRandomString();
+        String ddl = "CREATE TABLE " + tableName + " (region_name VARCHAR PRIMARY KEY,varchars VARCHAR[])";
         conn.createStatement().execute(ddl);
 
-        String dml = "UPSERT INTO regions(region_name,varchars) VALUES('SF Bay Area',ARRAY_PREPEND(':-)',ARRAY['hello','world']))";
+        String dml = "UPSERT INTO " + tableName + " (region_name,varchars) VALUES('SF Bay Area',ARRAY_PREPEND(':-)',ARRAY['hello','world']))";
         conn.createStatement().execute(dml);
         conn.commit();
 
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT varchars FROM regions WHERE region_name = 'SF Bay Area'");
+        rs = conn.createStatement().executeQuery("SELECT varchars FROM " + tableName + " WHERE region_name = 'SF Bay Area'");
         assertTrue(rs.next());
 
         String[] strings = new String[]{":-)", "hello", "world"};
@@ -356,16 +373,17 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
     @Test
     public void testArrayPrependFunctionWithUpsert2() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
+        String tableName = generateRandomString();
 
-        String ddl = "CREATE TABLE regions (region_name VARCHAR PRIMARY KEY,integers INTEGER[])";
+        String ddl = "CREATE TABLE " + tableName + " (region_name VARCHAR PRIMARY KEY,integers INTEGER[])";
         conn.createStatement().execute(ddl);
 
-        String dml = "UPSERT INTO regions(region_name,integers) VALUES('SF Bay Area',ARRAY_PREPEND(6,ARRAY[4,5]))";
+        String dml = "UPSERT INTO " + tableName + "(region_name,integers) VALUES('SF Bay Area',ARRAY_PREPEND(6,ARRAY[4,5]))";
         conn.createStatement().execute(dml);
         conn.commit();
 
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT integers FROM regions WHERE region_name = 'SF Bay Area'");
+        rs = conn.createStatement().executeQuery("SELECT integers FROM " + tableName + " WHERE region_name = 'SF Bay Area'");
         assertTrue(rs.next());
 
         Integer[] integers = new Integer[]{6, 4, 5};
@@ -379,16 +397,16 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
     @Test
     public void testArrayPrependFunctionWithUpsert3() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
-
-        String ddl = "CREATE TABLE regions (region_name VARCHAR PRIMARY KEY,doubles DOUBLE[])";
+        String tableName = generateRandomString();
+        String ddl = "CREATE TABLE " + tableName + "(region_name VARCHAR PRIMARY KEY,doubles DOUBLE[])";
         conn.createStatement().execute(ddl);
 
-        String dml = "UPSERT INTO regions(region_name,doubles) VALUES('SF Bay Area',ARRAY_PREPEND(9.0,ARRAY[5.67,7.87]))";
+        String dml = "UPSERT INTO " + tableName + "(region_name,doubles) VALUES('SF Bay Area',ARRAY_PREPEND(9.0,ARRAY[5.67,7.87]))";
         conn.createStatement().execute(dml);
         conn.commit();
 
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT doubles FROM regions WHERE region_name = 'SF Bay Area'");
+        rs = conn.createStatement().executeQuery("SELECT doubles FROM " + tableName + " WHERE region_name = 'SF Bay Area'");
         assertTrue(rs.next());
 
         Double[] doubles = new Double[]{new Double(9), 5.67, 7.87};
@@ -402,26 +420,28 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
     @Test
     public void testArrayPrependFunctionWithUpsertSelect1() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
-
-        String ddl = "CREATE TABLE source (region_name VARCHAR PRIMARY KEY,doubles DOUBLE[])";
+        String baseTable = generateRandomString();
+        String source = baseTable + "_SOURCE";
+        String target = baseTable + "_TARGET";
+        String ddl = "CREATE TABLE " + source + " (region_name VARCHAR PRIMARY KEY,doubles DOUBLE[])";
         conn.createStatement().execute(ddl);
 
-        ddl = "CREATE TABLE target (region_name VARCHAR PRIMARY KEY,doubles DOUBLE[])";
+        ddl = "CREATE TABLE " + target + "(region_name VARCHAR PRIMARY KEY,doubles DOUBLE[])";
         conn.createStatement().execute(ddl);
 
-        String dml = "UPSERT INTO source(region_name,doubles) VALUES('SF Bay Area',ARRAY_PREPEND(9.0,ARRAY[5.67,7.87]))";
+        String dml = "UPSERT INTO " + source + "(region_name,doubles) VALUES('SF Bay Area',ARRAY_PREPEND(9.0,ARRAY[5.67,7.87]))";
         conn.createStatement().execute(dml);
 
-        dml = "UPSERT INTO source(region_name,doubles) VALUES('SF Bay Area2',ARRAY_PREPEND(9.2,ARRAY[56.7,7.87]))";
+        dml = "UPSERT INTO " + source + "(region_name,doubles) VALUES('SF Bay Area2',ARRAY_PREPEND(9.2,ARRAY[56.7,7.87]))";
         conn.createStatement().execute(dml);
         conn.commit();
 
-        dml = "UPSERT INTO target(region_name, doubles) SELECT region_name, ARRAY_PREPEND(5,doubles) FROM source";
+        dml = "UPSERT INTO " + target + "(region_name, doubles) SELECT region_name, ARRAY_PREPEND(5,doubles) FROM " + source;
         conn.createStatement().execute(dml);
         conn.commit();
 
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT doubles FROM target");
+        rs = conn.createStatement().executeQuery("SELECT doubles FROM " + target);
         assertTrue(rs.next());
 
         Double[] doubles = new Double[]{new Double(5), new Double(9), 5.67, 7.87};
@@ -440,26 +460,28 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
     @Test
     public void testArrayPrependFunctionWithUpsertSelect2() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
-
-        String ddl = "CREATE TABLE source (region_name VARCHAR PRIMARY KEY,varchars VARCHAR[])";
+        String baseTable = generateRandomString();
+        String source = baseTable + "_SOURCE";
+        String target = baseTable + "_TARGET";
+        String ddl = "CREATE TABLE " + source + " (region_name VARCHAR PRIMARY KEY,varchars VARCHAR[])";
         conn.createStatement().execute(ddl);
 
-        ddl = "CREATE TABLE target (region_name VARCHAR PRIMARY KEY,varchars VARCHAR[])";
+        ddl = "CREATE TABLE " + target + " (region_name VARCHAR PRIMARY KEY,varchars VARCHAR[])";
         conn.createStatement().execute(ddl);
 
-        String dml = "UPSERT INTO source(region_name,varchars) VALUES('SF Bay Area',ARRAY_PREPEND('c',ARRAY['abcd','b']))";
+        String dml = "UPSERT INTO " + source + "(region_name,varchars) VALUES('SF Bay Area',ARRAY_PREPEND('c',ARRAY['abcd','b']))";
         conn.createStatement().execute(dml);
 
-        dml = "UPSERT INTO source(region_name,varchars) VALUES('SF Bay Area2',ARRAY_PREPEND('something',ARRAY['d','fgh']))";
+        dml = "UPSERT INTO " + source + "(region_name,varchars) VALUES('SF Bay Area2',ARRAY_PREPEND('something',ARRAY['d','fgh']))";
         conn.createStatement().execute(dml);
         conn.commit();
 
-        dml = "UPSERT INTO target(region_name, varchars) SELECT region_name, ARRAY_PREPEND('stu',varchars) FROM source";
+        dml = "UPSERT INTO " + target + "(region_name, varchars) SELECT region_name, ARRAY_PREPEND('stu',varchars) FROM " + source;
         conn.createStatement().execute(dml);
         conn.commit();
 
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT varchars FROM target");
+        rs = conn.createStatement().executeQuery("SELECT varchars FROM " + target);
         assertTrue(rs.next());
 
         String[] strings = new String[]{"stu", "c", "abcd", "b"};
@@ -478,10 +500,11 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
     @Test
     public void testArrayPrependFunctionInWhere1() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
-        initTables(conn);
+        String tableName = generateRandomString();
+        initTables(conn, tableName);
 
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT region_name FROM regions WHERE ARRAY[123,2345,46345,23234,456]=ARRAY_PREPEND(123,integers)");
+        rs = conn.createStatement().executeQuery("SELECT region_name FROM " + tableName + " WHERE ARRAY[123,2345,46345,23234,456]=ARRAY_PREPEND(123,integers)");
         assertTrue(rs.next());
 
         assertEquals("SF Bay Area", rs.getString(1));
@@ -491,10 +514,11 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
     @Test
     public void testArrayPrependFunctionInWhere2() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
-        initTables(conn);
+        String tableName = generateRandomString();
+        initTables(conn, tableName);
 
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT region_name FROM regions WHERE varchars[1]=ANY(ARRAY_PREPEND('1234',ARRAY['2345','46345','23234']))");
+        rs = conn.createStatement().executeQuery("SELECT region_name FROM " + tableName + " WHERE varchars[1]=ANY(ARRAY_PREPEND('1234',ARRAY['2345','46345','23234']))");
         assertTrue(rs.next());
 
         assertEquals("SF Bay Area", rs.getString(1));
@@ -504,10 +528,11 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
     @Test
     public void testArrayPrependFunctionInWhere3() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
-        initTables(conn);
+        String tableName = generateRandomString();
+        initTables(conn, tableName);
 
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT region_name FROM regions WHERE ARRAY['1234','2345','46345','23234']=ARRAY_PREPEND('1234',ARRAY['2345','46345','23234'])");
+        rs = conn.createStatement().executeQuery("SELECT region_name FROM " + tableName + " WHERE ARRAY['1234','2345','46345','23234']=ARRAY_PREPEND('1234',ARRAY['2345','46345','23234'])");
         assertTrue(rs.next());
 
         assertEquals("SF Bay Area", rs.getString(1));
@@ -517,10 +542,11 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
     @Test
     public void testArrayPrependFunctionInWhere4() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
-        initTables(conn);
+        String tableName = generateRandomString();
+        initTables(conn, tableName);
 
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT region_name FROM regions WHERE ARRAY[123.4,23.45,4634.5,2.3234]=ARRAY_PREPEND(123.4,ARRAY[23.45,4634.5,2.3234])");
+        rs = conn.createStatement().executeQuery("SELECT region_name FROM " + tableName + " WHERE ARRAY[123.4,23.45,4634.5,2.3234]=ARRAY_PREPEND(123.4,ARRAY[23.45,4634.5,2.3234])");
         assertTrue(rs.next());
 
         assertEquals("SF Bay Area", rs.getString(1));
@@ -530,10 +556,11 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
     @Test
     public void testArrayPrependFunctionInWhere5() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
-        initTables(conn);
+        String tableName = generateRandomString();
+        initTables(conn, tableName);
 
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT region_name FROM regions WHERE ARRAY['foo','2345','46345','23234']=ARRAY_PREPEND('foo',varchars)");
+        rs = conn.createStatement().executeQuery("SELECT region_name FROM " + tableName + " WHERE ARRAY['foo','2345','46345','23234']=ARRAY_PREPEND('foo',varchars)");
         assertTrue(rs.next());
 
         assertEquals("SF Bay Area", rs.getString(1));
@@ -543,10 +570,11 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
     @Test
     public void testArrayPrependFunctionInWhere6() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
-        initTables(conn);
+        String tableName = generateRandomString();
+        initTables(conn, tableName);
 
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT region_name FROM regions WHERE chars2=ARRAY_PREPEND('foo',chars)");
+        rs = conn.createStatement().executeQuery("SELECT region_name FROM " + tableName + " WHERE chars2=ARRAY_PREPEND('foo',chars)");
         assertTrue(rs.next());
 
         assertEquals("SF Bay Area", rs.getString(1));
@@ -556,10 +584,11 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
     @Test
     public void testArrayPrependFunctionInWhere7() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
-        initTables(conn);
+        String  tableName = generateRandomString();
+        initTables(conn, tableName);
 
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT region_name FROM regions WHERE ARRAY[4,2,3]=ARRAY_PREPEND(4,ARRAY[2,3])");
+        rs = conn.createStatement().executeQuery("SELECT region_name FROM " + tableName + " WHERE ARRAY[4,2,3]=ARRAY_PREPEND(4,ARRAY[2,3])");
         assertTrue(rs.next());
 
         assertEquals("SF Bay Area", rs.getString(1));
@@ -569,10 +598,11 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
     @Test(expected = SQLException.class)
     public void testArrayPrependFunctionCharLimitCheck() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
-        initTables(conn);
+        String tableName = generateRandomString();
+        initTables(conn, tableName);
 
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(char1,chars) FROM regions WHERE region_name = 'SF Bay Area'");
+        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(char1,chars) FROM " + tableName + " WHERE region_name = 'SF Bay Area'");
         assertTrue(rs.next());
 
         String[] strings = new String[]{"wert", "a", "bbbb", "c", "ddd", "e"};
@@ -586,10 +616,11 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
     @Test
     public void testArrayPrependFunctionIntegerDesc() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
-        initTablesDesc(conn, "INTEGER", "23");
+        String tableName = generateRandomString();
+        initTablesDesc(conn, tableName, "INTEGER", "23");
 
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(pk,integers) FROM regions");
+        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(pk,integers) FROM " + tableName);
         assertTrue(rs.next());
 
         Integer[] integers = new Integer[]{23, 2345, 46345, 23234, 456};
@@ -604,10 +635,11 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
     @Test
     public void testArrayPrependFunctionVarcharDesc() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
-        initTablesDesc(conn, "VARCHAR", "'e'");
+        String tableName = generateRandomString();
+        initTablesDesc(conn, tableName, "VARCHAR", "'e'");
 
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(pk,varchars) FROM regions");
+        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(pk,varchars) FROM " + tableName);
         assertTrue(rs.next());
 
         String[] strings = new String[]{"e", "2345", "46345", "23234"};
@@ -621,9 +653,10 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
     @Test
     public void testArrayPrependFunctionBigIntDesc() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
-        initTablesDesc(conn, "BIGINT", "1112");
+        String  tableName = generateRandomString();
+        initTablesDesc(conn, tableName, "BIGINT", "1112");
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(pk,bigints) FROM regions");
+        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(pk,bigints) FROM " +  tableName);
         assertTrue(rs.next());
 
         Long[] longs = new Long[]{1112l, 12l, 34l, 56l, 78l, 910l};
@@ -637,9 +670,10 @@ public class ArrayPrependFunctionIT extends BaseHBaseManagedTimeIT {
     @Test
     public void testArrayPrependFunctionBooleanDesc() throws Exception {
         Connection conn = DriverManager.getConnection(getUrl());
-        initTablesDesc(conn, "BOOLEAN", "false");
+        String tableName = generateRandomString();
+        initTablesDesc(conn, tableName, "BOOLEAN", "false");
         ResultSet rs;
-        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(pk,bools) FROM regions");
+        rs = conn.createStatement().executeQuery("SELECT ARRAY_PREPEND(pk,bools) FROM " + tableName);
         assertTrue(rs.next());
 
         Boolean[] booleans = new Boolean[]{false, true, false};

http://git-wip-us.apache.org/repos/asf/phoenix/blob/03df8ab5/phoenix-core/src/it/java/org/apache/phoenix/end2end/AutoPartitionViewsIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AutoPartitionViewsIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AutoPartitionViewsIT.java
index c66a7c8..95ac2cb 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AutoPartitionViewsIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AutoPartitionViewsIT.java
@@ -47,7 +47,7 @@ import org.junit.runners.Parameterized;
 import org.junit.runners.Parameterized.Parameters;
 
 @RunWith(Parameterized.class)
-public class AutoPartitionViewsIT extends BaseHBaseManagedTimeIT {
+public class AutoPartitionViewsIT extends BaseHBaseManagedTimeTableReuseIT {
 
     private String tableDDLOptions;
     private boolean isMultiTenant;
@@ -64,7 +64,7 @@ public class AutoPartitionViewsIT extends BaseHBaseManagedTimeIT {
 
     public AutoPartitionViewsIT(boolean salted, boolean isMultiTenant) {
         this.isMultiTenant = isMultiTenant;
-        StringBuilder optionBuilder = new StringBuilder(" AUTO_PARTITION_SEQ=\"TSDB.METRIC_ID_SEQ\"");
+        StringBuilder optionBuilder = new StringBuilder(" AUTO_PARTITION_SEQ=\"%s\"");
         if (salted) optionBuilder.append(", SALTED=4 ");
         if (isMultiTenant) optionBuilder.append(", MULTI_TENANT=true ");
         this.tableDDLOptions = optionBuilder.toString();
@@ -79,13 +79,17 @@ public class AutoPartitionViewsIT extends BaseHBaseManagedTimeIT {
                 Connection viewConn2 =
                         isMultiTenant ? DriverManager.getConnection(TENANT_SPECIFIC_URL1)
                                 : DriverManager.getConnection(getUrl())) {
+            String tableName = generateRandomString();
+            String autoSeqName = generateRandomString();
+
             try {
+
                 String ddl =
                         String.format(
-                            "CREATE TABLE metric_table (%s metricId VARCHAR, val1 DOUBLE, val2 DOUBLE CONSTRAINT PK PRIMARY KEY( %s metricId)) %s",
+                            "CREATE TABLE " + tableName + " (%s metricId VARCHAR, val1 DOUBLE, val2 DOUBLE CONSTRAINT PK PRIMARY KEY( %s metricId)) %s",
                                 isMultiTenant ? "tenantId VARCHAR, " : "", 
-                                isMultiTenant ? "tenantId, ": "", 
-                                tableDDLOptions);
+                                isMultiTenant ? "tenantId, ": "", String.format(tableDDLOptions, autoSeqName)
+                                );
                 conn.createStatement().execute(ddl);
                 fail("Sequence value must be castable to the auto partition id column data type");
             } catch (SQLException e) {
@@ -94,36 +98,41 @@ public class AutoPartitionViewsIT extends BaseHBaseManagedTimeIT {
                             .getErrorCode(),
                     e.getErrorCode());
             }
-
             String ddl =
                     String.format(
-                        "CREATE TABLE metric_table (%s metricId INTEGER NOT NULL, val1 DOUBLE, val2 DOUBLE CONSTRAINT PK PRIMARY KEY( %s metricId)) %s",
+                        "CREATE TABLE " + tableName + " (%s metricId INTEGER NOT NULL, val1 DOUBLE, val2 DOUBLE CONSTRAINT PK PRIMARY KEY( %s metricId)) %s",
                             isMultiTenant ? "tenantId VARCHAR NOT NULL, " : "", 
-                            isMultiTenant ? "tenantId, ": "", 
-                            tableDDLOptions);
+                            isMultiTenant ? "tenantId, ": "",
+                            String.format(tableDDLOptions, autoSeqName));
             conn.createStatement().execute(ddl);
-            
+
+
+            String baseViewName = generateRandomString();
+            String metricView1 = baseViewName + "_VIEW1";
+            String metricView2 = baseViewName + "_VIEW2";
+            String metricView3 = baseViewName + "_VIEW3";
+            String metricView4 = baseViewName + "_VIEW4";
             try {
                 viewConn1.createStatement().execute(
-                    "CREATE VIEW metric1 AS SELECT * FROM metric_table");
+                    "CREATE VIEW " + metricView1 + "  AS SELECT * FROM " + tableName);
                 fail("Auto-partition sequence must be created before view is created");
             } catch (SequenceNotFoundException e) {
             }
 
             conn.createStatement().execute(
-                "CREATE SEQUENCE TSDB.metric_id_seq start with " + (Integer.MAX_VALUE-2) + " cache 1");
+                "CREATE SEQUENCE " + autoSeqName + " start with " + (Integer.MAX_VALUE-2) + " cache 1");
             viewConn1.createStatement().execute(
-                "CREATE VIEW metric1 AS SELECT * FROM metric_table WHERE val2=1.2");
+                "CREATE VIEW " + metricView1 + " AS SELECT * FROM " + tableName + " WHERE val2=1.2");
             // create a view without a where clause
             viewConn1.createStatement().execute(
-                    "CREATE VIEW metric2 AS SELECT * FROM metric_table");
+                    "CREATE VIEW " + metricView2 + " AS SELECT * FROM " + tableName);
             // create a view with a complex where clause
             viewConn1.createStatement().execute(
-                "CREATE VIEW metric3 AS SELECT * FROM metric_table WHERE val1=1.0 OR val2=2.0");
+                "CREATE VIEW " + metricView3 + " AS SELECT * FROM " + tableName + " WHERE val1=1.0 OR val2=2.0");
 
             try {
                 viewConn1.createStatement().execute(
-                    "CREATE VIEW metric4 AS SELECT * FROM metric_table");
+                    "CREATE VIEW " + metricView4 + " AS SELECT * FROM " + tableName);
                 fail("Creating a view with a partition id that is too large should fail");
             } catch (SQLException e) {
                 assertEquals(SQLExceptionCode.CANNOT_COERCE_AUTO_PARTITION_ID.getErrorCode(),
@@ -132,23 +141,23 @@ public class AutoPartitionViewsIT extends BaseHBaseManagedTimeIT {
 
             if (isMultiTenant) {
                 // load tables into cache
-                viewConn1.createStatement().execute("SELECT * FROM METRIC1");
-                viewConn1.createStatement().execute("SELECT * FROM METRIC2");
-                viewConn1.createStatement().execute("SELECT * FROM METRIC3");
+                viewConn1.createStatement().execute("SELECT * FROM " + metricView1);
+                viewConn1.createStatement().execute("SELECT * FROM " + metricView2);
+                viewConn1.createStatement().execute("SELECT * FROM " + metricView3);
             }
             PhoenixConnection pconn = viewConn1.unwrap(PhoenixConnection.class);
-            PTable view1 = pconn.getTable(new PTableKey(pconn.getTenantId(), "METRIC1"));
-            PTable view2 = pconn.getTable(new PTableKey(pconn.getTenantId(), "METRIC2"));
-            PTable view3 = pconn.getTable(new PTableKey(pconn.getTenantId(), "METRIC3"));
+            PTable view1 = pconn.getTable(new PTableKey(pconn.getTenantId(), metricView1));
+            PTable view2 = pconn.getTable(new PTableKey(pconn.getTenantId(), metricView2));
+            PTable view3 = pconn.getTable(new PTableKey(pconn.getTenantId(), metricView3));
             
             // verify the view statement was set correctly 
             String expectedViewStatement1 =
-                    "SELECT * FROM \"METRIC_TABLE\" WHERE VAL2 = 1.2 AND METRICID = "
+                    "SELECT * FROM \"" + tableName + "\" WHERE VAL2 = 1.2 AND METRICID = "
                             + (Integer.MAX_VALUE - 2);
             String expectedViewStatement2 =
-                    "SELECT * FROM \"METRIC_TABLE\" WHERE METRICID = " + (Integer.MAX_VALUE - 1);
+                    "SELECT * FROM \"" + tableName + "\" WHERE METRICID = " + (Integer.MAX_VALUE - 1);
             String expectedViewStatement3 =
-                    "SELECT * FROM \"METRIC_TABLE\" WHERE (VAL1 = 1.0 OR VAL2 = 2.0) AND METRICID = " + Integer.MAX_VALUE;
+                    "SELECT * FROM \"" + tableName + "\" WHERE (VAL1 = 1.0 OR VAL2 = 2.0) AND METRICID = " + Integer.MAX_VALUE;
             assertEquals("Unexpected view statement", expectedViewStatement1,
                 view1.getViewStatement());
             assertEquals("Unexpected view statement", expectedViewStatement2,
@@ -181,13 +190,13 @@ public class AutoPartitionViewsIT extends BaseHBaseManagedTimeIT {
                 expectedPartition3, partitionCol3.getViewConstant());
 
             // verify that the table was created correctly on the server
-            viewConn2.createStatement().execute("SELECT * FROM METRIC1");
-            viewConn2.createStatement().execute("SELECT * FROM METRIC2");
-            viewConn2.createStatement().execute("SELECT * FROM METRIC3");
+            viewConn2.createStatement().execute("SELECT * FROM " + metricView1);
+            viewConn2.createStatement().execute("SELECT * FROM " + metricView2 );
+            viewConn2.createStatement().execute("SELECT * FROM " + metricView3);
             pconn = viewConn2.unwrap(PhoenixConnection.class);
-            view1 = pconn.getTable(new PTableKey(pconn.getTenantId(), "METRIC1"));
-            view2 = pconn.getTable(new PTableKey(pconn.getTenantId(), "METRIC2"));
-            view3 = pconn.getTable(new PTableKey(pconn.getTenantId(), "METRIC3"));
+            view1 = pconn.getTable(new PTableKey(pconn.getTenantId(), metricView1));
+            view2 = pconn.getTable(new PTableKey(pconn.getTenantId(), metricView2));
+            view3 = pconn.getTable(new PTableKey(pconn.getTenantId(), metricView3));
             
             // verify the view statement was set correctly 
             assertEquals("Unexpected view statement", expectedViewStatement1,
@@ -225,37 +234,44 @@ public class AutoPartitionViewsIT extends BaseHBaseManagedTimeIT {
                 Connection viewConn2 =
                         isMultiTenant ? DriverManager.getConnection(TENANT_SPECIFIC_URL2)
                                 : DriverManager.getConnection(getUrl())) {
+            String tableName = generateRandomString();
+            String autoSeqName = generateRandomString();
+
             String ddl =
                     String.format(
-                        "CREATE TABLE hbase.metric_table (%s metricId INTEGER NOT NULL, val1 DOUBLE, val2 DOUBLE CONSTRAINT PK PRIMARY KEY( %s metricId)) %s",
+                        "CREATE TABLE " + tableName + " (%s metricId INTEGER NOT NULL, val1 DOUBLE, val2 DOUBLE CONSTRAINT PK PRIMARY KEY( %s metricId)) %s",
                             isMultiTenant ? "tenantId VARCHAR NOT NULL, " : "", 
                             isMultiTenant ? "tenantId, ": "", 
-                            tableDDLOptions);
+                            String.format(tableDDLOptions, autoSeqName));
             conn.createStatement().execute(ddl);
-            conn.createStatement().execute("CREATE SEQUENCE TSDB.metric_id_seq CACHE 1");
+            conn.createStatement().execute("CREATE SEQUENCE " + autoSeqName + " CACHE 1");
+
+            String baseViewName = generateRandomString();
+            String metricView1 = baseViewName + "_VIEW1";
+            String metricView2 = baseViewName + "_VIEW2";
             // create a view
             viewConn1.createStatement().execute(
-                "CREATE VIEW metric1 AS SELECT * FROM hbase.metric_table WHERE val2=1.2");
+                "CREATE VIEW " + metricView1 + " AS SELECT * FROM " + tableName + " WHERE val2=1.2");
             try {
                 // create the same view which should fail
                 viewConn1.createStatement()
-                        .execute("CREATE VIEW metric1 AS SELECT * FROM hbase.metric_table");
+                        .execute("CREATE VIEW " + metricView1 + " AS SELECT * FROM " + tableName);
                 fail("view should already exist");
             } catch (TableAlreadyExistsException e) {
             }
 
             // create a second view (without a where clause)
             viewConn2.createStatement().execute(
-                "CREATE VIEW metric2 AS SELECT * FROM hbase.metric_table");
+                "CREATE VIEW " + metricView2 + " AS SELECT * FROM " +  tableName);
 
             // upsert a row into each view
-            viewConn1.createStatement().execute("UPSERT INTO metric1(val1) VALUES(1.1)");
+            viewConn1.createStatement().execute("UPSERT INTO " + metricView1 + "(val1) VALUES(1.1)");
             viewConn1.commit();
-            viewConn2.createStatement().execute("UPSERT INTO metric2(val1,val2) VALUES(2.1,2.2)");
+            viewConn2.createStatement().execute("UPSERT INTO " + metricView2 + "(val1,val2) VALUES(2.1,2.2)");
             viewConn2.commit();
 
             // query the base table
-            ResultSet rs = conn.createStatement().executeQuery("SELECT * FROM hbase.metric_table");
+            ResultSet rs = conn.createStatement().executeQuery("SELECT * FROM " + tableName);
             assertTrue(rs.next());
             int offset = 0;
             if (isMultiTenant) {
@@ -276,7 +292,7 @@ public class AutoPartitionViewsIT extends BaseHBaseManagedTimeIT {
             assertFalse(rs.next());
 
             // query the first view
-            rs = viewConn1.createStatement().executeQuery("SELECT * FROM metric1");
+            rs = viewConn1.createStatement().executeQuery("SELECT * FROM " + metricView1);
             assertTrue(rs.next());
             assertEquals(1, rs.getInt(1));
             assertEquals(1.1, rs.getDouble(2), 1e-6);
@@ -284,7 +300,7 @@ public class AutoPartitionViewsIT extends BaseHBaseManagedTimeIT {
             assertFalse(rs.next());
 
             // query the second view
-            rs = viewConn2.createStatement().executeQuery("SELECT * FROM metric2");
+            rs = viewConn2.createStatement().executeQuery("SELECT * FROM " + metricView2);
             assertTrue(rs.next());
             assertEquals(2, rs.getInt(1));
             assertEquals(2.1, rs.getDouble(2), 1e-6);
@@ -299,32 +315,37 @@ public class AutoPartitionViewsIT extends BaseHBaseManagedTimeIT {
                 Connection viewConn1 =
                         isMultiTenant ? DriverManager.getConnection(TENANT_SPECIFIC_URL1)
                                 : DriverManager.getConnection(getUrl())) {
+            String tableName = generateRandomString();
+            String autoSeqName = generateRandomString();
+
             String ddl =
                     String.format(
-                        "CREATE TABLE hbase.metric_table (%s metricId INTEGER NOT NULL, val1 DOUBLE, CONSTRAINT PK PRIMARY KEY( %s metricId)) %s",
+                        "CREATE TABLE " + tableName + " (%s metricId INTEGER NOT NULL, val1 DOUBLE, CONSTRAINT PK PRIMARY KEY( %s metricId)) %s",
                             isMultiTenant ? "tenantId VARCHAR NOT NULL, " : "", 
                             isMultiTenant ? "tenantId, ": "", 
-                            tableDDLOptions);
+                            String.format(tableDDLOptions, autoSeqName));
             conn.createStatement().execute(ddl);
-            conn.createStatement().execute("CREATE SEQUENCE TSDB.metric_id_seq CACHE 1");
+            conn.createStatement().execute("CREATE SEQUENCE " + autoSeqName + " CACHE 1");
+
+            String metricView = generateRandomString() + "_VIEW";
             // create a view
             viewConn1.createStatement().execute(
-                "CREATE VIEW metric1 AS SELECT * FROM hbase.metric_table");
+                "CREATE VIEW " + metricView + " AS SELECT * FROM " + tableName);
             
             // add a column to the base table
             conn.createStatement().execute(
-                    "ALTER TABLE hbase.metric_table add val2 DOUBLE");
+                    "ALTER TABLE " + tableName + " add val2 DOUBLE");
             
             // add a column to the view
             viewConn1.createStatement().execute(
-                    "ALTER VIEW metric1 add val3 DOUBLE");
+                    "ALTER VIEW " + metricView + " add val3 DOUBLE");
 
             // upsert a row into the view
-            viewConn1.createStatement().execute("UPSERT INTO metric1(val1,val2,val3) VALUES(1.1,1.2,1.3)");
+            viewConn1.createStatement().execute("UPSERT INTO " + metricView + "(val1,val2,val3) VALUES(1.1,1.2,1.3)");
             viewConn1.commit();
 
             // query the base table
-            ResultSet rs = conn.createStatement().executeQuery("SELECT * FROM hbase.metric_table");
+            ResultSet rs = conn.createStatement().executeQuery("SELECT * FROM " + tableName);
             assertTrue(rs.next());
             int offset = 0;
             if (isMultiTenant) {
@@ -337,7 +358,7 @@ public class AutoPartitionViewsIT extends BaseHBaseManagedTimeIT {
             assertFalse(rs.next());
             
             // query the view
-            rs = viewConn1.createStatement().executeQuery("SELECT * FROM metric1");
+            rs = viewConn1.createStatement().executeQuery("SELECT * FROM " + metricView);
             assertTrue(rs.next());
             assertEquals(1, rs.getInt(1));
             assertEquals(1.1, rs.getDouble(2), 1e-6);
@@ -347,21 +368,21 @@ public class AutoPartitionViewsIT extends BaseHBaseManagedTimeIT {
 
             // drop a column from the base table
             conn.createStatement().execute(
-                    "ALTER TABLE hbase.metric_table DROP COLUMN val2");
+                    "ALTER TABLE " + tableName + " DROP COLUMN val2");
             
             // add a column to the view
             viewConn1.createStatement().execute(
-                    "ALTER VIEW metric1 DROP COLUMN val3");
+                    "ALTER VIEW " + metricView + " DROP COLUMN val3");
             
             // verify columns don't exist
             try {
-                viewConn1.createStatement().executeQuery("SELECT val2 FROM metric1");
+                viewConn1.createStatement().executeQuery("SELECT val2 FROM " + metricView);
                 fail("column should have been dropped");
             }
             catch (ColumnNotFoundException e) {
             }
             try {
-                viewConn1.createStatement().executeQuery("SELECT val3 FROM metric1");
+                viewConn1.createStatement().executeQuery("SELECT val3 FROM " + metricView);
                 fail("column should have been dropped");
             }
             catch (ColumnNotFoundException e) {

http://git-wip-us.apache.org/repos/asf/phoenix/blob/03df8ab5/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseHBaseManagedTimeTableReuseIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseHBaseManagedTimeTableReuseIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseHBaseManagedTimeTableReuseIT.java
index 02ebf98..c40ec59 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseHBaseManagedTimeTableReuseIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseHBaseManagedTimeTableReuseIT.java
@@ -20,6 +20,7 @@ package org.apache.phoenix.end2end;
 
 import javax.annotation.concurrent.NotThreadSafe;
 
+import org.apache.hadoop.conf.Configuration;
 import org.apache.phoenix.query.BaseTest;
 import org.apache.phoenix.util.ReadOnlyProps;
 import org.junit.After;
@@ -47,6 +48,10 @@ import org.junit.experimental.categories.Category;
 @NotThreadSafe
 @Category(HBaseManagedTimeTableReuseTest.class)
 public class BaseHBaseManagedTimeTableReuseIT extends BaseTest {
+    protected static Configuration getTestClusterConfig() {
+        // don't want callers to modify config.
+        return new Configuration(config);
+    }
 
     @BeforeClass
     public static void doSetup() throws Exception {

http://git-wip-us.apache.org/repos/asf/phoenix/blob/03df8ab5/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseQueryIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseQueryIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseQueryIT.java
index aa5068b..9ad12e5 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseQueryIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseQueryIT.java
@@ -18,6 +18,7 @@
 package org.apache.phoenix.end2end;
 
 import static org.apache.phoenix.util.TestUtil.TEST_PROPERTIES;
+import static org.apache.phoenix.util.TestUtil.ATABLE_NAME;
 
 import java.io.IOException;
 import java.sql.Connection;
@@ -29,7 +30,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.Properties;
 import java.util.concurrent.atomic.AtomicInteger;
-
 import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;
 import org.apache.hadoop.hbase.io.ImmutableBytesWritable;
 import org.apache.hadoop.hbase.util.Bytes;
@@ -61,7 +61,7 @@ public abstract class BaseQueryIT extends BaseClientManagedTimeIT {
     protected static final String tenantId = getOrganizationId();
     protected static final String ATABLE_INDEX_NAME = "ATABLE_IDX";
     protected static final long BATCH_SIZE = 3;
-    
+
     @BeforeClass
     @Shadower(classBeingShadowed = BaseClientManagedTimeIT.class)
     public static void doSetup() throws Exception {
@@ -90,7 +90,7 @@ public abstract class BaseQueryIT extends BaseClientManagedTimeIT {
     @Before
     public void initTable() throws Exception {
          ts = nextTimestamp();
-        initATableValues(tenantId, getDefaultSplits(tenantId), date=new Date(System.currentTimeMillis()), ts);
+        initATableValues(ATABLE_NAME, tenantId, getDefaultSplits(tenantId), date=new Date(System.currentTimeMillis()), ts, getUrl());
         if (indexDDL != null && indexDDL.length() > 0) {
             Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
             props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts));

http://git-wip-us.apache.org/repos/asf/phoenix/blob/03df8ab5/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseTenantSpecificViewIndexIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseTenantSpecificViewIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseTenantSpecificViewIndexIT.java
index 04f4268..e0916a9 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseTenantSpecificViewIndexIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseTenantSpecificViewIndexIT.java
@@ -35,7 +35,7 @@ import org.apache.phoenix.util.QueryUtil;
 
 import com.google.common.collect.Lists;
 
-public class BaseTenantSpecificViewIndexIT extends BaseHBaseManagedTimeIT {
+public class BaseTenantSpecificViewIndexIT extends BaseHBaseManagedTimeTableReuseIT {
     
     public static final String TENANT1_ID = "tenant1";
     public static final String TENANT2_ID = "tenant2";
@@ -48,24 +48,26 @@ public class BaseTenantSpecificViewIndexIT extends BaseHBaseManagedTimeIT {
     }
     
     protected void testUpdatableView(Integer saltBuckets, boolean localIndex) throws Exception {
-        createBaseTable("t", saltBuckets, true);
+        String tableName = generateRandomString();
+        createBaseTable(tableName, saltBuckets, true);
         Connection conn = createTenantConnection(TENANT1_ID);
         try {
-            createAndPopulateTenantView(conn, TENANT1_ID, "t", "");
-            createAndVerifyIndex(conn, saltBuckets, TENANT1_ID, "", localIndex);
-            verifyViewData(conn, "");
+            String viewName = createAndPopulateTenantView(conn, TENANT1_ID, tableName, "");
+            createAndVerifyIndex(conn, viewName, tableName, saltBuckets, TENANT1_ID, "", localIndex);
+            verifyViewData(conn, viewName, "");
         } finally {
             try { conn.close();} catch (Exception ignored) {}
         }
     }
 
     protected void testUpdatableViewNonString(Integer saltBuckets, boolean localIndex) throws Exception {
-        createBaseTable("t", saltBuckets, false);
+        String tableName = generateRandomString();
+        createBaseTable(tableName, saltBuckets, false);
         Connection conn = createTenantConnection(NON_STRING_TENANT_ID);
         try {
-            createAndPopulateTenantView(conn, NON_STRING_TENANT_ID, "t", "");
-            createAndVerifyIndexNonStringTenantId(conn, NON_STRING_TENANT_ID, "");
-            verifyViewData(conn, "");
+            String viewName = createAndPopulateTenantView(conn, NON_STRING_TENANT_ID, tableName, "");
+            createAndVerifyIndexNonStringTenantId(conn, viewName, tableName, NON_STRING_TENANT_ID, "");
+            verifyViewData(conn, viewName, "");
         } finally {
             try { conn.close();} catch (Exception ignored) {}
         }
@@ -76,7 +78,8 @@ public class BaseTenantSpecificViewIndexIT extends BaseHBaseManagedTimeIT {
     }
 
     protected void testUpdatableViewsWithSameNameDifferentTenants(Integer saltBuckets, boolean localIndex) throws Exception {
-        createBaseTable("t", saltBuckets, true);
+        String tableName = generateRandomString();
+        createBaseTable(tableName, saltBuckets, true);
         Connection conn1 = createTenantConnection(TENANT1_ID);
         Connection conn2 = createTenantConnection(TENANT2_ID);
         try {
@@ -84,14 +87,14 @@ public class BaseTenantSpecificViewIndexIT extends BaseHBaseManagedTimeIT {
             String prefixForTenant2Data = "TII";
             
             // tenant views with same name for two different tables
-            createAndPopulateTenantView(conn1, TENANT1_ID, "t", prefixForTenant1Data);
-            createAndPopulateTenantView(conn2, TENANT2_ID, "t", prefixForTenant2Data);
+            String viewName1 = createAndPopulateTenantView(conn1, TENANT1_ID, tableName, prefixForTenant1Data);
+            String viewName2 = createAndPopulateTenantView(conn2, TENANT2_ID, tableName, prefixForTenant2Data);
             
-            createAndVerifyIndex(conn1, saltBuckets, TENANT1_ID, prefixForTenant1Data, localIndex);
-            createAndVerifyIndex(conn2, saltBuckets, TENANT2_ID, prefixForTenant2Data, localIndex);
+            createAndVerifyIndex(conn1, viewName1, tableName, saltBuckets, TENANT1_ID, prefixForTenant1Data, localIndex);
+            createAndVerifyIndex(conn2, viewName2, tableName, saltBuckets, TENANT2_ID, prefixForTenant2Data, localIndex);
             
-            verifyViewData(conn1, prefixForTenant1Data);
-            verifyViewData(conn2, prefixForTenant2Data);
+            verifyViewData(conn1, viewName1, prefixForTenant1Data);
+            verifyViewData(conn2, viewName2, prefixForTenant2Data);
         } finally {
             try { conn1.close();} catch (Exception ignored) {}
             try { conn2.close();} catch (Exception ignored) {}
@@ -111,51 +114,56 @@ public class BaseTenantSpecificViewIndexIT extends BaseHBaseManagedTimeIT {
         conn.close();
     }
     
-    private void createAndPopulateTenantView(Connection conn, String tenantId, String baseTable, String valuePrefix) throws SQLException {
-        String ddl = "CREATE VIEW v(v2 VARCHAR) AS SELECT * FROM " + baseTable + " WHERE k1 = 1";
+    private String createAndPopulateTenantView(Connection conn, String tenantId, String baseTable, String valuePrefix) throws SQLException {
+        String viewName = generateRandomString();
+        String ddl = "CREATE VIEW " + viewName + "(v2 VARCHAR) AS SELECT * FROM " + baseTable + " WHERE k1 = 1";
         conn.createStatement().execute(ddl);
-        tenantViewsToDelete.add(new Pair<String, String>(tenantId, "v"));
+        tenantViewsToDelete.add(new Pair<String, String>(tenantId, viewName ));
         for (int i = 0; i < 10; i++) {
-            conn.createStatement().execute("UPSERT INTO v(k2,v1,v2) VALUES(" + i + ",'" + valuePrefix + "v1-" + (i%5) + "','" + valuePrefix + "v2-" + (i%2) + "')");
+            conn.createStatement().execute("UPSERT INTO " + viewName + "(k2,v1,v2) VALUES(" + i + ",'" + valuePrefix + "v1-" + (i%5) + "','" + valuePrefix + "v2-" + (i%2) + "')");
         }
         conn.commit();
+        return viewName;
     }
     
-    private void createAndVerifyIndex(Connection conn, Integer saltBuckets, String tenantId, String valuePrefix, boolean localIndex) throws SQLException {
+    private void createAndVerifyIndex(Connection conn, String viewName, String tableName, Integer saltBuckets, String tenantId, String valuePrefix, boolean localIndex) throws SQLException {
+        String indexName = generateRandomString();
         if(localIndex){
-            conn.createStatement().execute("CREATE LOCAL INDEX i ON v(v2)");
+            conn.createStatement().execute("CREATE LOCAL INDEX " + indexName + " ON " + viewName + "(v2)");
         } else {
-            conn.createStatement().execute("CREATE INDEX i ON v(v2)");
+            conn.createStatement().execute("CREATE INDEX " + indexName + " ON " + viewName + "(v2)");
         }
-        conn.createStatement().execute("UPSERT INTO v(k2,v1,v2) VALUES (-1, 'blah', 'superblah')"); // sanity check that we can upsert after index is there
+        conn.createStatement().execute("UPSERT INTO " + viewName + "(k2,v1,v2) VALUES (-1, 'blah', 'superblah')"); // sanity check that we can upsert after index is there
         conn.commit();
-        ResultSet rs = conn.createStatement().executeQuery("EXPLAIN SELECT k1, k2, v2 FROM v WHERE v2='" + valuePrefix + "v2-1'");
+        ResultSet rs = conn.createStatement().executeQuery("EXPLAIN SELECT k1, k2, v2 FROM " + viewName + " WHERE v2='" + valuePrefix + "v2-1'");
         if(localIndex){
             assertEquals(saltBuckets == null ? 
-                    "CLIENT PARALLEL 1-WAY RANGE SCAN OVER T [1,'" + tenantId + "','" + valuePrefix + "v2-1']\n"
+                    "CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + tableName + " [1,'" + tenantId + "','" + valuePrefix + "v2-1']\n"
                             + "    SERVER FILTER BY FIRST KEY ONLY\n"
                             + "CLIENT MERGE SORT" :
-                    "CLIENT PARALLEL 3-WAY RANGE SCAN OVER T [1,'" + tenantId + "','" + valuePrefix + "v2-1']\n"
+                    "CLIENT PARALLEL 3-WAY RANGE SCAN OVER " + tableName + " [1,'" + tenantId + "','" + valuePrefix + "v2-1']\n"
                             + "    SERVER FILTER BY FIRST KEY ONLY\n"
                             + "CLIENT MERGE SORT", QueryUtil.getExplainPlan(rs));
         } else {
             String expected = saltBuckets == null ? 
-                    "CLIENT PARALLEL 1-WAY RANGE SCAN OVER _IDX_T [-32768,'" + tenantId + "','" + valuePrefix + "v2-1']\n"
+                    "CLIENT PARALLEL 1-WAY RANGE SCAN OVER _IDX_" + tableName + " [-32768,'" + tenantId + "','" + valuePrefix + "v2-1']\n"
                             + "    SERVER FILTER BY FIRST KEY ONLY" :
-                    "CLIENT PARALLEL 3-WAY RANGE SCAN OVER _IDX_T [0,-32768,'" + tenantId + "','" + valuePrefix + "v2-1'] - ["+(saltBuckets.intValue()-1)+",-32768,'" + tenantId + "','" + valuePrefix + "v2-1']\n"
+                    "CLIENT PARALLEL 3-WAY RANGE SCAN OVER _IDX_" + tableName + " [0,-32768,'" + tenantId + "','" + valuePrefix + "v2-1'] - ["+(saltBuckets.intValue()-1)+",-32768,'" + tenantId + "','" + valuePrefix + "v2-1']\n"
+
                   + "    SERVER FILTER BY FIRST KEY ONLY\n"
                   + "CLIENT MERGE SORT";
             assertEquals(expected, QueryUtil.getExplainPlan(rs));
         }
     }
 
-    private void createAndVerifyIndexNonStringTenantId(Connection conn, String tenantId, String valuePrefix) throws SQLException {
-        conn.createStatement().execute("CREATE LOCAL INDEX i ON v(v2)");
-        conn.createStatement().execute("UPSERT INTO v(k2,v1,v2) VALUES (-1, 'blah', 'superblah')"); // sanity check that we can upsert after index is there
+    private void createAndVerifyIndexNonStringTenantId(Connection conn, String viewName, String tableName, String tenantId, String valuePrefix) throws SQLException {
+        String indexName = generateRandomString();
+        conn.createStatement().execute("CREATE LOCAL INDEX " + indexName + " ON " + viewName + "(v2)");
+        conn.createStatement().execute("UPSERT INTO " + viewName + "(k2,v1,v2) VALUES (-1, 'blah', 'superblah')"); // sanity check that we can upsert after index is there
         conn.commit();
-        ResultSet rs = conn.createStatement().executeQuery("EXPLAIN SELECT k1, k2, v2 FROM v WHERE v2='" + valuePrefix + "v2-1'");
+        ResultSet rs = conn.createStatement().executeQuery("EXPLAIN SELECT k1, k2, v2 FROM " + viewName + " WHERE v2='" + valuePrefix + "v2-1'");
         assertEquals(
-                "CLIENT PARALLEL 1-WAY RANGE SCAN OVER T [1," + tenantId + ",'" + valuePrefix + "v2-1']\n"
+                "CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + tableName + " [1," + tenantId + ",'" + valuePrefix + "v2-1']\n"
                         + "    SERVER FILTER BY FIRST KEY ONLY\n"
                         + "CLIENT MERGE SORT", QueryUtil.getExplainPlan(rs));
     }
@@ -167,8 +175,8 @@ public class BaseTenantSpecificViewIndexIT extends BaseHBaseManagedTimeIT {
     }
     
     @SuppressWarnings("unchecked")
-    private void verifyViewData(Connection conn, String valuePrefix) throws SQLException {
-        String query = "SELECT k1, k2, v2 FROM v WHERE v2='" + valuePrefix + "v2-1'";
+    private void verifyViewData(Connection conn, String viewName, String valuePrefix) throws SQLException {
+        String query = "SELECT k1, k2, v2 FROM " + viewName + " WHERE v2='" + valuePrefix + "v2-1'";
         ResultSet rs = conn.createStatement().executeQuery(query);
         List<List<Object>> expectedResultsA = Lists.newArrayList(
             Arrays.<Object>asList(1,1, valuePrefix + "v2-1"),

http://git-wip-us.apache.org/repos/asf/phoenix/blob/03df8ab5/phoenix-core/src/it/java/org/apache/phoenix/end2end/BinaryRowKeyIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/BinaryRowKeyIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/BinaryRowKeyIT.java
index 544284d..5f656e9 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/BinaryRowKeyIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/BinaryRowKeyIT.java
@@ -34,15 +34,16 @@ import org.apache.phoenix.util.PropertiesUtil;
 import org.junit.Test;
 
 
-public class BinaryRowKeyIT extends BaseHBaseManagedTimeIT {
+public class BinaryRowKeyIT extends BaseHBaseManagedTimeTableReuseIT {
 
-    private static void initTableValues() throws SQLException {
+    private static void initTableValues(String tableName) throws SQLException {
         Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
         Connection conn = DriverManager.getConnection(getUrl(), props);
         conn.setAutoCommit(false);
         
         try {
-            String ddl = "CREATE TABLE test_table" +
+
+            String ddl = "CREATE TABLE " + tableName +
                     "   (a_binary binary(10) not null, \n" +
                     "    a_string varchar not null, \n" +
                     "    b_binary varbinary \n" +
@@ -52,7 +53,7 @@ public class BinaryRowKeyIT extends BaseHBaseManagedTimeIT {
             String query;
             PreparedStatement stmt;
             
-            query = "UPSERT INTO test_table"
+            query = "UPSERT INTO " + tableName
                     + "(a_binary, a_string) "
                     + "VALUES(?,?)";
             stmt = conn.prepareStatement(query);
@@ -76,11 +77,12 @@ public class BinaryRowKeyIT extends BaseHBaseManagedTimeIT {
         Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
         Connection conn = DriverManager.getConnection(getUrl(), props);
         try {
-            initTableValues();
+            String tableName = generateRandomString();
+            initTableValues(tableName);
             conn.setAutoCommit(true);
-            conn.createStatement().execute("DELETE FROM test_table");
+            conn.createStatement().execute("DELETE FROM " + tableName );
            
-            String query = "UPSERT INTO test_table"
+            String query = "UPSERT INTO " + tableName
                     + "(a_binary, a_string) "
                     + "VALUES(?,?)";
             PreparedStatement stmt = conn.prepareStatement(query);
@@ -88,7 +90,7 @@ public class BinaryRowKeyIT extends BaseHBaseManagedTimeIT {
             stmt.setString(2, "a");
             stmt.execute();
             
-            ResultSet rs = conn.createStatement().executeQuery("SELECT a_string FROM test_table");
+            ResultSet rs = conn.createStatement().executeQuery("SELECT a_string FROM " + tableName);
             assertTrue(rs.next());
             assertEquals("a",rs.getString(1));
             assertFalse(rs.next());
@@ -103,9 +105,9 @@ public class BinaryRowKeyIT extends BaseHBaseManagedTimeIT {
         Connection conn = DriverManager.getConnection(getUrl(), props);
         
         try {
-            initTableValues();
-            
-            String query = "SELECT * FROM test_table";
+            String tableName = generateRandomString();
+            initTableValues(tableName);
+            String query = "SELECT * FROM " + tableName;
             PreparedStatement stmt = conn.prepareStatement(query);
             ResultSet rs = stmt.executeQuery();
             
@@ -129,15 +131,16 @@ public class BinaryRowKeyIT extends BaseHBaseManagedTimeIT {
         Connection conn = DriverManager.getConnection(getUrl(), props);
         
         try {
-            initTableValues();
+            String tableName = generateRandomString();
+            initTableValues(tableName);
             
-            String query = "UPSERT INTO test_table (a_binary, a_string, b_binary) "
-                    + " SELECT a_binary, a_string, a_binary FROM test_table";
+            String query = "UPSERT INTO " + tableName + " (a_binary, a_string, b_binary) "
+                    + " SELECT a_binary, a_string, a_binary FROM " + tableName;
             PreparedStatement stmt = conn.prepareStatement(query);
             stmt.execute();
             conn.commit();
             
-            query = "SELECT a_binary, b_binary FROM test_table";
+            query = "SELECT a_binary, b_binary FROM " + tableName;
             stmt = conn.prepareStatement(query);
             ResultSet rs = stmt.executeQuery();