From 38983c503162b6cdaf592438c9f1caab341c975d Mon Sep 17 00:00:00 2001 From: prakul agarwal Date: Fri, 24 Jun 2016 12:32:06 -0700 Subject: [PATCH 01/17] test cases optimized using BaseHBaseManagedTimeTableReuseIT Please enter the commit message for your changes. Lines starting --- .../end2end/AlterTableWithViewsIT.java | 184 ++++++++++-------- .../phoenix/end2end/BinaryRowKeyIT.java | 33 ++-- .../phoenix/end2end/ModulusExpressionIT.java | 45 +++-- .../phoenix/end2end/TenantIdTypeIT.java | 5 +- 4 files changed, 148 insertions(+), 119 deletions(-) diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java index ea376de8b19..b54d24bbd5a 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java @@ -56,7 +56,7 @@ import com.google.common.collect.Maps; @RunWith(Parameterized.class) -public class AlterTableWithViewsIT extends BaseHBaseManagedTimeIT { +public class AlterTableWithViewsIT extends BaseHBaseManagedTimeTableReuseIT { private final boolean isMultiTenant; @@ -89,49 +89,53 @@ private String generateDDL(String format) { public void testAddNewColumnsToBaseTableWithViews() throws Exception { try (Connection conn = DriverManager.getConnection(getUrl()); Connection viewConn = isMultiTenant ? DriverManager.getConnection(TENANT_SPECIFIC_URL1) : conn ) { - String ddlFormat = "CREATE TABLE IF NOT EXISTS TABLEWITHVIEW (" + String tableName = generateRandomString(); + String viewOfTable = tableName + "_view"; + String ddlFormat = "CREATE TABLE IF NOT EXISTS " + tableName + " (" + " %s ID char(1) NOT NULL," + " COL1 integer NOT NULL," + " COL2 bigint NOT NULL," + " CONSTRAINT NAME_PK PRIMARY KEY (%s ID, COL1, COL2)" + " ) %s"; conn.createStatement().execute(generateDDL(ddlFormat)); - assertTableDefinition(conn, "TABLEWITHVIEW", PTableType.TABLE, null, 0, 3, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, "ID", "COL1", "COL2"); + assertTableDefinition(conn, tableName, PTableType.TABLE, null, 0, 3, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, "ID", "COL1", "COL2"); - viewConn.createStatement().execute("CREATE VIEW VIEWOFTABLE ( VIEW_COL1 DECIMAL(10,2), VIEW_COL2 VARCHAR ) AS SELECT * FROM TABLEWITHVIEW"); - assertTableDefinition(conn, "VIEWOFTABLE", PTableType.VIEW, "TABLEWITHVIEW", 0, 5, 3, "ID", "COL1", "COL2", "VIEW_COL1", "VIEW_COL2"); + viewConn.createStatement().execute("CREATE VIEW " + viewOfTable + " ( VIEW_COL1 DECIMAL(10,2), VIEW_COL2 VARCHAR ) AS SELECT * FROM " + tableName); + assertTableDefinition(conn, viewOfTable, PTableType.VIEW, tableName, 0, 5, 3, "ID", "COL1", "COL2", "VIEW_COL1", "VIEW_COL2"); // adding a new pk column and a new regular column - conn.createStatement().execute("ALTER TABLE TABLEWITHVIEW ADD COL3 varchar(10) PRIMARY KEY, COL4 integer"); - assertTableDefinition(conn, "TABLEWITHVIEW", PTableType.TABLE, null, 1, 5, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, "ID", "COL1", "COL2", "COL3", "COL4"); - assertTableDefinition(conn, "VIEWOFTABLE", PTableType.VIEW, "TABLEWITHVIEW", 1, 7, 5, "ID", "COL1", "COL2", "COL3", "COL4", "VIEW_COL1", "VIEW_COL2"); + conn.createStatement().execute("ALTER TABLE " + tableName + " ADD COL3 varchar(10) PRIMARY KEY, COL4 integer"); + assertTableDefinition(conn, tableName, PTableType.TABLE, null, 1, 5, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, "ID", "COL1", "COL2", "COL3", "COL4"); + assertTableDefinition(conn, viewOfTable, PTableType.VIEW, tableName, 1, 7, 5, "ID", "COL1", "COL2", "COL3", "COL4", "VIEW_COL1", "VIEW_COL2"); } } @Test public void testDropColumnsFromBaseTableWithView() throws Exception { try (Connection conn = DriverManager.getConnection(getUrl()); - Connection viewConn = isMultiTenant ? DriverManager.getConnection(TENANT_SPECIFIC_URL1) : conn ) { - String ddlFormat = "CREATE TABLE IF NOT EXISTS TABLEWITHVIEW (" + " %s ID char(1) NOT NULL," + Connection viewConn = isMultiTenant ? DriverManager.getConnection(TENANT_SPECIFIC_URL1) : conn ) { + String tableName = generateRandomString(); + String viewOfTable = tableName + "_view"; + String ddlFormat = "CREATE TABLE IF NOT EXISTS " + tableName + " (" + " %s ID char(1) NOT NULL," + " COL1 integer NOT NULL," + " COL2 bigint NOT NULL," + " COL3 varchar(10)," + " COL4 varchar(10)," + " COL5 varchar(10)," + " CONSTRAINT NAME_PK PRIMARY KEY (%s ID, COL1, COL2)" + " ) %s"; conn.createStatement().execute(generateDDL(ddlFormat)); - assertTableDefinition(conn, "TABLEWITHVIEW", PTableType.TABLE, null, 0, 6, + assertTableDefinition(conn, tableName, PTableType.TABLE, null, 0, 6, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, "ID", "COL1", "COL2", "COL3", "COL4", "COL5"); viewConn.createStatement() .execute( - "CREATE VIEW VIEWOFTABLE ( VIEW_COL1 DECIMAL(10,2), VIEW_COL2 VARCHAR ) AS SELECT * FROM TABLEWITHVIEW"); - assertTableDefinition(conn, "VIEWOFTABLE", PTableType.VIEW, "TABLEWITHVIEW", 0, 8, 6, + "CREATE VIEW " + viewOfTable + " ( VIEW_COL1 DECIMAL(10,2), VIEW_COL2 VARCHAR ) AS SELECT * FROM " + tableName); + assertTableDefinition(conn, viewOfTable, PTableType.VIEW, tableName, 0, 8, 6, "ID", "COL1", "COL2", "COL3", "COL4", "COL5", "VIEW_COL1", "VIEW_COL2"); // drop two columns from the base table - conn.createStatement().execute("ALTER TABLE TABLEWITHVIEW DROP COLUMN COL3, COL5"); - assertTableDefinition(conn, "TABLEWITHVIEW", PTableType.TABLE, null, 1, 4, + conn.createStatement().execute("ALTER TABLE " + tableName + " DROP COLUMN COL3, COL5"); + assertTableDefinition(conn, tableName, PTableType.TABLE, null, 1, 4, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, "ID", "COL1", "COL2", "COL4"); - assertTableDefinition(conn, "VIEWOFTABLE", PTableType.VIEW, "TABLEWITHVIEW", 1, 6, 4, + assertTableDefinition(conn, viewOfTable, PTableType.VIEW, tableName, 1, 6, 4, "ID", "COL1", "COL2", "COL4", "VIEW_COL1", "VIEW_COL2"); } } @@ -142,20 +146,23 @@ public void testAddExistingViewColumnToBaseTableWithViews() throws Exception { Connection viewConn = isMultiTenant ? DriverManager.getConnection(TENANT_SPECIFIC_URL1) : conn ) { conn.setAutoCommit(false); viewConn.setAutoCommit(false); - String ddlFormat = "CREATE TABLE IF NOT EXISTS TABLEWITHVIEW (" + String tableName = generateRandomString(); + String viewOfTable = tableName + "_view"; + + String ddlFormat = "CREATE TABLE IF NOT EXISTS " + tableName + " (" + " %s ID char(10) NOT NULL," + " COL1 integer NOT NULL," + " COL2 bigint NOT NULL," + " CONSTRAINT NAME_PK PRIMARY KEY (%s ID, COL1, COL2)" + " ) %s"; conn.createStatement().execute(generateDDL(ddlFormat)); - assertTableDefinition(conn, "TABLEWITHVIEW", PTableType.TABLE, null, 0, 3, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, "ID", "COL1", "COL2"); + assertTableDefinition(conn, tableName, PTableType.TABLE, null, 0, 3, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, "ID", "COL1", "COL2"); - viewConn.createStatement().execute("CREATE VIEW VIEWOFTABLE ( VIEW_COL1 DECIMAL(10,2), VIEW_COL2 VARCHAR(256), VIEW_COL3 VARCHAR, VIEW_COL4 DECIMAL, VIEW_COL5 DECIMAL(10,2), VIEW_COL6 VARCHAR, CONSTRAINT pk PRIMARY KEY (VIEW_COL5, VIEW_COL6) ) AS SELECT * FROM TABLEWITHVIEW"); - assertTableDefinition(conn, "VIEWOFTABLE", PTableType.VIEW, "TABLEWITHVIEW", 0, 9, 3, "ID", "COL1", "COL2", "VIEW_COL1", "VIEW_COL2", "VIEW_COL3", "VIEW_COL4", "VIEW_COL5", "VIEW_COL6"); + viewConn.createStatement().execute("CREATE VIEW " + viewOfTable + " ( VIEW_COL1 DECIMAL(10,2), VIEW_COL2 VARCHAR(256), VIEW_COL3 VARCHAR, VIEW_COL4 DECIMAL, VIEW_COL5 DECIMAL(10,2), VIEW_COL6 VARCHAR, CONSTRAINT pk PRIMARY KEY (VIEW_COL5, VIEW_COL6) ) AS SELECT * FROM " + tableName); + assertTableDefinition(conn,viewOfTable, PTableType.VIEW, tableName, 0, 9, 3, "ID", "COL1", "COL2", "VIEW_COL1", "VIEW_COL2", "VIEW_COL3", "VIEW_COL4", "VIEW_COL5", "VIEW_COL6"); // upsert single row into view - String dml = "UPSERT INTO VIEWOFTABLE VALUES(?,?,?,?,?, ?, ?, ?, ?)"; + String dml = "UPSERT INTO " + viewOfTable + " VALUES(?,?,?,?,?, ?, ?, ?, ?)"; PreparedStatement stmt = viewConn.prepareStatement(dml); stmt.setString(1, "view1"); stmt.setInt(2, 12); @@ -171,7 +178,7 @@ public void testAddExistingViewColumnToBaseTableWithViews() throws Exception { try { // should fail because there is already a view column with same name of different type - conn.createStatement().execute("ALTER TABLE TABLEWITHVIEW ADD VIEW_COL1 char(10)"); + conn.createStatement().execute("ALTER TABLE " + tableName + " ADD VIEW_COL1 char(10)"); fail(); } catch (SQLException e) { @@ -180,7 +187,7 @@ public void testAddExistingViewColumnToBaseTableWithViews() throws Exception { try { // should fail because there is already a view column with same name with different scale - conn.createStatement().execute("ALTER TABLE TABLEWITHVIEW ADD VIEW_COL1 DECIMAL(10,1)"); + conn.createStatement().execute("ALTER TABLE " + tableName + " ADD VIEW_COL1 DECIMAL(10,1)"); fail(); } catch (SQLException e) { @@ -189,7 +196,7 @@ public void testAddExistingViewColumnToBaseTableWithViews() throws Exception { try { // should fail because there is already a view column with same name with different length - conn.createStatement().execute("ALTER TABLE TABLEWITHVIEW ADD VIEW_COL1 DECIMAL(9,2)"); + conn.createStatement().execute("ALTER TABLE " + tableName + " ADD VIEW_COL1 DECIMAL(9,2)"); fail(); } catch (SQLException e) { @@ -198,7 +205,7 @@ public void testAddExistingViewColumnToBaseTableWithViews() throws Exception { try { // should fail because there is already a view column with different length - conn.createStatement().execute("ALTER TABLE TABLEWITHVIEW ADD VIEW_COL2 VARCHAR"); + conn.createStatement().execute("ALTER TABLE " + tableName + " ADD VIEW_COL2 VARCHAR"); fail(); } catch (SQLException e) { @@ -206,16 +213,16 @@ public void testAddExistingViewColumnToBaseTableWithViews() throws Exception { } // validate that there were no columns added to the table or view - assertTableDefinition(conn, "TABLEWITHVIEW", PTableType.TABLE, null, 0, 3, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, "ID", "COL1", "COL2"); - assertTableDefinition(conn, "VIEWOFTABLE", PTableType.VIEW, "TABLEWITHVIEW", 0, 9, 3, "ID", "COL1", "COL2", "VIEW_COL1", "VIEW_COL2", "VIEW_COL3", "VIEW_COL4", "VIEW_COL5", "VIEW_COL6"); + assertTableDefinition(conn, tableName, PTableType.TABLE, null, 0, 3, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, "ID", "COL1", "COL2"); + assertTableDefinition(conn, viewOfTable, PTableType.VIEW, tableName, 0, 9, 3, "ID", "COL1", "COL2", "VIEW_COL1", "VIEW_COL2", "VIEW_COL3", "VIEW_COL4", "VIEW_COL5", "VIEW_COL6"); // should succeed - conn.createStatement().execute("ALTER TABLE TABLEWITHVIEW ADD VIEW_COL4 DECIMAL, VIEW_COL2 VARCHAR(256)"); - assertTableDefinition(conn, "TABLEWITHVIEW", PTableType.TABLE, null, 1, 5, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, "ID", "COL1", "COL2", "VIEW_COL4", "VIEW_COL2"); - assertTableDefinition(conn, "VIEWOFTABLE", PTableType.VIEW, "TABLEWITHVIEW", 1, 9, 5, "ID", "COL1", "COL2", "VIEW_COL4", "VIEW_COL2", "VIEW_COL1", "VIEW_COL3", "VIEW_COL5", "VIEW_COL6"); + conn.createStatement().execute("ALTER TABLE " + tableName + " ADD VIEW_COL4 DECIMAL, VIEW_COL2 VARCHAR(256)"); + assertTableDefinition(conn, tableName, PTableType.TABLE, null, 1, 5, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, "ID", "COL1", "COL2", "VIEW_COL4", "VIEW_COL2"); + assertTableDefinition(conn, viewOfTable, PTableType.VIEW, tableName, 1, 9, 5, "ID", "COL1", "COL2", "VIEW_COL4", "VIEW_COL2", "VIEW_COL1", "VIEW_COL3", "VIEW_COL5", "VIEW_COL6"); // query table - ResultSet rs = stmt.executeQuery("SELECT * FROM TABLEWITHVIEW"); + ResultSet rs = stmt.executeQuery("SELECT * FROM " + tableName); assertTrue(rs.next()); assertEquals("view1", rs.getString("ID")); assertEquals(12, rs.getInt("COL1")); @@ -225,7 +232,7 @@ public void testAddExistingViewColumnToBaseTableWithViews() throws Exception { assertFalse(rs.next()); // query view - rs = stmt.executeQuery("SELECT * FROM VIEWOFTABLE"); + rs = stmt.executeQuery("SELECT * FROM " + viewOfTable); assertTrue(rs.next()); assertEquals("view1", rs.getString("ID")); assertEquals(12, rs.getInt("COL1")); @@ -246,20 +253,23 @@ public void testAddExistingViewPkColumnToBaseTableWithViews() throws Exception { Connection viewConn = isMultiTenant ? DriverManager.getConnection(TENANT_SPECIFIC_URL1) : conn ) { conn.setAutoCommit(false); viewConn.setAutoCommit(false); - String ddlFormat = "CREATE TABLE IF NOT EXISTS TABLEWITHVIEW (" + String tableName = generateRandomString(); + String viewOfTable = tableName + "_view"; + + String ddlFormat = "CREATE TABLE IF NOT EXISTS " + tableName + " (" + " %s ID char(10) NOT NULL," + " COL1 integer NOT NULL," + " COL2 integer NOT NULL," + " CONSTRAINT NAME_PK PRIMARY KEY (%s ID, COL1, COL2)" + " ) %s"; conn.createStatement().execute(generateDDL(ddlFormat)); - assertTableDefinition(conn, "TABLEWITHVIEW", PTableType.TABLE, null, 0, 3, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, "ID", "COL1", "COL2"); + assertTableDefinition(conn, tableName, PTableType.TABLE, null, 0, 3, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, "ID", "COL1", "COL2"); - viewConn.createStatement().execute("CREATE VIEW VIEWOFTABLE ( VIEW_COL1 DECIMAL(10,2), VIEW_COL2 VARCHAR(256) CONSTRAINT pk PRIMARY KEY (VIEW_COL1, VIEW_COL2)) AS SELECT * FROM TABLEWITHVIEW"); - assertTableDefinition(conn, "VIEWOFTABLE", PTableType.VIEW, "TABLEWITHVIEW", 0, 5, 3, "ID", "COL1", "COL2", "VIEW_COL1", "VIEW_COL2"); + viewConn.createStatement().execute("CREATE VIEW " + viewOfTable + " ( VIEW_COL1 DECIMAL(10,2), VIEW_COL2 VARCHAR(256) CONSTRAINT pk PRIMARY KEY (VIEW_COL1, VIEW_COL2)) AS SELECT * FROM " + tableName); + assertTableDefinition(conn, viewOfTable, PTableType.VIEW, tableName, 0, 5, 3, "ID", "COL1", "COL2", "VIEW_COL1", "VIEW_COL2"); // upsert single row into view - String dml = "UPSERT INTO VIEWOFTABLE VALUES(?,?,?,?,?)"; + String dml = "UPSERT INTO " + viewOfTable + " VALUES(?,?,?,?,?)"; PreparedStatement stmt = viewConn.prepareStatement(dml); stmt.setString(1, "view1"); stmt.setInt(2, 12); @@ -271,7 +281,7 @@ public void testAddExistingViewPkColumnToBaseTableWithViews() throws Exception { try { // should fail because there we have to add both VIEW_COL1 and VIEW_COL2 to the pk - conn.createStatement().execute("ALTER TABLE TABLEWITHVIEW ADD VIEW_COL2 VARCHAR(256) PRIMARY KEY"); + conn.createStatement().execute("ALTER TABLE " + tableName + " ADD VIEW_COL2 VARCHAR(256) PRIMARY KEY"); fail(); } catch (SQLException e) { @@ -280,7 +290,7 @@ public void testAddExistingViewPkColumnToBaseTableWithViews() throws Exception { try { // should fail because there we have to add both VIEW_COL1 and VIEW_COL2 to the pk - conn.createStatement().execute("ALTER TABLE TABLEWITHVIEW ADD VIEW_COL1 DECIMAL(10,2) PRIMARY KEY"); + conn.createStatement().execute("ALTER TABLE " + tableName + " ADD VIEW_COL1 DECIMAL(10,2) PRIMARY KEY"); fail(); } catch (SQLException e) { @@ -289,7 +299,7 @@ public void testAddExistingViewPkColumnToBaseTableWithViews() throws Exception { try { // should fail because there we have to add both VIEW_COL1 and VIEW_COL2 to the pk - conn.createStatement().execute("ALTER TABLE TABLEWITHVIEW ADD VIEW_COL1 DECIMAL(10,2), VIEW_COL2 VARCHAR(256) PRIMARY KEY"); + conn.createStatement().execute("ALTER TABLE " + tableName + " ADD VIEW_COL1 DECIMAL(10,2), VIEW_COL2 VARCHAR(256) PRIMARY KEY"); fail(); } catch (SQLException e) { @@ -298,7 +308,7 @@ public void testAddExistingViewPkColumnToBaseTableWithViews() throws Exception { try { // should fail because there we have to add both VIEW_COL1 and VIEW_COL2 to the pk - conn.createStatement().execute("ALTER TABLE TABLEWITHVIEW ADD VIEW_COL1 DECIMAL(10,2) PRIMARY KEY, VIEW_COL2 VARCHAR(256)"); + conn.createStatement().execute("ALTER TABLE " + tableName + " ADD VIEW_COL1 DECIMAL(10,2) PRIMARY KEY, VIEW_COL2 VARCHAR(256)"); fail(); } catch (SQLException e) { @@ -307,7 +317,7 @@ public void testAddExistingViewPkColumnToBaseTableWithViews() throws Exception { try { // should fail because there we have to add both VIEW_COL1 and VIEW_COL2 to the pk in the right order - conn.createStatement().execute("ALTER TABLE TABLEWITHVIEW ADD VIEW_COL2 VARCHAR(256) PRIMARY KEY, VIEW_COL1 DECIMAL(10,2) PRIMARY KEY"); + conn.createStatement().execute("ALTER TABLE " + tableName + " ADD VIEW_COL2 VARCHAR(256) PRIMARY KEY, VIEW_COL1 DECIMAL(10,2) PRIMARY KEY"); fail(); } catch (SQLException e) { @@ -316,7 +326,7 @@ public void testAddExistingViewPkColumnToBaseTableWithViews() throws Exception { try { // should fail because there we have to add both VIEW_COL1 and VIEW_COL2 with the right sort order - conn.createStatement().execute("ALTER TABLE TABLEWITHVIEW ADD VIEW_COL1 DECIMAL(10,2) PRIMARY KEY DESC, VIEW_COL2 VARCHAR(256) PRIMARY KEY"); + conn.createStatement().execute("ALTER TABLE " + tableName + " ADD VIEW_COL1 DECIMAL(10,2) PRIMARY KEY DESC, VIEW_COL2 VARCHAR(256) PRIMARY KEY"); fail(); } catch (SQLException e) { @@ -324,12 +334,12 @@ public void testAddExistingViewPkColumnToBaseTableWithViews() throws Exception { } // add the pk column of the view to the base table - conn.createStatement().execute("ALTER TABLE TABLEWITHVIEW ADD VIEW_COL1 DECIMAL(10,2) PRIMARY KEY, VIEW_COL2 VARCHAR(256) PRIMARY KEY"); - assertTableDefinition(conn, "TABLEWITHVIEW", PTableType.TABLE, null, 1, 5, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, "ID", "COL1", "COL2", "VIEW_COL1", "VIEW_COL2"); - assertTableDefinition(conn, "VIEWOFTABLE", PTableType.VIEW, "TABLEWITHVIEW", 1, 5, 5, "ID", "COL1", "COL2", "VIEW_COL1", "VIEW_COL2"); + conn.createStatement().execute("ALTER TABLE " + tableName + " ADD VIEW_COL1 DECIMAL(10,2) PRIMARY KEY, VIEW_COL2 VARCHAR(256) PRIMARY KEY"); + assertTableDefinition(conn, tableName, PTableType.TABLE, null, 1, 5, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, "ID", "COL1", "COL2", "VIEW_COL1", "VIEW_COL2"); + assertTableDefinition(conn, viewOfTable, PTableType.VIEW, tableName, 1, 5, 5, "ID", "COL1", "COL2", "VIEW_COL1", "VIEW_COL2"); // query table - ResultSet rs = stmt.executeQuery("SELECT * FROM TABLEWITHVIEW"); + ResultSet rs = stmt.executeQuery("SELECT * FROM " + tableName); assertTrue(rs.next()); assertEquals("view1", rs.getString("ID")); assertEquals(12, rs.getInt("COL1")); @@ -339,7 +349,7 @@ public void testAddExistingViewPkColumnToBaseTableWithViews() throws Exception { assertFalse(rs.next()); // query view - rs = stmt.executeQuery("SELECT * FROM VIEWOFTABLE"); + rs = stmt.executeQuery("SELECT * FROM " + viewOfTable); assertTrue(rs.next()); assertEquals("view1", rs.getString("ID")); assertEquals(12, rs.getInt("COL1")); @@ -353,25 +363,28 @@ public void testAddExistingViewPkColumnToBaseTableWithViews() throws Exception { @Test public void testAddExistingViewPkColumnToBaseTableWithMultipleViews() throws Exception { try (Connection conn = DriverManager.getConnection(getUrl()); - Connection viewConn = isMultiTenant ? DriverManager.getConnection(TENANT_SPECIFIC_URL1) : conn ) { - String ddlFormat = "CREATE TABLE IF NOT EXISTS TABLEWITHVIEW (" + Connection viewConn = isMultiTenant ? DriverManager.getConnection(TENANT_SPECIFIC_URL1) : conn ) { + String tableName = generateRandomString(); + String viewOfTable1 = tableName + "_view1"; + String viewOfTable2 = tableName + "_view2"; + String ddlFormat = "CREATE TABLE IF NOT EXISTS " + tableName + "(" + " %s ID char(10) NOT NULL," + " COL1 integer NOT NULL," + " COL2 integer NOT NULL," + " CONSTRAINT NAME_PK PRIMARY KEY (%s ID, COL1, COL2)" + " ) %s"; conn.createStatement().execute(generateDDL(ddlFormat)); - assertTableDefinition(conn, "TABLEWITHVIEW", PTableType.TABLE, null, 0, 3, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, "ID", "COL1", "COL2"); + assertTableDefinition(conn, tableName, PTableType.TABLE, null, 0, 3, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, "ID", "COL1", "COL2"); - viewConn.createStatement().execute("CREATE VIEW VIEWOFTABLE1 ( VIEW_COL1 DECIMAL(10,2), VIEW_COL2 VARCHAR(256) CONSTRAINT pk PRIMARY KEY (VIEW_COL1, VIEW_COL2)) AS SELECT * FROM TABLEWITHVIEW"); - assertTableDefinition(conn, "VIEWOFTABLE1", PTableType.VIEW, "TABLEWITHVIEW", 0, 5, 3, "ID", "COL1", "COL2", "VIEW_COL1", "VIEW_COL2"); + viewConn.createStatement().execute("CREATE VIEW " + viewOfTable1 + " ( VIEW_COL1 DECIMAL(10,2), VIEW_COL2 VARCHAR(256) CONSTRAINT pk PRIMARY KEY (VIEW_COL1, VIEW_COL2)) AS SELECT * FROM " + tableName); + assertTableDefinition(conn, viewOfTable1, PTableType.VIEW, tableName, 0, 5, 3, "ID", "COL1", "COL2", "VIEW_COL1", "VIEW_COL2"); - viewConn.createStatement().execute("CREATE VIEW VIEWOFTABLE2 ( VIEW_COL3 VARCHAR(256), VIEW_COL4 DECIMAL(10,2) CONSTRAINT pk PRIMARY KEY (VIEW_COL3, VIEW_COL4)) AS SELECT * FROM TABLEWITHVIEW"); - assertTableDefinition(conn, "VIEWOFTABLE2", PTableType.VIEW, "TABLEWITHVIEW", 0, 5, 3, "ID", "COL1", "COL2", "VIEW_COL3", "VIEW_COL4"); + viewConn.createStatement().execute("CREATE VIEW " + viewOfTable2 + " ( VIEW_COL3 VARCHAR(256), VIEW_COL4 DECIMAL(10,2) CONSTRAINT pk PRIMARY KEY (VIEW_COL3, VIEW_COL4)) AS SELECT * FROM " + tableName); + assertTableDefinition(conn, viewOfTable2, PTableType.VIEW, tableName, 0, 5, 3, "ID", "COL1", "COL2", "VIEW_COL3", "VIEW_COL4"); try { // should fail because there are two view with different pk columns - conn.createStatement().execute("ALTER TABLE TABLEWITHVIEW ADD VIEW_COL1 DECIMAL PRIMARY KEY, VIEW_COL2 VARCHAR PRIMARY KEY"); + conn.createStatement().execute("ALTER TABLE " + tableName + " ADD VIEW_COL1 DECIMAL PRIMARY KEY, VIEW_COL2 VARCHAR PRIMARY KEY"); fail(); } catch (SQLException e) { @@ -380,7 +393,7 @@ public void testAddExistingViewPkColumnToBaseTableWithMultipleViews() throws Exc try { // should fail because there are two view with different pk columns - conn.createStatement().execute("ALTER TABLE TABLEWITHVIEW ADD VIEW_COL3 VARCHAR PRIMARY KEY, VIEW_COL4 DECIMAL PRIMARY KEY"); + conn.createStatement().execute("ALTER TABLE " + tableName + " ADD VIEW_COL3 VARCHAR PRIMARY KEY, VIEW_COL4 DECIMAL PRIMARY KEY"); fail(); } catch (SQLException e) { @@ -389,7 +402,7 @@ public void testAddExistingViewPkColumnToBaseTableWithMultipleViews() throws Exc try { // should fail because slot positions of pks are different - conn.createStatement().execute("ALTER TABLE TABLEWITHVIEW ADD VIEW_COL1 DECIMAL PRIMARY KEY, VIEW_COL2 VARCHAR PRIMARY KEY, VIEW_COL3 VARCHAR PRIMARY KEY, VIEW_COL4 DECIMAL PRIMARY KEY"); + conn.createStatement().execute("ALTER TABLE " + tableName + " ADD VIEW_COL1 DECIMAL PRIMARY KEY, VIEW_COL2 VARCHAR PRIMARY KEY, VIEW_COL3 VARCHAR PRIMARY KEY, VIEW_COL4 DECIMAL PRIMARY KEY"); fail(); } catch (SQLException e) { @@ -398,7 +411,7 @@ public void testAddExistingViewPkColumnToBaseTableWithMultipleViews() throws Exc try { // should fail because slot positions of pks are different - conn.createStatement().execute("ALTER TABLE TABLEWITHVIEW ADD VIEW_COL3 VARCHAR PRIMARY KEY, VIEW_COL4 DECIMAL PRIMARY KEY, VIEW_COL1 DECIMAL PRIMARY KEY, VIEW_COL2 VARCHAR PRIMARY KEY"); + conn.createStatement().execute("ALTER TABLE " + tableName + " ADD VIEW_COL3 VARCHAR PRIMARY KEY, VIEW_COL4 DECIMAL PRIMARY KEY, VIEW_COL1 DECIMAL PRIMARY KEY, VIEW_COL2 VARCHAR PRIMARY KEY"); fail(); } catch (SQLException e) { @@ -415,23 +428,26 @@ public void testAddExistingViewPkColumnToBaseTableWithMultipleViewsHavingSamePks conn.setAutoCommit(false); viewConn.setAutoCommit(false); viewConn2.setAutoCommit(false); - String ddlFormat = "CREATE TABLE IF NOT EXISTS TABLEWITHVIEW (" + String tableName = generateRandomString(); + String viewOfTable1 = tableName + "_view1"; + String viewOfTable2 = tableName + "_view2"; + String ddlFormat = "CREATE TABLE IF NOT EXISTS " + tableName + "(" + " %s ID char(10) NOT NULL," + " COL1 integer NOT NULL," + " COL2 integer NOT NULL," + " CONSTRAINT NAME_PK PRIMARY KEY (%s ID, COL1, COL2)" + " ) %s"; conn.createStatement().execute(generateDDL(ddlFormat)); - assertTableDefinition(conn, "TABLEWITHVIEW", PTableType.TABLE, null, 0, 3, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, "ID", "COL1", "COL2"); + assertTableDefinition(conn, tableName, PTableType.TABLE, null, 0, 3, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, "ID", "COL1", "COL2"); - viewConn.createStatement().execute("CREATE VIEW VIEWOFTABLE1 ( VIEW_COL1 DECIMAL(10,2), VIEW_COL2 VARCHAR(256) CONSTRAINT pk PRIMARY KEY (VIEW_COL1, VIEW_COL2)) AS SELECT * FROM TABLEWITHVIEW"); - assertTableDefinition(conn, "VIEWOFTABLE1", PTableType.VIEW, "TABLEWITHVIEW", 0, 5, 3, "ID", "COL1", "COL2", "VIEW_COL1", "VIEW_COL2"); + viewConn.createStatement().execute("CREATE VIEW " + viewOfTable1 + " ( VIEW_COL1 DECIMAL(10,2), VIEW_COL2 VARCHAR(256) CONSTRAINT pk PRIMARY KEY (VIEW_COL1, VIEW_COL2)) AS SELECT * FROM " + tableName); + assertTableDefinition(conn, viewOfTable1, PTableType.VIEW, tableName, 0, 5, 3, "ID", "COL1", "COL2", "VIEW_COL1", "VIEW_COL2"); - viewConn2.createStatement().execute("CREATE VIEW VIEWOFTABLE2 ( VIEW_COL1 DECIMAL(10,2), VIEW_COL2 VARCHAR(256) CONSTRAINT pk PRIMARY KEY (VIEW_COL1, VIEW_COL2)) AS SELECT * FROM TABLEWITHVIEW"); - assertTableDefinition(conn, "VIEWOFTABLE2", PTableType.VIEW, "TABLEWITHVIEW", 0, 5, 3, "ID", "COL1", "COL2", "VIEW_COL1", "VIEW_COL2"); + viewConn2.createStatement().execute("CREATE VIEW " + viewOfTable2 + " ( VIEW_COL1 DECIMAL(10,2), VIEW_COL2 VARCHAR(256) CONSTRAINT pk PRIMARY KEY (VIEW_COL1, VIEW_COL2)) AS SELECT * FROM " + tableName); + assertTableDefinition(conn, viewOfTable2, PTableType.VIEW, tableName, 0, 5, 3, "ID", "COL1", "COL2", "VIEW_COL1", "VIEW_COL2"); // upsert single row into both view - String dml = "UPSERT INTO VIEWOFTABLE1 VALUES(?,?,?,?,?)"; + String dml = "UPSERT INTO " + viewOfTable1 + " VALUES(?,?,?,?,?)"; PreparedStatement stmt = viewConn.prepareStatement(dml); stmt.setString(1, "view1"); stmt.setInt(2, 12); @@ -440,7 +456,7 @@ public void testAddExistingViewPkColumnToBaseTableWithMultipleViewsHavingSamePks stmt.setString(5, "view5"); stmt.execute(); viewConn.commit(); - dml = "UPSERT INTO VIEWOFTABLE2 VALUES(?,?,?,?,?)"; + dml = "UPSERT INTO " + viewOfTable2 + " VALUES(?,?,?,?,?)"; stmt = viewConn2.prepareStatement(dml); stmt.setString(1, "view1"); stmt.setInt(2, 12); @@ -452,7 +468,7 @@ public void testAddExistingViewPkColumnToBaseTableWithMultipleViewsHavingSamePks try { // should fail because the view have two extra columns in their pk - conn.createStatement().execute("ALTER TABLE TABLEWITHVIEW ADD VIEW_COL1 DECIMAL(10,2) PRIMARY KEY"); + conn.createStatement().execute("ALTER TABLE " + tableName + " ADD VIEW_COL1 DECIMAL(10,2) PRIMARY KEY"); fail(); } catch (SQLException e) { @@ -461,7 +477,7 @@ public void testAddExistingViewPkColumnToBaseTableWithMultipleViewsHavingSamePks try { // should fail because the view have two extra columns in their pk - conn.createStatement().execute("ALTER TABLE TABLEWITHVIEW ADD VIEW_COL2 VARCHAR(256) PRIMARY KEY"); + conn.createStatement().execute("ALTER TABLE " + tableName + " ADD VIEW_COL2 VARCHAR(256) PRIMARY KEY"); fail(); } catch (SQLException e) { @@ -470,20 +486,20 @@ public void testAddExistingViewPkColumnToBaseTableWithMultipleViewsHavingSamePks try { // should fail because slot positions of pks are different - conn.createStatement().execute("ALTER TABLE TABLEWITHVIEW ADD VIEW_COL2 DECIMAL(10,2) PRIMARY KEY, VIEW_COL1 VARCHAR(256) PRIMARY KEY"); + conn.createStatement().execute("ALTER TABLE " + tableName + " ADD VIEW_COL2 DECIMAL(10,2) PRIMARY KEY, VIEW_COL1 VARCHAR(256) PRIMARY KEY"); fail(); } catch (SQLException e) { assertEquals("Unexpected exception", CANNOT_MUTATE_TABLE.getErrorCode(), e.getErrorCode()); } - conn.createStatement().execute("ALTER TABLE TABLEWITHVIEW ADD VIEW_COL1 DECIMAL(10,2) PRIMARY KEY, VIEW_COL2 VARCHAR(256) PRIMARY KEY"); - assertTableDefinition(conn, "TABLEWITHVIEW", PTableType.TABLE, null, 1, 5, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, "ID", "COL1", "COL2", "VIEW_COL1", "VIEW_COL2"); - assertTableDefinition(conn, "VIEWOFTABLE1", PTableType.VIEW, "TABLEWITHVIEW", 1, 5, 5, "ID", "COL1", "COL2", "VIEW_COL1", "VIEW_COL2"); - assertTableDefinition(conn, "VIEWOFTABLE2", PTableType.VIEW, "TABLEWITHVIEW", 1, 5, 5, "ID", "COL1", "COL2", "VIEW_COL1", "VIEW_COL2"); + conn.createStatement().execute("ALTER TABLE " + tableName + " ADD VIEW_COL1 DECIMAL(10,2) PRIMARY KEY, VIEW_COL2 VARCHAR(256) PRIMARY KEY"); + assertTableDefinition(conn, tableName, PTableType.TABLE, null, 1, 5, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, "ID", "COL1", "COL2", "VIEW_COL1", "VIEW_COL2"); + assertTableDefinition(conn, viewOfTable1, PTableType.VIEW, tableName, 1, 5, 5, "ID", "COL1", "COL2", "VIEW_COL1", "VIEW_COL2"); + assertTableDefinition(conn, viewOfTable2, PTableType.VIEW, tableName, 1, 5, 5, "ID", "COL1", "COL2", "VIEW_COL1", "VIEW_COL2"); // query table - ResultSet rs = stmt.executeQuery("SELECT * FROM TABLEWITHVIEW"); + ResultSet rs = stmt.executeQuery("SELECT * FROM " + tableName); assertTrue(rs.next()); assertEquals("view1", rs.getString("ID")); assertEquals(12, rs.getInt("COL1")); @@ -493,7 +509,7 @@ public void testAddExistingViewPkColumnToBaseTableWithMultipleViewsHavingSamePks assertFalse(rs.next()); // query both views - rs = viewConn.createStatement().executeQuery("SELECT * FROM VIEWOFTABLE1"); + rs = viewConn.createStatement().executeQuery("SELECT * FROM " + viewOfTable1); assertTrue(rs.next()); assertEquals("view1", rs.getString("ID")); assertEquals(12, rs.getInt("COL1")); @@ -501,7 +517,7 @@ public void testAddExistingViewPkColumnToBaseTableWithMultipleViewsHavingSamePks assertEquals(14, rs.getInt("VIEW_COL1")); assertEquals("view5", rs.getString("VIEW_COL2")); assertFalse(rs.next()); - rs = viewConn2.createStatement().executeQuery("SELECT * FROM VIEWOFTABLE2"); + rs = viewConn2.createStatement().executeQuery("SELECT * FROM " + viewOfTable2); assertTrue(rs.next()); assertEquals("view1", rs.getString("ID")); assertEquals(12, rs.getInt("COL1")); @@ -602,7 +618,7 @@ public void testAlteringViewThatHasChildViews() throws Exception { @Test public void testDivergedViewsStayDiverged() throws Exception { - String baseTable = "testDivergedViewsStayDiverged"; + String baseTable = generateRandomString(); String view1 = baseTable + "_view1"; String view2 = baseTable + "_view2"; try (Connection conn = DriverManager.getConnection(getUrl()); @@ -646,6 +662,8 @@ public void testMakeBaseTableTransactional() throws Exception { try (Connection conn = DriverManager.getConnection(getUrl()); Connection viewConn = isMultiTenant ? DriverManager.getConnection(TENANT_SPECIFIC_URL1) : conn ) { String baseTableName = "NONTXNTBL_" + (isMultiTenant ? "0":"1"); + String tableName = generateRandomString(); + String viewOfTable = tableName + "_view"; String ddlFormat = "CREATE TABLE IF NOT EXISTS " + baseTableName + " (" + " %s ID char(1) NOT NULL," + " COL1 integer NOT NULL," @@ -655,24 +673,24 @@ public void testMakeBaseTableTransactional() throws Exception { conn.createStatement().execute(generateDDL(ddlFormat)); assertTableDefinition(conn, baseTableName, PTableType.TABLE, null, 0, 3, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, "ID", "COL1", "COL2"); - viewConn.createStatement().execute("CREATE VIEW VIEWOFTABLE ( VIEW_COL1 DECIMAL(10,2), VIEW_COL2 VARCHAR ) AS SELECT * FROM "+baseTableName); - assertTableDefinition(conn, "VIEWOFTABLE", PTableType.VIEW, "TABLEWITHVIEW", 0, 5, 3, "ID", "COL1", "COL2", "VIEW_COL1", "VIEW_COL2"); + viewConn.createStatement().execute("CREATE VIEW " + viewOfTable + " ( VIEW_COL1 DECIMAL(10,2), VIEW_COL2 VARCHAR ) AS SELECT * FROM "+baseTableName); + assertTableDefinition(conn, viewOfTable, PTableType.VIEW, tableName, 0, 5, 3, "ID", "COL1", "COL2", "VIEW_COL1", "VIEW_COL2"); PName tenantId = isMultiTenant ? PNameFactory.newName("tenant1") : null; PhoenixConnection phoenixConn = conn.unwrap(PhoenixConnection.class); HTableInterface htable = phoenixConn.getQueryServices().getTable(Bytes.toBytes(baseTableName)); assertFalse(htable.getTableDescriptor().getCoprocessors().contains(PhoenixTransactionalProcessor.class.getName())); assertFalse(phoenixConn.getTable(new PTableKey(null, baseTableName)).isTransactional()); - assertFalse(viewConn.unwrap(PhoenixConnection.class).getTable(new PTableKey(tenantId, "VIEWOFTABLE")).isTransactional()); + assertFalse(viewConn.unwrap(PhoenixConnection.class).getTable(new PTableKey(tenantId, viewOfTable)).isTransactional()); // make the base table transactional conn.createStatement().execute("ALTER TABLE " + baseTableName + " SET TRANSACTIONAL=true"); // query the view to force the table cache to be updated - viewConn.createStatement().execute("SELECT * FROM VIEWOFTABLE"); + viewConn.createStatement().execute("SELECT * FROM " + viewOfTable); htable = phoenixConn.getQueryServices().getTable(Bytes.toBytes(baseTableName)); assertTrue(htable.getTableDescriptor().getCoprocessors().contains(PhoenixTransactionalProcessor.class.getName())); assertTrue(phoenixConn.getTable(new PTableKey(null, baseTableName)).isTransactional()); - assertTrue(viewConn.unwrap(PhoenixConnection.class).getTable(new PTableKey(tenantId, "VIEWOFTABLE")).isTransactional()); + assertTrue(viewConn.unwrap(PhoenixConnection.class).getTable(new PTableKey(tenantId, viewOfTable)).isTransactional()); } } 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 544284d8bd6..5f656e961b7 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.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 @@ private static void initTableValues() throws SQLException { 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 void testInsertPaddedBinaryValue() throws SQLException { 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 void testInsertPaddedBinaryValue() throws SQLException { 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 void testSelectValues() throws SQLException { 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 void testUpsertSelectValues() throws SQLException { 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(); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ModulusExpressionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ModulusExpressionIT.java index 7de85eabda0..8cb061f3bda 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ModulusExpressionIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ModulusExpressionIT.java @@ -32,7 +32,7 @@ import org.junit.Test; -public class ModulusExpressionIT extends BaseHBaseManagedTimeIT { +public class ModulusExpressionIT extends BaseHBaseManagedTimeTableReuseIT { private static final long SMALL_VALUE = 31L; private static final long LARGE_VALUE = 0x5dec6f3847021a9bL; @@ -40,10 +40,11 @@ public class ModulusExpressionIT extends BaseHBaseManagedTimeIT { private static final long[] DIVIDENDS = {Long.MAX_VALUE, LARGE_VALUE, SMALL_VALUE, 0, -SMALL_VALUE, -LARGE_VALUE, Long.MIN_VALUE}; private static final long[] DIVISORS = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 31, 127, 1024}; - private void initTable(Connection conn, long value) throws SQLException { - String ddl = "CREATE TABLE MODULUS_TEST (pk BIGINT NOT NULL PRIMARY KEY, kv BIGINT)"; + private void initTable(Connection conn, long value, String tableName) throws SQLException { + + String ddl = "CREATE TABLE " + tableName + " (pk BIGINT NOT NULL PRIMARY KEY, kv BIGINT)"; conn.createStatement().execute(ddl); - String dml = "UPSERT INTO MODULUS_TEST VALUES(?)"; + String dml = "UPSERT INTO " + tableName + " VALUES(?)"; PreparedStatement stmt = conn.prepareStatement(dml); stmt.setLong(1, value); stmt.execute(); @@ -52,11 +53,12 @@ private void initTable(Connection conn, long value) throws SQLException { private void testDividend(long dividend) throws SQLException { Connection conn = DriverManager.getConnection(getUrl()); - initTable(conn, dividend); - + String tableName = generateRandomString(); + initTable(conn, dividend, tableName); + for(long divisor : DIVISORS) { long remainder = dividend % divisor; - String sql = "SELECT pk % " + divisor + " FROM MODULUS_TEST"; + String sql = "SELECT pk % " + divisor + " FROM " + tableName; ResultSet rs = conn.createStatement().executeQuery(sql); assertTrue(rs.next()); @@ -103,16 +105,17 @@ public void testZeroDividend() throws SQLException { @Test public void testZeroDivisor() throws SQLException { Connection conn = DriverManager.getConnection(getUrl()); - initTable(conn, 0); + String tableName = generateRandomString(); + initTable(conn, 0, tableName); for(long dividend : DIVIDENDS) { try { - String sql = "SELECT " + dividend + " % pk FROM MODULUS_TEST"; + String sql = "SELECT " + dividend + " % pk FROM " + tableName; // workaround for parser not being able to parse Long.MIN_VALUE // see: https://issues.apache.org/jira/browse/PHOENIX-1061 if(dividend == Long.MIN_VALUE) { - sql = "SELECT (" + (dividend + 1) + " + -1) % pk FROM MODULUS_TEST"; + sql = "SELECT (" + (dividend + 1) + " + -1) % pk FROM " + tableName; } ResultSet rs = conn.createStatement().executeQuery(sql); @@ -129,10 +132,11 @@ public void testZeroDivisor() throws SQLException { @Test public void testNullDividend() throws SQLException { Connection conn = DriverManager.getConnection(getUrl()); - initTable(conn, SMALL_VALUE); + String tableName = generateRandomString(); + initTable(conn, SMALL_VALUE, tableName); for(long divisor : DIVISORS) { - String sql = "SELECT kv % " + divisor + " FROM MODULUS_TEST"; + String sql = "SELECT kv % " + divisor + " FROM " + tableName; ResultSet rs = conn.createStatement().executeQuery(sql); assertTrue(rs.next()); @@ -144,15 +148,16 @@ public void testNullDividend() throws SQLException { @Test public void testNullDivisor() throws SQLException { Connection conn = DriverManager.getConnection(getUrl()); - initTable(conn, SMALL_VALUE); + String tableName = generateRandomString(); + initTable(conn, SMALL_VALUE, tableName); for(long dividend : DIVIDENDS) { - String sql = "SELECT " + dividend + " % kv FROM MODULUS_TEST"; + String sql = "SELECT " + dividend + " % kv FROM " + tableName; // workaround for parser not being able to parse Long.MIN_VALUE // see: https://issues.apache.org/jira/browse/PHOENIX-1061 if(dividend == Long.MIN_VALUE) { - sql = "SELECT (" + (dividend + 1) + " + -1) % kv FROM MODULUS_TEST"; + sql = "SELECT (" + (dividend + 1) + " + -1) % kv FROM " + tableName; } ResultSet rs = conn.createStatement().executeQuery(sql); @@ -165,21 +170,23 @@ public void testNullDivisor() throws SQLException { @Test public void testNullEverything() throws SQLException { Connection conn = DriverManager.getConnection(getUrl()); - initTable(conn, SMALL_VALUE); + String tableName = generateRandomString(); + initTable(conn, SMALL_VALUE, tableName); - String sql = "SELECT null % kv FROM MODULUS_TEST"; + String sql = "SELECT null % kv FROM " + tableName; ResultSet rs = conn.createStatement().executeQuery(sql); assertTrue(rs.next()); assertNull(rs.getObject(1)); assertFalse(rs.next()); - sql = "SELECT kv % null FROM MODULUS_TEST"; + sql = "SELECT kv % null FROM " + tableName; rs = conn.createStatement().executeQuery(sql); assertTrue(rs.next()); assertNull(rs.getObject(1)); assertFalse(rs.next()); } - + + } diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantIdTypeIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantIdTypeIT.java index f28436e59ff..e414f53432d 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantIdTypeIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantIdTypeIT.java @@ -38,7 +38,7 @@ import org.junit.runners.Parameterized.Parameters; @RunWith(Parameterized.class) -public class TenantIdTypeIT extends BaseHBaseManagedTimeIT { +public class TenantIdTypeIT extends BaseHBaseManagedTimeTableReuseIT { private Connection regularConnection(String url) throws SQLException { Properties props = new Properties(); @@ -74,7 +74,8 @@ public TenantIdTypeIT(String dataType, String tenantId, String otherTenantId) { this.dataType = dataType; this.tenantId = tenantId; this.otherTenantId = otherTenantId; - String tbl = "foo" + dataType; + String tbl = generateRandomString(); + //String tbl = "foo" + dataType; if(tbl.contains("(")){ tbl = tbl.substring(0, tbl.indexOf("(")); } From 4f5df74e180ea41fbee8821fd76eea5aabc58e8c Mon Sep 17 00:00:00 2001 From: prakul agarwal Date: Fri, 24 Jun 2016 18:21:44 -0700 Subject: [PATCH 02/17] random names for views for reuse --- .../end2end/AlterTableWithViewsIT.java | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java index b54d24bbd5a..dd4ce1759b9 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java @@ -90,7 +90,7 @@ public void testAddNewColumnsToBaseTableWithViews() throws Exception { try (Connection conn = DriverManager.getConnection(getUrl()); Connection viewConn = isMultiTenant ? DriverManager.getConnection(TENANT_SPECIFIC_URL1) : conn ) { String tableName = generateRandomString(); - String viewOfTable = tableName + "_view"; + String viewOfTable = tableName + "_VIEW"; String ddlFormat = "CREATE TABLE IF NOT EXISTS " + tableName + " (" + " %s ID char(1) NOT NULL," + " COL1 integer NOT NULL," @@ -115,7 +115,7 @@ public void testDropColumnsFromBaseTableWithView() throws Exception { try (Connection conn = DriverManager.getConnection(getUrl()); Connection viewConn = isMultiTenant ? DriverManager.getConnection(TENANT_SPECIFIC_URL1) : conn ) { String tableName = generateRandomString(); - String viewOfTable = tableName + "_view"; + String viewOfTable = tableName + "_VIEW"; String ddlFormat = "CREATE TABLE IF NOT EXISTS " + tableName + " (" + " %s ID char(1) NOT NULL," + " COL1 integer NOT NULL," + " COL2 bigint NOT NULL," + " COL3 varchar(10)," + " COL4 varchar(10)," + " COL5 varchar(10)," @@ -147,7 +147,7 @@ public void testAddExistingViewColumnToBaseTableWithViews() throws Exception { conn.setAutoCommit(false); viewConn.setAutoCommit(false); String tableName = generateRandomString(); - String viewOfTable = tableName + "_view"; + String viewOfTable = tableName + "_VIEW"; String ddlFormat = "CREATE TABLE IF NOT EXISTS " + tableName + " (" + " %s ID char(10) NOT NULL," @@ -254,7 +254,7 @@ public void testAddExistingViewPkColumnToBaseTableWithViews() throws Exception { conn.setAutoCommit(false); viewConn.setAutoCommit(false); String tableName = generateRandomString(); - String viewOfTable = tableName + "_view"; + String viewOfTable = tableName + "_VIEW"; String ddlFormat = "CREATE TABLE IF NOT EXISTS " + tableName + " (" + " %s ID char(10) NOT NULL," @@ -365,8 +365,8 @@ public void testAddExistingViewPkColumnToBaseTableWithMultipleViews() throws Exc try (Connection conn = DriverManager.getConnection(getUrl()); Connection viewConn = isMultiTenant ? DriverManager.getConnection(TENANT_SPECIFIC_URL1) : conn ) { String tableName = generateRandomString(); - String viewOfTable1 = tableName + "_view1"; - String viewOfTable2 = tableName + "_view2"; + String viewOfTable1 = tableName + "_VIEW1"; + String viewOfTable2 = tableName + "_VIEW2"; String ddlFormat = "CREATE TABLE IF NOT EXISTS " + tableName + "(" + " %s ID char(10) NOT NULL," + " COL1 integer NOT NULL," @@ -429,8 +429,8 @@ public void testAddExistingViewPkColumnToBaseTableWithMultipleViewsHavingSamePks viewConn.setAutoCommit(false); viewConn2.setAutoCommit(false); String tableName = generateRandomString(); - String viewOfTable1 = tableName + "_view1"; - String viewOfTable2 = tableName + "_view2"; + String viewOfTable1 = tableName + "_VIEW1"; + String viewOfTable2 = tableName + "_VIEW2"; String ddlFormat = "CREATE TABLE IF NOT EXISTS " + tableName + "(" + " %s ID char(10) NOT NULL," + " COL1 integer NOT NULL," @@ -619,8 +619,8 @@ public void testAlteringViewThatHasChildViews() throws Exception { @Test public void testDivergedViewsStayDiverged() throws Exception { String baseTable = generateRandomString(); - String view1 = baseTable + "_view1"; - String view2 = baseTable + "_view2"; + String view1 = baseTable + "_VIEW1"; + String view2 = baseTable + "_VIEW2"; try (Connection conn = DriverManager.getConnection(getUrl()); Connection viewConn = isMultiTenant ? DriverManager.getConnection(TENANT_SPECIFIC_URL1) : conn ; Connection viewConn2 = isMultiTenant ? DriverManager.getConnection(TENANT_SPECIFIC_URL2) : conn) { @@ -661,9 +661,8 @@ public void testDivergedViewsStayDiverged() throws Exception { public void testMakeBaseTableTransactional() throws Exception { try (Connection conn = DriverManager.getConnection(getUrl()); Connection viewConn = isMultiTenant ? DriverManager.getConnection(TENANT_SPECIFIC_URL1) : conn ) { - String baseTableName = "NONTXNTBL_" + (isMultiTenant ? "0":"1"); - String tableName = generateRandomString(); - String viewOfTable = tableName + "_view"; + String baseTableName = "NONTXNTBL_" + generateRandomString() + (isMultiTenant ? "0":"1"); + String viewOfTable = baseTableName + "_VIEW"; String ddlFormat = "CREATE TABLE IF NOT EXISTS " + baseTableName + " (" + " %s ID char(1) NOT NULL," + " COL1 integer NOT NULL," @@ -674,7 +673,7 @@ public void testMakeBaseTableTransactional() throws Exception { assertTableDefinition(conn, baseTableName, PTableType.TABLE, null, 0, 3, QueryConstants.BASE_TABLE_BASE_COLUMN_COUNT, "ID", "COL1", "COL2"); viewConn.createStatement().execute("CREATE VIEW " + viewOfTable + " ( VIEW_COL1 DECIMAL(10,2), VIEW_COL2 VARCHAR ) AS SELECT * FROM "+baseTableName); - assertTableDefinition(conn, viewOfTable, PTableType.VIEW, tableName, 0, 5, 3, "ID", "COL1", "COL2", "VIEW_COL1", "VIEW_COL2"); + assertTableDefinition(conn, viewOfTable, PTableType.VIEW, baseTableName, 0, 5, 3, "ID", "COL1", "COL2", "VIEW_COL1", "VIEW_COL2"); PName tenantId = isMultiTenant ? PNameFactory.newName("tenant1") : null; PhoenixConnection phoenixConn = conn.unwrap(PhoenixConnection.class); From 20748cd22f9d896f8a19e704cb654625d40f65a5 Mon Sep 17 00:00:00 2001 From: prakul agarwal Date: Tue, 5 Jul 2016 20:59:30 -0700 Subject: [PATCH 03/17] added remaining optimized files --- .../phoenix/end2end/AppendOnlySchemaIT.java | 2 +- .../end2end/ArrayPrependFunctionIT.java | 220 ++++++++++-------- .../phoenix/end2end/InstrFunctionIT.java | 48 ++-- .../phoenix/flume/RegexEventSerializerIT.java | 15 +- 4 files changed, 164 insertions(+), 121 deletions(-) diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AppendOnlySchemaIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AppendOnlySchemaIT.java index bc427b6bcee..894f271405d 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AppendOnlySchemaIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AppendOnlySchemaIT.java @@ -58,7 +58,7 @@ import org.mockito.Mockito; public class AppendOnlySchemaIT extends BaseHBaseManagedTimeIT { - + private void createTableWithSameSchema(boolean notExists, boolean sameClient) throws Exception { // use a spyed ConnectionQueryServices so we can verify calls to getTable ConnectionQueryServices connectionQueryServices = 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 3145d957171..f3386d9006b 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.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 @@ private void initTableWithVarArray(Connection conn, String type, Object[] object } - 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 @@ private void initTables(Connection conn) throws Exception { 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 @@ private void initTablesDesc(Connection conn, String type, String val) throws Exc @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 void testArrayPrependFunctionInteger() throws Exception { @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 void testArrayPrependFunctionVarchar() throws Exception { 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 void testArrayPrependFunctionNulls1() throws Exception { 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 void testArrayPrependFunctionNulls2() throws Exception { 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 void testArrayPrependFunctionNulls3() throws Exception { 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 void testArrayPrependFunctionNulls4() throws Exception { @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 void testArrayPrependFunctionDouble() throws Exception { @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 void testArrayPrependFunctionDouble2() throws Exception { @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 void testArrayPrependFunctionBigint() throws Exception { @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 void testArrayPrependFunctionChar() throws Exception { @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 void testArrayPrependFunctionChar2() throws Exception { @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 void testArrayPrependFunctionIntegerToDoubleArray() throws Exception { @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 void testArrayPrependFunctionWithNestedFunctions1() throws Exception { @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 void testArrayPrependFunctionWithNestedFunctions2() throws Exception { @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 void testArrayPrependFunctionWithNestedFunctions3() throws Exception { @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 void testArrayPrependFunctionWithUpsert1() throws Exception { @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 void testArrayPrependFunctionWithUpsert2() throws Exception { @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 void testArrayPrependFunctionWithUpsert3() throws Exception { @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 void testArrayPrependFunctionWithUpsertSelect1() throws Exception { @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 void testArrayPrependFunctionWithUpsertSelect2() throws Exception { @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 void testArrayPrependFunctionInWhere1() throws Exception { @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 void testArrayPrependFunctionInWhere2() throws Exception { @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 void testArrayPrependFunctionInWhere3() throws Exception { @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 void testArrayPrependFunctionInWhere4() throws Exception { @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 void testArrayPrependFunctionInWhere5() throws Exception { @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 void testArrayPrependFunctionInWhere6() throws Exception { @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 void testArrayPrependFunctionInWhere7() throws Exception { @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 void testArrayPrependFunctionCharLimitCheck() throws Exception { @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 void testArrayPrependFunctionIntegerDesc() throws Exception { @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 void testArrayPrependFunctionVarcharDesc() throws Exception { @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 void testArrayPrependFunctionBigIntDesc() throws Exception { @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}; diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/InstrFunctionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/InstrFunctionIT.java index b869ff4d41f..0adcc1057e6 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/InstrFunctionIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/InstrFunctionIT.java @@ -28,11 +28,11 @@ import org.junit.Test; -public class InstrFunctionIT extends BaseHBaseManagedTimeIT { - private void initTable(Connection conn, String sortOrder, String s, String subStr) throws Exception { - String ddl = "CREATE TABLE SAMPLE (name VARCHAR NOT NULL PRIMARY KEY " + sortOrder + ", substr VARCHAR)"; +public class InstrFunctionIT extends BaseHBaseManagedTimeTableReuseIT { + private void initTable(Connection conn, String tableName, String sortOrder, String s, String subStr) throws Exception { + String ddl = "CREATE TABLE " + tableName + " (name VARCHAR NOT NULL PRIMARY KEY " + sortOrder + ", substr VARCHAR)"; conn.createStatement().execute(ddl); - String dml = "UPSERT INTO SAMPLE VALUES(?,?)"; + String dml = "UPSERT INTO " + tableName + " VALUES(?,?)"; PreparedStatement stmt = conn.prepareStatement(dml); stmt.setString(1, s); stmt.setString(2, subStr); @@ -61,56 +61,63 @@ private void testInstrFilter(Connection conn, String queryToExecute, String expe @Test public void testSingleByteInstrAscending() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTable(conn, "ASC", "abcdefghijkl","fgh"); - String queryToExecute = "SELECT INSTR(name, 'fgh') FROM SAMPLE"; + String tableName = generateRandomString(); + initTable(conn, tableName, "ASC", "abcdefghijkl","fgh"); + String queryToExecute = "SELECT INSTR(name, 'fgh') FROM " + tableName; testInstr(conn, queryToExecute, 6); } @Test public void testSingleByteInstrDescending() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTable(conn, "DESC", "abcdefghijkl","fgh"); - String queryToExecute = "SELECT INSTR(name, 'fgh') FROM SAMPLE"; + String tableName = generateRandomString(); + initTable(conn, tableName, "DESC", "abcdefghijkl","fgh"); + String queryToExecute = "SELECT INSTR(name, 'fgh') FROM " + tableName; testInstr(conn, queryToExecute, 6); } @Test public void testSingleByteInstrAscendingNoString() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTable(conn, "ASC", "abcde fghijkl","lmn"); - String queryToExecute = "SELECT INSTR(name, 'lmn') FROM SAMPLE"; + String tableName = generateRandomString(); + initTable(conn, tableName, "ASC", "abcde fghijkl","lmn"); + String queryToExecute = "SELECT INSTR(name, 'lmn') FROM " + tableName; testInstr(conn, queryToExecute, 0); } @Test public void testSingleByteInstrDescendingNoString() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTable(conn, "DESC", "abcde fghijkl","lmn"); - String queryToExecute = "SELECT INSTR(name, 'lmn') FROM SAMPLE"; + String tableName = generateRandomString(); + initTable(conn, tableName, "DESC", "abcde fghijkl","lmn"); + String queryToExecute = "SELECT INSTR(name, 'lmn') FROM " + tableName; testInstr(conn, queryToExecute, 0); } @Test public void testMultiByteInstrAscending() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTable(conn, "ASC", "AɚɦFGH","ɚɦ"); - String queryToExecute = "SELECT INSTR(name, 'ɚɦ') FROM SAMPLE"; + String tableName = generateRandomString(); + initTable(conn, tableName, "ASC", "AɚɦFGH","ɚɦ"); + String queryToExecute = "SELECT INSTR(name, 'ɚɦ') FROM " + tableName; testInstr(conn, queryToExecute, 2); } @Test public void testMultiByteInstrDecending() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTable(conn, "DESC", "AɚɦFGH","ɚɦ"); - String queryToExecute = "SELECT INSTR(name, 'ɚɦ') FROM SAMPLE"; + String tableName = generateRandomString(); + initTable(conn, tableName, "DESC", "AɚɦFGH","ɚɦ"); + String queryToExecute = "SELECT INSTR(name, 'ɚɦ') FROM " + tableName; testInstr(conn, queryToExecute, 2); } @Test public void testByteInstrAscendingFilter() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTable(conn, "ASC", "abcdefghijkl","fgh"); - String queryToExecute = "select NAME from sample where instr(name, 'fgh') > 0"; + String tableName = generateRandomString(); + initTable(conn, tableName, "ASC", "abcdefghijkl","fgh"); + String queryToExecute = "select NAME from " + tableName + " where instr(name, 'fgh') > 0"; testInstrFilter(conn, queryToExecute,"abcdefghijkl"); } @@ -118,8 +125,9 @@ public void testByteInstrAscendingFilter() throws Exception { @Test public void testByteInstrDecendingFilter() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTable(conn, "DESC", "abcdefghijkl","fgh"); - String queryToExecute = "select NAME from sample where instr(name, 'fgh') > 0"; + String tableName = generateRandomString(); + initTable(conn, tableName, "DESC", "abcdefghijkl","fgh"); + String queryToExecute = "select NAME from " + tableName + " where instr(name, 'fgh') > 0"; testInstrFilter(conn, queryToExecute,"abcdefghijkl"); } diff --git a/phoenix-flume/src/it/java/org/apache/phoenix/flume/RegexEventSerializerIT.java b/phoenix-flume/src/it/java/org/apache/phoenix/flume/RegexEventSerializerIT.java index 1c0a836ba88..8cea0f87320 100644 --- a/phoenix-flume/src/it/java/org/apache/phoenix/flume/RegexEventSerializerIT.java +++ b/phoenix-flume/src/it/java/org/apache/phoenix/flume/RegexEventSerializerIT.java @@ -41,6 +41,7 @@ import org.apache.flume.lifecycle.LifecycleState; import org.apache.hadoop.hbase.util.Bytes; import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; +import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.flume.serializer.EventSerializers; import org.apache.phoenix.flume.sink.PhoenixSink; import org.apache.phoenix.util.PropertiesUtil; @@ -51,7 +52,7 @@ import com.google.common.collect.Maps; -public class RegexEventSerializerIT extends BaseHBaseManagedTimeIT { +public class RegexEventSerializerIT extends BaseHBaseManagedTimeTableReuseIT { private Context sinkContext; private PhoenixSink sink; @@ -59,7 +60,7 @@ public class RegexEventSerializerIT extends BaseHBaseManagedTimeIT { @Test public void testKeyGenerator() throws EventDeliveryException, SQLException { - final String fullTableName = "FLUME_TEST"; + final String fullTableName = generateRandomString(); initSinkContextWithDefaults(fullTableName); sink = new PhoenixSink(); @@ -94,7 +95,7 @@ public void testKeyGenerator() throws EventDeliveryException, SQLException { @Test public void testMismatchKeyGenerator() throws EventDeliveryException, SQLException { - final String fullTableName = "FLUME_TEST"; + final String fullTableName = generateRandomString(); initSinkContextWithDefaults(fullTableName); setConfig(FlumeConstants.CONFIG_SERIALIZER_PREFIX + FlumeConstants.CONFIG_ROWKEY_TYPE_GENERATOR,DefaultKeyGenerator.UUID.name()); @@ -127,7 +128,7 @@ public void testMismatchKeyGenerator() throws EventDeliveryException, SQLExcepti @Test public void testMissingColumnsInEvent() throws EventDeliveryException, SQLException { - final String fullTableName = "FLUME_TEST"; + final String fullTableName = generateRandomString(); initSinkContextWithDefaults(fullTableName); sink = new PhoenixSink(); @@ -160,7 +161,7 @@ public void testMissingColumnsInEvent() throws EventDeliveryException, SQLExcept @Test public void testBatchEvents() throws EventDeliveryException, SQLException { - final String fullTableName = "FLUME_TEST"; + final String fullTableName = generateRandomString(); initSinkContextWithDefaults(fullTableName); sink = new PhoenixSink(); @@ -205,7 +206,7 @@ public void testBatchEvents() throws EventDeliveryException, SQLException { public void testApacheLogRegex() throws Exception { sinkContext = new Context (); - final String fullTableName = "s1.apachelogs"; + final String fullTableName = generateRandomString(); final String logRegex = "([^ ]*) ([^ ]*) ([^ ]*) (-|\\[[^\\]]*\\]) \"([^ ]+) ([^ ]+)" + " ([^\"]+)\" (-|[0-9]*) (-|[0-9]*)(?: ([^ \"]*|\"[^\"]*\")" + " ([^ \"]*|\"[^\"]*\"))?"; @@ -280,7 +281,7 @@ public void testApacheLogRegex() throws Exception { public void testEventsWithHeaders() throws Exception { sinkContext = new Context (); - final String fullTableName = "FLUME_TEST"; + final String fullTableName = generateRandomString(); final String ddl = "CREATE TABLE " + fullTableName + " (rowkey VARCHAR not null, col1 varchar , cf1.col2 varchar , host varchar , source varchar \n" + " CONSTRAINT pk PRIMARY KEY (rowkey))\n"; From 2926dc331ca228bbf990ddcc2da000a374f78426 Mon Sep 17 00:00:00 2001 From: prakul agarwal Date: Tue, 19 Jul 2016 08:33:49 -0700 Subject: [PATCH 04/17] changes refactor --- .../AlterMultiTenantTableWithViews.java | 45 ++--- .../phoenix/end2end/AppendOnlySchemaIT.java | 113 ++++++------ .../phoenix/end2end/AutoPartitionViewsIT.java | 131 ++++++++------ .../phoenix/end2end/CoalesceFunctionIT.java | 104 +++++------ .../ColumnProjectionOptimizationIT.java | 2 +- .../apache/phoenix/end2end/DateTimeIT.java | 161 +++++++++--------- .../org/apache/phoenix/end2end/DeleteIT.java | 138 ++++++++------- .../phoenix/end2end/DisableLocalIndexIT.java | 16 +- .../phoenix/end2end/DistinctCountIT.java | 4 +- .../phoenix/end2end/DynamicColumnIT.java | 2 +- .../phoenix/end2end/EncodeFunctionIT.java | 42 ++--- .../apache/phoenix/end2end/FunkyNamesIT.java | 2 +- .../apache/phoenix/end2end/GroupByCaseIT.java | 2 +- .../org/apache/phoenix/end2end/InListIT.java | 41 ++--- .../org/apache/phoenix/end2end/IsNullIT.java | 37 ++-- .../end2end/NamespaceSchemaMappingIT.java | 4 +- .../org/apache/phoenix/end2end/OrderByIT.java | 74 ++++---- .../phoenix/end2end/ParallelIteratorsIT.java | 6 +- .../apache/phoenix/end2end/PercentileIT.java | 93 +++++----- .../phoenix/end2end/PhoenixRuntimeIT.java | 33 ++-- .../phoenix/end2end/ProductMetricsIT.java | 2 +- .../end2end/QueryExecWithoutSCNIT.java | 6 +- .../phoenix/end2end/QueryWithLimitIT.java | 4 +- .../phoenix/end2end/ReadIsolationLevelIT.java | 2 +- .../end2end/RegexpReplaceFunctionIT.java | 17 +- .../end2end/RegexpSubstrFunctionIT.java | 2 +- .../apache/phoenix/end2end/ReverseScanIT.java | 39 ++--- .../phoenix/end2end/SkipScanQueryIT.java | 60 +++---- .../org/apache/phoenix/end2end/StddevIT.java | 18 +- .../org/apache/phoenix/end2end/StringIT.java | 66 +++---- .../apache/phoenix/end2end/SubqueryIT.java | 2 +- .../end2end/SubqueryUsingSortMergeJoinIT.java | 25 +-- .../phoenix/end2end/ToDateFunctionIT.java | 2 +- .../phoenix/end2end/TruncateFunctionIT.java | 2 +- .../phoenix/end2end/UpsertBigValuesIT.java | 12 +- .../phoenix/end2end/UpsertSelectIT.java | 10 +- .../phoenix/end2end/VariableLengthPKIT.java | 4 +- .../index/GlobalIndexOptimizationIT.java | 122 +++++++------ .../end2end/index/IndexExpressionIT.java | 6 +- .../end2end/index/IndexMetadataIT.java | 8 +- .../phoenix/end2end/salted/SaltedTableIT.java | 2 +- .../org/apache/phoenix/rpc/UpdateCacheIT.java | 6 +- .../phoenix/rpc/UpdateCacheWithScnIT.java | 2 +- .../org/apache/phoenix/tx/TransactionIT.java | 2 +- .../phoenix/compile/WhereOptimizerTest.java | 10 +- .../org/apache/phoenix/query/BaseTest.java | 84 +++++---- .../org/apache/phoenix/util/TestUtil.java | 23 +-- 47 files changed, 851 insertions(+), 737 deletions(-) diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterMultiTenantTableWithViews.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterMultiTenantTableWithViews.java index 2cdfe4a91e1..503c4d96434 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterMultiTenantTableWithViews.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterMultiTenantTableWithViews.java @@ -54,7 +54,7 @@ import com.google.common.base.Objects; -public class AlterMultiTenantTableWithViews extends BaseHBaseManagedTimeIT { +public class AlterMultiTenantTableWithViews extends BaseHBaseManagedTimeTableReuseIT { private Connection getTenantConnection(String tenantId) throws Exception { Properties tenantProps = new Properties(); @@ -85,10 +85,11 @@ private static void verifyNewColumns(ResultSet rs, String ... values) throws SQL @Test public void testAddDropColumnToBaseTablePropagatesToEntireViewHierarchy() throws Exception { String baseTable = "testViewHierarchy"; - String view1 = "view1"; - String view2 = "view2"; - String view3 = "view3"; - String view4 = "view4"; + String baseViewName = generateRandomString(); + String view1 = baseViewName + "_VIEW1"; + String view2 = baseViewName + "_VIEW2"; + String view3 = baseViewName + "_VIEW3"; + String view4 = baseViewName + "_VIEW4"; /* baseTable / | \ view1(tenant1) view3(tenant2) view4(global) @@ -170,10 +171,11 @@ public void testAddDropColumnToBaseTablePropagatesToEntireViewHierarchy() throws @Test public void testChangingPKOfBaseTableChangesPKForAllViews() throws Exception { String baseTable = "testChangePKOfBaseTable"; - String view1 = "view1"; - String view2 = "view2"; - String view3 = "view3"; - String view4 = "view4"; + String baseViewName = generateRandomString(); + String view1 = baseViewName + "_VIEW1"; + String view2 = baseViewName + "_VIEW2"; + String view3 = baseViewName + "_VIEW3"; + String view4 = baseViewName + "_VIEW4"; /* baseTable / | \ view1(tenant1) view3(tenant2) view4(global) @@ -267,13 +269,14 @@ private int getIndexOfPkColumn(PhoenixConnection conn, String columnName, String @Test public void testAddPKColumnToBaseTableWhoseViewsHaveIndices() throws Exception { String baseTable = "testAddPKColumnToBaseTableWhoseViewsHaveIndices"; - String view1 = "view1"; - String view2 = "view2"; - String view3 = "view3"; - String tenant1 = "tenant1"; - String tenant2 = "tenant2"; - String view2Index = view2 + "_idx"; - String view3Index = view3 + "_idx"; + String baseViewName = generateRandomString(); + String view1 = baseViewName + "_VIEW1"; + String view2 = baseViewName + "_VIEW2"; + String view3 = baseViewName + "_VIEW3"; + String tenant1 = baseViewName + "_T1"; + String tenant2 = baseViewName + "_T2"; + String view2Index = view2 + "_IDX"; + String view3Index = view3 + "_IDX"; /* baseTable(mutli-tenant) / \ view1(tenant1) view3(tenant2, index) @@ -407,8 +410,8 @@ public void testAddPKColumnToBaseTableWhoseViewsHaveIndices() throws Exception { @Test public void testAddingPkAndKeyValueColumnsToBaseTableWithDivergedView() throws Exception { String baseTable = "testAlteringPkOfBaseTableWithDivergedView".toUpperCase(); - String view1 = "view1".toUpperCase(); - String divergedView = "divergedView".toUpperCase(); + String view1 = generateRandomString(); + String divergedView = generateRandomString(); String divergedViewIndex = divergedView + "_IDX"; /* baseTable / | @@ -487,7 +490,7 @@ public void testAddingPkAndKeyValueColumnsToBaseTableWithDivergedView() throws E @Test public void testAddColumnsToSaltedBaseTableWithViews() throws Exception { String baseTable = "testAddColumnsToSaltedBaseTableWithViews".toUpperCase(); - String view1 = "view1".toUpperCase(); + String view1 = generateRandomString(); try (Connection conn = DriverManager.getConnection(getUrl())) { String baseTableDDL = "CREATE TABLE " + baseTable + " (TENANT_ID VARCHAR NOT NULL, PK1 VARCHAR NOT NULL, V1 VARCHAR, V2 VARCHAR, V3 VARCHAR CONSTRAINT NAME_PK PRIMARY KEY(TENANT_ID, PK1)) MULTI_TENANT = true "; conn.createStatement().execute(baseTableDDL); @@ -517,7 +520,7 @@ public void testAddColumnsToSaltedBaseTableWithViews() throws Exception { @Test public void testDropColumnsFromSaltedBaseTableWithViews() throws Exception { String baseTable = "testDropColumnsFromSaltedBaseTableWithViews".toUpperCase(); - String view1 = "view1".toUpperCase(); + String view1 = generateRandomString(); try (Connection conn = DriverManager.getConnection(getUrl())) { String baseTableDDL = "CREATE TABLE " + baseTable + " (TENANT_ID VARCHAR NOT NULL, PK1 VARCHAR NOT NULL, V1 VARCHAR, V2 VARCHAR, V3 VARCHAR CONSTRAINT NAME_PK PRIMARY KEY(TENANT_ID, PK1)) MULTI_TENANT = true "; conn.createStatement().execute(baseTableDDL); @@ -557,7 +560,7 @@ public void testDropColumnsFromSaltedBaseTableWithViews() throws Exception { @Test public void testAlteringViewConditionallyModifiesHTableMetadata() throws Exception { String baseTable = "testAlteringViewConditionallyModifiesBaseTable".toUpperCase(); - String view1 = "view1".toUpperCase(); + String view1 = generateRandomString(); try (Connection conn = DriverManager.getConnection(getUrl())) { String baseTableDDL = "CREATE TABLE " + baseTable + " (TENANT_ID VARCHAR NOT NULL, PK1 VARCHAR NOT NULL, V1 VARCHAR, V2 VARCHAR, V3 VARCHAR CONSTRAINT NAME_PK PRIMARY KEY(TENANT_ID, PK1)) MULTI_TENANT = true "; conn.createStatement().execute(baseTableDDL); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AppendOnlySchemaIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AppendOnlySchemaIT.java index 523630e358c..017a4774d75 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AppendOnlySchemaIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AppendOnlySchemaIT.java @@ -60,7 +60,7 @@ import org.junit.Test; import org.mockito.Mockito; -public class AppendOnlySchemaIT extends BaseHBaseManagedTimeIT { +public class AppendOnlySchemaIT extends BaseHBaseManagedTimeTableReuseIT { private void testTableWithSameSchema(boolean notExists, boolean sameClient) throws Exception { @@ -74,20 +74,24 @@ private void testTableWithSameSchema(boolean notExists, boolean sameClient) thro try (Connection conn1 = connectionQueryServices.connect(getUrl(), props); Connection conn2 = sameClient ? conn1 : connectionQueryServices.connect(getUrl(), props)) { + + String metricTableName = generateRandomString(); + String viewName = generateRandomString(); + String metricIdSeqTableName = generateRandomString(); // create sequence for auto partition - conn1.createStatement().execute("CREATE SEQUENCE metric_id_seq CACHE 1"); + conn1.createStatement().execute("CREATE SEQUENCE " + metricIdSeqTableName + " CACHE 1"); // create base table - conn1.createStatement().execute("CREATE TABLE metric_table (metricId INTEGER NOT NULL, metricVal DOUBLE, CONSTRAINT PK PRIMARY KEY(metricId))" - + " APPEND_ONLY_SCHEMA = true, UPDATE_CACHE_FREQUENCY=1, AUTO_PARTITION_SEQ=metric_id_seq"); + conn1.createStatement().execute("CREATE TABLE "+ metricTableName + "(metricId INTEGER NOT NULL, metricVal DOUBLE, CONSTRAINT PK PRIMARY KEY(metricId))" + + " APPEND_ONLY_SCHEMA = true, UPDATE_CACHE_FREQUENCY=1, AUTO_PARTITION_SEQ=" + metricIdSeqTableName); // create view String ddl = - "CREATE VIEW " + (notExists ? "IF NOT EXISTS" : "") - + " view1( hostName varchar NOT NULL, tagName varChar" + "CREATE VIEW " + (notExists ? "IF NOT EXISTS " : "") + + viewName + " ( hostName varchar NOT NULL, tagName varChar" + " CONSTRAINT HOSTNAME_PK PRIMARY KEY (hostName))" - + " AS SELECT * FROM metric_table" + + " AS SELECT * FROM " + metricTableName + " APPEND_ONLY_SCHEMA = true, UPDATE_CACHE_FREQUENCY=300000"; conn1.createStatement().execute(ddl); - conn1.createStatement().execute("UPSERT INTO view1(hostName, metricVal) VALUES('host1', 1.0)"); + conn1.createStatement().execute("UPSERT INTO " + viewName + "(hostName, metricVal) VALUES('host1', 1.0)"); conn1.commit(); reset(connectionQueryServices); @@ -105,7 +109,7 @@ private void testTableWithSameSchema(boolean notExists, boolean sameClient) thro } // verify getTable rpcs - verify(connectionQueryServices, sameClient ? never() : times(1)).getTable((PName)isNull(), eq(new byte[0]), eq(Bytes.toBytes("VIEW1")), anyLong(), anyLong()); + verify(connectionQueryServices, sameClient ? never() : times(1)).getTable((PName)isNull(), eq(new byte[0]), eq(Bytes.toBytes(viewName)), anyLong(), anyLong()); // verify no create table rpcs verify(connectionQueryServices, never()).createTable(anyListOf(Mutation.class), @@ -114,7 +118,7 @@ private void testTableWithSameSchema(boolean notExists, boolean sameClient) thro reset(connectionQueryServices); // execute alter table ddl that adds the same column - ddl = "ALTER VIEW view1 ADD " + (notExists ? "IF NOT EXISTS" : "") + " tagName varchar"; + ddl = "ALTER VIEW " + viewName + " ADD " + (notExists ? "IF NOT EXISTS" : "") + " tagName varchar"; try { conn2.createStatement().execute(ddl); if (!notExists) { @@ -132,10 +136,10 @@ private void testTableWithSameSchema(boolean notExists, boolean sameClient) thro verify(connectionQueryServices, notExists ? times(1) : never() ).addColumn(eq(Collections.emptyList()), any(PTable.class), anyMap(), anySetOf(String.class)); // upsert one row - conn2.createStatement().execute("UPSERT INTO view1(hostName, metricVal) VALUES('host2', 2.0)"); + conn2.createStatement().execute("UPSERT INTO " + viewName + "(hostName, metricVal) VALUES('host2', 2.0)"); conn2.commit(); // verify data in base table - ResultSet rs = conn2.createStatement().executeQuery("SELECT * from metric_table"); + ResultSet rs = conn2.createStatement().executeQuery("SELECT * from " + metricTableName); assertTrue(rs.next()); assertEquals(1, rs.getInt(1)); assertEquals(1.0, rs.getDouble(2), 1e-6); @@ -144,7 +148,7 @@ private void testTableWithSameSchema(boolean notExists, boolean sameClient) thro assertEquals(2.0, rs.getDouble(2), 1e-6); assertFalse(rs.next()); // verify data in view - rs = conn2.createStatement().executeQuery("SELECT * from view1"); + rs = conn2.createStatement().executeQuery("SELECT * from " + viewName); assertTrue(rs.next()); assertEquals(1, rs.getInt(1)); assertEquals(1.0, rs.getDouble(2), 1e-6); @@ -181,47 +185,52 @@ private void testAddColumns(boolean sameClient) throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); try (Connection conn1 = DriverManager.getConnection(getUrl(), props); Connection conn2 = sameClient ? conn1 : DriverManager.getConnection(getUrl(), props)) { + + String metricTableName = generateRandomString(); + String viewName = generateRandomString(); + String metricIdSeqTableName = generateRandomString(); + // create sequence for auto partition - conn1.createStatement().execute("CREATE SEQUENCE metric_id_seq CACHE 1"); + conn1.createStatement().execute("CREATE SEQUENCE " + metricIdSeqTableName + " CACHE 1"); // create base table - conn1.createStatement().execute("CREATE TABLE metric_table (metricId INTEGER NOT NULL, metricVal1 DOUBLE, CONSTRAINT PK PRIMARY KEY(metricId))" - + " APPEND_ONLY_SCHEMA = true, UPDATE_CACHE_FREQUENCY=1, AUTO_PARTITION_SEQ=metric_id_seq"); + conn1.createStatement().execute("CREATE TABLE " + metricTableName + " (metricId INTEGER NOT NULL, metricVal1 DOUBLE, CONSTRAINT PK PRIMARY KEY(metricId))" + + " APPEND_ONLY_SCHEMA = true, UPDATE_CACHE_FREQUENCY=1, AUTO_PARTITION_SEQ=" + metricIdSeqTableName); // create view String ddl = - "CREATE VIEW IF NOT EXISTS" - + " view1( hostName varchar NOT NULL," + "CREATE VIEW IF NOT EXISTS " + + viewName + "( hostName varchar NOT NULL," + " CONSTRAINT HOSTNAME_PK PRIMARY KEY (hostName))" - + " AS SELECT * FROM metric_table" + + " AS SELECT * FROM " + metricTableName + " APPEND_ONLY_SCHEMA = true, UPDATE_CACHE_FREQUENCY=300000"; conn1.createStatement().execute(ddl); - conn1.createStatement().execute("UPSERT INTO view1(hostName, metricVal1) VALUES('host1', 1.0)"); + conn1.createStatement().execute("UPSERT INTO " + viewName + "(hostName, metricVal1) VALUES('host1', 1.0)"); conn1.commit(); // execute ddl that creates that same view with an additional pk column and regular column // and also changes the order of the pk columns (which is not respected since we only // allow appending columns) ddl = - "CREATE VIEW IF NOT EXISTS" - + " view1( instanceName varchar, hostName varchar, metricVal2 double, metricVal1 double" + "CREATE VIEW IF NOT EXISTS " + + viewName + "( instanceName varchar, hostName varchar, metricVal2 double, metricVal1 double" + " CONSTRAINT HOSTNAME_PK PRIMARY KEY (instancename, hostName))" - + " AS SELECT * FROM metric_table" + + " AS SELECT * FROM " + metricTableName + " APPEND_ONLY_SCHEMA = true, UPDATE_CACHE_FREQUENCY=300000"; conn2.createStatement().execute(ddl); conn2.createStatement().execute( - "UPSERT INTO view1(hostName, instanceName, metricVal1, metricval2) VALUES('host2', 'instance2', 21.0, 22.0)"); + "UPSERT INTO " + viewName + "(hostName, instanceName, metricVal1, metricval2) VALUES('host2', 'instance2', 21.0, 22.0)"); conn2.commit(); - conn1.createStatement().execute("UPSERT INTO view1(hostName, metricVal1) VALUES('host3', 3.0)"); + conn1.createStatement().execute("UPSERT INTO " + viewName + "(hostName, metricVal1) VALUES('host3', 3.0)"); conn1.commit(); // verify data exists - ResultSet rs = conn2.createStatement().executeQuery("SELECT * from view1"); + ResultSet rs = conn2.createStatement().executeQuery("SELECT * from " + viewName); // verify the two columns were added correctly PTable table = - conn2.unwrap(PhoenixConnection.class).getTable(new PTableKey(null, "VIEW1")); + conn2.unwrap(PhoenixConnection.class).getTable(new PTableKey(null, viewName)); List pkColumns = table.getPKColumns(); assertEquals(3,table.getPKColumns().size()); // even though the second create view statement changed the order of the pk, the original order is maintained @@ -276,36 +285,15 @@ public void testTableAddColumnsDifferentClient() throws Exception { testAddColumns(false); } - public void testCreateTableDropColumns() throws Exception { - Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); - try (Connection conn = DriverManager.getConnection(getUrl(), props)) { - String ddl = - "create table IF NOT EXISTS TEST( id1 char(2) NOT NULL," + " col1 integer," - + " col2 integer," + " CONSTRAINT NAME_PK PRIMARY KEY (id1))" - + " APPEND_ONLY_SCHEMA = true, UPDATE_CACHE_FREQUENCY=300000"; - conn.createStatement().execute(ddl); - conn.createStatement().execute("UPSERT INTO TEST VALUES('a', 11)"); - conn.commit(); - - // execute ddl while dropping a column - ddl = "alter table TEST drop column col1"; - try { - conn.createStatement().execute(ddl); - fail("Dropping a column from a table with APPEND_ONLY_SCHEMA=true should fail"); - } catch (SQLException e) { - assertEquals(SQLExceptionCode.CANNOT_DROP_COL_APPEND_ONLY_SCHEMA.getErrorCode(), - e.getErrorCode()); - } - } - } - @Test public void testValidateAttributes() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); try (Connection conn = DriverManager.getConnection(getUrl(), props)) { + String tableName = generateRandomString(); + String viewName = generateRandomString(); try { conn.createStatement().execute( - "create table IF NOT EXISTS TEST1 ( id char(1) NOT NULL," + "create table IF NOT EXISTS " + tableName + " ( id char(1) NOT NULL," + " col1 integer NOT NULL," + " CONSTRAINT NAME_PK PRIMARY KEY (id, col1))" + " APPEND_ONLY_SCHEMA = true"); @@ -316,13 +304,13 @@ public void testValidateAttributes() throws Exception { } conn.createStatement().execute( - "create table IF NOT EXISTS TEST1 ( id char(1) NOT NULL," + "create table IF NOT EXISTS " + tableName + " ( id char(1) NOT NULL," + " col1 integer NOT NULL" + " CONSTRAINT NAME_PK PRIMARY KEY (id, col1))" + " APPEND_ONLY_SCHEMA = true, UPDATE_CACHE_FREQUENCY=1000"); try { conn.createStatement().execute( - "create view IF NOT EXISTS MY_VIEW (val1 integer NOT NULL) AS SELECT * FROM TEST1" + "create view IF NOT EXISTS " + viewName + " (val1 integer NOT NULL) AS SELECT * FROM " + tableName + " UPDATE_CACHE_FREQUENCY=1000"); fail("APPEND_ONLY_SCHEMA must be true for a view if it is true for the base table "); } @@ -338,25 +326,28 @@ public void testUpsertRowToDeletedTable() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); try (Connection conn1 = DriverManager.getConnection(getUrl(), props); Connection conn2 = DriverManager.getConnection(getUrl(), props)) { + String metricTableName = generateRandomString(); + String viewName = generateRandomString(); + String metricIdSeqTableName = generateRandomString(); // create sequence for auto partition - conn1.createStatement().execute("CREATE SEQUENCE metric_id_seq CACHE 1"); + conn1.createStatement().execute("CREATE SEQUENCE " + metricIdSeqTableName + " CACHE 1"); // create base table - conn1.createStatement().execute("CREATE TABLE metric_table (metricId INTEGER NOT NULL, metricVal DOUBLE, CONSTRAINT PK PRIMARY KEY(metricId))" - + " APPEND_ONLY_SCHEMA = true, UPDATE_CACHE_FREQUENCY=1, AUTO_PARTITION_SEQ=metric_id_seq"); + conn1.createStatement().execute("CREATE TABLE " + metricTableName + " (metricId INTEGER NOT NULL, metricVal DOUBLE, CONSTRAINT PK PRIMARY KEY(metricId))" + + " APPEND_ONLY_SCHEMA = true, UPDATE_CACHE_FREQUENCY=1, AUTO_PARTITION_SEQ=" + metricIdSeqTableName); // create view String ddl = - "CREATE VIEW IF NOT EXISTS" - + " view1( hostName varchar NOT NULL," + "CREATE VIEW IF NOT EXISTS " + + viewName + "( hostName varchar NOT NULL," + " CONSTRAINT HOSTNAME_PK PRIMARY KEY (hostName))" - + " AS SELECT * FROM metric_table" + + " AS SELECT * FROM " + metricTableName + " APPEND_ONLY_SCHEMA = true, UPDATE_CACHE_FREQUENCY=300000"; conn1.createStatement().execute(ddl); // drop the table using a different connection - conn2.createStatement().execute("DROP VIEW view1"); + conn2.createStatement().execute("DROP VIEW " + viewName); // upsert one row - conn1.createStatement().execute("UPSERT INTO view1(hostName, metricVal) VALUES('host1', 1.0)"); + conn1.createStatement().execute("UPSERT INTO " + viewName + "(hostName, metricVal) VALUES('host1', 1.0)"); // upsert doesn't fail since base table still exists conn1.commit(); } 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 c66a7c8ed34..95ac2cb4b79 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.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 static Collection data() { 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 void testValidateAttributes() throws SQLException { 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 void testValidateAttributes() throws SQLException { .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 void testValidateAttributes() throws SQLException { 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 void testValidateAttributes() throws SQLException { 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 void testViewCreationFailure() throws SQLException { 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 void testViewCreationFailure() throws SQLException { 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 void testViewCreationFailure() throws SQLException { 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 void testAddDropColumns() throws SQLException { 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 void testAddDropColumns() throws SQLException { 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 void testAddDropColumns() throws SQLException { // 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) { diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/CoalesceFunctionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CoalesceFunctionIT.java index 68165e2a9f4..0c270f269df 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/CoalesceFunctionIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CoalesceFunctionIT.java @@ -38,15 +38,15 @@ import org.junit.Test; -public class CoalesceFunctionIT extends BaseHBaseManagedTimeIT { +public class CoalesceFunctionIT extends BaseHBaseManagedTimeTableReuseIT { @Test public void testCoalesce() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), getUrl()); + String tableName = initATableValues(tenantId, getDefaultSplits(tenantId), getUrl()); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); - String query = "SELECT entity_id, a_integer + COALESCE(x_integer,1) FROM ATABLE WHERE organization_id = ? AND a_integer >= 6 AND a_integer <= 7"; + String query = "SELECT entity_id, a_integer + COALESCE(x_integer,1) FROM " + tableName + " WHERE organization_id = ? AND a_integer >= 6 AND a_integer <= 7"; PreparedStatement statement = conn.prepareStatement(query); statement.setString(1, tenantId); ResultSet rs = statement.executeQuery(); @@ -66,21 +66,21 @@ public void testCoalesce() throws Exception { @Test public void coalesceWithSumExplicitLong() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - - String ddl = "CREATE TABLE TEST_COALESCE(" + String tableName = generateRandomString(); + String ddl = "CREATE TABLE " + tableName + "(" + " ID BIGINT NOT NULL, " + " COUNT BIGINT " + " CONSTRAINT pk PRIMARY KEY(ID))"; conn.createStatement().execute(ddl); - conn.createStatement().execute("UPSERT INTO TEST_COALESCE(ID, COUNT) VALUES(2, null)"); + conn.createStatement().execute("UPSERT INTO " + tableName + "(ID, COUNT) VALUES(2, null)"); conn.commit(); ResultSet rs = conn.createStatement().executeQuery( "SELECT " + "COALESCE(SUM(COUNT), CAST(0 AS BIGINT)) " //explicitly def long - + "FROM TEST_COALESCE " - + "GROUP BY ID"); + + "FROM " + tableName + + " GROUP BY ID"); assertTrue(rs.next()); assertEquals(0, rs.getLong(1)); @@ -90,21 +90,21 @@ public void coalesceWithSumExplicitLong() throws Exception { @Test public void coalesceWithSumImplicitLong() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - - String ddl = "CREATE TABLE TEST_COALESCE(" + String tableName = generateRandomString(); + String ddl = "CREATE TABLE " + tableName + "(" + " ID BIGINT NOT NULL, " + " COUNT BIGINT " + " CONSTRAINT pk PRIMARY KEY(ID))"; conn.createStatement().execute(ddl); - conn.createStatement().execute("UPSERT INTO TEST_COALESCE(ID, COUNT) VALUES(2, null)"); + conn.createStatement().execute("UPSERT INTO " + tableName + "(ID, COUNT) VALUES(2, null)"); conn.commit(); ResultSet rs = conn.createStatement().executeQuery( "SELECT " + "COALESCE(SUM(COUNT), 0) " // no long def - + "FROM TEST_COALESCE " - + "GROUP BY ID"); + + "FROM " + tableName + + " GROUP BY ID"); assertTrue(rs.next()); assertEquals(0, rs.getLong(1)); @@ -114,21 +114,21 @@ public void coalesceWithSumImplicitLong() throws Exception { @Test public void coalesceWithSecondParamAsExpression() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - - String ddl = "CREATE TABLE TEST_COALESCE(" + String tableName = generateRandomString(); + String ddl = "CREATE TABLE " + tableName + "(" + " ID BIGINT NOT NULL, " + " COUNT BIGINT " + " CONSTRAINT pk PRIMARY KEY(ID))"; conn.createStatement().execute(ddl); - conn.createStatement().execute("UPSERT INTO TEST_COALESCE(ID, COUNT) VALUES(2, null)"); + conn.createStatement().execute("UPSERT INTO " + tableName + "(ID, COUNT) VALUES(2, null)"); conn.commit(); ResultSet rs = conn.createStatement().executeQuery( "SELECT " + "COALESCE(SUM(COUNT), SUM(ID)) " // second param as expression - + "FROM TEST_COALESCE " - + "GROUP BY ID"); + + "FROM " + tableName + + " GROUP BY ID"); assertTrue(rs.next()); assertEquals(2, rs.getLong(1)); @@ -138,21 +138,22 @@ public void coalesceWithSecondParamAsExpression() throws Exception { @Test public void nonTypedSecondParameterLong() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); + String tableName = generateRandomString(); - String ddl = "CREATE TABLE TEST_COALESCE(" + String ddl = "CREATE TABLE " + tableName + "(" + " ID BIGINT NOT NULL, " + " COUNT BIGINT " //first parameter to coalesce + " CONSTRAINT pk PRIMARY KEY(ID))"; conn.createStatement().execute(ddl); - conn.createStatement().execute("UPSERT INTO TEST_COALESCE(ID, COUNT) VALUES(2, null)"); + conn.createStatement().execute("UPSERT INTO " + tableName + "(ID, COUNT) VALUES(2, null)"); conn.commit(); ResultSet rs = conn.createStatement().executeQuery( "SELECT " + "COALESCE(NTH_VALUE(COUNT, 100) WITHIN GROUP (ORDER BY COUNT DESC), 0) " //second param is int - + "FROM TEST_COALESCE " - + "GROUP BY ID"); + + "FROM " + tableName + + " GROUP BY ID"); assertTrue(rs.next()); assertEquals(0, rs.getLong(1)); @@ -162,21 +163,21 @@ public void nonTypedSecondParameterLong() throws Exception { @Test public void nonTypedSecondParameterUnsignedDataTypes() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - - String ddl = "CREATE TABLE TEST_COALESCE (" + String tableName = generateRandomString(); + String ddl = "CREATE TABLE " + tableName + "(" + " ID BIGINT NOT NULL, " + " COUNT UNSIGNED_INT " //first parameter to coalesce + " CONSTRAINT pk PRIMARY KEY(ID))"; conn.createStatement().execute(ddl); - conn.createStatement().execute("UPSERT INTO TEST_COALESCE (ID, COUNT) VALUES(2, null)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (ID, COUNT) VALUES(2, null)"); conn.commit(); //second param to coalesce is signed int ResultSet rs = conn.createStatement().executeQuery( "SELECT " + " COALESCE(NTH_VALUE(COUNT, 100) WITHIN GROUP (ORDER BY COUNT DESC), 1) " - + " FROM TEST_COALESCE" + + " FROM " + tableName + " GROUP BY ID"); assertTrue(rs.next()); @@ -187,17 +188,18 @@ public void nonTypedSecondParameterUnsignedDataTypes() throws Exception { @Test public void testWithNthValueAggregationFunction() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); + String tableName = generateRandomString(); - String ddl = "CREATE TABLE TEST_NTH(" + String ddl = "CREATE TABLE " + tableName + "(" + " ID BIGINT NOT NULL, " + " DATE TIMESTAMP NOT NULL, " + " COUNT BIGINT " + " CONSTRAINT pk PRIMARY KEY(ID, DATE))"; conn.createStatement().execute(ddl); - conn.createStatement().execute("UPSERT INTO TEST_NTH(ID, DATE, COUNT) VALUES(1, CURRENT_TIME(), 1)"); - conn.createStatement().execute("UPSERT INTO TEST_NTH(ID, DATE, COUNT) VALUES(1, CURRENT_TIME(), 2)"); - conn.createStatement().execute("UPSERT INTO TEST_NTH(ID, DATE, COUNT) VALUES(2, CURRENT_TIME(), 1)"); + conn.createStatement().execute("UPSERT INTO " + tableName + "(ID, DATE, COUNT) VALUES(1, CURRENT_TIME(), 1)"); + conn.createStatement().execute("UPSERT INTO " + tableName + "(ID, DATE, COUNT) VALUES(1, CURRENT_TIME(), 2)"); + conn.createStatement().execute("UPSERT INTO " + tableName + "(ID, DATE, COUNT) VALUES(2, CURRENT_TIME(), 1)"); conn.commit(); //second param to coalesce is signed int @@ -207,8 +209,8 @@ public void testWithNthValueAggregationFunction() throws Exception { + " NTH_VALUE(COUNT, 2000)" // should evaluate null + " WITHIN GROUP (ORDER BY COUNT DESC)," + " 0)" - + "FROM TEST_NTH " - + "GROUP BY ID"); + + "FROM " + tableName + + " GROUP BY ID"); assertTrue(rs.next()); assertEquals(0, rs.getLong(1)); @@ -218,22 +220,23 @@ public void testWithNthValueAggregationFunction() throws Exception { @Test public void wrongDataTypeOfSecondParameter() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); + String tableName = generateRandomString(); - String ddl = "CREATE TABLE TEST_COALESCE(" + String ddl = "CREATE TABLE " + tableName + "(" + " ID UNSIGNED_INT NOT NULL, " + " COUNT UNSIGNED_INT " + " CONSTRAINT pk PRIMARY KEY(ID))"; conn.createStatement().execute(ddl); - conn.createStatement().execute("UPSERT INTO TEST_COALESCE(ID, COUNT) VALUES(2, null)"); + conn.createStatement().execute("UPSERT INTO " + tableName + "(ID, COUNT) VALUES(2, null)"); conn.commit(); try { conn.createStatement().executeQuery( "SELECT " + "COALESCE(MIN(COUNT), -1) " // invalid value for UNSIGNED_INT - + "FROM TEST_COALESCE " - + "GROUP BY ID"); + + "FROM " + tableName + + " GROUP BY ID"); Assert.fail("CANNOT CONVERT TYPE exception expected"); } catch (SQLException e) { @@ -244,22 +247,23 @@ public void wrongDataTypeOfSecondParameter() throws Exception { @Test public void testImplicitSecondArgCastingException() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); + String tableName = generateRandomString(); - String ddl = "CREATE TABLE TEST_COALESCE(" + String ddl = "CREATE TABLE " + tableName + "(" + " ID INTEGER NOT NULL, " + " COUNT UNSIGNED_INT " //first parameter to coalesce + " CONSTRAINT pk PRIMARY KEY(ID))"; conn.createStatement().execute(ddl); - conn.createStatement().execute("UPSERT INTO TEST_COALESCE(ID, COUNT) VALUES(-2, null)"); + conn.createStatement().execute("UPSERT INTO " + tableName + "(ID, COUNT) VALUES(-2, null)"); conn.commit(); try { ResultSet rs = conn.createStatement().executeQuery( "SELECT " + "COALESCE(MIN(COUNT), ID) " - + "FROM TEST_COALESCE " - + "GROUP BY ID"); + + "FROM " + tableName + + " GROUP BY ID"); assertTrue(rs.next()); assertEquals(0, rs.getLong(1)); @@ -272,21 +276,22 @@ public void testImplicitSecondArgCastingException() throws Exception { @Test public void testImplicitSecondArgCasting() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); + String tableName = generateRandomString(); - String ddl = "CREATE TABLE TEST_COALESCE(" + String ddl = "CREATE TABLE " + tableName + "(" + " ID DOUBLE NOT NULL, " + " COUNT INTEGER " //first parameter to coalesce + " CONSTRAINT pk PRIMARY KEY(ID))"; conn.createStatement().execute(ddl); - conn.createStatement().execute("UPSERT INTO TEST_COALESCE(ID, COUNT) VALUES(2.0, null)"); + conn.createStatement().execute("UPSERT INTO " + tableName + "(ID, COUNT) VALUES(2.0, null)"); conn.commit(); ResultSet rs = conn.createStatement().executeQuery( "SELECT " + "COALESCE(MIN(COUNT), ID) " - + "FROM TEST_COALESCE " - + "GROUP BY ID"); + + "FROM " + tableName + + " GROUP BY ID"); assertTrue(rs.next()); assertEquals(2, rs.getLong(1)); @@ -297,13 +302,14 @@ public void testImplicitSecondArgCasting() throws Exception { public void testCoalesceInRowKeyColumn() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); - conn.createStatement().execute("CREATE TABLE coalesceTest(k1 decimal, k2 decimal, constraint pk primary key (k1,k2))"); - conn.createStatement().execute("UPSERT INTO coalesceTest(k2) VALUES (1)"); - conn.createStatement().execute("UPSERT INTO coalesceTest VALUES (2,2)"); - conn.createStatement().execute("UPSERT INTO coalesceTest VALUES (3,3)"); + String tableName = generateRandomString(); + conn.createStatement().execute("CREATE TABLE " + tableName + "(k1 decimal, k2 decimal, constraint pk primary key (k1,k2))"); + conn.createStatement().execute("UPSERT INTO " + tableName + "(k2) VALUES (1)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES (2,2)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES (3,3)"); conn.commit(); - ResultSet rs = conn.createStatement().executeQuery("SELECT coalesce(k1, 1) ,k2 FROM coalesceTest"); + ResultSet rs = conn.createStatement().executeQuery("SELECT coalesce(k1, 1) ,k2 FROM " + tableName); assertTrue(rs.next()); assertEquals(1, rs.getInt(1)); assertEquals(1, rs.getInt(2)); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ColumnProjectionOptimizationIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ColumnProjectionOptimizationIT.java index e97c7e16f4c..48a48a3f355 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ColumnProjectionOptimizationIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ColumnProjectionOptimizationIT.java @@ -316,7 +316,7 @@ public void testSelectFromViewOnExistingTable() throws Exception { private static void initMultiCFTable(long ts) throws Exception { String url = getUrl(); - ensureTableCreated(url, MULTI_CF_NAME, ts); + ensureTableCreated(url, MULTI_CF_NAME, MULTI_CF_NAME, ts); Properties props = new Properties(); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2)); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DateTimeIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DateTimeIT.java index 461816a3efd..f8143b24c6a 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DateTimeIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DateTimeIT.java @@ -18,20 +18,7 @@ package org.apache.phoenix.end2end; import static org.apache.phoenix.query.QueryConstants.MILLIS_IN_DAY; -import static org.apache.phoenix.util.TestUtil.ATABLE_NAME; -import static org.apache.phoenix.util.TestUtil.A_VALUE; -import static org.apache.phoenix.util.TestUtil.B_VALUE; -import static org.apache.phoenix.util.TestUtil.C_VALUE; -import static org.apache.phoenix.util.TestUtil.E_VALUE; -import static org.apache.phoenix.util.TestUtil.ROW1; -import static org.apache.phoenix.util.TestUtil.ROW2; -import static org.apache.phoenix.util.TestUtil.ROW3; -import static org.apache.phoenix.util.TestUtil.ROW4; -import static org.apache.phoenix.util.TestUtil.ROW5; -import static org.apache.phoenix.util.TestUtil.ROW6; -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.*; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNotNull; @@ -57,12 +44,13 @@ import org.junit.Test; -public class DateTimeIT extends BaseHBaseManagedTimeIT { +public class DateTimeIT extends BaseHBaseManagedTimeTableReuseIT { protected Connection conn; protected Date date; protected static final String tenantId = getOrganizationId(); protected final static String ROW10 = "00D123122312312"; + protected String tableName; public DateTimeIT() throws Exception { super(); @@ -72,7 +60,7 @@ public DateTimeIT() throws Exception { @Before public void setUp() throws SQLException { conn = DriverManager.getConnection(getUrl()); - initAtable(); + this.tableName = initAtable(); } @After @@ -80,10 +68,11 @@ public void tearDown() throws SQLException { conn.close(); } - private void initAtable() throws SQLException { - ensureTableCreated(getUrl(), ATABLE_NAME, (byte[][])null); + private String initAtable() throws SQLException { + String tableName = generateRandomString(); + ensureTableCreated(getUrl(), tableName, ATABLE_NAME, (byte[][])null); PreparedStatement stmt = conn.prepareStatement( - "upsert into " + ATABLE_NAME + + "upsert into " + tableName + "(" + " ORGANIZATION_ID, " + " ENTITY_ID, " + @@ -288,6 +277,8 @@ private void initAtable() throws SQLException { stmt.execute(); conn.commit(); + return tableName; + } @Test @@ -298,9 +289,10 @@ public void selectBetweenDates() throws Exception { java.util.Date dateToday = cal.getTime(); cal.add(Calendar.DAY_OF_YEAR, 1); java.util.Date dateTomorrow = cal.getTime(); + String tableName = generateRandomString(); String today = formatter.format(dateToday); String tomorrow = formatter.format(dateTomorrow); - String query = "SELECT entity_id FROM ATABLE WHERE a_integer < 4 AND a_date BETWEEN date '" + today + "' AND date '" + tomorrow + "' "; + String query = "SELECT entity_id FROM " + this.tableName + " WHERE a_integer < 4 AND a_date BETWEEN date '" + today + "' AND date '" + tomorrow + "' "; Statement statement = conn.createStatement(); ResultSet rs = statement.executeQuery(query); assertTrue(rs.next()); @@ -311,7 +303,7 @@ public void selectBetweenDates() throws Exception { @Test public void testSelectLiteralDate() throws Exception { String s = DateUtil.DEFAULT_DATE_FORMATTER.format(date); - String query = "SELECT DATE '" + s + "' FROM ATABLE"; + String query = "SELECT DATE '" + s + "' FROM " + this.tableName; Statement statement = conn.createStatement(); ResultSet rs = statement.executeQuery(query); assertTrue(rs.next()); @@ -320,7 +312,7 @@ public void testSelectLiteralDate() throws Exception { @Test public void testSelectLiteralDateCompare() throws Exception { - String query = "SELECT (DATE '" + date + "' = DATE '" + date + "') FROM ATABLE"; + String query = "SELECT (DATE '" + date + "' = DATE '" + date + "') FROM " + this.tableName; Statement statement = conn.createStatement(); ResultSet rs = statement.executeQuery(query); assertTrue(rs.next()); @@ -329,7 +321,7 @@ public void testSelectLiteralDateCompare() throws Exception { @Test public void testSelectWhereDatesEqual() throws Exception { - String query = "SELECT entity_id FROM ATABLE WHERE a_integer < 4 AND DATE '" + date + "' = DATE '" + date + "'"; + String query = "SELECT entity_id FROM " + this.tableName + " WHERE a_integer < 4 AND DATE '" + date + "' = DATE '" + date + "'"; Statement statement = conn.createStatement(); ResultSet rs = statement.executeQuery(query); assertTrue(rs.next()); @@ -338,7 +330,7 @@ public void testSelectWhereDatesEqual() throws Exception { @Test public void testSelectWhereDateAndToDateEqual() throws Exception { - String query = "SELECT entity_id FROM ATABLE WHERE a_integer < 4 AND DATE '" + date + "' = TO_DATE ('" + date + "')"; + String query = "SELECT entity_id FROM " + this.tableName + " WHERE a_integer < 4 AND DATE '" + date + "' = TO_DATE ('" + date + "')"; Statement statement = conn.createStatement(); ResultSet rs = statement.executeQuery(query); assertTrue(rs.next()); @@ -348,7 +340,7 @@ public void testSelectWhereDateAndToDateEqual() throws Exception { @Test public void testSelectWhereDateAndTimestampEqual() throws Exception { final String timestamp = "2012-09-08 07:08:23"; - String query = "SELECT entity_id FROM ATABLE WHERE a_integer < 4 AND DATE '" + timestamp + "' = TIMESTAMP '" + timestamp + "'"; + String query = "SELECT entity_id FROM " + this.tableName + " WHERE a_integer < 4 AND DATE '" + timestamp + "' = TIMESTAMP '" + timestamp + "'"; Statement statement = conn.createStatement(); ResultSet rs = statement.executeQuery(query); @@ -357,7 +349,7 @@ public void testSelectWhereDateAndTimestampEqual() throws Exception { @Test public void testSelectWhereSameDatesUnequal() throws Exception { - String query = "SELECT entity_id FROM ATABLE WHERE a_integer < 4 AND DATE '" + date + "' > DATE '" + date + "'"; + String query = "SELECT entity_id FROM " + this.tableName + " WHERE a_integer < 4 AND DATE '" + date + "' > DATE '" + date + "'"; Statement statement = conn.createStatement(); ResultSet rs = statement.executeQuery(query); assertFalse(rs.next()); @@ -365,7 +357,7 @@ public void testSelectWhereSameDatesUnequal() throws Exception { @Test public void testDateInList() throws Exception { - String query = "SELECT entity_id FROM ATABLE WHERE a_date IN (?,?) AND a_integer < 4"; + String query = "SELECT entity_id FROM " + this.tableName + " WHERE a_date IN (?,?) AND a_integer < 4"; PreparedStatement statement = conn.prepareStatement(query); statement.setDate(1, new Date(0)); statement.setDate(2, date); @@ -385,7 +377,7 @@ public void testDateBetweenLiterals() throws Exception { java.util.Date dateTomorrow = cal.getTime(); String today = formatter.format(dateToday); String tomorrow = formatter.format(dateTomorrow); - String query = "SELECT entity_id FROM ATABLE WHERE a_integer < 4 AND a_date BETWEEN date '" + today + "' AND date '" + tomorrow + "' "; + String query = "SELECT entity_id FROM " + this.tableName + " WHERE a_integer < 4 AND a_date BETWEEN date '" + today + "' AND date '" + tomorrow + "' "; Statement statement = conn.createStatement(); ResultSet rs = statement.executeQuery(query); assertTrue(rs.next()); @@ -456,23 +448,24 @@ public void testYearFunctionTimestamp() throws SQLException { @Test public void testYearFuncAgainstColumns() throws Exception { + String tableName = generateRandomString(); String ddl = - "CREATE TABLE IF NOT EXISTS T1 (k1 INTEGER NOT NULL, dates DATE, timestamps TIMESTAMP, times TIME, " + + "CREATE TABLE IF NOT EXISTS " + tableName + " (k1 INTEGER NOT NULL, dates DATE, timestamps TIMESTAMP, times TIME, " + "unsignedDates UNSIGNED_DATE, unsignedTimestamps UNSIGNED_TIMESTAMP, unsignedTimes UNSIGNED_TIME CONSTRAINT pk PRIMARY KEY (k1))"; conn.createStatement().execute(ddl); - String dml = "UPSERT INTO T1 VALUES (1, TO_DATE('2004-03-01 00:00:00'), TO_TIMESTAMP('2006-02-01 00:00:00'), TO_TIME('2008-02-01 00:00:00'), " + + String dml = "UPSERT INTO " + tableName + " VALUES (1, TO_DATE('2004-03-01 00:00:00'), TO_TIMESTAMP('2006-02-01 00:00:00'), TO_TIME('2008-02-01 00:00:00'), " + "TO_DATE('2010-03-01 00:00:00:896', 'yyyy-MM-dd HH:mm:ss:SSS'), TO_TIMESTAMP('2012-02-01'), TO_TIME('2015-02-01 00:00:00'))"; conn.createStatement().execute(dml); - dml = "UPSERT INTO T1 VALUES (2, TO_DATE('2005-03-01 00:00:00'), TO_TIMESTAMP('2006-02-01 00:00:00'), TO_TIME('2008-02-01 00:00:00'), " + + dml = "UPSERT INTO " + tableName + " VALUES (2, TO_DATE('2005-03-01 00:00:00'), TO_TIMESTAMP('2006-02-01 00:00:00'), TO_TIME('2008-02-01 00:00:00'), " + "TO_DATE('2010-03-01 00:00:00:896', 'yyyy-MM-dd HH:mm:ss:SSS'), TO_TIMESTAMP('2012-02-01'), TO_TIME('2015-02-01 00:00:00'))"; conn.createStatement().execute(dml); - dml = "UPSERT INTO T1 VALUES (3, TO_DATE('2006-03-01 00:00:00'), TO_TIMESTAMP('2006-02-01 00:00:00'), TO_TIME('2008-02-01 00:00:00'), " + + dml = "UPSERT INTO " + tableName + " VALUES (3, TO_DATE('2006-03-01 00:00:00'), TO_TIMESTAMP('2006-02-01 00:00:00'), TO_TIME('2008-02-01 00:00:00'), " + "TO_DATE('2010-03-01 00:00:00:896', 'yyyy-MM-dd HH:mm:ss:SSS'), TO_TIMESTAMP('2012-02-01'), TO_TIME('2015-02-01 00:00:00'))"; conn.createStatement().execute(dml); conn.commit(); ResultSet rs = conn.createStatement().executeQuery("SELECT k1, YEAR(timestamps), YEAR(times), Year(unsignedDates), YEAR(unsignedTimestamps), " + - "YEAR(unsignedTimes) FROM T1 where YEAR(dates) = 2004"); + "YEAR(unsignedTimes) FROM " + tableName + " where YEAR(dates) = 2004"); assertTrue(rs.next()); assertEquals(1, rs.getInt(1)); assertEquals(2006, rs.getInt(2)); @@ -485,23 +478,24 @@ public void testYearFuncAgainstColumns() throws Exception { @Test public void testMonthFuncAgainstColumns() throws Exception { + String tableName = generateRandomString(); String ddl = - "CREATE TABLE IF NOT EXISTS T1 (k1 INTEGER NOT NULL, dates DATE, timestamps TIMESTAMP, times TIME, " + + "CREATE TABLE IF NOT EXISTS " + tableName + " (k1 INTEGER NOT NULL, dates DATE, timestamps TIMESTAMP, times TIME, " + "unsignedDates UNSIGNED_DATE, unsignedTimestamps UNSIGNED_TIMESTAMP, unsignedTimes UNSIGNED_TIME CONSTRAINT pk PRIMARY KEY (k1))"; conn.createStatement().execute(ddl); - String dml = "UPSERT INTO T1 VALUES (1, TO_DATE('2004-03-10 00:00:00'), TO_TIMESTAMP('2006-04-12 00:00:00'), TO_TIME('2008-05-16 00:00:00'), " + + String dml = "UPSERT INTO " + tableName + " VALUES (1, TO_DATE('2004-03-10 00:00:00'), TO_TIMESTAMP('2006-04-12 00:00:00'), TO_TIME('2008-05-16 00:00:00'), " + "TO_DATE('2010-06-20 00:00:00:789', 'yyyy-MM-dd HH:mm:ss:SSS'), TO_TIMESTAMP('2012-07-28'), TO_TIME('2015-12-25 00:00:00'))"; conn.createStatement().execute(dml); - dml = "UPSERT INTO T1 VALUES (2, TO_DATE('2004-04-10 00:00:00'), TO_TIMESTAMP('2006-04-12 00:00:00'), TO_TIME('2008-05-16 00:00:00'), " + + dml = "UPSERT INTO " + tableName + " VALUES (2, TO_DATE('2004-04-10 00:00:00'), TO_TIMESTAMP('2006-04-12 00:00:00'), TO_TIME('2008-05-16 00:00:00'), " + "TO_DATE('2010-06-20 00:00:00:789', 'yyyy-MM-dd HH:mm:ss:SSS'), TO_TIMESTAMP('2012-07-28'), TO_TIME('2015-12-25 00:00:00'))"; conn.createStatement().execute(dml); - dml = "UPSERT INTO T1 VALUES (3, TO_DATE('2004-05-10 00:00:00'), TO_TIMESTAMP('2006-04-12 00:00:00'), TO_TIME('2008-05-16 00:00:00'), " + + dml = "UPSERT INTO " + tableName + " VALUES (3, TO_DATE('2004-05-10 00:00:00'), TO_TIMESTAMP('2006-04-12 00:00:00'), TO_TIME('2008-05-16 00:00:00'), " + "TO_DATE('2010-06-20 00:00:00:789', 'yyyy-MM-dd HH:mm:ss:SSS'), TO_TIMESTAMP('2012-07-28'), TO_TIME('2015-12-25 00:00:00'))"; conn.createStatement().execute(dml); conn.commit(); ResultSet rs = conn.createStatement().executeQuery("SELECT k1, MONTH(timestamps), MONTH(times), MONTH(unsignedDates), MONTH(unsignedTimestamps), " + - "MONTH(unsignedTimes) FROM T1 where MONTH(dates) = 3"); + "MONTH(unsignedTimes) FROM " + tableName + " where MONTH(dates) = 3"); assertTrue(rs.next()); assertEquals(1, rs.getInt(1)); assertEquals(4, rs.getInt(2)); @@ -514,17 +508,18 @@ public void testMonthFuncAgainstColumns() throws Exception { @Test public void testUnsignedTimeDateWithLiteral() throws Exception { + String tableName = generateRandomString(); String ddl = - "CREATE TABLE IF NOT EXISTS UT (k1 INTEGER NOT NULL," + + "CREATE TABLE IF NOT EXISTS " + tableName + " (k1 INTEGER NOT NULL," + "unsignedDates UNSIGNED_DATE, unsignedTimestamps UNSIGNED_TIMESTAMP, unsignedTimes UNSIGNED_TIME CONSTRAINT pk PRIMARY KEY (k1))"; conn.createStatement().execute(ddl); - String dml = "UPSERT INTO UT VALUES (1, " + + String dml = "UPSERT INTO " + tableName + " VALUES (1, " + "'2010-06-20 12:00:00', '2012-07-28 12:00:00', '2015-12-25 12:00:00')"; conn.createStatement().execute(dml); conn.commit(); ResultSet rs = conn.createStatement().executeQuery("SELECT k1, unsignedDates, " + - "unsignedTimestamps, unsignedTimes FROM UT where k1 = 1"); + "unsignedTimestamps, unsignedTimes FROM " + tableName + " where k1 = 1"); assertTrue(rs.next()); assertEquals(DateUtil.parseDate("2010-06-20 12:00:00"), rs.getDate(2)); assertEquals(DateUtil.parseTimestamp("2012-07-28 12:00:00"), rs.getTimestamp(3)); @@ -534,23 +529,24 @@ public void testUnsignedTimeDateWithLiteral() throws Exception { @Test public void testSecondFuncAgainstColumns() throws Exception { + String tableName = generateRandomString(); String ddl = - "CREATE TABLE IF NOT EXISTS T1 (k1 INTEGER NOT NULL, dates DATE, timestamps TIMESTAMP, times TIME, " + + "CREATE TABLE IF NOT EXISTS " + tableName + " (k1 INTEGER NOT NULL, dates DATE, timestamps TIMESTAMP, times TIME, " + "unsignedDates UNSIGNED_DATE, unsignedTimestamps UNSIGNED_TIMESTAMP, unsignedTimes UNSIGNED_TIME CONSTRAINT pk PRIMARY KEY (k1))"; conn.createStatement().execute(ddl); - String dml = "UPSERT INTO T1 VALUES (1, TO_DATE('2004-03-01 00:00:10'), TO_TIMESTAMP('2006-04-12 00:00:20'), TO_TIME('2008-05-16 10:00:30'), " + + String dml = "UPSERT INTO " + tableName + " VALUES (1, TO_DATE('2004-03-01 00:00:10'), TO_TIMESTAMP('2006-04-12 00:00:20'), TO_TIME('2008-05-16 10:00:30'), " + "TO_DATE('2010-06-20 00:00:40:789', 'yyyy-MM-dd HH:mm:ss:SSS'), TO_TIMESTAMP('2012-07-28'), TO_TIME('2015-12-25 00:00:50'))"; conn.createStatement().execute(dml); - dml = "UPSERT INTO T1 VALUES (2, TO_DATE('2004-03-01 00:00:10'), TO_TIMESTAMP('2006-04-12 00:20:30'), TO_TIME('2008-05-16 10:00:30'), " + + dml = "UPSERT INTO " + tableName + " VALUES (2, TO_DATE('2004-03-01 00:00:10'), TO_TIMESTAMP('2006-04-12 00:20:30'), TO_TIME('2008-05-16 10:00:30'), " + "TO_DATE('2010-06-20 00:00:40:789', 'yyyy-MM-dd HH:mm:ss:SSS'), TO_TIMESTAMP('2012-07-28'), TO_TIME('2015-12-25 00:00:50'))"; conn.createStatement().execute(dml); - dml = "UPSERT INTO T1 VALUES (3, TO_DATE('2004-03-01 00:00:10'), TO_TIMESTAMP('2006-04-12 00:50:30'), TO_TIME('2008-05-16 10:00:30'), " + + dml = "UPSERT INTO " + tableName + " VALUES (3, TO_DATE('2004-03-01 00:00:10'), TO_TIMESTAMP('2006-04-12 00:50:30'), TO_TIME('2008-05-16 10:00:30'), " + "TO_DATE('2010-06-20 00:00:40:789', 'yyyy-MM-dd HH:mm:ss:SSS'), TO_TIMESTAMP('2012-07-28'), TO_TIME('2015-12-25 00:00:50'))"; conn.createStatement().execute(dml); conn.commit(); ResultSet rs = conn.createStatement().executeQuery("SELECT k1, SECOND(dates), SECOND(times), SECOND(unsignedDates), SECOND(unsignedTimestamps), " + - "SECOND(unsignedTimes) FROM T1 where SECOND(timestamps)=20"); + "SECOND(unsignedTimes) FROM " + tableName + " where SECOND(timestamps)=20"); assertTrue(rs.next()); assertEquals(1, rs.getInt(1)); assertEquals(10, rs.getInt(2)); @@ -563,18 +559,19 @@ public void testSecondFuncAgainstColumns() throws Exception { @Test public void testWeekFuncAgainstColumns() throws Exception { + String tableName = generateRandomString(); String ddl = - "CREATE TABLE IF NOT EXISTS T1 (k1 INTEGER NOT NULL, dates DATE, timestamps TIMESTAMP, times TIME CONSTRAINT pk PRIMARY KEY (k1))"; + "CREATE TABLE IF NOT EXISTS " + tableName + " (k1 INTEGER NOT NULL, dates DATE, timestamps TIMESTAMP, times TIME CONSTRAINT pk PRIMARY KEY (k1))"; conn.createStatement().execute(ddl); - String dml = "UPSERT INTO T1 VALUES (1, TO_DATE('2004-01-10 10:00:10'), TO_TIMESTAMP('2006-04-12 08:00:20'), TO_TIME('2008-05-16 10:00:30'))"; + String dml = "UPSERT INTO " + tableName + " VALUES (1, TO_DATE('2004-01-10 10:00:10'), TO_TIMESTAMP('2006-04-12 08:00:20'), TO_TIME('2008-05-16 10:00:30'))"; conn.createStatement().execute(dml); - dml = "UPSERT INTO T1 VALUES (2, TO_DATE('2004-01-10 10:00:10'), TO_TIMESTAMP('2006-05-18 08:00:20'), TO_TIME('2008-05-16 10:00:30'))"; + dml = "UPSERT INTO " + tableName + " VALUES (2, TO_DATE('2004-01-10 10:00:10'), TO_TIMESTAMP('2006-05-18 08:00:20'), TO_TIME('2008-05-16 10:00:30'))"; conn.createStatement().execute(dml); - dml = "UPSERT INTO T1 VALUES (3, TO_DATE('2004-01-10 10:00:10'), TO_TIMESTAMP('2006-05-18 08:00:20'), TO_TIME('2008-05-16 10:00:30'))"; + dml = "UPSERT INTO " + tableName + " VALUES (3, TO_DATE('2004-01-10 10:00:10'), TO_TIMESTAMP('2006-05-18 08:00:20'), TO_TIME('2008-05-16 10:00:30'))"; conn.createStatement().execute(dml); conn.commit(); - ResultSet rs = conn.createStatement().executeQuery("SELECT k1, WEEK(dates), WEEK(times) FROM T1 where WEEK(timestamps)=15"); + ResultSet rs = conn.createStatement().executeQuery("SELECT k1, WEEK(dates), WEEK(times) FROM " + tableName + " where WEEK(timestamps)=15"); assertTrue(rs.next()); assertEquals(1, rs.getInt(1)); assertEquals(2, rs.getInt(2)); @@ -584,21 +581,22 @@ public void testWeekFuncAgainstColumns() throws Exception { @Test public void testHourFuncAgainstColumns() throws Exception { + String tableName = generateRandomString(); String ddl = - "CREATE TABLE IF NOT EXISTS T1 (k1 INTEGER NOT NULL, dates DATE, timestamps TIMESTAMP, times TIME CONSTRAINT pk PRIMARY KEY (k1))"; + "CREATE TABLE IF NOT EXISTS " + tableName + " (k1 INTEGER NOT NULL, dates DATE, timestamps TIMESTAMP, times TIME CONSTRAINT pk PRIMARY KEY (k1))"; conn.createStatement().execute(ddl); - String dml = "UPSERT INTO T1 VALUES (1, TO_DATE('Sat, 3 Feb 2008 03:05:06 GMT', 'EEE, d MMM yyyy HH:mm:ss z', 'UTC'), TO_TIMESTAMP('2006-04-12 15:10:20'), " + + String dml = "UPSERT INTO " + tableName + " VALUES (1, TO_DATE('Sat, 3 Feb 2008 03:05:06 GMT', 'EEE, d MMM yyyy HH:mm:ss z', 'UTC'), TO_TIMESTAMP('2006-04-12 15:10:20'), " + "TO_TIME('2008-05-16 20:40:30'))"; conn.createStatement().execute(dml); - dml = "UPSERT INTO T1 VALUES (2, TO_DATE('Sat, 3 Feb 2008 03:05:06 GMT', 'EEE, d MMM yyyy HH:mm:ss z', 'UTC'), TO_TIMESTAMP('2006-04-12 10:10:20'), " + + dml = "UPSERT INTO " + tableName + " VALUES (2, TO_DATE('Sat, 3 Feb 2008 03:05:06 GMT', 'EEE, d MMM yyyy HH:mm:ss z', 'UTC'), TO_TIMESTAMP('2006-04-12 10:10:20'), " + "TO_TIME('2008-05-16 20:40:30'))"; conn.createStatement().execute(dml); - dml = "UPSERT INTO T1 VALUES (3, TO_DATE('Sat, 3 Feb 2008 03:05:06 GMT', 'EEE, d MMM yyyy HH:mm:ss z', 'UTC'), TO_TIMESTAMP('2006-04-12 08:10:20'), " + + dml = "UPSERT INTO " + tableName + " VALUES (3, TO_DATE('Sat, 3 Feb 2008 03:05:06 GMT', 'EEE, d MMM yyyy HH:mm:ss z', 'UTC'), TO_TIMESTAMP('2006-04-12 08:10:20'), " + "TO_TIME('2008-05-16 20:40:30'))"; conn.createStatement().execute(dml); conn.commit(); - ResultSet rs = conn.createStatement().executeQuery("SELECT k1, HOUR(dates), HOUR(times) FROM T1 where HOUR(timestamps)=15"); + ResultSet rs = conn.createStatement().executeQuery("SELECT k1, HOUR(dates), HOUR(times) FROM " + tableName + " where HOUR(timestamps)=15"); assertTrue(rs.next()); assertEquals(1, rs.getInt(1)); assertEquals(3, rs.getInt(2)); @@ -608,11 +606,12 @@ public void testHourFuncAgainstColumns() throws Exception { @Test public void testNowFunction() throws Exception { + String tableName = generateRandomString(); Date date = new Date(System.currentTimeMillis()); String ddl = - "CREATE TABLE IF NOT EXISTS T1 (k1 INTEGER NOT NULL, timestamps TIMESTAMP CONSTRAINT pk PRIMARY KEY (k1))"; + "CREATE TABLE IF NOT EXISTS " + tableName + " (k1 INTEGER NOT NULL, timestamps TIMESTAMP CONSTRAINT pk PRIMARY KEY (k1))"; conn.createStatement().execute(ddl); - String dml = "UPSERT INTO T1 VALUES (?, ?)"; + String dml = "UPSERT INTO " + tableName + " VALUES (?, ?)"; PreparedStatement stmt = conn.prepareStatement(dml); stmt.setInt(1, 1); stmt.setDate(2, new Date(date.getTime()-500)); @@ -622,7 +621,7 @@ public void testNowFunction() throws Exception { stmt.execute(); conn.commit(); - ResultSet rs = conn.createStatement().executeQuery("SELECT * from T1 where now() > timestamps"); + ResultSet rs = conn.createStatement().executeQuery("SELECT * from " + tableName + " where now() > timestamps"); assertTrue(rs.next()); assertEquals(1, rs.getInt(1)); assertEquals(new Date(date.getTime()-500), rs.getDate(2)); @@ -631,20 +630,21 @@ public void testNowFunction() throws Exception { @Test public void testMinuteFuncAgainstColumns() throws Exception { + String tableName = generateRandomString(); String ddl = - "CREATE TABLE IF NOT EXISTS T1 (k1 INTEGER NOT NULL, dates DATE, timestamps TIMESTAMP, times TIME, " + + "CREATE TABLE IF NOT EXISTS " + tableName + " (k1 INTEGER NOT NULL, dates DATE, timestamps TIMESTAMP, times TIME, " + "unsignedDates UNSIGNED_DATE, unsignedTimestamps UNSIGNED_TIMESTAMP, unsignedTimes UNSIGNED_TIME CONSTRAINT pk PRIMARY KEY (k1))"; conn.createStatement().execute(ddl); - String dml = "UPSERT INTO T1 VALUES (1, TO_DATE('2004-03-01 00:10:10'), TO_TIMESTAMP('2006-04-12 00:20:20'), TO_TIME('2008-05-16 10:30:30'), " + + String dml = "UPSERT INTO " + tableName + " VALUES (1, TO_DATE('2004-03-01 00:10:10'), TO_TIMESTAMP('2006-04-12 00:20:20'), TO_TIME('2008-05-16 10:30:30'), " + "TO_DATE('2010-06-20 00:40:40:789', 'yyyy-MM-dd HH:mm:ss:SSS'), TO_TIMESTAMP('2012-07-28'), TO_TIME('2015-12-25 00:50:50'))"; conn.createStatement().execute(dml); - dml = "UPSERT INTO T1 VALUES (2, TO_DATE('2004-03-01 00:10:10'), TO_TIMESTAMP('2006-04-12 00:50:20'), TO_TIME('2008-05-16 10:30:30'), " + + dml = "UPSERT INTO " + tableName + " VALUES (2, TO_DATE('2004-03-01 00:10:10'), TO_TIMESTAMP('2006-04-12 00:50:20'), TO_TIME('2008-05-16 10:30:30'), " + "TO_DATE('2010-06-20 00:40:40:789', 'yyyy-MM-dd HH:mm:ss:SSS'), TO_TIMESTAMP('2012-07-28'), TO_TIME('2015-12-25 00:50:50'))"; conn.createStatement().execute(dml); conn.commit(); ResultSet rs = conn.createStatement().executeQuery("SELECT k1, MINUTE(dates), MINUTE(times), MINUTE(unsignedDates), MINUTE(unsignedTimestamps), " + - "MINUTE(unsignedTimes) FROM T1 where MINUTE(timestamps)=20"); + "MINUTE(unsignedTimes) FROM " + tableName + " where MINUTE(timestamps)=20"); assertTrue(rs.next()); assertEquals(1, rs.getInt(1)); assertEquals(10, rs.getInt(2)); @@ -657,16 +657,17 @@ public void testMinuteFuncAgainstColumns() throws Exception { @Test public void testDayOfMonthFuncAgainstColumns() throws Exception { + String tableName = generateRandomString(); String ddl = - "CREATE TABLE IF NOT EXISTS T1 (k1 INTEGER NOT NULL, dates DATE, timestamps TIMESTAMP, times TIME CONSTRAINT pk PRIMARY KEY (k1))"; + "CREATE TABLE IF NOT EXISTS " + tableName + " (k1 INTEGER NOT NULL, dates DATE, timestamps TIMESTAMP, times TIME CONSTRAINT pk PRIMARY KEY (k1))"; conn.createStatement().execute(ddl); - String dml = "UPSERT INTO T1 VALUES (1, TO_DATE('2004-01-08 10:00:10'), TO_TIMESTAMP('2006-04-12 08:00:20'), TO_TIME('2008-05-26 11:00:30'))"; + String dml = "UPSERT INTO " + tableName + " VALUES (1, TO_DATE('2004-01-08 10:00:10'), TO_TIMESTAMP('2006-04-12 08:00:20'), TO_TIME('2008-05-26 11:00:30'))"; conn.createStatement().execute(dml); - dml = "UPSERT INTO T1 VALUES (2, TO_DATE('2004-01-18 10:00:10'), TO_TIMESTAMP('2006-05-22 08:00:20'), TO_TIME('2008-12-30 11:00:30'))"; + dml = "UPSERT INTO " + tableName + " VALUES (2, TO_DATE('2004-01-18 10:00:10'), TO_TIMESTAMP('2006-05-22 08:00:20'), TO_TIME('2008-12-30 11:00:30'))"; conn.createStatement().execute(dml); conn.commit(); - ResultSet rs = conn.createStatement().executeQuery("SELECT k1, DAYOFMONTH(dates), DAYOFMONTH(times) FROM T1 where DAYOFMONTH(timestamps)=12"); + ResultSet rs = conn.createStatement().executeQuery("SELECT k1, DAYOFMONTH(dates), DAYOFMONTH(times) FROM " + tableName + " where DAYOFMONTH(timestamps)=12"); assertTrue(rs.next()); assertEquals(1, rs.getInt(1)); assertEquals(8, rs.getInt(2)); @@ -676,7 +677,8 @@ public void testDayOfMonthFuncAgainstColumns() throws Exception { @Test public void testNullDate() throws Exception { - ResultSet rs = conn.createStatement().executeQuery("SELECT a_date, entity_id from " + ATABLE_NAME + " WHERE entity_id = '" + ROW10 + "'"); + + ResultSet rs = conn.createStatement().executeQuery("SELECT a_date, entity_id from " + this.tableName + " WHERE entity_id = '" + ROW10 + "'"); assertNotNull(rs); assertTrue(rs.next()); assertEquals(ROW10, rs.getString(2)); @@ -695,19 +697,20 @@ public void testCurrentDateWithNoTable() throws Exception { } @Test public void testSelectBetweenNanos() throws Exception { + String tableName = generateRandomString(); String ddl = - "CREATE TABLE IF NOT EXISTS N1 (k1 INTEGER NOT NULL PRIMARY KEY, ts " + + "CREATE TABLE IF NOT EXISTS " + tableName + " (k1 INTEGER NOT NULL PRIMARY KEY, ts " + "TIMESTAMP(3))"; conn.createStatement().execute(ddl); - String dml = "UPSERT INTO N1 VALUES (1, TIMESTAMP'2015-01-01 00:00:00.111111111')"; + String dml = "UPSERT INTO " + tableName + " VALUES (1, TIMESTAMP'2015-01-01 00:00:00.111111111')"; conn.createStatement().execute(dml); - dml = "UPSERT INTO N1 VALUES (2, TIMESTAMP'2015-01-01 00:00:00.111111115')"; + dml = "UPSERT INTO " + tableName + " VALUES (2, TIMESTAMP'2015-01-01 00:00:00.111111115')"; conn.createStatement().execute(dml); - dml = "UPSERT INTO N1 VALUES (3, TIMESTAMP'2015-01-01 00:00:00.111111113')"; + dml = "UPSERT INTO " + tableName + " VALUES (3, TIMESTAMP'2015-01-01 00:00:00.111111113')"; conn.createStatement().execute(dml); conn.commit(); - ResultSet rs = conn.createStatement().executeQuery("SELECT k1,ts from N1 where ts between" + + ResultSet rs = conn.createStatement().executeQuery("SELECT k1,ts from " + tableName + " where ts between" + " TIMESTAMP'2015-01-01 00:00:00.111111112' AND TIMESTAMP'2015-01-01 00:00:00" + ".111111114'"); assertTrue(rs.next()); @@ -718,17 +721,19 @@ public void testSelectBetweenNanos() throws Exception { @Test public void testCurrentTimeWithProjectedTable () throws Exception { - String ddl = "CREATE TABLE T1 ( ID integer primary key)"; + String tableName1 = generateRandomString(); + String tableName2 = generateRandomString(); + String ddl = "CREATE TABLE " + tableName1 + " ( ID integer primary key)"; conn.createStatement().execute(ddl); - ddl = "CREATE TABLE T2 ( ID integer primary key)"; + ddl = "CREATE TABLE " + tableName2 + " ( ID integer primary key)"; conn.createStatement().execute(ddl); - String ups = "UPSERT INTO T1 VALUES (1)"; + String ups = "UPSERT INTO " + tableName1 + " VALUES (1)"; conn.createStatement().execute(ups); - ups = "UPSERT INTO T2 VALUES (1)"; + ups = "UPSERT INTO " + tableName2 + " VALUES (1)"; conn.createStatement().execute(ups); conn.commit(); ResultSet rs = conn.createStatement().executeQuery("select /*+ USE_SORT_MERGE_JOIN */ op" + - ".id, current_time() from t1 op where op.id in (select id from t2)"); + ".id, current_time() from " +tableName1 + " op where op.id in (select id from " + tableName2 + ")"); assertTrue(rs.next()); assertEquals(new java.util.Date().getYear(),rs.getTimestamp(2).getYear()); } diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DeleteIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DeleteIT.java index 558bc389cab..865b1fd944d 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DeleteIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DeleteIT.java @@ -38,13 +38,14 @@ import org.junit.Test; -public class DeleteIT extends BaseHBaseManagedTimeIT { +public class DeleteIT extends BaseHBaseManagedTimeTableReuseIT { private static final int NUMBER_OF_ROWS = 20; private static final int NTH_ROW_NULL = 5; - private static void initTableValues(Connection conn) throws SQLException { - ensureTableCreated(getUrl(),"IntIntKeyTest"); - String upsertStmt = "UPSERT INTO IntIntKeyTest VALUES(?,?)"; + private static String initTableValues(Connection conn) throws SQLException { + String tableName = generateRandomString(); + ensureTableCreated(getUrl(), tableName, "IntIntKeyTest"); + String upsertStmt = "UPSERT INTO " + tableName + " VALUES(?,?)"; PreparedStatement stmt = conn.prepareStatement(upsertStmt); for (int i = 0; i < NUMBER_OF_ROWS; i++) { stmt.setInt(1, i); @@ -56,6 +57,7 @@ private static void initTableValues(Connection conn) throws SQLException { stmt.execute(); } conn.commit(); + return tableName; } @Test @@ -70,18 +72,18 @@ public void testDeleteFilterAutoCommit() throws Exception { private void testDeleteFilter(boolean autoCommit) throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTableValues(conn); + String tableName = initTableValues(conn); - assertTableCount(conn, "IntIntKeyTest", NUMBER_OF_ROWS); + assertTableCount(conn, tableName, NUMBER_OF_ROWS); conn.setAutoCommit(autoCommit); - String deleteStmt = "DELETE FROM IntIntKeyTest WHERE 20 = j"; + String deleteStmt = "DELETE FROM " + tableName + " WHERE 20 = j"; assertEquals(1,conn.createStatement().executeUpdate(deleteStmt)); if (!autoCommit) { conn.commit(); } - assertTableCount(conn, "IntIntKeyTest", NUMBER_OF_ROWS - 1); + assertTableCount(conn, tableName, NUMBER_OF_ROWS - 1); } @Test @@ -97,34 +99,34 @@ public void testDeleteByRowAndFilterNoAutoCommit() throws SQLException { private void testDeleteByFilterAndRow(boolean autoCommit) throws SQLException { Connection conn = DriverManager.getConnection(getUrl()); - initTableValues(conn); + String tableName = initTableValues(conn); - assertTableCount(conn, "IntIntKeyTest", NUMBER_OF_ROWS); + assertTableCount(conn, tableName, NUMBER_OF_ROWS); conn.setAutoCommit(autoCommit); Statement stmt = conn.createStatement(); // This shouldn't delete anything, because the key matches but the filter doesn't - assertEquals(0, stmt.executeUpdate("DELETE FROM IntIntKeyTest WHERE i = 1 AND j = 1")); + assertEquals(0, stmt.executeUpdate("DELETE FROM " + tableName + " WHERE i = 1 AND j = 1")); if (!autoCommit) { conn.commit(); } - assertTableCount(conn, "IntIntKeyTest", NUMBER_OF_ROWS); + assertTableCount(conn, tableName, NUMBER_OF_ROWS); // This shouldn't delete anything, because the filter matches but the key doesn't - assertEquals(0, stmt.executeUpdate("DELETE FROM IntIntKeyTest WHERE i = -1 AND j = 20")); + assertEquals(0, stmt.executeUpdate("DELETE FROM " + tableName + " WHERE i = -1 AND j = 20")); if (!autoCommit) { conn.commit(); } - assertTableCount(conn, "IntIntKeyTest", NUMBER_OF_ROWS); + assertTableCount(conn, tableName, NUMBER_OF_ROWS); // This should do a delete, because both the filter and key match - assertEquals(1, stmt.executeUpdate("DELETE FROM IntIntKeyTest WHERE i = 1 AND j = 10")); + assertEquals(1, stmt.executeUpdate("DELETE FROM " + tableName + " WHERE i = 1 AND j = 10")); if (!autoCommit) { conn.commit(); } - assertTableCount(conn, "IntIntKeyTest", NUMBER_OF_ROWS - 1); + assertTableCount(conn, tableName, NUMBER_OF_ROWS - 1); } @@ -155,40 +157,42 @@ private void testDeleteRange(boolean autoCommit, boolean createIndex) throws Exc private void testDeleteRange(boolean autoCommit, boolean createIndex, boolean local) throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTableValues(conn); - - String indexName = "IDX"; + String tableName = initTableValues(conn); + String indexName = generateRandomString(); + String localIndexName = generateRandomString(); + + String indexInUse = indexName; if (createIndex) { if (local) { - conn.createStatement().execute("CREATE LOCAL INDEX IF NOT EXISTS local_idx ON IntIntKeyTest(j)"); - indexName = "INTINTKEYTEST"; + conn.createStatement().execute("CREATE LOCAL INDEX IF NOT EXISTS " + localIndexName + " ON " + tableName + "(j)"); + indexInUse = tableName; } else { - conn.createStatement().execute("CREATE INDEX IF NOT EXISTS idx ON IntIntKeyTest(j)"); + conn.createStatement().execute("CREATE INDEX IF NOT EXISTS " + indexName + " ON " + tableName + "(j)"); } } ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT count(*) FROM IntIntKeyTest"); + rs = conn.createStatement().executeQuery("SELECT count(*) FROM " + tableName); assertTrue(rs.next()); assertEquals(NUMBER_OF_ROWS, rs.getInt(1)); - rs = conn.createStatement().executeQuery("SELECT i FROM IntIntKeyTest WHERE j IS NULL"); + rs = conn.createStatement().executeQuery("SELECT i FROM " + tableName + " WHERE j IS NULL"); int i = 0, isNullCount = 0; while (rs.next()) { assertEquals(i,rs.getInt(1)); i += NTH_ROW_NULL; isNullCount++; } - rs = conn.createStatement().executeQuery("SELECT count(*) FROM IntIntKeyTest WHERE j IS NOT NULL"); + rs = conn.createStatement().executeQuery("SELECT count(*) FROM " + tableName + " WHERE j IS NOT NULL"); assertTrue(rs.next()); assertEquals(NUMBER_OF_ROWS-isNullCount, rs.getInt(1)); String deleteStmt ; PreparedStatement stmt; conn.setAutoCommit(autoCommit); - deleteStmt = "DELETE FROM IntIntKeyTest WHERE i >= ? and i < ?"; + deleteStmt = "DELETE FROM " + tableName + " WHERE i >= ? and i < ?"; if(!local) { - assertIndexUsed(conn, deleteStmt, Arrays.asList(5,10), indexName, false); + assertIndexUsed(conn, deleteStmt, Arrays.asList(5,10), indexInUse, false); } stmt = conn.prepareStatement(deleteStmt); stmt.setInt(1, 5); @@ -198,24 +202,24 @@ private void testDeleteRange(boolean autoCommit, boolean createIndex, boolean lo conn.commit(); } - String query = "SELECT count(*) FROM IntIntKeyTest"; - assertIndexUsed(conn, query, indexName, createIndex); - query = "SELECT count(*) FROM IntIntKeyTest"; + String query = "SELECT count(*) FROM " + tableName; + assertIndexUsed(conn, query, indexInUse, createIndex); + query = "SELECT count(*) FROM " + tableName; rs = conn.createStatement().executeQuery(query); assertTrue(rs.next()); assertEquals(NUMBER_OF_ROWS - (10-5), rs.getInt(1)); - deleteStmt = "DELETE FROM IntIntKeyTest WHERE j IS NULL"; + deleteStmt = "DELETE FROM " + tableName + " WHERE j IS NULL"; stmt = conn.prepareStatement(deleteStmt); if(!local) { - assertIndexUsed(conn, deleteStmt, indexName, createIndex); + assertIndexUsed(conn, deleteStmt, indexInUse, createIndex); } int deleteCount = stmt.executeUpdate(); assertEquals(3, deleteCount); if (!autoCommit) { conn.commit(); } - rs = conn.createStatement().executeQuery("SELECT count(*) FROM IntIntKeyTest"); + rs = conn.createStatement().executeQuery("SELECT count(*) FROM " + tableName); assertTrue(rs.next()); assertEquals(NUMBER_OF_ROWS - (10-5)-isNullCount+1, rs.getInt(1)); } @@ -291,7 +295,8 @@ private void testDeleteAllFromTableWithIndex(boolean autoCommit, boolean isSalte con.setAutoCommit(autoCommit); Statement stm = con.createStatement(); - String s = "CREATE TABLE IF NOT EXISTS web_stats (" + + String tableName = generateRandomString(); + String s = "CREATE TABLE IF NOT EXISTS " + tableName + "(" + "HOST CHAR(2) NOT NULL," + "DOMAIN VARCHAR NOT NULL, " + "FEATURE VARCHAR NOT NULL, " + @@ -301,15 +306,17 @@ private void testDeleteAllFromTableWithIndex(boolean autoCommit, boolean isSalte "STATS.ACTIVE_VISITOR INTEGER " + "CONSTRAINT PK PRIMARY KEY (HOST, DOMAIN, FEATURE, DATE))" + (isSalted ? " SALT_BUCKETS=3" : ""); stm.execute(s); + String localIndexName = generateRandomString(); + String indexName = generateRandomString(); if (localIndex) { - stm.execute("CREATE LOCAL INDEX local_web_stats_idx ON web_stats (CORE,DB,ACTIVE_VISITOR)"); + stm.execute("CREATE LOCAL INDEX " + localIndexName + " ON " + tableName + " (CORE,DB,ACTIVE_VISITOR)"); } else { - stm.execute("CREATE INDEX web_stats_idx ON web_stats (CORE,DB,ACTIVE_VISITOR)"); + stm.execute("CREATE INDEX " + indexName + " ON " + tableName + " (CORE,DB,ACTIVE_VISITOR)"); } stm.close(); PreparedStatement psInsert = con - .prepareStatement("UPSERT INTO web_stats(HOST, DOMAIN, FEATURE, DATE, CORE, DB, ACTIVE_VISITOR) VALUES(?,?, ? , ?, ?, ?, ?)"); + .prepareStatement("UPSERT INTO " + tableName + "(HOST, DOMAIN, FEATURE, DATE, CORE, DB, ACTIVE_VISITOR) VALUES(?,?, ? , ?, ?, ?, ?)"); psInsert.setString(1, "AA"); psInsert.setString(2, "BB"); psInsert.setString(3, "CC"); @@ -323,18 +330,18 @@ private void testDeleteAllFromTableWithIndex(boolean autoCommit, boolean isSalte con.commit(); } - con.createStatement().execute("DELETE FROM web_stats"); + con.createStatement().execute("DELETE FROM " + tableName ); if (!autoCommit) { con.commit(); } - ResultSet rs = con.createStatement().executeQuery("SELECT /*+ NO_INDEX */ count(*) FROM web_stats"); + ResultSet rs = con.createStatement().executeQuery("SELECT /*+ NO_INDEX */ count(*) FROM " + tableName); assertTrue(rs.next()); assertEquals(0, rs.getLong(1)); if(localIndex){ - rs = con.createStatement().executeQuery("SELECT count(*) FROM local_web_stats_idx"); + rs = con.createStatement().executeQuery("SELECT count(*) FROM " + localIndexName); } else { - rs = con.createStatement().executeQuery("SELECT count(*) FROM web_stats_idx"); + rs = con.createStatement().executeQuery("SELECT count(*) FROM " + indexName); } assertTrue(rs.next()); assertEquals(0, rs.getLong(1)); @@ -365,7 +372,12 @@ public void testDeleteRowFromTableWithImmutableIndex(boolean localIndex) throws con.setAutoCommit(autoCommit); Statement stm = con.createStatement(); - stm.execute("CREATE TABLE IF NOT EXISTS web_stats (" + + + String tableName = generateRandomString(); + String indexName1 = generateRandomString(); + String indexName2 = generateRandomString(); + + stm.execute("CREATE TABLE IF NOT EXISTS " + tableName + " (" + "HOST CHAR(2) NOT NULL," + "DOMAIN VARCHAR NOT NULL, " + "FEATURE VARCHAR NOT NULL, " + @@ -374,13 +386,13 @@ public void testDeleteRowFromTableWithImmutableIndex(boolean localIndex) throws "USAGE.DB BIGINT," + "STATS.ACTIVE_VISITOR INTEGER " + "CONSTRAINT PK PRIMARY KEY (HOST, DOMAIN, FEATURE, DATE)) IMMUTABLE_ROWS=true"); - stm.execute("CREATE " + (localIndex ? "LOCAL" : "") + " INDEX web_stats_idx ON web_stats (DATE, FEATURE)"); - stm.execute("CREATE " + (localIndex ? "LOCAL" : "") + " INDEX web_stats_idx2 ON web_stats (DATE, FEATURE, USAGE.DB)"); + stm.execute("CREATE " + (localIndex ? "LOCAL" : "") + " INDEX " + indexName1 + " ON " + tableName + " (DATE, FEATURE)"); + stm.execute("CREATE " + (localIndex ? "LOCAL" : "") + " INDEX " + indexName2 + " ON " + tableName + " (DATE, FEATURE, USAGE.DB)"); stm.close(); Date date = new Date(0); PreparedStatement psInsert = con - .prepareStatement("UPSERT INTO web_stats(HOST, DOMAIN, FEATURE, DATE, CORE, DB, ACTIVE_VISITOR) VALUES(?,?, ? , ?, ?, ?, ?)"); + .prepareStatement("UPSERT INTO " + tableName + "(HOST, DOMAIN, FEATURE, DATE, CORE, DB, ACTIVE_VISITOR) VALUES(?,?, ? , ?, ?, ?, ?)"); psInsert.setString(1, "AA"); psInsert.setString(2, "BB"); psInsert.setString(3, "CC"); @@ -394,7 +406,7 @@ public void testDeleteRowFromTableWithImmutableIndex(boolean localIndex) throws con.commit(); } - psInsert = con.prepareStatement("DELETE FROM web_stats WHERE (HOST, DOMAIN, FEATURE, DATE) = (?,?,?,?)"); + psInsert = con.prepareStatement("DELETE FROM " + tableName + " WHERE (HOST, DOMAIN, FEATURE, DATE) = (?,?,?,?)"); psInsert.setString(1, "AA"); psInsert.setString(2, "BB"); psInsert.setString(3, "CC"); @@ -404,21 +416,21 @@ public void testDeleteRowFromTableWithImmutableIndex(boolean localIndex) throws con.commit(); } - ResultSet rs = con.createStatement().executeQuery("SELECT /*+ NO_INDEX */ count(*) FROM web_stats"); + ResultSet rs = con.createStatement().executeQuery("SELECT /*+ NO_INDEX */ count(*) FROM " + tableName); assertTrue(rs.next()); assertEquals(0, rs.getLong(1)); - rs = con.createStatement().executeQuery("SELECT count(*) FROM web_stats_idx"); + rs = con.createStatement().executeQuery("SELECT count(*) FROM " + indexName1); assertTrue(rs.next()); assertEquals(0, rs.getLong(1)); - stm.execute("DROP INDEX web_stats_idx ON web_stats"); - stm.execute("DROP INDEX web_stats_idx2 ON web_stats"); + stm.execute("DROP INDEX " + indexName1 + " ON " + tableName); + stm.execute("DROP INDEX " + indexName2 + " ON " + tableName); - stm.execute("CREATE " + (localIndex ? "LOCAL" : "") + " INDEX web_stats_idx ON web_stats (USAGE.DB)"); - stm.execute("CREATE " + (localIndex ? "LOCAL" : "") + " INDEX web_stats_idx2 ON web_stats (USAGE.DB, DATE)"); + stm.execute("CREATE " + (localIndex ? "LOCAL" : "") + " INDEX " + indexName1 + " ON " + tableName + " (USAGE.DB)"); + stm.execute("CREATE " + (localIndex ? "LOCAL" : "") + " INDEX " + indexName2 + " ON " + tableName + " (USAGE.DB, DATE)"); try{ - psInsert = con.prepareStatement("DELETE FROM web_stats WHERE USAGE.DB=2"); + psInsert = con.prepareStatement("DELETE FROM " + tableName + " WHERE USAGE.DB=2"); } catch(Exception e) { fail("There should not be any exception while deleting row"); } @@ -447,9 +459,11 @@ private void testDeleteAllFromTable(boolean autoCommit) throws SQLException { con = DriverManager.getConnection(getUrl()); con.setAutoCommit(autoCommit); + String tableName = generateRandomString(); + Statement stm = con.createStatement(); - stm.execute("CREATE TABLE IF NOT EXISTS web_stats (" + - "HOST CHAR(2) NOT NULL," + + stm.execute("CREATE TABLE IF NOT EXISTS " + tableName + "(" + + " HOST CHAR(2) NOT NULL," + "DOMAIN VARCHAR NOT NULL, " + "FEATURE VARCHAR NOT NULL, " + "DATE DATE NOT NULL, \n" + @@ -460,7 +474,7 @@ private void testDeleteAllFromTable(boolean autoCommit) throws SQLException { stm.close(); PreparedStatement psInsert = con - .prepareStatement("UPSERT INTO web_stats(HOST, DOMAIN, FEATURE, DATE, CORE, DB, ACTIVE_VISITOR) VALUES(?,?, ? , ?, ?, ?, ?)"); + .prepareStatement("UPSERT INTO " + tableName + "(HOST, DOMAIN, FEATURE, DATE, CORE, DB, ACTIVE_VISITOR) VALUES(?,?, ? , ?, ?, ?, ?)"); psInsert.setString(1, "AA"); psInsert.setString(2, "BB"); psInsert.setString(3, "CC"); @@ -474,12 +488,12 @@ private void testDeleteAllFromTable(boolean autoCommit) throws SQLException { con.commit(); } - con.createStatement().execute("DELETE FROM web_stats"); + con.createStatement().execute("DELETE FROM " + tableName); if (!autoCommit) { con.commit(); } - ResultSet rs = con.createStatement().executeQuery("SELECT /*+ NO_INDEX */ count(*) FROM web_stats"); + ResultSet rs = con.createStatement().executeQuery("SELECT /*+ NO_INDEX */ count(*) FROM " + tableName); assertTrue(rs.next()); assertEquals(0, rs.getLong(1)); } finally { @@ -569,17 +583,19 @@ public void testClientSideDeleteAutoCommitOn() throws Exception { } private void testDeleteCount(boolean autoCommit, Integer limit) throws Exception { - String ddl = "CREATE TABLE IF NOT EXISTS TEST_TABLE (pk1 DECIMAL NOT NULL, v1 VARCHAR CONSTRAINT PK PRIMARY KEY (pk1))"; + String tableName = generateRandomString(); + + String ddl = "CREATE TABLE IF NOT EXISTS " + tableName + " (pk1 DECIMAL NOT NULL, v1 VARCHAR CONSTRAINT PK PRIMARY KEY (pk1))"; int numRecords = 1010; try (Connection conn = DriverManager.getConnection(getUrl())) { conn.createStatement().execute(ddl); Statement stmt = conn.createStatement(); for (int i = 0; i < numRecords ; i++) { - stmt.executeUpdate("UPSERT INTO TEST_TABLE (pk1, v1) VALUES (" + i + ",'value')"); + stmt.executeUpdate("UPSERT INTO " + tableName + " (pk1, v1) VALUES (" + i + ",'value')"); } conn.commit(); conn.setAutoCommit(autoCommit); - String delete = "DELETE FROM TEST_TABLE WHERE (pk1) <= (" + numRecords + ")" + (limit == null ? "" : (" limit " + limit)); + String delete = "DELETE FROM " + tableName + " WHERE (pk1) <= (" + numRecords + ")" + (limit == null ? "" : (" limit " + limit)); try (PreparedStatement pstmt = conn.prepareStatement(delete)) { int numberOfDeletes = pstmt.executeUpdate(); assertEquals(limit == null ? numRecords : limit, numberOfDeletes); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DisableLocalIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DisableLocalIndexIT.java index 5f18a1c13a7..ce669425b06 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DisableLocalIndexIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DisableLocalIndexIT.java @@ -43,7 +43,7 @@ import com.google.common.collect.Maps; -public class DisableLocalIndexIT extends BaseHBaseManagedTimeIT { +public class DisableLocalIndexIT extends BaseHBaseManagedTimeTableReuseIT { @BeforeClass @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) public static void doSetup() throws Exception { @@ -57,7 +57,11 @@ public static void doSetup() throws Exception { public void testDisabledLocalIndexes() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); conn.setAutoCommit(true); - String tableName = "DISABLE_LOCAL_INDEX_TEST"; + String baseName = generateRandomString(); + String tableName = baseName+ "_TABLE"; + String viewName = baseName + "_VIEW"; + String indexName1 = baseName + "_INDEX1"; + String indexName2 = baseName + "_INDEX2"; conn.createStatement().execute("CREATE TABLE " + tableName + " (k1 VARCHAR NOT NULL, k2 VARCHAR, CONSTRAINT PK PRIMARY KEY(K1,K2)) MULTI_TENANT=true"); conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('t1','x')"); conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('t2','y')"); @@ -78,18 +82,18 @@ public void testDisabledLocalIndexes() throws Exception { props.setProperty(PhoenixRuntime.TENANT_ID_ATTRIB, "t1"); Connection tsconn = DriverManager.getConnection(getUrl(), props); - tsconn.createStatement().execute("CREATE VIEW A.BAR(V1 VARCHAR) AS SELECT * FROM " + tableName); - tsconn.createStatement().execute("CREATE INDEX I1 ON A.BAR(V1)"); + tsconn.createStatement().execute("CREATE VIEW " + viewName + "(V1 VARCHAR) AS SELECT * FROM " + tableName); + tsconn.createStatement().execute("CREATE INDEX " + indexName1 + " ON " + viewName + "(V1)"); tsconn.unwrap(PhoenixConnection.class).getQueryServices().getTable(Bytes.toBytes(MetaDataUtil.VIEW_INDEX_TABLE_PREFIX + tableName)); try { - conn.createStatement().execute("CREATE LOCAL INDEX I2 ON " + tableName + "(k2)"); + conn.createStatement().execute("CREATE LOCAL INDEX " + indexName2 + " ON " + tableName + "(k2)"); fail("Should not allow creation of local index"); } catch (SQLException e) { assertEquals(SQLExceptionCode.UNALLOWED_LOCAL_INDEXES.getErrorCode(), e.getErrorCode()); } try { - tsconn.createStatement().execute("CREATE LOCAL INDEX I2 ON A.BAR(k2, v1)"); + tsconn.createStatement().execute("CREATE LOCAL INDEX " + indexName2 + " ON " + viewName + "(k2, v1)"); fail("Should not allow creation of local index"); } catch (SQLException e) { assertEquals(SQLExceptionCode.UNALLOWED_LOCAL_INDEXES.getErrorCode(), e.getErrorCode()); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DistinctCountIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DistinctCountIT.java index 500998b22f7..4484fc155c4 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DistinctCountIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DistinctCountIT.java @@ -287,9 +287,9 @@ public void testDistinctCountONEWithEmptyResult() throws Exception { protected static void initATableValues(String tenantId1, String tenantId2, byte[][] splits, Date date, Long ts) throws Exception { if (ts == null) { - ensureTableCreated(getUrl(), ATABLE_NAME, splits); + ensureTableCreated(getUrl(), ATABLE_NAME, ATABLE_NAME, splits); } else { - ensureTableCreated(getUrl(), ATABLE_NAME, splits, ts-2); + ensureTableCreated(getUrl(), ATABLE_NAME, ATABLE_NAME, splits, ts-2); } Properties props = new Properties(); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DynamicColumnIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DynamicColumnIT.java index 31b0dd7dcbd..d18811ac710 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DynamicColumnIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DynamicColumnIT.java @@ -107,7 +107,7 @@ public void createTable() throws Exception { // Create Phoenix table after HBase table was created through the native APIs // The timestamp of the table creation must be later than the timestamp of the data - ensureTableCreated(getUrl(), HBASE_DYNAMIC_COLUMNS); + ensureTableCreated(getUrl(), HBASE_DYNAMIC_COLUMNS, HBASE_DYNAMIC_COLUMNS); } finally { hTable.close(); } diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/EncodeFunctionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/EncodeFunctionIT.java index ceafc5b1a72..d32b900e6b0 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/EncodeFunctionIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/EncodeFunctionIT.java @@ -35,7 +35,7 @@ import com.google.common.collect.Lists; -public class EncodeFunctionIT extends BaseHBaseManagedTimeIT { +public class EncodeFunctionIT extends BaseHBaseManagedTimeTableReuseIT { /** * Helper to test ENCODE function @@ -46,13 +46,13 @@ public class EncodeFunctionIT extends BaseHBaseManagedTimeIT { * name of column to query * @param sortOrder * sort order of the pk column - * @param expectedOutput + * @param expectedOutputList * expected output of ENCODE function */ - private void testEncodeHelper(Connection conn, String colName, List expectedOutputList, String sortOrder) + private void testEncodeHelper(Connection conn, String tableName, String colName, List expectedOutputList, String sortOrder) throws Exception { for (int id = 0; id < expectedOutputList.size(); ++id) { - String sql = String.format("SELECT ENCODE(%s, 'base62') FROM TEST_TABLE_%s WHERE id=?", colName, sortOrder); + String sql = String.format("SELECT ENCODE(%s, 'base62') FROM " + tableName + "_%s WHERE id=?", colName, sortOrder); PreparedStatement stmt = conn.prepareStatement(sql); stmt.setInt(1, id); @@ -74,9 +74,9 @@ private void testEncodeHelper(Connection conn, String colName, List expe * expected output of ENCODE function */ private void testEncode(Connection conn, List inputList, List expectedOutputList) throws Exception { - TestUtil.initTables(conn, "BIGINT", inputList); - testEncodeHelper(conn, "pk", expectedOutputList, "ASC"); - testEncodeHelper(conn, "pk", expectedOutputList, "DESC"); + String tableName = TestUtil.initTables(conn, "BIGINT", inputList); + testEncodeHelper(conn, tableName, "pk", expectedOutputList, "ASC"); + testEncodeHelper(conn, tableName, "pk", expectedOutputList, "DESC"); } @Test @@ -89,45 +89,48 @@ public void testEncode() throws Exception { @Test public void testEncodeNullInput() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - TestUtil.initTables(conn, "BIGINT", Collections. singletonList(0l)); - testEncodeHelper(conn, "kv", Collections. singletonList(null), "ASC"); - testEncodeHelper(conn, "kv", Collections. singletonList(null), "DESC"); + String tableName = TestUtil.initTables(conn, "BIGINT", Collections. singletonList(0l)); + testEncodeHelper(conn, tableName, "kv", Collections. singletonList(null), "ASC"); + testEncodeHelper(conn, tableName, "kv", Collections. singletonList(null), "DESC"); } @Test public void testUpperCaseEncodingType() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - String ddl = "CREATE TABLE TEST_TABLE ( pk VARCHAR(10) NOT NULL CONSTRAINT PK PRIMARY KEY (pk))"; + String tableName = generateRandomString(); + String ddl = "CREATE TABLE " + tableName + " ( pk VARCHAR(10) NOT NULL CONSTRAINT PK PRIMARY KEY (pk))"; conn.createStatement().execute(ddl); - PreparedStatement ps = conn.prepareStatement("UPSERT INTO TEST_TABLE (pk) VALUES (?)"); + PreparedStatement ps = conn.prepareStatement("UPSERT INTO " + tableName + " (pk) VALUES (?)"); ps.setString(1, "1"); ps.execute(); conn.commit(); - ResultSet rs = conn.createStatement().executeQuery("SELECT * FROM TEST_TABLE WHERE pk = ENCODE(1, 'BASE62')"); + ResultSet rs = conn.createStatement().executeQuery("SELECT * FROM " + tableName + " WHERE pk = ENCODE(1, 'BASE62')"); assertTrue(rs.next()); } @Test public void testNullEncodingType() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - String ddl = "CREATE TABLE TEST_TABLE ( pk VARCHAR(10) NOT NULL CONSTRAINT PK PRIMARY KEY (pk))"; + String tableName = generateRandomString(); + String ddl = "CREATE TABLE " + tableName + " ( pk VARCHAR(10) NOT NULL CONSTRAINT PK PRIMARY KEY (pk))"; conn.createStatement().execute(ddl); - ResultSet rs = conn.createStatement().executeQuery("SELECT * FROM TEST_TABLE WHERE pk = ENCODE(1, NULL)"); + ResultSet rs = conn.createStatement().executeQuery("SELECT * FROM " + tableName + " WHERE pk = ENCODE(1, NULL)"); assertFalse(rs.next()); } @Test public void testUnsupportedEncodingType() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - String ddl = "CREATE TABLE TEST_TABLE ( pk VARCHAR(10) NOT NULL CONSTRAINT PK PRIMARY KEY (pk))"; + String tableName = generateRandomString(); + String ddl = "CREATE TABLE " + tableName + " ( pk VARCHAR(10) NOT NULL CONSTRAINT PK PRIMARY KEY (pk))"; conn.createStatement().execute(ddl); try { - conn.createStatement().executeQuery("SELECT * FROM TEST_TABLE WHERE pk = ENCODE(1, 'HEX')"); + conn.createStatement().executeQuery("SELECT * FROM " + tableName + " WHERE pk = ENCODE(1, 'HEX')"); fail(); } catch (SQLException e) { assertEquals(SQLExceptionCode.ILLEGAL_DATA.getErrorCode(), e.getErrorCode()); @@ -137,13 +140,14 @@ public void testUnsupportedEncodingType() throws Exception { @Test public void testInvalidEncodingType() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); + String tableName = generateRandomString(); String ddl = - "CREATE TABLE test_table ( some_column BINARY(12) NOT NULL CONSTRAINT PK PRIMARY KEY (some_column))"; + "CREATE TABLE " + tableName + " ( some_column BINARY(12) NOT NULL CONSTRAINT PK PRIMARY KEY (some_column))"; conn.createStatement().execute(ddl); try { conn.createStatement().executeQuery( - "SELECT * FROM test_table WHERE some_column = ENCODE(1, 'invalidEncodingFormat')"); + "SELECT * FROM " + tableName + " WHERE some_column = ENCODE(1, 'invalidEncodingFormat')"); fail(); } catch (SQLException e) { } diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/FunkyNamesIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/FunkyNamesIT.java index 11f91cdedca..26e13eb5c1d 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/FunkyNamesIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/FunkyNamesIT.java @@ -39,7 +39,7 @@ public class FunkyNamesIT extends BaseClientManagedTimeIT { protected static void initTableValues(byte[][] splits, long ts) throws Exception { - ensureTableCreated(getUrl(),FUNKY_NAME,splits, ts-2); + ensureTableCreated(getUrl(), FUNKY_NAME, FUNKY_NAME,splits, ts-2); String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/GroupByCaseIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/GroupByCaseIT.java index b0524dae7af..fcf6112ff9c 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/GroupByCaseIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/GroupByCaseIT.java @@ -60,7 +60,7 @@ public class GroupByCaseIT extends BaseHBaseManagedTimeIT { private static int id; private static void initData(Connection conn) throws SQLException { - ensureTableCreated(getUrl(), GROUPBYTEST_NAME); + ensureTableCreated(getUrl(), GROUPBYTEST_NAME, GROUPBYTEST_NAME); insertRow(conn, "Report1", 10); insertRow(conn, "Report2", 10); insertRow(conn, "Report3", 30); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/InListIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/InListIT.java index 4aff12b601d..0038c3afca6 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/InListIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/InListIT.java @@ -45,23 +45,24 @@ import com.google.common.collect.Lists; -public class InListIT extends BaseHBaseManagedTimeIT { +public class InListIT extends BaseHBaseManagedTimeTableReuseIT { @Test public void testLeadingPKWithTrailingRVC() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); - conn.createStatement().execute("CREATE TABLE in_test " + String tableName = generateRandomString(); + conn.createStatement().execute("CREATE TABLE " + tableName + "( col1 VARCHAR NOT NULL," + " col2 VARCHAR NOT NULL, " + " id VARCHAR NOT NULL," + " CONSTRAINT pk PRIMARY KEY (col1, col2, id))"); - conn.createStatement().execute("upsert into in_test (col1, col2, id) values ('a', 'b', 'c')"); - conn.createStatement().execute("upsert into in_test (col1, col2, id) values ('a', 'b', 'd')"); + conn.createStatement().execute("upsert into " + tableName + " (col1, col2, id) values ('a', 'b', 'c')"); + conn.createStatement().execute("upsert into " + tableName + " (col1, col2, id) values ('a', 'b', 'd')"); conn.commit(); - ResultSet rs = conn.createStatement().executeQuery("select id from in_test WHERE col1 = 'a' and ((col2, id) IN (('b', 'c'),('b', 'e')))"); + ResultSet rs = conn.createStatement().executeQuery("select id from " + tableName + " WHERE col1 = 'a' and ((col2, id) IN (('b', 'c'),('b', 'e')))"); assertTrue(rs.next()); assertEquals("c", rs.getString(1)); assertFalse(rs.next()); @@ -73,13 +74,14 @@ public void testLeadingPKWithTrailingRVC() throws Exception { public void testLeadingPKWithTrailingRVC2() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); - conn.createStatement().execute("CREATE TABLE in_test ( user VARCHAR, tenant_id VARCHAR(5) NOT NULL,tenant_type_id VARCHAR(3) NOT NULL, id INTEGER NOT NULL CONSTRAINT pk PRIMARY KEY (tenant_id, tenant_type_id, id))"); + String tableName = generateRandomString(); + conn.createStatement().execute("CREATE TABLE " + tableName + " ( user VARCHAR, tenant_id VARCHAR(5) NOT NULL,tenant_type_id VARCHAR(3) NOT NULL, id INTEGER NOT NULL CONSTRAINT pk PRIMARY KEY (tenant_id, tenant_type_id, id))"); - conn.createStatement().execute("upsert into in_test (tenant_id, tenant_type_id, id, user) values ('a', 'a', 1, 'BonA')"); - conn.createStatement().execute("upsert into in_test (tenant_id, tenant_type_id, id, user) values ('a', 'a', 2, 'BonB')"); + conn.createStatement().execute("upsert into " + tableName + " (tenant_id, tenant_type_id, id, user) values ('a', 'a', 1, 'BonA')"); + conn.createStatement().execute("upsert into " + tableName + " (tenant_id, tenant_type_id, id, user) values ('a', 'a', 2, 'BonB')"); conn.commit(); - ResultSet rs = conn.createStatement().executeQuery("select id from in_test WHERE tenant_id = 'a' and tenant_type_id = 'a' and ((id, user) IN ((1, 'BonA'),(1, 'BonB')))"); + ResultSet rs = conn.createStatement().executeQuery("select id from " + tableName + " WHERE tenant_id = 'a' and tenant_type_id = 'a' and ((id, user) IN ((1, 'BonA'),(1, 'BonB')))"); assertTrue(rs.next()); assertEquals(1, rs.getInt(1)); assertFalse(rs.next()); @@ -142,8 +144,7 @@ private static String createTableDDL(String tableName, PDataType pkType, int sal * @return the table or view name that should be used to access the created table */ private static String initializeAndGetTable(Connection baseConn, Connection conn, boolean isMultiTenant, PDataType pkType, int saltBuckets) throws SQLException { - String tableName = "in_test" + pkType.getSqlTypeName() + saltBuckets + (isMultiTenant ? "_multi" : "_single"); - + String tableName = generateRandomString() + "in_test" + pkType.getSqlTypeName() + saltBuckets + (isMultiTenant ? "_multi" : "_single"); String tableDDL = createTableDDL(tableName, pkType, saltBuckets, isMultiTenant); baseConn.createStatement().execute(tableDDL); @@ -444,13 +445,14 @@ public void testWithFixedLengthAscPK() throws Exception { public void testWithFixedLengthKV() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); - conn.createStatement().execute("CREATE TABLE in_test ( id INTEGER PRIMARY KEY, k CHAR(3))"); + String tableName = generateRandomString(); + conn.createStatement().execute("CREATE TABLE " + tableName + " ( id INTEGER PRIMARY KEY, k CHAR(3))"); - conn.createStatement().execute("upsert into in_test values (1, 'aa')"); - conn.createStatement().execute("upsert into in_test values (2, 'bb')"); + conn.createStatement().execute("upsert into " + tableName + " values (1, 'aa')"); + conn.createStatement().execute("upsert into " + tableName + " values (2, 'bb')"); conn.commit(); - ResultSet rs = conn.createStatement().executeQuery("select k from in_test WHERE k IN ('aa','bb')"); + ResultSet rs = conn.createStatement().executeQuery("select k from " + tableName + " WHERE k IN ('aa','bb')"); assertTrue(rs.next()); assertEquals("aa", rs.getString(1)); assertTrue(rs.next()); @@ -463,13 +465,14 @@ public void testWithFixedLengthKV() throws Exception { private void testWithFixedLengthPK(SortOrder sortOrder) throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); - conn.createStatement().execute("CREATE TABLE in_test ( k CHAR(3) PRIMARY KEY " + (sortOrder == SortOrder.DESC ? "DESC" : "") + ")"); + String tableName = generateRandomString(); + conn.createStatement().execute("CREATE TABLE " + tableName + " ( k CHAR(3) PRIMARY KEY " + (sortOrder == SortOrder.DESC ? "DESC" : "") + ")"); - conn.createStatement().execute("upsert into in_test (k) values ('aa')"); - conn.createStatement().execute("upsert into in_test (k) values ('bb')"); + conn.createStatement().execute("upsert into " + tableName + " (k) values ('aa')"); + conn.createStatement().execute("upsert into " + tableName + " (k) values ('bb')"); conn.commit(); - ResultSet rs = conn.createStatement().executeQuery("select k from in_test WHERE k IN ('aa','bb')"); + ResultSet rs = conn.createStatement().executeQuery("select k from " + tableName + " WHERE k IN ('aa','bb')"); assertTrue(rs.next()); assertEquals(sortOrder == SortOrder.ASC ? "aa" : "bb", rs.getString(1)); assertTrue(rs.next()); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/IsNullIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/IsNullIT.java index fb4937815f7..504b18cd02e 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/IsNullIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/IsNullIT.java @@ -30,29 +30,30 @@ import org.junit.Test; -public class IsNullIT extends BaseHBaseManagedTimeIT { +public class IsNullIT extends BaseHBaseManagedTimeTableReuseIT { @Test public void testIsNullInPk() throws Exception { - ensureTableCreated(getUrl(),"IntIntKeyTest"); + String tableName = generateRandomString(); + ensureTableCreated(getUrl(), tableName, "IntIntKeyTest"); Connection conn = DriverManager.getConnection(getUrl()); - String upsert = "UPSERT INTO IntIntKeyTest VALUES(4,2)"; + String upsert = "UPSERT INTO " + tableName + " VALUES(4,2)"; PreparedStatement upsertStmt = conn.prepareStatement(upsert); int rowsInserted = upsertStmt.executeUpdate(); assertEquals(1, rowsInserted); - upsert = "UPSERT INTO IntIntKeyTest VALUES(6)"; + upsert = "UPSERT INTO " + tableName + " VALUES(6)"; upsertStmt = conn.prepareStatement(upsert); rowsInserted = upsertStmt.executeUpdate(); assertEquals(1, rowsInserted); conn.commit(); - String select = "SELECT i/j FROM IntIntKeyTest WHERE j IS NULL"; + String select = "SELECT i/j FROM " + tableName + " WHERE j IS NULL"; ResultSet rs; rs = conn.createStatement().executeQuery(select); assertTrue(rs.next()); assertEquals(0,rs.getInt(1)); assertTrue(rs.wasNull()); assertFalse(rs.next()); - select = "SELECT i/j FROM IntIntKeyTest WHERE j IS NOT NULL"; + select = "SELECT i/j FROM " + tableName + " WHERE j IS NOT NULL"; rs = conn.createStatement().executeQuery(select); assertTrue(rs.next()); assertEquals(2,rs.getInt(1)); @@ -61,15 +62,16 @@ public void testIsNullInPk() throws Exception { @Test public void testIsNullWithLastPKColDesc() throws Exception { + String tableName = generateRandomString(); Connection conn = DriverManager.getConnection(getUrl()); - conn.createStatement().execute("CREATE TABLE T(k1 VARCHAR NOT NULL, k2 VARCHAR, k3 VARCHAR, CONSTRAINT pk PRIMARY KEY (k1, k2, k3 DESC))"); - conn.createStatement().execute("UPSERT INTO T VALUES ('a')"); - conn.createStatement().execute("UPSERT INTO T VALUES ('b')"); - conn.createStatement().execute("UPSERT INTO T VALUES ('b',null,'c')"); - conn.createStatement().execute("UPSERT INTO T VALUES ('ba', null, 'd')"); + conn.createStatement().execute("CREATE TABLE " + tableName + "(k1 VARCHAR NOT NULL, k2 VARCHAR, k3 VARCHAR, CONSTRAINT pk PRIMARY KEY (k1, k2, k3 DESC))"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES ('a')"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES ('b')"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES ('b',null,'c')"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES ('ba', null, 'd')"); conn.commit(); - ResultSet rs = conn.createStatement().executeQuery("SELECT k1,k2,k3 FROM T WHERE k1='b' AND k2 IS NULL"); + ResultSet rs = conn.createStatement().executeQuery("SELECT k1,k2,k3 FROM " + tableName + " WHERE k1='b' AND k2 IS NULL"); assertTrue(rs.next()); assertEquals("b",rs.getString(1)); assertNull(rs.getString(2)); @@ -87,15 +89,16 @@ public void testIsNullWithLastPKColDesc() throws Exception { @Test public void testIsNullInCompositeKey() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - conn.createStatement().execute("CREATE TABLE T(k1 VARCHAR, k2 VARCHAR, CONSTRAINT pk PRIMARY KEY (k1,k2))"); - conn.createStatement().execute("UPSERT INTO T VALUES (null,'a')"); - conn.createStatement().execute("UPSERT INTO T VALUES ('a','a')"); + String tableName = generateRandomString(); + conn.createStatement().execute("CREATE TABLE " + tableName + "(k1 VARCHAR, k2 VARCHAR, CONSTRAINT pk PRIMARY KEY (k1,k2))"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES (null,'a')"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES ('a','a')"); conn.commit(); - ResultSet rs = conn.createStatement().executeQuery("SELECT count(*) FROM T"); + ResultSet rs = conn.createStatement().executeQuery("SELECT count(*) FROM " + tableName); assertTrue(rs.next()); assertEquals(2,rs.getInt(1)); - rs = conn.createStatement().executeQuery("SELECT count(*) FROM T WHERE k1 = 'a' or k1 is null"); + rs = conn.createStatement().executeQuery("SELECT count(*) FROM " + tableName + " WHERE k1 = 'a' or k1 is null"); assertTrue(rs.next()); assertEquals(2,rs.getInt(1)); conn.close(); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/NamespaceSchemaMappingIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/NamespaceSchemaMappingIT.java index 1db74aa2bfb..444cf0d0d0d 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/NamespaceSchemaMappingIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/NamespaceSchemaMappingIT.java @@ -44,7 +44,7 @@ /* * since 4.8 */ -public class NamespaceSchemaMappingIT extends BaseHBaseManagedTimeIT { +public class NamespaceSchemaMappingIT extends BaseHBaseManagedTimeTableReuseIT { /** * Tests that when: There is a table created with older version of phoenix and a table created with newer version * having {@code QueryServices#IS_NAMESPACE_MAPPING_ENABLED} true, then there is only a flag @@ -57,7 +57,7 @@ public void testBackWardCompatibility() throws Exception { String namespace = "TEST_SCHEMA"; String schemaName = namespace; - String tableName = "TEST"; + String tableName = generateRandomString(); String phoenixFullTableName = schemaName + "." + tableName; String hbaseFullTableName = schemaName + ":" + tableName; diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/OrderByIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/OrderByIT.java index 2c880e7f25b..dcb2a0d4020 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/OrderByIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/OrderByIT.java @@ -43,13 +43,13 @@ import org.junit.Test; -public class OrderByIT extends BaseHBaseManagedTimeIT { +public class OrderByIT extends BaseHBaseManagedTimeTableReuseIT { @Test public void testMultiOrderByExpr() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), getUrl()); - String query = "SELECT entity_id FROM aTable ORDER BY b_string, entity_id"; + String tableName = initATableValues(tenantId, getDefaultSplits(tenantId), getUrl()); + String query = "SELECT entity_id FROM " + tableName + " ORDER BY b_string, entity_id"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); try { @@ -84,8 +84,8 @@ public void testMultiOrderByExpr() throws Exception { @Test public void testDescMultiOrderByExpr() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), getUrl()); - String query = "SELECT entity_id FROM aTable ORDER BY b_string || entity_id desc"; + String tableName = initATableValues(tenantId, getDefaultSplits(tenantId), getUrl()); + String query = "SELECT entity_id FROM " + tableName + " ORDER BY b_string || entity_id desc"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); try { @@ -123,12 +123,13 @@ public void testOrderByWithPosition() throws Exception { conn.setAutoCommit(false); try { - String ddl = "CREATE TABLE t_table " + + String tableName = generateRandomString(); + String ddl = "CREATE TABLE " + tableName + " (a_string varchar not null, col1 integer" + " CONSTRAINT pk PRIMARY KEY (a_string))\n"; createTestTable(getUrl(), ddl); - String dml = "UPSERT INTO t_table VALUES(?, ?)"; + String dml = "UPSERT INTO " + tableName + " VALUES(?, ?)"; PreparedStatement stmt = conn.prepareStatement(dml); stmt.setString(1, "a"); stmt.setInt(2, 40); @@ -141,7 +142,7 @@ public void testOrderByWithPosition() throws Exception { stmt.execute(); conn.commit(); - String query = "select count(*), col1 from t_table group by col1 order by 2"; + String query = "select count(*), col1 from " + tableName + " group by col1 order by 2"; ResultSet rs = conn.createStatement().executeQuery(query); assertTrue(rs.next()); assertEquals(1,rs.getInt(1)); @@ -151,7 +152,7 @@ public void testOrderByWithPosition() throws Exception { assertEquals(1,rs.getInt(1)); assertFalse(rs.next()); - query = "select a_string x, col1 y from t_table order by x"; + query = "select a_string x, col1 y from " + tableName + " order by x"; rs = conn.createStatement().executeQuery(query); assertTrue(rs.next()); assertEquals("a",rs.getString(1)); @@ -164,7 +165,7 @@ public void testOrderByWithPosition() throws Exception { assertEquals(30,rs.getInt(2)); assertFalse(rs.next()); - query = "select * from t_table order by 2"; + query = "select * from " + tableName + " order by 2"; rs = conn.createStatement().executeQuery(query); assertTrue(rs.next()); assertEquals("b",rs.getString(1)); @@ -189,11 +190,12 @@ public void testColumnFamily() throws Exception { conn.setAutoCommit(false); try { - String ddl = "CREATE TABLE x_table " + + String tableName = generateRandomString(); + String ddl = "CREATE TABLE " + tableName + " (a_string varchar not null, cf1.a integer, cf1.b varchar, col1 integer, cf2.c varchar, cf2.d integer, col2 integer" + " CONSTRAINT pk PRIMARY KEY (a_string))\n"; createTestTable(getUrl(), ddl); - String dml = "UPSERT INTO x_table VALUES(?,?,?,?,?,?,?)"; + String dml = "UPSERT INTO " + tableName + " VALUES(?,?,?,?,?,?,?)"; PreparedStatement stmt = conn.prepareStatement(dml); stmt.setString(1, "a"); stmt.setInt(2, 40); @@ -221,7 +223,7 @@ public void testColumnFamily() throws Exception { stmt.execute(); conn.commit(); - String query = "select * from x_table order by 2, 5"; + String query = "select * from " + tableName + " order by 2, 5"; ResultSet rs = conn.createStatement().executeQuery(query); assertTrue(rs.next()); assertEquals("c",rs.getString(1)); @@ -249,7 +251,7 @@ public void testColumnFamily() throws Exception { assertEquals(1,rs.getInt(7)); assertFalse(rs.next()); - query = "select * from x_table order by 7"; + query = "select * from " + tableName + " order by 7"; rs = conn.createStatement().executeQuery(query); assertTrue(rs.next()); assertEquals("a",rs.getString(1)); @@ -288,11 +290,12 @@ public void testOrderByWithJoin() throws Exception { conn.setAutoCommit(false); try { - String ddl = "CREATE TABLE s_table " + + String tableName1 = generateRandomString(); + String ddl = "CREATE TABLE " + tableName1 + " (a_string varchar not null, cf1.a integer, cf1.b varchar, col1 integer, cf2.c varchar, cf2.d integer " + " CONSTRAINT pk PRIMARY KEY (a_string))\n"; createTestTable(getUrl(), ddl); - String dml = "UPSERT INTO s_table VALUES(?,?,?,?,?,?)"; + String dml = "UPSERT INTO " + tableName1 + " VALUES(?,?,?,?,?,?)"; PreparedStatement stmt = conn.prepareStatement(dml); stmt.setString(1, "a"); stmt.setInt(2, 40); @@ -317,12 +320,13 @@ public void testOrderByWithJoin() throws Exception { stmt.execute(); conn.commit(); - ddl = "CREATE TABLE t_table " + + String tableName2 = generateRandomString(); + ddl = "CREATE TABLE " + tableName2 + " (a_string varchar not null, col1 integer" + " CONSTRAINT pk PRIMARY KEY (a_string))\n"; createTestTable(getUrl(), ddl); - dml = "UPSERT INTO t_table VALUES(?, ?)"; + dml = "UPSERT INTO " + tableName2 + " VALUES(?, ?)"; stmt = conn.prepareStatement(dml); stmt.setString(1, "a"); stmt.setInt(2, 40); @@ -335,7 +339,7 @@ public void testOrderByWithJoin() throws Exception { stmt.execute(); conn.commit(); - String query = "select t1.* from s_table t1 join t_table t2 on t1.a_string = t2.a_string order by 3"; + String query = "select t1.* from " + tableName1 + " t1 join " + tableName2 + " t2 on t1.a_string = t2.a_string order by 3"; ResultSet rs = conn.createStatement().executeQuery(query); assertTrue(rs.next()); assertEquals("a",rs.getString(1)); @@ -360,7 +364,7 @@ public void testOrderByWithJoin() throws Exception { assertEquals(60,rs.getInt(6)); assertFalse(rs.next()); - query = "select t1.a_string, t2.col1 from s_table t1 join t_table t2 on t1.a_string = t2.a_string order by 2"; + query = "select t1.a_string, t2.col1 from " + tableName1 + " t1 join " + tableName2 + " t2 on t1.a_string = t2.a_string order by 2"; rs = conn.createStatement().executeQuery(query); assertTrue(rs.next()); assertEquals("b",rs.getString(1)); @@ -385,11 +389,12 @@ public void testOrderByWithUnionAll() throws Exception { conn.setAutoCommit(false); try { - String ddl = "CREATE TABLE x_table " + + String tableName1 = generateRandomString(); + String ddl = "CREATE TABLE " + tableName1 + " (a_string varchar not null, cf1.a integer, cf1.b varchar, col1 integer, cf2.c varchar, cf2.d integer " + " CONSTRAINT pk PRIMARY KEY (a_string))\n"; createTestTable(getUrl(), ddl); - String dml = "UPSERT INTO x_table VALUES(?,?,?,?,?,?)"; + String dml = "UPSERT INTO " + tableName1 + " VALUES(?,?,?,?,?,?)"; PreparedStatement stmt = conn.prepareStatement(dml); stmt.setString(1, "a"); stmt.setInt(2, 40); @@ -414,12 +419,13 @@ public void testOrderByWithUnionAll() throws Exception { stmt.execute(); conn.commit(); - ddl = "CREATE TABLE y_table " + + String tableName2 = generateRandomString(); + ddl = "CREATE TABLE " + tableName2 + " (a_string varchar not null, col1 integer" + " CONSTRAINT pk PRIMARY KEY (a_string))\n"; createTestTable(getUrl(), ddl); - dml = "UPSERT INTO y_table VALUES(?, ?)"; + dml = "UPSERT INTO " + tableName2 + " VALUES(?, ?)"; stmt = conn.prepareStatement(dml); stmt.setString(1, "aa"); stmt.setInt(2, 40); @@ -432,7 +438,7 @@ public void testOrderByWithUnionAll() throws Exception { stmt.execute(); conn.commit(); - String query = "select a_string, cf2.d from x_table union all select * from y_table order by 2"; + String query = "select a_string, cf2.d from " + tableName1 + " union all select * from " + tableName2 + " order by 2"; ResultSet rs = conn.createStatement().executeQuery(query); assertTrue(rs.next()); assertEquals("bb",rs.getString(1)); @@ -465,13 +471,14 @@ public void testOrderByWithExpression() throws Exception { conn.setAutoCommit(false); try { - String ddl = "CREATE TABLE e_table " + + String tableName = generateRandomString(); + String ddl = "CREATE TABLE " + tableName + " (a_string varchar not null, col1 integer, col2 integer, col3 timestamp, col4 varchar" + " CONSTRAINT pk PRIMARY KEY (a_string))\n"; createTestTable(getUrl(), ddl); Date date = new Date(System.currentTimeMillis()); - String dml = "UPSERT INTO e_table VALUES(?, ?, ?, ?, ?)"; + String dml = "UPSERT INTO " + tableName + " VALUES(?, ?, ?, ?, ?)"; PreparedStatement stmt = conn.prepareStatement(dml); stmt.setString(1, "a"); stmt.setInt(2, 40); @@ -493,7 +500,7 @@ public void testOrderByWithExpression() throws Exception { stmt.execute(); conn.commit(); - String query = "SELECT col1+col2, col4, a_string FROM e_table ORDER BY 1, 2"; + String query = "SELECT col1+col2, col4, a_string FROM " + tableName + " ORDER BY 1, 2"; ResultSet rs = conn.createStatement().executeQuery(query); assertTrue(rs.next()); assertEquals("a", rs.getString(3)); @@ -512,19 +519,20 @@ public void testOrderByWithExpression() throws Exception { public void testOrderByRVC() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); - String ddl = "create table test1 (testpk varchar not null primary key, l_quantity decimal(15,2), l_discount decimal(15,2))"; + String tableName = generateRandomString(); + String ddl = "create table " + tableName + " (testpk varchar not null primary key, l_quantity decimal(15,2), l_discount decimal(15,2))"; conn.createStatement().execute(ddl); - PreparedStatement stmt = conn.prepareStatement("upsert into test1 values ('a',0.1,0.9)"); + PreparedStatement stmt = conn.prepareStatement("upsert into " + tableName + " values ('a',0.1,0.9)"); stmt.execute(); - stmt = conn.prepareStatement(" upsert into test1 values ('b',0.5,0.5)"); + stmt = conn.prepareStatement(" upsert into " + tableName + " values ('b',0.5,0.5)"); stmt.execute(); - stmt = conn.prepareStatement(" upsert into test1 values ('c',0.9,0.1)"); + stmt = conn.prepareStatement(" upsert into " + tableName + " values ('c',0.9,0.1)"); stmt.execute(); conn.commit(); ResultSet rs; - stmt = conn.prepareStatement("select l_discount,testpk from test1 order by (l_discount,l_quantity)"); + stmt = conn.prepareStatement("select l_discount,testpk from " + tableName + " order by (l_discount,l_quantity)"); rs = stmt.executeQuery(); assertTrue(rs.next()); assertEquals(0.1, rs.getDouble(1), 0.01); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParallelIteratorsIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParallelIteratorsIT.java index e86cf278599..4e1e9832531 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParallelIteratorsIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ParallelIteratorsIT.java @@ -116,7 +116,7 @@ public void testGetSplits() throws Exception { public void testServerNameOnScan() throws Exception { Connection conn = DriverManager.getConnection(getUrl(), TEST_PROPERTIES); byte[][] splits = new byte[][] { K3, K9, KR }; - ensureTableCreated(getUrl(), STABLE_NAME, splits); + ensureTableCreated(getUrl(), STABLE_NAME, STABLE_NAME, splits); PhoenixStatement stmt = conn.createStatement().unwrap(PhoenixStatement.class); ResultSet rs = stmt.executeQuery("SELECT * FROM " + STABLE_NAME + " LIMIT 1"); @@ -138,7 +138,7 @@ public void testServerNameOnScan() throws Exception { public void testGuidePostsLifeCycle() throws Exception { Connection conn = DriverManager.getConnection(getUrl(), TEST_PROPERTIES); byte[][] splits = new byte[][] { K3, K9, KR }; - ensureTableCreated(getUrl(), STABLE_NAME, splits); + ensureTableCreated(getUrl(), STABLE_NAME, STABLE_NAME, splits); // create index conn.createStatement().execute("CREATE INDEX " + STABLE_INDEX + " ON " + STABLE_NAME + "( \"value\")"); // before upserting @@ -206,7 +206,7 @@ private static KeyRange newKeyRange(byte[] lowerRange, byte[] upperRange) { private static void initTableValues(Connection conn) throws Exception { byte[][] splits = new byte[][] {K3,K4,K9,K11}; - ensureTableCreated(getUrl(),STABLE_NAME,splits); + ensureTableCreated(getUrl(),STABLE_NAME, STABLE_NAME, splits); PreparedStatement stmt = conn.prepareStatement("upsert into " + STABLE_NAME + " VALUES (?, ?)"); stmt.setString(1, new String(KMIN)); stmt.setInt(2, 1); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/PercentileIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/PercentileIT.java index c896a93bfe3..f0b4b24e9c9 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/PercentileIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/PercentileIT.java @@ -56,14 +56,14 @@ import org.junit.Test; -public class PercentileIT extends BaseHBaseManagedTimeIT { +public class PercentileIT extends BaseHBaseManagedTimeTableReuseIT { @Test public void testPercentile() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); + String tableName = initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); - String query = "SELECT PERCENTILE_CONT(0.9) WITHIN GROUP (ORDER BY A_INTEGER ASC) FROM aTable"; + String query = "SELECT PERCENTILE_CONT(0.9) WITHIN GROUP (ORDER BY A_INTEGER ASC) FROM " + tableName; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -83,9 +83,9 @@ public void testPercentile() throws Exception { @Test public void testPercentileDesc() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); + String tableName = initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); - String query = "SELECT PERCENTILE_CONT(0.9) WITHIN GROUP (ORDER BY A_INTEGER DESC) FROM aTable"; + String query = "SELECT PERCENTILE_CONT(0.9) WITHIN GROUP (ORDER BY A_INTEGER DESC) FROM " + tableName; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -105,9 +105,9 @@ public void testPercentileDesc() throws Exception { @Test public void testPercentileWithGroupby() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); + String tableName = initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); - String query = "SELECT A_STRING, PERCENTILE_CONT(0.9) WITHIN GROUP (ORDER BY A_INTEGER ASC) FROM aTable GROUP BY A_STRING"; + String query = "SELECT A_STRING, PERCENTILE_CONT(0.9) WITHIN GROUP (ORDER BY A_INTEGER ASC) FROM " + tableName + " GROUP BY A_STRING"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -138,9 +138,9 @@ public void testPercentileWithGroupby() throws Exception { @Test public void testPercentileWithGroupbyAndOrderBy() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); + String tableName = initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); - String query = "SELECT A_STRING, PERCENTILE_CONT(0.9) WITHIN GROUP (ORDER BY A_INTEGER ASC) AS PC FROM aTable GROUP BY A_STRING ORDER BY PC"; + String query = "SELECT A_STRING, PERCENTILE_CONT(0.9) WITHIN GROUP (ORDER BY A_INTEGER ASC) AS PC FROM " + tableName + " GROUP BY A_STRING ORDER BY PC"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -171,9 +171,9 @@ public void testPercentileWithGroupbyAndOrderBy() throws Exception { @Test public void testPercentileDiscAsc() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); + String tableName = initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); - String query = "SELECT PERCENTILE_DISC(0.9) WITHIN GROUP (ORDER BY A_INTEGER ASC) FROM aTable"; + String query = "SELECT PERCENTILE_DISC(0.9) WITHIN GROUP (ORDER BY A_INTEGER ASC) FROM " + tableName; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -192,9 +192,9 @@ public void testPercentileDiscAsc() throws Exception { @Test public void testPercentileDiscDesc() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); + String tableName = initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); - String query = "SELECT PERCENTILE_DISC(0.9) WITHIN GROUP (ORDER BY A_INTEGER DESC) FROM aTable"; + String query = "SELECT PERCENTILE_DISC(0.9) WITHIN GROUP (ORDER BY A_INTEGER DESC) FROM " + tableName; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -213,9 +213,9 @@ public void testPercentileDiscDesc() throws Exception { @Test public void testPercentileDiscWithGroupby() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); + String tableName = initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); - String query = "SELECT A_STRING, PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY A_INTEGER ASC) FROM aTable GROUP BY A_STRING"; + String query = "SELECT A_STRING, PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY A_INTEGER ASC) FROM " + tableName + " GROUP BY A_STRING"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -243,9 +243,9 @@ public void testPercentileDiscWithGroupby() throws Exception { @Test public void testPercentileDiscWithGroupbyAndOrderBy() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); + String tableName = initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); - String query = "SELECT A_STRING, PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY A_INTEGER ASC) FROM aTable GROUP BY A_STRING ORDER BY A_STRING DESC"; + String query = "SELECT A_STRING, PERCENTILE_DISC(0.5) WITHIN GROUP (ORDER BY A_INTEGER ASC) FROM " + tableName + " GROUP BY A_STRING ORDER BY A_STRING DESC"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -273,9 +273,9 @@ public void testPercentileDiscWithGroupbyAndOrderBy() throws Exception { @Test public void testPercentRank() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); + String tableName = initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); - String query = "SELECT PERCENT_RANK(5) WITHIN GROUP (ORDER BY A_INTEGER ASC) FROM aTable"; + String query = "SELECT PERCENT_RANK(5) WITHIN GROUP (ORDER BY A_INTEGER ASC) FROM " + tableName; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -295,9 +295,9 @@ public void testPercentRank() throws Exception { @Test public void testPercentRankWithNegativeNumeric() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); + String tableName = initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); - String query = "SELECT PERCENT_RANK(-2) WITHIN GROUP (ORDER BY A_INTEGER ASC) FROM aTable"; + String query = "SELECT PERCENT_RANK(-2) WITHIN GROUP (ORDER BY A_INTEGER ASC) FROM " + tableName; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -317,9 +317,9 @@ public void testPercentRankWithNegativeNumeric() throws Exception { @Test public void testPercentRankDesc() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); + String tableName = initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); - String query = "SELECT PERCENT_RANK(8.9) WITHIN GROUP (ORDER BY A_INTEGER DESC) FROM aTable"; + String query = "SELECT PERCENT_RANK(8.9) WITHIN GROUP (ORDER BY A_INTEGER DESC) FROM " + tableName; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -339,9 +339,9 @@ public void testPercentRankDesc() throws Exception { @Test public void testPercentRankDescOnVARCHARColumn() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); + String tableName = initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); - String query = "SELECT PERCENT_RANK('ba') WITHIN GROUP (ORDER BY A_STRING DESC) FROM aTable"; + String query = "SELECT PERCENT_RANK('ba') WITHIN GROUP (ORDER BY A_STRING DESC) FROM " + tableName; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -361,9 +361,9 @@ public void testPercentRankDescOnVARCHARColumn() throws Exception { @Test public void testPercentRankDescOnDECIMALColumn() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); + String tableName = initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); - String query = "SELECT PERCENT_RANK(2) WITHIN GROUP (ORDER BY x_decimal ASC) FROM aTable"; + String query = "SELECT PERCENT_RANK(2) WITHIN GROUP (ORDER BY x_decimal ASC) FROM " + tableName; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -383,9 +383,9 @@ public void testPercentRankDescOnDECIMALColumn() throws Exception { @Test public void testMultiplePercentRanksOnSelect() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); + String tableName = initATableValues(tenantId, null, getDefaultSplits(tenantId), null, null); - String query = "SELECT PERCENT_RANK(2) WITHIN GROUP (ORDER BY x_decimal ASC), PERCENT_RANK(8.9) WITHIN GROUP (ORDER BY A_INTEGER DESC) FROM aTable"; + String query = "SELECT PERCENT_RANK(2) WITHIN GROUP (ORDER BY x_decimal ASC), PERCENT_RANK(8.9) WITHIN GROUP (ORDER BY A_INTEGER DESC) FROM " + tableName; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -407,11 +407,12 @@ public void testMultiplePercentRanksOnSelect() throws Exception { @Test public void testPercentileContOnDescPKColumn() throws Exception { - ensureTableCreated(getUrl(), INDEX_DATA_TABLE); - populateINDEX_DATA_TABLETable(); + String indexDataTableName = generateRandomString(); + ensureTableCreated(getUrl(), indexDataTableName, INDEX_DATA_TABLE); + populateINDEX_DATA_TABLETable(indexDataTableName); String query = "SELECT PERCENTILE_CONT(1) WITHIN GROUP (ORDER BY long_pk ASC) FROM " + INDEX_DATA_SCHEMA - + QueryConstants.NAME_SEPARATOR + INDEX_DATA_TABLE; + + QueryConstants.NAME_SEPARATOR + indexDataTableName; Connection conn = DriverManager.getConnection(getUrl()); try { @@ -429,11 +430,12 @@ public void testPercentileContOnDescPKColumn() throws Exception { @Test public void testPercentRankOnDescPKColumn() throws Exception { - ensureTableCreated(getUrl(), INDEX_DATA_TABLE); - populateINDEX_DATA_TABLETable(); + String indexDataTableName = generateRandomString(); + ensureTableCreated(getUrl(), indexDataTableName, INDEX_DATA_TABLE); + populateINDEX_DATA_TABLETable(indexDataTableName); String query = "SELECT PERCENT_RANK(2) WITHIN GROUP (ORDER BY long_pk ASC) FROM " + INDEX_DATA_SCHEMA - + QueryConstants.NAME_SEPARATOR + INDEX_DATA_TABLE; + + QueryConstants.NAME_SEPARATOR + indexDataTableName; Connection conn = DriverManager.getConnection(getUrl()); try { @@ -451,11 +453,12 @@ public void testPercentRankOnDescPKColumn() throws Exception { @Test public void testPercentileDiscOnDescPKColumn() throws Exception { - ensureTableCreated(getUrl(), INDEX_DATA_TABLE); - populateINDEX_DATA_TABLETable(); + String indexDataTableName = generateRandomString(); + ensureTableCreated(getUrl(), indexDataTableName, INDEX_DATA_TABLE); + populateINDEX_DATA_TABLETable(indexDataTableName); String query = "SELECT PERCENTILE_DISC(0.4) WITHIN GROUP (ORDER BY long_pk DESC) FROM " + INDEX_DATA_SCHEMA - + QueryConstants.NAME_SEPARATOR + INDEX_DATA_TABLE; + + QueryConstants.NAME_SEPARATOR + indexDataTableName; Connection conn = DriverManager.getConnection(getUrl()); try { @@ -470,12 +473,12 @@ public void testPercentileDiscOnDescPKColumn() throws Exception { } } - private static void populateINDEX_DATA_TABLETable() throws SQLException { + private static void populateINDEX_DATA_TABLETable(String indexDataTableName) throws SQLException { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); Date date = DateUtil.parseDate("2015-01-01 00:00:00"); try { - String upsert = "UPSERT INTO " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + INDEX_DATA_TABLE + String upsert = "UPSERT INTO " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexDataTableName + " VALUES(?, ?, ?, ?, ?, ?)"; PreparedStatement stmt = conn.prepareStatement(upsert); stmt.setString(1, "varchar1"); @@ -508,12 +511,13 @@ private static void populateINDEX_DATA_TABLETable() throws SQLException { } } - private static void initATableValues(String tenantId1, String tenantId2, byte[][] splits, + private static String initATableValues(String tenantId1, String tenantId2, byte[][] splits, Date date, Long ts) throws Exception { + String tableName = generateRandomString(); if (ts == null) { - ensureTableCreated(getUrl(), ATABLE_NAME, splits); + ensureTableCreated(getUrl(), tableName, ATABLE_NAME, splits); } else { - ensureTableCreated(getUrl(), ATABLE_NAME, splits, ts - 2); + ensureTableCreated(getUrl(), tableName, ATABLE_NAME, splits, ts - 2); } Properties props = new Properties(); @@ -523,7 +527,7 @@ private static void initATableValues(String tenantId1, String tenantId2, byte[][ Connection conn = DriverManager.getConnection(getUrl(), props); try { // Insert all rows at ts - PreparedStatement stmt = conn.prepareStatement("upsert into " + "ATABLE(" + PreparedStatement stmt = conn.prepareStatement("upsert into " + tableName + "(" + " ORGANIZATION_ID, " + " ENTITY_ID, " + " A_STRING, " + " B_STRING, " + " A_INTEGER, " + " A_DATE, " + " X_DECIMAL, " + " X_LONG, " + " X_INTEGER," + " Y_INTEGER)" @@ -669,6 +673,7 @@ private static void initATableValues(String tenantId1, String tenantId2, byte[][ conn.commit(); } finally { conn.close(); + return tableName; } } } diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixRuntimeIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixRuntimeIT.java index 3ba43e97767..cfb729a891e 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixRuntimeIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixRuntimeIT.java @@ -97,21 +97,23 @@ private static Filter getUserTableAndViewsFilter() { private void testGetTenantIdExpression(boolean isSalted) throws Exception { Connection conn = DriverManager.getConnection(getUrl()); conn.setAutoCommit(true); - String tableName = "FOO_" + (isSalted ? "SALTED" : "UNSALTED"); + String tableName = generateRandomString() + "FOO_" + (isSalted ? "SALTED" : "UNSALTED"); + String sequenceName = generateRandomString() + "_S"; conn.createStatement().execute("CREATE TABLE " + tableName + " (k1 VARCHAR NOT NULL, k2 VARCHAR, CONSTRAINT PK PRIMARY KEY(K1,K2)) MULTI_TENANT=true" + (isSalted ? ",SALT_BUCKETS=3" : "")); - conn.createStatement().execute("CREATE SEQUENCE s1"); + conn.createStatement().execute("CREATE SEQUENCE " + sequenceName); conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('t1','x')"); conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('t2','y')"); Properties props = PropertiesUtil.deepCopy(TestUtil.TEST_PROPERTIES); props.setProperty(PhoenixRuntime.TENANT_ID_ATTRIB, "t1"); Connection tsconn = DriverManager.getConnection(getUrl(), props); - tsconn.createStatement().execute("CREATE SEQUENCE s1"); + tsconn.createStatement().execute("CREATE SEQUENCE " + sequenceName); Expression e1 = PhoenixRuntime.getTenantIdExpression(tsconn, PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_NAME); HTableInterface htable1 = tsconn.unwrap(PhoenixConnection.class).getQueryServices().getTable(PhoenixDatabaseMetaData.SYSTEM_SEQUENCE_NAME_BYTES); assertTenantIds(e1, htable1, new FirstKeyOnlyFilter(), new String[] {"", "t1"} ); - - tsconn.createStatement().execute("CREATE VIEW A.BAR(V1 VARCHAR) AS SELECT * FROM " + tableName); + + String viewName = generateRandomString(); + tsconn.createStatement().execute("CREATE VIEW " + viewName + "(V1 VARCHAR) AS SELECT * FROM " + tableName); Expression e2 = PhoenixRuntime.getTenantIdExpression(tsconn, PhoenixDatabaseMetaData.SYSTEM_CATALOG_NAME); HTableInterface htable2 = conn.unwrap(PhoenixConnection.class).getQueryServices().getTable(PhoenixDatabaseMetaData.SYSTEM_CATALOG_NAME_BYTES); assertTenantIds(e2, htable2, getUserTableAndViewsFilter(), new String[] {"", "t1"} ); @@ -119,22 +121,25 @@ private void testGetTenantIdExpression(boolean isSalted) throws Exception { Expression e3 = PhoenixRuntime.getTenantIdExpression(conn, tableName); HTableInterface htable3 = conn.unwrap(PhoenixConnection.class).getQueryServices().getTable(Bytes.toBytes(tableName)); assertTenantIds(e3, htable3, new FirstKeyOnlyFilter(), new String[] {"t1", "t2"} ); - - conn.createStatement().execute("CREATE TABLE BAS (k1 VARCHAR PRIMARY KEY)"); - Expression e4 = PhoenixRuntime.getTenantIdExpression(conn, "BAS"); + + String basTableName = generateRandomString(); + conn.createStatement().execute("CREATE TABLE " + basTableName + " (k1 VARCHAR PRIMARY KEY)"); + Expression e4 = PhoenixRuntime.getTenantIdExpression(conn, basTableName); assertNull(e4); - tsconn.createStatement().execute("CREATE INDEX I1 ON A.BAR(V1)"); - Expression e5 = PhoenixRuntime.getTenantIdExpression(tsconn, "A.I1"); + String indexName1 = generateRandomString(); + tsconn.createStatement().execute("CREATE INDEX " + indexName1 + " ON " + viewName + "(V1)"); + Expression e5 = PhoenixRuntime.getTenantIdExpression(tsconn, indexName1); HTableInterface htable5 = tsconn.unwrap(PhoenixConnection.class).getQueryServices().getTable(Bytes.toBytes(MetaDataUtil.VIEW_INDEX_TABLE_PREFIX + tableName)); assertTenantIds(e5, htable5, new FirstKeyOnlyFilter(), new String[] {"t1"} ); - conn.createStatement().execute("CREATE INDEX I2 ON " + tableName + "(k2)"); - Expression e6 = PhoenixRuntime.getTenantIdExpression(conn, "I2"); - HTableInterface htable6 = conn.unwrap(PhoenixConnection.class).getQueryServices().getTable(Bytes.toBytes("I2")); + String indexName2 = generateRandomString(); + conn.createStatement().execute("CREATE INDEX " + indexName2 + " ON " + tableName + "(k2)"); + Expression e6 = PhoenixRuntime.getTenantIdExpression(conn, indexName2); + HTableInterface htable6 = conn.unwrap(PhoenixConnection.class).getQueryServices().getTable(Bytes.toBytes(indexName2)); assertTenantIds(e6, htable6, new FirstKeyOnlyFilter(), new String[] {"t1", "t2"} ); - tableName = "BAR_" + (isSalted ? "SALTED" : "UNSALTED"); + tableName = generateRandomString() + "BAR_" + (isSalted ? "SALTED" : "UNSALTED"); conn.createStatement().execute("CREATE TABLE " + tableName + " (k1 VARCHAR NOT NULL, k2 VARCHAR, CONSTRAINT PK PRIMARY KEY(K1,K2)) " + (isSalted ? "SALT_BUCKETS=3" : "")); conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('t1','x')"); conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('t2','y')"); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ProductMetricsIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ProductMetricsIT.java index a68ba5138d1..07dd101f1b4 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ProductMetricsIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ProductMetricsIT.java @@ -89,7 +89,7 @@ private static Date toDate(String dateString) { } private static void initTable(byte[][] splits, long ts) throws Exception { - ensureTableCreated(getUrl(),PRODUCT_METRICS_NAME,splits, ts-2); + ensureTableCreated(getUrl(), PRODUCT_METRICS_NAME, PRODUCT_METRICS_NAME,splits, ts-2); } private static void assertNoRows(Connection conn) throws SQLException { diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryExecWithoutSCNIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryExecWithoutSCNIT.java index 534f77d23c6..6819e572929 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryExecWithoutSCNIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryExecWithoutSCNIT.java @@ -32,13 +32,13 @@ import org.junit.Test; -public class QueryExecWithoutSCNIT extends BaseHBaseManagedTimeIT { +public class QueryExecWithoutSCNIT extends BaseHBaseManagedTimeTableReuseIT { @Test public void testScanNoSCN() throws Exception { long ts = System.currentTimeMillis(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); - String query = "SELECT a_string, b_string FROM aTable WHERE organization_id=? and a_integer = 5"; + String tableName = initATableValues(tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); + String query = "SELECT a_string, b_string FROM " + tableName + " WHERE organization_id=? and a_integer = 5"; Properties props = new Properties(); // Test with no CurrentSCN property set Connection conn = DriverManager.getConnection(getUrl(), props); try { diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryWithLimitIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryWithLimitIT.java index c05c92dbe02..aa696c184b4 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryWithLimitIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryWithLimitIT.java @@ -63,7 +63,7 @@ public void testQueryWithLimitAndStats() throws Exception { Properties props = PropertiesUtil.deepCopy(TestUtil.TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); try { - ensureTableCreated(getUrl(),KEYONLY_NAME); + ensureTableCreated(getUrl(), KEYONLY_NAME, KEYONLY_NAME); initTableValues(conn, 100); String query = "SELECT i1 FROM KEYONLY LIMIT 1"; @@ -87,7 +87,7 @@ public void testQueryWithoutLimitFails() throws Exception { Properties props = PropertiesUtil.deepCopy(TestUtil.TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); - ensureTableCreated(getUrl(),KEYONLY_NAME); + ensureTableCreated(getUrl(), KEYONLY_NAME, KEYONLY_NAME); initTableValues(conn, 100); conn.createStatement().execute("UPDATE STATISTICS " + KEYONLY_NAME); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ReadIsolationLevelIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ReadIsolationLevelIT.java index caebcb54c69..1573533a6e6 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ReadIsolationLevelIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ReadIsolationLevelIT.java @@ -42,7 +42,7 @@ public class ReadIsolationLevelIT extends BaseClientManagedTimeIT { protected static void initTableValues(long ts, byte[][] splits) throws Exception { String tenantId = getOrganizationId(); - ensureTableCreated(getUrl(),ATABLE_NAME,splits, ts-2); + ensureTableCreated(getUrl(),ATABLE_NAME, ATABLE_NAME, splits, ts-2); Properties props = new Properties(); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts)); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/RegexpReplaceFunctionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/RegexpReplaceFunctionIT.java index dcc20ff1d39..767048116d7 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/RegexpReplaceFunctionIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/RegexpReplaceFunctionIT.java @@ -33,13 +33,15 @@ import org.junit.Test; -public class RegexpReplaceFunctionIT extends BaseHBaseManagedTimeIT { +public class RegexpReplaceFunctionIT extends BaseHBaseManagedTimeTableReuseIT { private int id; + protected String tableName; @Before public void doBeforeTestSetup() throws Exception { - ensureTableCreated(getUrl(), GROUPBYTEST_NAME); + this.tableName = generateRandomString(); + ensureTableCreated(getUrl(), this.tableName, GROUPBYTEST_NAME); Connection conn = DriverManager.getConnection(getUrl()); insertRow(conn, "Report11", 10); insertRow(conn, "Report11", 10); @@ -50,7 +52,8 @@ public void doBeforeTestSetup() throws Exception { } private void insertRow(Connection conn, String uri, int appcpu) throws SQLException { - PreparedStatement statement = conn.prepareStatement("UPSERT INTO " + GROUPBYTEST_NAME + "(id, uri, appcpu) values (?,?,?)"); + + PreparedStatement statement = conn.prepareStatement("UPSERT INTO " + this.tableName + "(id, uri, appcpu) values (?,?,?)"); statement.setString(1, "id" + id); statement.setString(2, uri); statement.setInt(3, appcpu); @@ -62,14 +65,14 @@ private void insertRow(Connection conn, String uri, int appcpu) throws SQLExcept public void testGroupByScanWithRegexpReplace() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); Statement stmt = conn.createStatement(); - ResultSet rs = stmt.executeQuery("select REGEXP_REPLACE(uri, '[1-3]+', '*') suburi, sum(appcpu) sumcpu from " + GROUPBYTEST_NAME + " group by suburi"); + ResultSet rs = stmt.executeQuery("select REGEXP_REPLACE(uri, '[1-3]+', '*') suburi, sum(appcpu) sumcpu from " + this.tableName + " group by suburi"); assertTrue(rs.next()); assertEquals(rs.getString("suburi"), "Report*"); assertEquals(rs.getInt("sumcpu"), 80); assertFalse(rs.next()); stmt = conn.createStatement(); - rs = stmt.executeQuery("select REGEXP_REPLACE(uri, '[1-3]+') suburi, sum(appcpu) sumcpu from " + GROUPBYTEST_NAME + " group by suburi"); + rs = stmt.executeQuery("select REGEXP_REPLACE(uri, '[1-3]+') suburi, sum(appcpu) sumcpu from " + this.tableName + " group by suburi"); assertTrue(rs.next()); assertEquals(rs.getString("suburi"), "Report"); assertEquals(rs.getInt("sumcpu"), 80); @@ -81,14 +84,14 @@ public void testGroupByScanWithRegexpReplace() throws Exception { @Test public void testFilterWithRegexReplace() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - ResultSet rs = conn.createStatement().executeQuery("select id from " + GROUPBYTEST_NAME + " where REGEXP_REPLACE(uri, '[2-3]+', '*') = 'Report*'"); + ResultSet rs = conn.createStatement().executeQuery("select id from " + this.tableName + " where REGEXP_REPLACE(uri, '[2-3]+', '*') = 'Report*'"); assertTrue(rs.next()); assertEquals("id2", rs.getString(1)); assertTrue(rs.next()); assertEquals("id3", rs.getString(1)); assertFalse(rs.next()); - rs = conn.createStatement().executeQuery("select id from " + GROUPBYTEST_NAME + " where REGEXP_REPLACE(uri, '[2-3]+') = 'Report'"); + rs = conn.createStatement().executeQuery("select id from " + this.tableName + " where REGEXP_REPLACE(uri, '[2-3]+') = 'Report'"); assertTrue(rs.next()); assertEquals("id2", rs.getString(1)); assertTrue(rs.next()); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/RegexpSubstrFunctionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/RegexpSubstrFunctionIT.java index 938fd5d71cc..5a201bd4ac0 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/RegexpSubstrFunctionIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/RegexpSubstrFunctionIT.java @@ -39,7 +39,7 @@ public class RegexpSubstrFunctionIT extends BaseHBaseManagedTimeIT { @Before public void doBeforeTestSetup() throws Exception { - ensureTableCreated(getUrl(), GROUPBYTEST_NAME); + ensureTableCreated(getUrl(), GROUPBYTEST_NAME, GROUPBYTEST_NAME); Connection conn = DriverManager.getConnection(getUrl()); insertRow(conn, "Report1?1", 10); insertRow(conn, "Report1?2", 10); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ReverseScanIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ReverseScanIT.java index 2722be11da3..dbb5f1676e3 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ReverseScanIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ReverseScanIT.java @@ -52,8 +52,8 @@ import com.google.common.collect.Maps; -public class ReverseScanIT extends BaseHBaseManagedTimeIT { - protected static final String ATABLE_INDEX_NAME = "ATABLE_IDX"; +public class ReverseScanIT extends BaseHBaseManagedTimeTableReuseIT { + protected static final String ATABLE_INDEX_NAME = generateRandomString(); @BeforeClass @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) @@ -85,10 +85,10 @@ private static byte[][] getSplitsAtRowKeys(String tenantId) { @Test public void testReverseRangeScan() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, getSplitsAtRowKeys(tenantId), getUrl()); + String tableName = initATableValues(tenantId, getSplitsAtRowKeys(tenantId), getUrl()); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); - String query = "SELECT entity_id FROM aTable WHERE entity_id >= '" + ROW3 + "' ORDER BY organization_id DESC, entity_id DESC"; + String query = "SELECT entity_id FROM " + tableName + " WHERE entity_id >= '" + ROW3 + "' ORDER BY organization_id DESC, entity_id DESC"; try { Statement stmt = conn.createStatement(); stmt.setFetchSize(2); @@ -113,11 +113,11 @@ public void testReverseRangeScan() throws Exception { rs = conn.createStatement().executeQuery("EXPLAIN " + query); assertEquals( - "CLIENT PARALLEL 1-WAY REVERSE FULL SCAN OVER ATABLE\n" + + "CLIENT PARALLEL 1-WAY REVERSE FULL SCAN OVER " + tableName + "\n" + " SERVER FILTER BY FIRST KEY ONLY AND ENTITY_ID >= '00A323122312312'", QueryUtil.getExplainPlan(rs)); - PreparedStatement statement = conn.prepareStatement("SELECT entity_id FROM aTable WHERE organization_id = ? AND entity_id >= ? ORDER BY organization_id DESC, entity_id DESC"); + PreparedStatement statement = conn.prepareStatement("SELECT entity_id FROM " + tableName + " WHERE organization_id = ? AND entity_id >= ? ORDER BY organization_id DESC, entity_id DESC"); statement.setString(1, tenantId); statement.setString(2, ROW7); rs = statement.executeQuery(); @@ -138,10 +138,10 @@ public void testReverseRangeScan() throws Exception { @Test public void testReverseSkipScan() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, getSplitsAtRowKeys(tenantId), getUrl()); + String tableName = initATableValues(tenantId, getSplitsAtRowKeys(tenantId), getUrl()); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); - String query = "SELECT entity_id FROM aTable WHERE organization_id = ? AND entity_id IN (?,?,?,?,?) ORDER BY organization_id DESC, entity_id DESC"; + String query = "SELECT entity_id FROM " + tableName + " WHERE organization_id = ? AND entity_id IN (?,?,?,?,?) ORDER BY organization_id DESC, entity_id DESC"; try { PreparedStatement statement = conn.prepareStatement(query); statement.setString(1, tenantId); @@ -173,15 +173,16 @@ public void testReverseScanForSpecificRangeInRegion() throws Exception { ResultSet rs; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); conn = DriverManager.getConnection(getUrl(), props); + String tableName = generateRandomString(); conn.createStatement() - .execute("CREATE TABLE T" + " ( k VARCHAR, c1.a bigint,c2.b bigint CONSTRAINT pk PRIMARY KEY (k)) "); - conn.createStatement().execute("upsert into T values ('a',1,3)"); - conn.createStatement().execute("upsert into T values ('b',1,3)"); - conn.createStatement().execute("upsert into T values ('c',1,3)"); - conn.createStatement().execute("upsert into T values ('d',1,3)"); - conn.createStatement().execute("upsert into T values ('e',1,3)"); + .execute("CREATE TABLE " + tableName + " ( k VARCHAR, c1.a bigint,c2.b bigint CONSTRAINT pk PRIMARY KEY (k)) "); + conn.createStatement().execute("upsert into " + tableName + " values ('a',1,3)"); + conn.createStatement().execute("upsert into " + tableName + " values ('b',1,3)"); + conn.createStatement().execute("upsert into " + tableName + " values ('c',1,3)"); + conn.createStatement().execute("upsert into " + tableName + " values ('d',1,3)"); + conn.createStatement().execute("upsert into " + tableName + " values ('e',1,3)"); conn.commit(); - rs = conn.createStatement().executeQuery("SELECT k FROM T where k>'b' and k<'d' order by k desc"); + rs = conn.createStatement().executeQuery("SELECT k FROM " + tableName + " where k>'b' and k<'d' order by k desc"); assertTrue(rs.next()); assertEquals("c", rs.getString(1)); assertTrue(!rs.next()); @@ -191,16 +192,16 @@ public void testReverseScanForSpecificRangeInRegion() throws Exception { @Test public void testReverseScanIndex() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, getSplitsAtRowKeys(tenantId), getUrl()); + String tableName = initATableValues(tenantId, getSplitsAtRowKeys(tenantId), getUrl()); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); - String ddl = "CREATE INDEX " + ATABLE_INDEX_NAME + " ON aTable (a_integer DESC) INCLUDE (" + String ddl = "CREATE INDEX " + ATABLE_INDEX_NAME + " ON " + tableName + " (a_integer DESC) INCLUDE (" + " A_STRING, " + " B_STRING, " + " A_DATE)"; conn.createStatement().execute(ddl); String query = - "SELECT a_integer FROM atable where a_integer is not null order by a_integer nulls last limit 1"; + "SELECT a_integer FROM " + tableName + " where a_integer is not null order by a_integer nulls last limit 1"; PreparedStatement statement = conn.prepareStatement(query); ResultSet rs=statement.executeQuery(); @@ -210,7 +211,7 @@ public void testReverseScanIndex() throws Exception { rs = conn.createStatement().executeQuery("EXPLAIN " + query); assertEquals( - "CLIENT SERIAL 1-WAY REVERSE RANGE SCAN OVER ATABLE_IDX [not null]\n" + + "CLIENT SERIAL 1-WAY REVERSE RANGE SCAN OVER " + ATABLE_INDEX_NAME + " [not null]\n" + " SERVER FILTER BY FIRST KEY ONLY\n" + " SERVER 1 ROW LIMIT\n" + "CLIENT 1 ROW LIMIT",QueryUtil.getExplainPlan(rs)); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SkipScanQueryIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SkipScanQueryIT.java index 31994bb26d6..c8f4dedb103 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SkipScanQueryIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SkipScanQueryIT.java @@ -40,7 +40,7 @@ import org.junit.Test; -public class SkipScanQueryIT extends BaseHBaseManagedTimeIT { +public class SkipScanQueryIT extends BaseHBaseManagedTimeTableReuseIT { private void initIntInTable(Connection conn, List data) throws SQLException { String ddl = "CREATE TABLE IF NOT EXISTS inTest (" + @@ -57,13 +57,14 @@ private void initIntInTable(Connection conn, List data) throws SQLExcep conn.commit(); } - private void initVarCharCrossProductInTable(Connection conn, List c1, List c2) throws SQLException { - String ddl = "CREATE TABLE IF NOT EXISTS inVarTest (" + + private String initVarCharCrossProductInTable(Connection conn, List c1, List c2) throws SQLException { + String tableName = generateRandomString(); + String ddl = "CREATE TABLE IF NOT EXISTS " + tableName + " (" + " s1 VARCHAR, s2 VARCHAR CONSTRAINT pk PRIMARY KEY (s1,s2))"; conn.createStatement().executeUpdate(ddl); // Test upsert correct values - String query = "UPSERT INTO inVarTest VALUES(?,?)"; + String query = "UPSERT INTO " + tableName + " VALUES(?,?)"; PreparedStatement stmt = conn.prepareStatement(query); for (String s1 : c1) { for (String s2 : c2) { @@ -73,6 +74,7 @@ private void initVarCharCrossProductInTable(Connection conn, List c1, Li } } conn.commit(); + return tableName; } private void initVarCharParallelListInTable(Connection conn, List c1, List c2) throws SQLException { @@ -111,10 +113,10 @@ private void initSelectAfterUpsertTable(Connection conn) throws Exception { @Test public void testSkipScanFilterQuery() throws Exception { - String createTableDDL = "CREATE TABLE test" + "(col1 VARCHAR," + "col2 VARCHAR," + "col3 VARCHAR," + String createTableDDL = "CREATE TABLE test1" + "(col1 VARCHAR," + "col2 VARCHAR," + "col3 VARCHAR," + "col4 VARCHAR," + "CONSTRAINT pk " + "PRIMARY KEY (col1,col2,col3,col4))"; - String upsertQuery = "upsert into test values(?,?,?,?)"; - String query = "SELECT col1, col2, col3, col4 FROM test WHERE col1 IN ('a','e','f') AND col2 = 'b' AND col4 = '1' "; + String upsertQuery = "upsert into test1 values(?,?,?,?)"; + String query = "SELECT col1, col2, col3, col4 FROM test1 WHERE col1 IN ('a','e','f') AND col2 = 'b' AND col4 = '1' "; String[] col1Values = { "a", "e.f", "f" }; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); createTestTable(getUrl(), createTableDDL); @@ -199,10 +201,10 @@ public void testVarCharParallelListInQuery() throws Exception { public void testVarCharXInQuery() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); conn.setAutoCommit(false); - initVarCharCrossProductInTable(conn,Arrays.asList("d","da","db"),Arrays.asList("m","mc","tt")); + String tableName = initVarCharCrossProductInTable(conn,Arrays.asList("d","da","db"),Arrays.asList("m","mc","tt")); try { String query; - query = "SELECT s1,s2 FROM inVarTest WHERE s1 IN ('a','b','da','db') AND s2 IN ('c','ma','m','mc','ttt','z')"; + query = "SELECT s1,s2 FROM " + tableName + " WHERE s1 IN ('a','b','da','db') AND s2 IN ('c','ma','m','mc','ttt','z')"; ResultSet rs = conn.createStatement().executeQuery(query); assertTrue(rs.next()); assertEquals("da", rs.getString(1)); @@ -226,11 +228,11 @@ public void testVarCharXInQuery() throws Exception { public void testVarCharXIntInQuery() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); conn.setAutoCommit(false); - initVarCharCrossProductInTable(conn,Arrays.asList("d","da","db"),Arrays.asList("m","mc","tt")); + String tableName = initVarCharCrossProductInTable(conn,Arrays.asList("d","da","db"),Arrays.asList("m","mc","tt")); try { String query; - query = "SELECT s1,s2 FROM inVarTest " + - "WHERE s1 IN ('a','b','da','db') AND s2 IN ('c','ma','m','mc','ttt','z') " + + query = "SELECT s1,s2 FROM " + tableName + + " WHERE s1 IN ('a','b','da','db') AND s2 IN ('c','ma','m','mc','ttt','z') " + "AND s1 > 'd' AND s1 < 'db' AND s2 > 'm'"; ResultSet rs = conn.createStatement().executeQuery(query); assertTrue(rs.next()); @@ -246,15 +248,15 @@ public void testVarCharXIntInQuery() throws Exception { public void testPreSplitCompositeFixedKey() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); try { - conn.createStatement().execute("create table test(key_1 char(3) not null, key_2 char(4) not null, v varchar(8) CONSTRAINT pk PRIMARY KEY (key_1,key_2)) split on('000','100','200')"); + conn.createStatement().execute("create table test2(key_1 char(3) not null, key_2 char(4) not null, v varchar(8) CONSTRAINT pk PRIMARY KEY (key_1,key_2)) split on('000','100','200')"); conn.setAutoCommit(true); - conn.createStatement().execute("upsert into test values('000','aaaa','value_1')"); - conn.createStatement().execute("upsert into test values('000','aabb','value_2')"); - conn.createStatement().execute("upsert into test values('100','aacc','value_3')"); - conn.createStatement().execute("upsert into test values('100','aadd','value_4')"); - conn.createStatement().execute("upsert into test values('200','aaee','value_5')"); - conn.createStatement().execute("upsert into test values('201','aaff','value_6')"); - ResultSet rs = conn.createStatement().executeQuery("select * from test where key_1>='000' and key_1<'200' and key_2>='aabb' and key_2<'aadd'"); + conn.createStatement().execute("upsert into test2 values('000','aaaa','value_1')"); + conn.createStatement().execute("upsert into test2 values('000','aabb','value_2')"); + conn.createStatement().execute("upsert into test2 values('100','aacc','value_3')"); + conn.createStatement().execute("upsert into test2 values('100','aadd','value_4')"); + conn.createStatement().execute("upsert into test2 values('200','aaee','value_5')"); + conn.createStatement().execute("upsert into test2 values('201','aaff','value_6')"); + ResultSet rs = conn.createStatement().executeQuery("select * from test2 where key_1>='000' and key_1<'200' and key_2>='aabb' and key_2<'aadd'"); assertTrue(rs.next()); assertEquals("000", rs.getString(1)); assertEquals("aabb", rs.getString(2)); @@ -274,15 +276,15 @@ public void testPreSplitCompositeFixedKey() throws Exception { public void testInWithDescKey() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); try { - conn.createStatement().execute("create table test(key_1 char(3) not null, key_2 char(4) not null, v varchar(8) CONSTRAINT pk PRIMARY KEY (key_1,key_2 desc))"); + conn.createStatement().execute("create table test3(key_1 char(3) not null, key_2 char(4) not null, v varchar(8) CONSTRAINT pk PRIMARY KEY (key_1,key_2 desc))"); conn.setAutoCommit(true); - conn.createStatement().execute("upsert into test values('000','aaaa','value_1')"); - conn.createStatement().execute("upsert into test values('000','aabb','value_2')"); - conn.createStatement().execute("upsert into test values('100','aacc','value_3')"); - conn.createStatement().execute("upsert into test values('100','aadd','value_4')"); - conn.createStatement().execute("upsert into test values('200','aaee','value_5')"); - conn.createStatement().execute("upsert into test values('201','aaff','value_6')"); - ResultSet rs = conn.createStatement().executeQuery("select * from test where key_1>='000' and key_1<'200' and key_2>='aabb' and key_2<'aadd'"); + conn.createStatement().execute("upsert into test3 values('000','aaaa','value_1')"); + conn.createStatement().execute("upsert into test3 values('000','aabb','value_2')"); + conn.createStatement().execute("upsert into test3 values('100','aacc','value_3')"); + conn.createStatement().execute("upsert into test3 values('100','aadd','value_4')"); + conn.createStatement().execute("upsert into test3 values('200','aaee','value_5')"); + conn.createStatement().execute("upsert into test3 values('201','aaff','value_6')"); + ResultSet rs = conn.createStatement().executeQuery("select * from test3 where key_1>='000' and key_1<'200' and key_2>='aabb' and key_2<'aadd'"); assertTrue(rs.next()); assertEquals("000", rs.getString(1)); assertEquals("aabb", rs.getString(2)); @@ -293,7 +295,7 @@ public void testInWithDescKey() throws Exception { assertEquals("value_3", rs.getString(3)); assertFalse(rs.next()); - rs = conn.createStatement().executeQuery("select * from test where (key_1,key_2) in (('100','aacc'),('100','aadd'))"); + rs = conn.createStatement().executeQuery("select * from test3 where (key_1,key_2) in (('100','aacc'),('100','aadd'))"); assertTrue(rs.next()); assertEquals("100", rs.getString(1)); assertEquals("aadd", rs.getString(2)); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/StddevIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/StddevIT.java index c00b770238a..280b0aae542 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/StddevIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/StddevIT.java @@ -30,14 +30,14 @@ import org.junit.Test; -public class StddevIT extends BaseHBaseManagedTimeIT { +public class StddevIT extends BaseHBaseManagedTimeTableReuseIT { @Test public void testSTDDEV_POP() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), getUrl()); + String tableName = initATableValues(tenantId, getDefaultSplits(tenantId), getUrl()); - String query = "SELECT STDDEV_POP(A_INTEGER) FROM aTable"; + String query = "SELECT STDDEV_POP(A_INTEGER) FROM " + tableName; Connection conn = DriverManager.getConnection(getUrl()); try { @@ -56,9 +56,9 @@ public void testSTDDEV_POP() throws Exception { @Test public void testSTDDEV_SAMP() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), getUrl()); + String tableName = initATableValues(tenantId, getDefaultSplits(tenantId), getUrl()); - String query = "SELECT STDDEV_SAMP(x_decimal) FROM aTable"; + String query = "SELECT STDDEV_SAMP(x_decimal) FROM " + tableName; Connection conn = DriverManager.getConnection(getUrl()); try { @@ -77,9 +77,9 @@ public void testSTDDEV_SAMP() throws Exception { @Test public void testSTDDEV_POPOnDecimalColType() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), getUrl()); + String tableName = initATableValues(tenantId, getDefaultSplits(tenantId), getUrl()); - String query = "SELECT STDDEV_POP(x_decimal) FROM aTable"; + String query = "SELECT STDDEV_POP(x_decimal) FROM " + tableName; Connection conn = DriverManager.getConnection(getUrl()); try { @@ -98,9 +98,9 @@ public void testSTDDEV_POPOnDecimalColType() throws Exception { @Test public void testSTDDEV_SAMPOnDecimalColType() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), getUrl()); + String tableName = initATableValues(tenantId, getDefaultSplits(tenantId), getUrl()); - String query = "SELECT STDDEV_SAMP(x_decimal) FROM aTable"; + String query = "SELECT STDDEV_SAMP(x_decimal) FROM " + tableName; Connection conn = DriverManager.getConnection(getUrl()); try { diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/StringIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/StringIT.java index b315d7d6964..c9630acdeea 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/StringIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/StringIT.java @@ -40,7 +40,7 @@ * Tests for the LPAD built-in function. */ -public class StringIT extends BaseHBaseManagedTimeIT { +public class StringIT extends BaseHBaseManagedTimeTableReuseIT { /** * Helper to test LPAD function @@ -51,21 +51,23 @@ public class StringIT extends BaseHBaseManagedTimeIT { * name of column to query * @param length * length of the output string - * @param fillString + * @param fillStringList * fill characters to be used while prepending * @param sortOrder * sort order of the pk column - * @param expectedOutput + * @param expectedOutputList * expected output of LPAD function + * @param tableName + * base name of the table */ private void testLpadHelper(Connection conn, String colName, int length, List fillStringList, - List expectedOutputList, String sortOrder) throws Exception { + List expectedOutputList, String tableName, String sortOrder) throws Exception { assertEquals("fillStringList and expectedOutputList should be of equal size", fillStringList.size(), expectedOutputList.size()); for (int id = 0; id < fillStringList.size(); ++id) { String fillString = fillStringList.get(id); String lPadExpr = fillString != null ? "LPAD(%s,?,?)" : "LPAD(%s,?)"; - String sql = String.format("SELECT " + lPadExpr + " FROM TEST_TABLE_%s WHERE id=?", colName, sortOrder); + String sql = String.format("SELECT " + lPadExpr + " FROM " + tableName + "%s WHERE id=?", colName, sortOrder); PreparedStatement stmt = conn.prepareStatement(sql); int index = 1; stmt.setInt(index++, length); @@ -93,16 +95,16 @@ private void testLpadHelper(Connection conn, String colName, int length, List inputList, int length, List fillStringList, String colName, List expectedOutputList) throws Exception { - TestUtil.initTables(conn, "VARCHAR", new ArrayList(inputList)); - testLpadHelper(conn, colName, length, fillStringList, expectedOutputList, "ASC"); - testLpadHelper(conn, colName, length, fillStringList, expectedOutputList, "DESC"); + String tableName = TestUtil.initTables(conn, "VARCHAR", new ArrayList(inputList)); + testLpadHelper(conn, colName, length, fillStringList, expectedOutputList, tableName, "ASC"); + testLpadHelper(conn, colName, length, fillStringList, expectedOutputList, tableName, "DESC"); } private void testLpad(Connection conn, List inputList, int length, List fillStringList, @@ -114,23 +116,23 @@ private void testLpad(Connection conn, List inputList, int length, List< public void testCharPadding() throws Exception { ResultSet rs; Connection conn = DriverManager.getConnection(getUrl()); - - conn.createStatement().execute("CREATE TABLE t (k CHAR(3) PRIMARY KEY)"); - conn.createStatement().execute("UPSERT INTO t VALUES('a')"); - conn.createStatement().execute("UPSERT INTO t VALUES('ab')"); + String tableName = generateRandomString(); + conn.createStatement().execute("CREATE TABLE " + tableName + " (k CHAR(3) PRIMARY KEY)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('a')"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('ab')"); conn.commit(); - rs = conn.createStatement().executeQuery("SELECT * FROM t ORDER BY k"); + rs = conn.createStatement().executeQuery("SELECT * FROM " + tableName + " ORDER BY k"); assertTrue(rs.next()); assertEquals("a", rs.getString(1)); assertTrue(rs.next()); assertEquals("ab", rs.getString(1)); assertFalse(rs.next()); - - conn.createStatement().execute("CREATE TABLE tdesc (k CHAR(3) PRIMARY KEY DESC)"); - conn.createStatement().execute("UPSERT INTO tdesc VALUES('a')"); - conn.createStatement().execute("UPSERT INTO tdesc VALUES('ab')"); + String tableNameDesc = generateRandomString(); + conn.createStatement().execute("CREATE TABLE " + tableNameDesc + " (k CHAR(3) PRIMARY KEY DESC)"); + conn.createStatement().execute("UPSERT INTO " + tableNameDesc + " VALUES('a')"); + conn.createStatement().execute("UPSERT INTO " + tableNameDesc + " VALUES('ab')"); conn.commit(); - rs = conn.createStatement().executeQuery("SELECT * FROM tdesc ORDER BY k DESC"); + rs = conn.createStatement().executeQuery("SELECT * FROM " + tableNameDesc + " ORDER BY k DESC"); assertTrue(rs.next()); assertEquals("ab", rs.getString(1)); assertTrue(rs.next()); @@ -142,23 +144,24 @@ public void testCharPadding() throws Exception { public void testBinaryPadding() throws Exception { ResultSet rs; Connection conn = DriverManager.getConnection(getUrl()); - - conn.createStatement().execute("CREATE TABLE t (k BINARY(3) PRIMARY KEY)"); - conn.createStatement().execute("UPSERT INTO t VALUES('a')"); - conn.createStatement().execute("UPSERT INTO t VALUES('ab')"); + String tableName = generateRandomString(); + conn.createStatement().execute("CREATE TABLE " + tableName + " (k BINARY(3) PRIMARY KEY)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('a')"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('ab')"); conn.commit(); - rs = conn.createStatement().executeQuery("SELECT * FROM t ORDER BY k"); + rs = conn.createStatement().executeQuery("SELECT * FROM " + tableName + " ORDER BY k"); assertTrue(rs.next()); assertArrayEquals(ByteUtil.concat(Bytes.toBytes("a"), QueryConstants.SEPARATOR_BYTE_ARRAY, QueryConstants.SEPARATOR_BYTE_ARRAY), rs.getBytes(1)); assertTrue(rs.next()); assertArrayEquals(ByteUtil.concat(Bytes.toBytes("ab"), QueryConstants.SEPARATOR_BYTE_ARRAY), rs.getBytes(1)); assertFalse(rs.next()); - conn.createStatement().execute("CREATE TABLE tdesc (k BINARY(3) PRIMARY KEY DESC)"); - conn.createStatement().execute("UPSERT INTO tdesc VALUES('a')"); - conn.createStatement().execute("UPSERT INTO tdesc VALUES('ab')"); + String tableNameDesc = generateRandomString(); + conn.createStatement().execute("CREATE TABLE " + tableNameDesc + " (k BINARY(3) PRIMARY KEY DESC)"); + conn.createStatement().execute("UPSERT INTO " + tableNameDesc + " VALUES('a')"); + conn.createStatement().execute("UPSERT INTO " + tableNameDesc + " VALUES('ab')"); conn.commit(); - rs = conn.createStatement().executeQuery("SELECT * FROM tdesc ORDER BY k DESC"); + rs = conn.createStatement().executeQuery("SELECT * FROM " + tableNameDesc + " ORDER BY k DESC"); assertTrue(rs.next()); assertArrayEquals(ByteUtil.concat(Bytes.toBytes("ab"), QueryConstants.SEPARATOR_BYTE_ARRAY), rs.getBytes(1)); assertTrue(rs.next()); @@ -242,11 +245,12 @@ public void testNegativeOutputStringLength() throws Exception { @Test public void testStrConcat() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - conn.createStatement().execute("create table T (PK1 integer, F1 varchar, F2 varchar, F3 varchar, F4 varchar, constraint PK primary key (PK1))"); - conn.createStatement().execute("upsert into T(PK1, F1,F3) values(0, 'tortilla', 'chip')"); + String tableName = generateRandomString(); + conn.createStatement().execute("create table " + tableName + " (PK1 integer, F1 varchar, F2 varchar, F3 varchar, F4 varchar, constraint PK primary key (PK1))"); + conn.createStatement().execute("upsert into " + tableName + "(PK1, F1,F3) values(0, 'tortilla', 'chip')"); conn.commit(); - ResultSet rs = conn.createStatement().executeQuery("select * from T where (F1||F2||F3||F4)='tortillachip'"); + ResultSet rs = conn.createStatement().executeQuery("select * from " + tableName + " where (F1||F2||F3||F4)='tortillachip'"); assertTrue(rs.next()); assertEquals(0, rs.getInt(1)); assertFalse(rs.next()); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SubqueryIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SubqueryIT.java index 2ced6215cbb..3d2f2e407fa 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SubqueryIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SubqueryIT.java @@ -322,7 +322,7 @@ public static Collection data() { protected void initCoItemTableValues() throws Exception { - ensureTableCreated(getUrl(), JOIN_COITEM_TABLE_FULL_NAME); + ensureTableCreated(getUrl(), JOIN_COITEM_TABLE_FULL_NAME, JOIN_COITEM_TABLE_FULL_NAME); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SubqueryUsingSortMergeJoinIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SubqueryUsingSortMergeJoinIT.java index 435c649a83f..d866774100c 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SubqueryUsingSortMergeJoinIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SubqueryUsingSortMergeJoinIT.java @@ -296,11 +296,16 @@ public static Collection data() { } protected void initTableValues() throws Exception { - ensureTableCreated(getUrl(), JOIN_CUSTOMER_TABLE_FULL_NAME); - ensureTableCreated(getUrl(), JOIN_ITEM_TABLE_FULL_NAME); - ensureTableCreated(getUrl(), JOIN_SUPPLIER_TABLE_FULL_NAME); - ensureTableCreated(getUrl(), JOIN_ORDER_TABLE_FULL_NAME); - ensureTableCreated(getUrl(), JOIN_COITEM_TABLE_FULL_NAME); + String tableName_CustomerTableFullName = generateRandomString(); + String tableName_ItemTableFullName = generateRandomString(); + String tableName_SupplierTableFullName = generateRandomString(); + String tableName_OrderTableFullName = generateRandomString(); + String tableName_CoitemTableFullName = generateRandomString(); + ensureTableCreated(getUrl(), tableName_CustomerTableFullName, JOIN_CUSTOMER_TABLE_FULL_NAME); + ensureTableCreated(getUrl(), tableName_ItemTableFullName, JOIN_ITEM_TABLE_FULL_NAME); + ensureTableCreated(getUrl(), tableName_SupplierTableFullName, JOIN_SUPPLIER_TABLE_FULL_NAME); + ensureTableCreated(getUrl(), tableName_OrderTableFullName, JOIN_ORDER_TABLE_FULL_NAME); + ensureTableCreated(getUrl(), tableName_CoitemTableFullName,JOIN_COITEM_TABLE_FULL_NAME); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -308,7 +313,7 @@ protected void initTableValues() throws Exception { conn.createStatement().execute("CREATE SEQUENCE my.seq"); // Insert into customer table PreparedStatement stmt = conn.prepareStatement( - "upsert into " + JOIN_CUSTOMER_TABLE_FULL_NAME + + "upsert into " + tableName_CustomerTableFullName + " (\"customer_id\", " + " NAME, " + " PHONE, " + @@ -366,7 +371,7 @@ protected void initTableValues() throws Exception { // Insert into item table stmt = conn.prepareStatement( - "upsert into " + JOIN_ITEM_TABLE_FULL_NAME + + "upsert into " + tableName_ItemTableFullName + " (\"item_id\", " + " NAME, " + " PRICE, " + @@ -440,7 +445,7 @@ protected void initTableValues() throws Exception { // Insert into supplier table stmt = conn.prepareStatement( - "upsert into " + JOIN_SUPPLIER_TABLE_FULL_NAME + + "upsert into " + tableName_SupplierTableFullName + " (\"supplier_id\", " + " NAME, " + " PHONE, " + @@ -491,7 +496,7 @@ protected void initTableValues() throws Exception { // Insert into order table stmt = conn.prepareStatement( - "upsert into " + JOIN_ORDER_TABLE_FULL_NAME + + "upsert into " + tableName_OrderTableFullName + " (\"order_id\", " + " \"customer_id\", " + " \"item_id\", " + @@ -543,7 +548,7 @@ protected void initTableValues() throws Exception { // Insert into coitem table stmt = conn.prepareStatement( - "upsert into " + JOIN_COITEM_TABLE_FULL_NAME + + "upsert into " + tableName_CoitemTableFullName+ " (item_id, " + " item_name, " + " co_item_id, " + diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ToDateFunctionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ToDateFunctionIT.java index acb29df3b14..886ec8a8d15 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ToDateFunctionIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ToDateFunctionIT.java @@ -30,7 +30,7 @@ import static org.junit.Assert.*; -public class ToDateFunctionIT extends BaseHBaseManagedTimeIT { +public class ToDateFunctionIT extends BaseHBaseManagedTimeTableReuseIT { private static final long ONE_HOUR_IN_MILLIS = 1000L * 60L * 60L; diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TruncateFunctionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TruncateFunctionIT.java index 9e8f2c0f997..983d086979b 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TruncateFunctionIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TruncateFunctionIT.java @@ -57,7 +57,7 @@ private static Timestamp toTimestamp(String s) throws ParseException { public void testTruncate() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - ensureTableCreated(getUrl(), ATABLE_NAME, ts-5); + ensureTableCreated(getUrl(), ATABLE_NAME,ATABLE_NAME, ts-5); Properties props = new Properties(); props.setProperty(CURRENT_SCN_ATTRIB, Long.toString(ts-3)); Connection conn = DriverManager.getConnection(getUrl(), props); 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 3d1bb4ad3c7..34a69d98918 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 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; @@ -62,7 +62,7 @@ public void testIntegerPK() throws Exception { 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 PKIntValueTest 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++) { @@ -78,7 +78,7 @@ public void testIntegerPK() throws Exception { 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 PKIntValueTest 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--) { @@ -93,7 +93,7 @@ public void testIntegerPK() throws Exception { 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 PKIntValueTest 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++) { @@ -108,7 +108,7 @@ public void testIntegerPK() throws Exception { 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 PKIntValueTest 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--) { @@ -162,7 +162,7 @@ public void testBigIntPK() throws Exception { 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 PKBigIntValueTest 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--) { 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 30de4de4816..ff9e546e752 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 @@ -89,7 +89,7 @@ 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); + ensureTableCreated(getUrl(), CUSTOM_ENTITY_DATA_FULL_NAME, CUSTOM_ENTITY_DATA_FULL_NAME, ts-1); String indexName = "IDX1"; if (createIndex) { Properties props = new Properties(); @@ -209,7 +209,7 @@ public void testUpsertSelectEmptyPKColumn() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); initATableValues(tenantId, getDefaultSplits(tenantId), null, ts-1); - ensureTableCreated(getUrl(), PTSDB_NAME, ts-1); + 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); @@ -385,7 +385,7 @@ 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); + 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 +460,7 @@ public void testUpsertSelectLongToInt() throws Exception { 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 +600,7 @@ public void testUpsertSelectRowKeyMutationOnSplitedTable() throws Exception { 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); 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 c0b557c7e12..0558fc02738 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 @@ -85,7 +85,7 @@ protected static void initGroupByRowKeyColumns(long ts) throws Exception { } 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 @@ protected static void initTableValues(byte[][] splits, long ts) throws Exception 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 diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalIndexOptimizationIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalIndexOptimizationIT.java index 10634b8b86e..56a3aa2e3b0 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalIndexOptimizationIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalIndexOptimizationIT.java @@ -76,42 +76,51 @@ private void createIndex(String indexName, String tableName, String columns) thr @Test public void testGlobalIndexOptimization() throws Exception { - testOptimization(null); + String dataTableName = generateRandomString(); + String indexTableName = generateRandomString(); + testOptimization(dataTableName, indexTableName, null); } @Test public void testGlobalIndexOptimizationWithSalting() throws Exception { - testOptimization(4); + String dataTableName = generateRandomString(); + String indexTableName = generateRandomString(); + testOptimization(dataTableName, indexTableName, 4); } @Test public void testGlobalIndexOptimizationTenantSpecific() throws Exception { - testOptimizationTenantSpecific(null); + String dataTableName = generateRandomString(); + String indexTableName = generateRandomString(); + testOptimizationTenantSpecific(dataTableName, indexTableName, null); } @Test public void testGlobalIndexOptimizationWithSaltingTenantSpecific() throws Exception { - testOptimizationTenantSpecific(4); + String dataTableName = generateRandomString(); + String indexTableName = generateRandomString(); + testOptimizationTenantSpecific(dataTableName, indexTableName, 4); } - private void testOptimization(Integer saltBuckets) throws Exception { - createBaseTable(TestUtil.DEFAULT_DATA_TABLE_NAME, saltBuckets, "('e','i','o')", false); + private void testOptimization(String dataTableName, String indexTableName, Integer saltBuckets) throws Exception { + + createBaseTable(dataTableName, saltBuckets, "('e','i','o')", false); Connection conn1 = DriverManager.getConnection(getUrl()); try{ - conn1.createStatement().execute("UPSERT INTO " + TestUtil.DEFAULT_DATA_TABLE_NAME + " values('b',1,2,4,'z')"); - conn1.createStatement().execute("UPSERT INTO " + TestUtil.DEFAULT_DATA_TABLE_NAME + " values('f',1,2,3,'a')"); - conn1.createStatement().execute("UPSERT INTO " + TestUtil.DEFAULT_DATA_TABLE_NAME + " values('j',2,4,2,'a')"); - conn1.createStatement().execute("UPSERT INTO " + TestUtil.DEFAULT_DATA_TABLE_NAME + " values('q',3,1,1,'c')"); + conn1.createStatement().execute("UPSERT INTO " + dataTableName + " values('b',1,2,4,'z')"); + conn1.createStatement().execute("UPSERT INTO " + dataTableName + " values('f',1,2,3,'a')"); + conn1.createStatement().execute("UPSERT INTO " + dataTableName + " values('j',2,4,2,'a')"); + conn1.createStatement().execute("UPSERT INTO " + dataTableName + " values('q',3,1,1,'c')"); conn1.commit(); - createIndex(TestUtil.DEFAULT_INDEX_TABLE_NAME, TestUtil.DEFAULT_DATA_TABLE_NAME, "v1"); + createIndex(indexTableName, dataTableName, "v1"); - String query = "SELECT /*+ INDEX(" + TestUtil.DEFAULT_DATA_TABLE_NAME + " " + TestUtil.DEFAULT_INDEX_TABLE_NAME + ")*/ * FROM " + TestUtil.DEFAULT_DATA_TABLE_NAME +" where v1='a'"; + String query = "SELECT /*+ INDEX(" + dataTableName + " " + indexTableName + ")*/ * FROM " + dataTableName +" where v1='a'"; ResultSet rs = conn1.createStatement().executeQuery("EXPLAIN "+ query); String expected = - "CLIENT PARALLEL 1-WAY FULL SCAN OVER " + TestUtil.DEFAULT_DATA_TABLE_NAME + "\n" + + "CLIENT PARALLEL 1-WAY FULL SCAN OVER " + dataTableName + "\n" + " SKIP-SCAN-JOIN TABLE 0\n" + - " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + TestUtil.DEFAULT_INDEX_TABLE_NAME + " \\['a'\\]\n" + + " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + indexTableName + " \\['a'\\]\n" + " SERVER FILTER BY FIRST KEY ONLY\n" + " DYNAMIC SERVER FILTER BY \\(\"T.T_ID\", \"T.K1\", \"T.K2\"\\) IN \\(\\(\\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+\\)\\)"; String actual = QueryUtil.getExplainPlan(rs); @@ -130,13 +139,13 @@ private void testOptimization(Integer saltBuckets) throws Exception { assertEquals(2, rs.getInt("k3")); assertFalse(rs.next()); - query = "SELECT /*+ INDEX(" + TestUtil.DEFAULT_DATA_TABLE_NAME + " " + TestUtil.DEFAULT_INDEX_TABLE_NAME + ")*/ * FROM " + TestUtil.DEFAULT_DATA_TABLE_NAME +" where v1='a'"; + query = "SELECT /*+ INDEX(" + dataTableName + " " + indexTableName + ")*/ * FROM " + dataTableName +" where v1='a'"; rs = conn1.createStatement().executeQuery("EXPLAIN "+ query); expected = - "CLIENT PARALLEL 1-WAY FULL SCAN OVER " + TestUtil.DEFAULT_DATA_TABLE_NAME + "\n" + + "CLIENT PARALLEL 1-WAY FULL SCAN OVER " + dataTableName + "\n" + " SKIP-SCAN-JOIN TABLE 0\n" + - " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + TestUtil.DEFAULT_INDEX_TABLE_NAME + " \\['a'\\]\n" + + " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + indexTableName + " \\['a'\\]\n" + " SERVER FILTER BY FIRST KEY ONLY\n" + " DYNAMIC SERVER FILTER BY \\(\"T.T_ID\", \"T.K1\", \"T.K2\"\\) IN \\(\\(\\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+\\)\\)"; actual = QueryUtil.getExplainPlan(rs); @@ -157,14 +166,14 @@ private void testOptimization(Integer saltBuckets) throws Exception { assertEquals("a", rs.getString("v1")); assertFalse(rs.next()); - query = "SELECT /*+ INDEX(" + TestUtil.DEFAULT_DATA_TABLE_NAME + " " + TestUtil.DEFAULT_INDEX_TABLE_NAME + ")*/ * FROM " + TestUtil.DEFAULT_DATA_TABLE_NAME +" where v1='a' limit 1"; + query = "SELECT /*+ INDEX(" + dataTableName + " " + indexTableName + ")*/ * FROM " + dataTableName +" where v1='a' limit 1"; rs = conn1.createStatement().executeQuery("EXPLAIN "+ query); expected = - "CLIENT PARALLEL 1-WAY FULL SCAN OVER " + TestUtil.DEFAULT_DATA_TABLE_NAME + "\n" + + "CLIENT PARALLEL 1-WAY FULL SCAN OVER " + dataTableName + "\n" + "CLIENT 1 ROW LIMIT\n" + " SKIP-SCAN-JOIN TABLE 0\n" + - " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + TestUtil.DEFAULT_INDEX_TABLE_NAME + " \\['a'\\]\n" + + " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + indexTableName + " \\['a'\\]\n" + " SERVER FILTER BY FIRST KEY ONLY\n" + " DYNAMIC SERVER FILTER BY \\(\"T.T_ID\", \"T.K1\", \"T.K2\"\\) IN \\(\\(\\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+\\)\\)\n" + " JOIN-SCANNER 1 ROW LIMIT"; @@ -180,16 +189,16 @@ private void testOptimization(Integer saltBuckets) throws Exception { assertEquals("a", rs.getString("v1")); assertFalse(rs.next()); - query = "SELECT /*+ INDEX(" + TestUtil.DEFAULT_DATA_TABLE_NAME + " " + TestUtil.DEFAULT_INDEX_TABLE_NAME + ")*/ t_id, k1, k2, k3, V1 from " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + " where v1<='z' and k3 > 1 order by V1,t_id"; + query = "SELECT /*+ INDEX(" + dataTableName + " " + indexTableName + ")*/ t_id, k1, k2, k3, V1 from " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + " where v1<='z' and k3 > 1 order by V1,t_id"; rs = conn1.createStatement().executeQuery("EXPLAIN " + query); expected = - "CLIENT PARALLEL \\d-WAY FULL SCAN OVER " + TestUtil.DEFAULT_DATA_TABLE_NAME + "\n" + + "CLIENT PARALLEL \\d-WAY FULL SCAN OVER " + dataTableName + "\n" + " SERVER FILTER BY K3 > 1\n" + " SERVER SORTED BY \\[T.V1, T.T_ID\\]\n" + "CLIENT MERGE SORT\n" + " SKIP-SCAN-JOIN TABLE 0\n" + - " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + TestUtil.DEFAULT_INDEX_TABLE_NAME + " \\[\\*\\] - \\['z'\\]\n" + + " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + indexTableName + " \\[\\*\\] - \\['z'\\]\n" + " SERVER FILTER BY FIRST KEY ONLY\n" + " DYNAMIC SERVER FILTER BY \\(\"T.T_ID\", \"T.K1\", \"T.K2\"\\) IN \\(\\(\\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+\\)\\)"; actual = QueryUtil.getExplainPlan(rs); @@ -216,15 +225,15 @@ private void testOptimization(Integer saltBuckets) throws Exception { assertEquals("z", rs.getString("V1")); assertFalse(rs.next()); - query = "SELECT /*+ INDEX(" + TestUtil.DEFAULT_DATA_TABLE_NAME + " " + TestUtil.DEFAULT_INDEX_TABLE_NAME + ")*/ t_id, V1, k3 from " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + " where v1 <='z' group by v1,t_id, k3"; + query = "SELECT /*+ INDEX(" + dataTableName + " " + indexTableName + ")*/ t_id, V1, k3 from " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + " where v1 <='z' group by v1,t_id, k3"; rs = conn1.createStatement().executeQuery("EXPLAIN " + query); expected = - "CLIENT PARALLEL \\d-WAY FULL SCAN OVER " + TestUtil.DEFAULT_DATA_TABLE_NAME + "\n" + + "CLIENT PARALLEL \\d-WAY FULL SCAN OVER " + dataTableName + "\n" + " SERVER AGGREGATE INTO DISTINCT ROWS BY \\[T.V1, T.T_ID, T.K3\\]\n" + "CLIENT MERGE SORT\n" + " SKIP-SCAN-JOIN TABLE 0\n" + - " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + TestUtil.DEFAULT_INDEX_TABLE_NAME + " \\[\\*\\] - \\['z'\\]\n" + + " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + indexTableName + " \\[\\*\\] - \\['z'\\]\n" + " SERVER FILTER BY FIRST KEY ONLY\n" + " DYNAMIC SERVER FILTER BY \\(\"T.T_ID\", \"T.K1\", \"T.K2\"\\) IN \\(\\(\\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+\\)\\)"; actual = QueryUtil.getExplainPlan(rs); @@ -249,7 +258,7 @@ private void testOptimization(Integer saltBuckets) throws Exception { assertEquals("z", rs.getString("V1")); assertFalse(rs.next()); - query = "SELECT /*+ INDEX(" + TestUtil.DEFAULT_DATA_TABLE_NAME + " " + TestUtil.DEFAULT_INDEX_TABLE_NAME + ")*/ v1,sum(k3) from " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + " where v1 <='z' group by v1 order by v1"; + query = "SELECT /*+ INDEX(" + dataTableName + " " + indexTableName + ")*/ v1,sum(k3) from " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + " where v1 <='z' group by v1 order by v1"; rs = conn1.createStatement().executeQuery("EXPLAIN " + query); expected = @@ -278,18 +287,18 @@ private void testOptimization(Integer saltBuckets) throws Exception { } } - private void testOptimizationTenantSpecific(Integer saltBuckets) throws Exception { - createBaseTable(TestUtil.DEFAULT_DATA_TABLE_NAME, saltBuckets, "('e','i','o')", true); + private void testOptimizationTenantSpecific(String dataTableName, String indexTableName, Integer saltBuckets) throws Exception { + createBaseTable(dataTableName, saltBuckets, "('e','i','o')", true); Connection conn1 = DriverManager.getConnection(getUrl() + ';' + PhoenixRuntime.TENANT_ID_ATTRIB + "=tid1"); try{ - conn1.createStatement().execute("UPSERT INTO " + TestUtil.DEFAULT_DATA_TABLE_NAME + " values(1,2,4,'z')"); - conn1.createStatement().execute("UPSERT INTO " + TestUtil.DEFAULT_DATA_TABLE_NAME + " values(1,2,3,'a')"); - conn1.createStatement().execute("UPSERT INTO " + TestUtil.DEFAULT_DATA_TABLE_NAME + " values(2,4,2,'a')"); - conn1.createStatement().execute("UPSERT INTO " + TestUtil.DEFAULT_DATA_TABLE_NAME + " values(3,1,1,'c')"); + conn1.createStatement().execute("UPSERT INTO " + dataTableName + " values(1,2,4,'z')"); + conn1.createStatement().execute("UPSERT INTO " + dataTableName + " values(1,2,3,'a')"); + conn1.createStatement().execute("UPSERT INTO " + dataTableName + " values(2,4,2,'a')"); + conn1.createStatement().execute("UPSERT INTO " + dataTableName + " values(3,1,1,'c')"); conn1.commit(); - createIndex(TestUtil.DEFAULT_INDEX_TABLE_NAME, TestUtil.DEFAULT_DATA_TABLE_NAME, "v1"); + createIndex(indexTableName, dataTableName, "v1"); - String query = "SELECT /*+ INDEX(" + TestUtil.DEFAULT_DATA_TABLE_NAME + " " + TestUtil.DEFAULT_INDEX_TABLE_NAME + ")*/ k1,k2,k3,v1 FROM " + TestUtil.DEFAULT_DATA_TABLE_NAME +" where v1='a'"; + String query = "SELECT /*+ INDEX(" + dataTableName + " " + indexTableName + ")*/ k1,k2,k3,v1 FROM " + dataTableName +" where v1='a'"; ResultSet rs = conn1.createStatement().executeQuery("EXPLAIN "+ query); String actual = QueryUtil.getExplainPlan(rs); @@ -319,15 +328,16 @@ private void testOptimizationTenantSpecific(Integer saltBuckets) throws Exceptio @Test public void testGlobalIndexOptimizationOnSharedIndex() throws Exception { - createBaseTable(TestUtil.DEFAULT_DATA_TABLE_NAME, null, "('e','i','o')", false); + String dataTableName = generateRandomString(); + createBaseTable(dataTableName, null, "('e','i','o')", false); Connection conn1 = DriverManager.getConnection(getUrl()); try{ - conn1.createStatement().execute("CREATE INDEX i1 ON " + TestUtil.DEFAULT_DATA_TABLE_NAME + "(k2,k1) INCLUDE (v1)"); + conn1.createStatement().execute("CREATE INDEX i1 ON " + dataTableName + "(k2,k1) INCLUDE (v1)"); conn1.createStatement().execute("CREATE VIEW v AS SELECT * FROM t WHERE v1 = 'a'"); - conn1.createStatement().execute("UPSERT INTO " + TestUtil.DEFAULT_DATA_TABLE_NAME + " values('b',1,2,4,'z')"); - conn1.createStatement().execute("UPSERT INTO " + TestUtil.DEFAULT_DATA_TABLE_NAME + " values('f',1,2,3,'a')"); - conn1.createStatement().execute("UPSERT INTO " + TestUtil.DEFAULT_DATA_TABLE_NAME + " values('j',2,4,2,'a')"); - conn1.createStatement().execute("UPSERT INTO " + TestUtil.DEFAULT_DATA_TABLE_NAME + " values('q',3,1,1,'c')"); + conn1.createStatement().execute("UPSERT INTO " + dataTableName + " values('b',1,2,4,'z')"); + conn1.createStatement().execute("UPSERT INTO " + dataTableName + " values('f',1,2,3,'a')"); + conn1.createStatement().execute("UPSERT INTO " + dataTableName + " values('j',2,4,2,'a')"); + conn1.createStatement().execute("UPSERT INTO " + dataTableName + " values('q',3,1,1,'c')"); conn1.commit(); ResultSet rs = conn1.createStatement().executeQuery("SELECT COUNT(*) FROM v"); assertTrue(rs.next()); @@ -363,22 +373,24 @@ public void testGlobalIndexOptimizationOnSharedIndex() throws Exception { @Test public void testNoGlobalIndexOptimization() throws Exception { - createBaseTable(TestUtil.DEFAULT_DATA_TABLE_NAME, null, "('e','i','o')", false); + String dataTableName = generateRandomString(); + String indexTableName = generateRandomString(); + createBaseTable(dataTableName, null, "('e','i','o')", false); Connection conn1 = DriverManager.getConnection(getUrl()); try{ - conn1.createStatement().execute("UPSERT INTO " + TestUtil.DEFAULT_DATA_TABLE_NAME + " values('b',1,2,4,'z')"); - conn1.createStatement().execute("UPSERT INTO " + TestUtil.DEFAULT_DATA_TABLE_NAME + " values('f',1,2,3,'a')"); - conn1.createStatement().execute("UPSERT INTO " + TestUtil.DEFAULT_DATA_TABLE_NAME + " values('j',2,4,2,'a')"); - conn1.createStatement().execute("UPSERT INTO " + TestUtil.DEFAULT_DATA_TABLE_NAME + " values('q',3,1,1,'c')"); + conn1.createStatement().execute("UPSERT INTO " + dataTableName + " values('b',1,2,4,'z')"); + conn1.createStatement().execute("UPSERT INTO " + dataTableName + " values('f',1,2,3,'a')"); + conn1.createStatement().execute("UPSERT INTO " + dataTableName + " values('j',2,4,2,'a')"); + conn1.createStatement().execute("UPSERT INTO " + dataTableName + " values('q',3,1,1,'c')"); conn1.commit(); - conn1.createStatement().execute("CREATE INDEX " + TestUtil.DEFAULT_INDEX_TABLE_NAME + " ON " + TestUtil.DEFAULT_DATA_TABLE_NAME + "(v1)"); + conn1.createStatement().execute("CREATE INDEX " + indexTableName + " ON " + dataTableName + "(v1)"); // All columns available in index - String query = "SELECT /*+ INDEX(" + TestUtil.DEFAULT_DATA_TABLE_NAME + " " + TestUtil.DEFAULT_INDEX_TABLE_NAME + ")*/ t_id, k1, k2, V1 FROM " + TestUtil.DEFAULT_DATA_TABLE_NAME +" where v1='a'"; + String query = "SELECT /*+ INDEX(" + dataTableName + " " + indexTableName + ")*/ t_id, k1, k2, V1 FROM " + dataTableName +" where v1='a'"; ResultSet rs = conn1.createStatement().executeQuery("EXPLAIN "+ query); assertEquals( - "CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + TestUtil.DEFAULT_INDEX_TABLE_NAME + " ['a']\n" + "CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + indexTableName + " ['a']\n" + " SERVER FILTER BY FIRST KEY ONLY", QueryUtil.getExplainPlan(rs)); @@ -394,11 +406,11 @@ public void testNoGlobalIndexOptimization() throws Exception { assertFalse(rs.next()); // No INDEX hint specified - query = "SELECT t_id, k1, k2, k3, V1 FROM " + TestUtil.DEFAULT_DATA_TABLE_NAME +" where v1='a'"; + query = "SELECT t_id, k1, k2, k3, V1 FROM " + dataTableName +" where v1='a'"; rs = conn1.createStatement().executeQuery("EXPLAIN "+ query); assertEquals( - "CLIENT PARALLEL 1-WAY FULL SCAN OVER " + TestUtil.DEFAULT_DATA_TABLE_NAME + "\n" + + "CLIENT PARALLEL 1-WAY FULL SCAN OVER " + dataTableName + "\n" + " SERVER FILTER BY V1 = 'a'", QueryUtil.getExplainPlan(rs)); @@ -416,11 +428,11 @@ public void testNoGlobalIndexOptimization() throws Exception { assertFalse(rs.next()); // No where clause - query = "SELECT /*+ INDEX(" + TestUtil.DEFAULT_DATA_TABLE_NAME + " " + TestUtil.DEFAULT_INDEX_TABLE_NAME + ")*/ t_id, k1, k2, k3, V1 from " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + " order by V1,t_id"; + query = "SELECT /*+ INDEX(" + dataTableName + " " + indexTableName + ")*/ t_id, k1, k2, k3, V1 from " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + " order by V1,t_id"; rs = conn1.createStatement().executeQuery("EXPLAIN " + query); assertEquals( - "CLIENT PARALLEL 4-WAY FULL SCAN OVER " + TestUtil.DEFAULT_DATA_TABLE_NAME + "\n" + + "CLIENT PARALLEL 4-WAY FULL SCAN OVER " + dataTableName + "\n" + " SERVER SORTED BY [V1, T_ID]\n" + "CLIENT MERGE SORT", QueryUtil.getExplainPlan(rs)); @@ -453,11 +465,11 @@ public void testNoGlobalIndexOptimization() throws Exception { assertFalse(rs.next()); // No where clause in index scan - query = "SELECT /*+ INDEX(" + TestUtil.DEFAULT_DATA_TABLE_NAME + " " + TestUtil.DEFAULT_INDEX_TABLE_NAME + ")*/ t_id, k1, k2, k3, V1 from " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + " where k3 > 1 order by V1,t_id"; + query = "SELECT /*+ INDEX(" + dataTableName + " " + indexTableName + ")*/ t_id, k1, k2, k3, V1 from " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + " where k3 > 1 order by V1,t_id"; rs = conn1.createStatement().executeQuery("EXPLAIN " + query); assertEquals( - "CLIENT PARALLEL 4-WAY FULL SCAN OVER " + TestUtil.DEFAULT_DATA_TABLE_NAME + "\n" + + "CLIENT PARALLEL 4-WAY FULL SCAN OVER " + dataTableName + "\n" + " SERVER FILTER BY K3 > 1\n" + " SERVER SORTED BY [V1, T_ID]\n" + "CLIENT MERGE SORT", diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexExpressionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexExpressionIT.java index 2e555946a45..08d360501a3 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexExpressionIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexExpressionIT.java @@ -276,7 +276,7 @@ protected void helpTestUpdate(boolean localIndex) throws Exception { } private void populateDataTable(Connection conn, String dataTable) throws SQLException { - ensureTableCreated(getUrl(), dataTable); + ensureTableCreated(getUrl(), dataTable, dataTable); String upsert = "UPSERT INTO " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + dataTable + " VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; PreparedStatement stmt1 = conn.prepareStatement(upsert); @@ -314,7 +314,7 @@ protected void helpTestDeleteIndexedExpression(boolean mutable, boolean localInd Connection conn = DriverManager.getConnection(getUrl(), props); try { conn.setAutoCommit(false); - ensureTableCreated(getUrl(), dataTableName); + ensureTableCreated(getUrl(), dataTableName, dataTableName); populateDataTable(conn, dataTableName); String ddl = "CREATE " + (localIndex ? "LOCAL" : "") + " INDEX IDX ON " + fullDataTableName + " (2*long_col2)"; @@ -387,7 +387,7 @@ protected void helpTestDeleteCoveredCol(boolean mutable, boolean localIndex) thr Connection conn = DriverManager.getConnection(getUrl(), props); try { conn.setAutoCommit(false); - ensureTableCreated(getUrl(), dataTableName); + ensureTableCreated(getUrl(), dataTableName, dataTableName); populateDataTable(conn, dataTableName); String ddl = "CREATE " + (localIndex ? "LOCAL" : "") + " INDEX IDX ON " + fullDataTableName + " (long_pk, varchar_pk, 1+long_pk, UPPER(varchar_pk) )" + " INCLUDE (long_col1, long_col2)"; diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexMetadataIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexMetadataIT.java index 1af15a1f76a..57f734c09a2 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexMetadataIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexMetadataIT.java @@ -122,7 +122,7 @@ public void testIndexCreateDrop() throws Exception { Connection conn = DriverManager.getConnection(getUrl(), props); conn.setAutoCommit(false); try { - ensureTableCreated(getUrl(), MUTABLE_INDEX_DATA_TABLE); + ensureTableCreated(getUrl(), MUTABLE_INDEX_DATA_TABLE, MUTABLE_INDEX_DATA_TABLE); String ddl = "CREATE INDEX IDX ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + MUTABLE_INDEX_DATA_TABLE + " (varchar_col1 ASC, varchar_col2 ASC, int_pk DESC)" + " INCLUDE (int_col1, int_col2)"; @@ -296,7 +296,7 @@ public void testIndexDefinitionWithNullableFixedWidthColInPK() throws Exception Connection conn = DriverManager.getConnection(getUrl(), props); conn.setAutoCommit(false); try { - ensureTableCreated(getUrl(), INDEX_DATA_TABLE); + ensureTableCreated(getUrl(), INDEX_DATA_TABLE, INDEX_DATA_TABLE); String ddl = "CREATE INDEX IDX ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + INDEX_DATA_TABLE + " (char_col1 ASC, int_col2 ASC, long_col2 DESC)" + " INCLUDE (int_col1)"; @@ -355,7 +355,7 @@ public void testAlterIndexWithLowerCaseName() throws Exception { conn.setAutoCommit(false); String indexName = "\"lowerCaseIndex\""; try { - ensureTableCreated(getUrl(), INDEX_DATA_TABLE); + ensureTableCreated(getUrl(), INDEX_DATA_TABLE, INDEX_DATA_TABLE); String ddl = "CREATE INDEX " + indexName + " ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + INDEX_DATA_TABLE + " (char_col1 ASC, int_col2 ASC, long_col2 DESC)" + " INCLUDE (int_col1)"; @@ -388,7 +388,7 @@ public void testIndexDefinitionWithRepeatedColumns() throws Exception { Connection conn = DriverManager.getConnection(getUrl(), props); conn.setAutoCommit(false); try { - ensureTableCreated(getUrl(), TestUtil.INDEX_DATA_TABLE); + ensureTableCreated(getUrl(), TestUtil.INDEX_DATA_TABLE, TestUtil.INDEX_DATA_TABLE); String ddl = "CREATE INDEX IDX ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + INDEX_DATA_TABLE + " (a.int_col1, a.long_col1, b.int_col2, b.long_col2)" + " INCLUDE(int_col1, int_col2)"; diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/salted/SaltedTableIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/salted/SaltedTableIT.java index 06e63b21e55..29f37589c92 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/salted/SaltedTableIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/salted/SaltedTableIT.java @@ -58,7 +58,7 @@ private static void initTableValues(byte[][] splits, long ts) throws Exception { // 4abc123jkl444 try { // Upsert with no column specifies. - ensureTableCreated(getUrl(), TABLE_WITH_SALTING, splits, ts-2); + ensureTableCreated(getUrl(), TABLE_WITH_SALTING, TABLE_WITH_SALTING, splits, ts-2); String query = "UPSERT INTO " + TABLE_WITH_SALTING + " VALUES(?,?,?,?,?)"; PreparedStatement stmt = conn.prepareStatement(query); stmt.setInt(1, 1); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java b/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java index 20a3c48c9ee..00c64f73bc4 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java @@ -84,14 +84,14 @@ private static void setupSystemTable(String fullTableName) throws SQLException { @Test public void testUpdateCacheForTxnTable() throws Exception { String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + TRANSACTIONAL_DATA_TABLE; - ensureTableCreated(getUrl(), TRANSACTIONAL_DATA_TABLE); + ensureTableCreated(getUrl(), TRANSACTIONAL_DATA_TABLE, TRANSACTIONAL_DATA_TABLE); helpTestUpdateCache(fullTableName, null, new int[] {1, 1}); } @Test public void testUpdateCacheForNonTxnTable() throws Exception { String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + MUTABLE_INDEX_DATA_TABLE; - ensureTableCreated(getUrl(), MUTABLE_INDEX_DATA_TABLE); + ensureTableCreated(getUrl(), MUTABLE_INDEX_DATA_TABLE, MUTABLE_INDEX_DATA_TABLE); helpTestUpdateCache(fullTableName, null, new int[] {1, 3}); } @@ -105,7 +105,7 @@ public void testUpdateCacheForNonTxnSystemTable() throws Exception { @Test public void testUpdateCacheForNeverUpdatedTable() throws Exception { String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + MUTABLE_INDEX_DATA_TABLE; - ensureTableCreated(getUrl(), MUTABLE_INDEX_DATA_TABLE); + ensureTableCreated(getUrl(), MUTABLE_INDEX_DATA_TABLE, MUTABLE_INDEX_DATA_TABLE); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); try (Connection conn = DriverManager.getConnection(getUrl(), props)) { conn.createStatement().execute( diff --git a/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheWithScnIT.java b/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheWithScnIT.java index 04f751b2407..44e3115e092 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheWithScnIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheWithScnIT.java @@ -30,7 +30,7 @@ public class UpdateCacheWithScnIT extends BaseClientManagedTimeIT { public void testUpdateCacheWithScn() throws Exception { long ts = nextTimestamp(); String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + MUTABLE_INDEX_DATA_TABLE; - ensureTableCreated(getUrl(), MUTABLE_INDEX_DATA_TABLE, ts); + ensureTableCreated(getUrl(), MUTABLE_INDEX_DATA_TABLE, MUTABLE_INDEX_DATA_TABLE, ts); // FIXME: given that the scn is advancing in the test, why aren't there more RPCs? UpdateCacheIT.helpTestUpdateCache(fullTableName, ts+2, new int[] {1, 1}); } diff --git a/phoenix-core/src/it/java/org/apache/phoenix/tx/TransactionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/tx/TransactionIT.java index d3f54fe525c..b1c805b08ba 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/tx/TransactionIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/tx/TransactionIT.java @@ -81,7 +81,7 @@ public class TransactionIT extends BaseHBaseManagedTimeIT { @Before public void setUp() throws SQLException { - ensureTableCreated(getUrl(), TRANSACTIONAL_DATA_TABLE); + ensureTableCreated(getUrl(), TRANSACTIONAL_DATA_TABLE, TRANSACTIONAL_DATA_TABLE); } @BeforeClass diff --git a/phoenix-core/src/test/java/org/apache/phoenix/compile/WhereOptimizerTest.java b/phoenix-core/src/test/java/org/apache/phoenix/compile/WhereOptimizerTest.java index 33c03abaf6c..a116a2cc0c8 100644 --- a/phoenix-core/src/test/java/org/apache/phoenix/compile/WhereOptimizerTest.java +++ b/phoenix-core/src/test/java/org/apache/phoenix/compile/WhereOptimizerTest.java @@ -122,7 +122,7 @@ public void testSingleKeyExpression() throws SQLException { @Test public void testGetByteBitExpression() throws SQLException { - ensureTableCreated(getUrl(), TestUtil.BINARY_NAME); + ensureTableCreated(getUrl(), TestUtil.BINARY_NAME, TestUtil.BINARY_NAME); int result = 1; String query = "select * from " + BINARY_NAME + " where GET_BYTE(a_binary, 0)=" + result; Scan scan = compileStatement(query).getScan(); @@ -1044,7 +1044,7 @@ public void testDegenerateSub2() throws SQLException { */ @Test public void testValueComparisonInt() throws SQLException { - ensureTableCreated(getUrl(),"PKIntValueTest"); + ensureTableCreated(getUrl(),"PKIntValueTest", "PKIntValueTest"); String query; // int <-> long // Case 1: int = long, comparison always false, key is degenerated. @@ -1070,7 +1070,7 @@ public void testValueComparisonInt() throws SQLException { @Test public void testValueComparisonUnsignedInt() throws SQLException { - ensureTableCreated(getUrl(), "PKUnsignedIntValueTest"); + ensureTableCreated(getUrl(), "PKUnsignedIntValueTest", "PKUnsignedIntValueTest"); String query; // unsigned_int <-> negative int/long // Case 1: unsigned_int = negative int, always false; @@ -1102,7 +1102,7 @@ public void testValueComparisonUnsignedInt() throws SQLException { @Test public void testValueComparisonUnsignedLong() throws SQLException { - ensureTableCreated(getUrl(), "PKUnsignedLongValueTest"); + ensureTableCreated(getUrl(), "PKUnsignedLongValueTest", "PKUnsignedLongValueTest"); String query; // unsigned_long <-> positive int/long // Case 1: unsigned_long = negative int/long, always false; @@ -1256,7 +1256,7 @@ public void testForceSkipScanOnSaltedTable() throws SQLException { @Test public void testForceRangeScanKeepsFilters() throws SQLException { - ensureTableCreated(getUrl(), TestUtil.ENTITY_HISTORY_TABLE_NAME); + ensureTableCreated(getUrl(), TestUtil.ENTITY_HISTORY_TABLE_NAME, TestUtil.ENTITY_HISTORY_TABLE_NAME); String tenantId = "000000000000001"; String keyPrefix = "002"; String query = "select /*+ RANGE_SCAN */ ORGANIZATION_ID, PARENT_ID, CREATED_DATE, ENTITY_HISTORY_ID from " + TestUtil.ENTITY_HISTORY_TABLE_NAME + diff --git a/phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java b/phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java index fdb4002c2b7..66e5c0e2d4b 100644 --- a/phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java +++ b/phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java @@ -193,6 +193,7 @@ * make sure to shutdown the mini cluster in a method annotated by @AfterClass. * */ + public abstract class BaseTest { protected static final String TEST_TABLE_SCHEMA = "(" + " varchar_pk VARCHAR NOT NULL, " + @@ -803,24 +804,31 @@ public static long nextTimestamp() { } protected static void ensureTableCreated(String url, String tableName) throws SQLException { - ensureTableCreated(url, tableName, null, null); + ensureTableCreated(url, tableName, tableName, null, null); + } + + protected static void ensureTableCreated(String url, String tableName, String tableDDLType) throws SQLException { + ensureTableCreated(url, tableName, tableDDLType, null, null); } - public static void ensureTableCreated(String url, String tableName, byte[][] splits) throws SQLException { - ensureTableCreated(url, tableName, splits, null); + public static void ensureTableCreated(String url, String tableName, String tableDDLType, byte[][] splits) throws SQLException { + ensureTableCreated(url, tableName, tableDDLType, splits, null); } - protected static void ensureTableCreated(String url, String tableName, Long ts) throws SQLException { - ensureTableCreated(url, tableName, null, ts); + protected static void ensureTableCreated(String url, String tableName, String tableDDLType, Long ts) throws SQLException { + ensureTableCreated(url, tableName, tableDDLType, null, ts); } - protected static void ensureTableCreated(String url, String tableName, byte[][] splits, Long ts) throws SQLException { - String ddl = tableDDLMap.get(tableName); + protected static void ensureTableCreated(String url, String tableName, String tableDDLType, byte[][] splits, Long ts) throws SQLException { + String ddl = tableDDLMap.get(tableDDLType); + if(!tableDDLType.equals(tableName)) { + ddl = ddl.replace(tableDDLType, tableName); + } createSchema(url,tableName, ts); createTestTable(url, ddl, splits, ts); } - protected static String generateRandomString() { + public static String generateRandomString() { return RandomStringUtils.randomAlphabetic(20).toUpperCase(); } @@ -1052,16 +1060,17 @@ private static void deletePriorSequences(long ts, Connection globalConn) throws } rs.close(); } - + protected static void initSumDoubleValues(byte[][] splits, String url) throws Exception { - ensureTableCreated(url, "SumDoubleTest", splits); + String tableName = generateRandomString(); + ensureTableCreated(url, tableName, "SumDoubleTest", splits); Properties props = new Properties(); Connection conn = DriverManager.getConnection(url, props); try { // Insert all rows at ts PreparedStatement stmt = conn.prepareStatement( - "upsert into " + - "SumDoubleTest(" + + "upsert into " + tableName + + "(" + " id, " + " d, " + " f, " + @@ -1109,21 +1118,21 @@ protected static void initSumDoubleValues(byte[][] splits, String url) throws Ex } } - protected static void initATableValues(String tenantId, byte[][] splits, String url) throws Exception { - initATableValues(tenantId, splits, null, url); + protected static String initATableValues(String tenantId, byte[][] splits, String url) throws Exception { + return initATableValues(tenantId, splits, null, url); } - protected static void initATableValues(String tenantId, byte[][] splits, Date date, String url) throws Exception { - initATableValues(tenantId, splits, date, null, url); + protected static String initATableValues(String tenantId, byte[][] splits, Date date, String url) throws Exception { + return initATableValues(tenantId, splits, date, null, url); } - - - protected static void initATableValues(String tenantId, byte[][] splits, Date date, Long ts, String url) throws Exception { + protected static String initATableValues(String tenantId, byte[][] splits, Date date, Long ts, String url) throws Exception { + String tableName = generateRandomString(); + String tableDDLType = ATABLE_NAME; if (ts == null) { - ensureTableCreated(url, ATABLE_NAME, splits); + ensureTableCreated(url, tableName, tableDDLType, splits); } else { - ensureTableCreated(url, ATABLE_NAME, splits, ts-5); + ensureTableCreated(url, tableName, tableDDLType, splits, ts-5); } Properties props = new Properties(); @@ -1134,8 +1143,8 @@ protected static void initATableValues(String tenantId, byte[][] splits, Date da try { // Insert all rows at ts PreparedStatement stmt = conn.prepareStatement( - "upsert into " + - "ATABLE(" + + "upsert into " + tableName + + "(" + " ORGANIZATION_ID, " + " ENTITY_ID, " + " A_STRING, " + @@ -1322,11 +1331,12 @@ protected static void initATableValues(String tenantId, byte[][] splits, Date da conn.commit(); } finally { conn.close(); + return tableName; } } - protected static void initATableValues(String tenantId, byte[][] splits, Date date, Long ts) throws Exception { - initATableValues(tenantId, splits, date, ts, getUrl()); + protected static String initATableValues(String tenantId, byte[][] splits, Date date, Long ts) throws Exception { + return initATableValues(tenantId, splits, date, ts, getUrl()); } protected static void initEntityHistoryTableValues(String tenantId, byte[][] splits, Date date, Long ts) throws Exception { @@ -1347,9 +1357,9 @@ protected static void initEntityHistoryTableValues(String tenantId, byte[][] spl private static void initEntityHistoryTableValues(String tenantId, byte[][] splits, Date date, Long ts, String url) throws Exception { if (ts == null) { - ensureTableCreated(url, ENTITY_HISTORY_TABLE_NAME, splits); + ensureTableCreated(url, ENTITY_HISTORY_TABLE_NAME, ENTITY_HISTORY_TABLE_NAME, splits); } else { - ensureTableCreated(url, ENTITY_HISTORY_TABLE_NAME, splits, ts-2); + ensureTableCreated(url, ENTITY_HISTORY_TABLE_NAME, ENTITY_HISTORY_TABLE_NAME, splits, ts-2); } Properties props = new Properties(); @@ -1451,9 +1461,9 @@ private static void initEntityHistoryTableValues(String tenantId, byte[][] split protected static void initSaltedEntityHistoryTableValues(String tenantId, byte[][] splits, Date date, Long ts, String url) throws Exception { if (ts == null) { - ensureTableCreated(url, ENTITY_HISTORY_SALTED_TABLE_NAME, splits); + ensureTableCreated(url, ENTITY_HISTORY_SALTED_TABLE_NAME, ENTITY_HISTORY_SALTED_TABLE_NAME, splits); } else { - ensureTableCreated(url, ENTITY_HISTORY_SALTED_TABLE_NAME, splits, ts-2); + ensureTableCreated(url, ENTITY_HISTORY_SALTED_TABLE_NAME, ENTITY_HISTORY_SALTED_TABLE_NAME, splits, ts-2); } Properties props = new Properties(); @@ -1555,15 +1565,15 @@ protected static void initSaltedEntityHistoryTableValues(String tenantId, byte[] protected static void initJoinTableValues(String url, byte[][] splits, Long ts) throws Exception { if (ts == null) { - ensureTableCreated(url, JOIN_CUSTOMER_TABLE_FULL_NAME, splits); - ensureTableCreated(url, JOIN_ITEM_TABLE_FULL_NAME, splits); - ensureTableCreated(url, JOIN_SUPPLIER_TABLE_FULL_NAME, splits); - ensureTableCreated(url, JOIN_ORDER_TABLE_FULL_NAME, splits); + ensureTableCreated(url, JOIN_CUSTOMER_TABLE_FULL_NAME, JOIN_CUSTOMER_TABLE_FULL_NAME, splits); + ensureTableCreated(url, JOIN_ITEM_TABLE_FULL_NAME, JOIN_CUSTOMER_TABLE_FULL_NAME, splits); + ensureTableCreated(url, JOIN_SUPPLIER_TABLE_FULL_NAME, JOIN_CUSTOMER_TABLE_FULL_NAME, splits); + ensureTableCreated(url, JOIN_ORDER_TABLE_FULL_NAME, JOIN_CUSTOMER_TABLE_FULL_NAME, splits); } else { - ensureTableCreated(url, JOIN_CUSTOMER_TABLE_FULL_NAME, splits, ts - 2); - ensureTableCreated(url, JOIN_ITEM_TABLE_FULL_NAME, splits, ts - 2); - ensureTableCreated(url, JOIN_SUPPLIER_TABLE_FULL_NAME, splits, ts - 2); - ensureTableCreated(url, JOIN_ORDER_TABLE_FULL_NAME, splits, ts - 2); + ensureTableCreated(url, JOIN_CUSTOMER_TABLE_FULL_NAME, JOIN_CUSTOMER_TABLE_FULL_NAME, splits, ts - 2); + ensureTableCreated(url, JOIN_ITEM_TABLE_FULL_NAME, JOIN_CUSTOMER_TABLE_FULL_NAME, splits, ts - 2); + ensureTableCreated(url, JOIN_SUPPLIER_TABLE_FULL_NAME, JOIN_CUSTOMER_TABLE_FULL_NAME, splits, ts - 2); + ensureTableCreated(url, JOIN_ORDER_TABLE_FULL_NAME, JOIN_CUSTOMER_TABLE_FULL_NAME, splits, ts - 2); } SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); diff --git a/phoenix-core/src/test/java/org/apache/phoenix/util/TestUtil.java b/phoenix-core/src/test/java/org/apache/phoenix/util/TestUtil.java index 0a11977ea16..68e7b9b30fe 100644 --- a/phoenix-core/src/test/java/org/apache/phoenix/util/TestUtil.java +++ b/phoenix-core/src/test/java/org/apache/phoenix/util/TestUtil.java @@ -17,6 +17,7 @@ */ package org.apache.phoenix.util; +import static org.apache.phoenix.query.BaseTest.generateRandomString; import static org.apache.phoenix.query.QueryConstants.MILLIS_IN_DAY; import static org.apache.phoenix.query.QueryConstants.SINGLE_COLUMN_FAMILY_NAME; import static org.apache.phoenix.query.QueryConstants.SINGLE_COLUMN_NAME; @@ -449,8 +450,8 @@ public static void bindParams(PhoenixPreparedStatement stmt, List binds) * @param input * input to be inserted */ - public static void upsertRow(Connection conn, String sortOrder, int id, Object input) throws SQLException { - String dml = String.format("UPSERT INTO TEST_TABLE_%s VALUES(?,?)", sortOrder); + public static void upsertRow(Connection conn, String tableName, String sortOrder, int id, Object input) throws SQLException { + String dml = String.format("UPSERT INTO " + tableName + "_%s VALUES(?,?)", sortOrder); PreparedStatement stmt = conn.prepareStatement(dml); stmt.setInt(1, id); if (input instanceof String) @@ -471,11 +472,11 @@ else if (input instanceof Long) conn.commit(); } - private static void createTable(Connection conn, String inputSqlType, String sortOrder) throws SQLException { + private static void createTable(Connection conn, String inputSqlType, String tableName, String sortOrder) throws SQLException { String dmlFormat = - "CREATE TABLE TEST_TABLE_%s" + "(id INTEGER NOT NULL, pk %s NOT NULL, " + "kv %s " + "CREATE TABLE " + tableName + "_%s (id INTEGER NOT NULL, pk %s NOT NULL, " + "kv %s " + "CONSTRAINT PK_CONSTRAINT PRIMARY KEY (id, pk %s))"; - String ddl = String.format(dmlFormat, sortOrder, inputSqlType, inputSqlType, sortOrder); + String ddl = String.format(dmlFormat,sortOrder, inputSqlType, inputSqlType, sortOrder); conn.createStatement().execute(ddl); conn.commit(); } @@ -491,13 +492,15 @@ private static void createTable(Connection conn, String inputSqlType, String sor * @param inputList * list of values to be inserted into the pk column */ - public static void initTables(Connection conn, String inputSqlType, List inputList) throws Exception { - createTable(conn, inputSqlType, "ASC"); - createTable(conn, inputSqlType, "DESC"); + public static String initTables(Connection conn, String inputSqlType, List inputList) throws Exception { + String tableName = generateRandomString(); + createTable(conn, inputSqlType, tableName, "ASC"); + createTable(conn, inputSqlType, tableName, "DESC"); for (int i = 0; i < inputList.size(); ++i) { - upsertRow(conn, "ASC", i, inputList.get(i)); - upsertRow(conn, "DESC", i, inputList.get(i)); + upsertRow(conn, tableName, "ASC", i, inputList.get(i)); + upsertRow(conn, tableName, "DESC", i, inputList.get(i)); } + return tableName; } public static List getAllSplits(Connection conn, String tableName) throws SQLException { From 13086849d4ee6a919de399cbf6fdf09488fbda2e Mon Sep 17 00:00:00 2001 From: prakul agarwal Date: Mon, 25 Jul 2016 21:14:41 -0700 Subject: [PATCH 05/17] more files refactored --- .../it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java index 416c452a7cf..d2c9b5a3ad4 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java @@ -50,6 +50,7 @@ import org.apache.phoenix.compile.QueryPlan; import org.apache.phoenix.coprocessor.BaseScannerRegionObserver; import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; +import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.end2end.Shadower; import org.apache.phoenix.hbase.index.IndexRegionSplitPolicy; import org.apache.phoenix.jdbc.PhoenixConnection; @@ -75,7 +76,7 @@ import com.google.common.collect.Maps; @RunWith(Parameterized.class) -public class LocalIndexIT extends BaseHBaseManagedTimeIT { +public class LocalIndexIT extends BaseHBaseManagedTimeTableReuseIT { private String schemaName="TEST"; private boolean isNamespaceMapped; From d2927172c37086d39424892e9322e9a6645eb935 Mon Sep 17 00:00:00 2001 From: prakul agarwal Date: Tue, 26 Jul 2016 00:21:40 -0700 Subject: [PATCH 06/17] index files refactored --- .../end2end/index/ImmutableIndexIT.java | 33 ++++--- .../apache/phoenix/end2end/index/IndexIT.java | 80 ++++++++++++++--- .../phoenix/end2end/index/SaltedIndexIT.java | 86 +++++++++++-------- .../phoenix/end2end/index/ViewIndexIT.java | 39 +++++---- 4 files changed, 161 insertions(+), 77 deletions(-) diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ImmutableIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ImmutableIndexIT.java index ced3ac8661f..c89dc9f979c 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ImmutableIndexIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ImmutableIndexIT.java @@ -49,6 +49,7 @@ import org.apache.hadoop.hbase.regionserver.wal.WALEdit; 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.exception.SQLExceptionCode; import org.apache.phoenix.query.BaseTest; @@ -69,14 +70,12 @@ @RunWith(Parameterized.class) -public class ImmutableIndexIT extends BaseHBaseManagedTimeIT { +public class ImmutableIndexIT extends BaseHBaseManagedTimeTableReuseIT { private final boolean localIndex; + private final boolean transactional; private final String tableDDLOptions; - private final String tableName; - private final String indexName; - private final String fullTableName; - private final String fullIndexName; + private volatile boolean stopThreads = false; private static String TABLE_NAME; @@ -85,15 +84,13 @@ public class ImmutableIndexIT extends BaseHBaseManagedTimeIT { public ImmutableIndexIT(boolean localIndex, boolean transactional) { this.localIndex = localIndex; + this.transactional = transactional; StringBuilder optionBuilder = new StringBuilder("IMMUTABLE_ROWS=true"); if (transactional) { optionBuilder.append(", TRANSACTIONAL=true"); } this.tableDDLOptions = optionBuilder.toString(); - this.tableName = TestUtil.DEFAULT_DATA_TABLE_NAME + ( transactional ? "_TXN" : ""); - this.indexName = "IDX" + ( transactional ? "_TXN" : ""); - this.fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); - this.fullIndexName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, indexName); + } @BeforeClass @@ -118,6 +115,10 @@ public static Collection data() { @Ignore public void testDropIfImmutableKeyValueColumn() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); + String tableName = "TBL_" + generateRandomString(); + String indexName = "IND_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); + String fullIndexName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, indexName); try (Connection conn = DriverManager.getConnection(getUrl(), props)) { conn.setAutoCommit(false); String ddl = @@ -157,7 +158,11 @@ public void testDropIfImmutableKeyValueColumn() throws Exception { public void testCreateIndexDuringUpsertSelect() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); props.setProperty(QueryServices.MUTATE_BATCH_SIZE_ATTRIB, Integer.toString(100)); - TABLE_NAME = fullTableName + "_testCreateIndexDuringUpsertSelect"; + String tableName = "TBL_" + generateRandomString(); + String indexName = "IND_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); + String fullIndexName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, indexName); + TABLE_NAME = fullTableName; String ddl ="CREATE TABLE " + TABLE_NAME + BaseTest.TEST_TABLE_SCHEMA + tableDDLOptions; INDEX_DDL = "CREATE " + (localIndex ? "LOCAL" : "") + " INDEX IF NOT EXISTS " + indexName + " ON " + TABLE_NAME + " (long_pk, varchar_pk)" @@ -173,8 +178,8 @@ public void testCreateIndexDuringUpsertSelect() throws Exception { // run the upsert select and also create an index conn.setAutoCommit(true); - String upsertSelect = "UPSERT INTO " + TABLE_NAME + "(varchar_pk, char_pk, int_pk, long_pk, decimal_pk, date_pk) " + - "SELECT varchar_pk||'_upsert_select', char_pk, int_pk, long_pk, decimal_pk, date_pk FROM "+ TABLE_NAME; + String upsertSelect = "UPSERT INTO " + TABLE_NAME + "(varchar_pk, char_pk, int_pk, long_pk, decimal_pk, date_pk) " + + "SELECT varchar_pk||'_upsert_select', char_pk, int_pk, long_pk, decimal_pk, date_pk FROM "+ TABLE_NAME; conn.createStatement().execute(upsertSelect); ResultSet rs; rs = conn.createStatement().executeQuery("SELECT /*+ NO_INDEX */ COUNT(*) FROM " + TABLE_NAME); @@ -241,6 +246,10 @@ public void run() { @Test public void testCreateIndexWhileUpsertingData() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); + String tableName = "TBL_" + generateRandomString(); + String indexName = "IND_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); + String fullIndexName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, indexName); String ddl ="CREATE TABLE " + fullTableName + BaseTest.TEST_TABLE_SCHEMA + tableDDLOptions; String indexDDL = "CREATE " + (localIndex ? "LOCAL" : "") + " INDEX " + indexName + " ON " + fullTableName + " (long_pk, varchar_pk)" diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexIT.java index ff2620805e3..6457b3172aa 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexIT.java @@ -43,6 +43,7 @@ import org.apache.phoenix.compile.ColumnResolver; import org.apache.phoenix.compile.FromCompiler; import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; +import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.end2end.Shadower; import org.apache.phoenix.exception.SQLExceptionCode; import org.apache.phoenix.jdbc.PhoenixConnection; @@ -67,16 +68,13 @@ import com.google.common.collect.Maps; @RunWith(Parameterized.class) -public class IndexIT extends BaseHBaseManagedTimeIT { +public class IndexIT extends BaseHBaseManagedTimeTableReuseIT { private final boolean localIndex; private final boolean transactional; private final boolean mutable; private final String tableDDLOptions; - private final String tableName; - private final String indexName; - private final String fullTableName; - private final String fullIndexName; + public IndexIT(boolean localIndex, boolean mutable, boolean transactional) { this.localIndex = localIndex; @@ -91,10 +89,10 @@ public IndexIT(boolean localIndex, boolean mutable, boolean transactional) { optionBuilder.append(" TRANSACTIONAL=true "); } this.tableDDLOptions = optionBuilder.toString(); - this.tableName = TestUtil.DEFAULT_DATA_TABLE_NAME + ( transactional ? "_TXN" : ""); - this.indexName = "IDX" + ( transactional ? "_TXN" : ""); - this.fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); - this.fullIndexName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, indexName); + //this.tableName = TestUtil.DEFAULT_DATA_TABLE_NAME + ( transactional ? "_TXN" : ""); + //this.indexName = "IDX" + ( transactional ? "_TXN" : ""); + //this.fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); + //this.fullIndexName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, indexName); } @BeforeClass @@ -116,6 +114,10 @@ public static Collection data() { @Test public void testIndexWithNullableFixedWithCols() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); + String tableName = "TBL_" + generateRandomString(); + String indexName = "IND_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); + try (Connection conn = DriverManager.getConnection(getUrl(), props)) { conn.setAutoCommit(false); String ddl ="CREATE TABLE " + fullTableName + BaseTest.TEST_TABLE_SCHEMA + tableDDLOptions; @@ -172,6 +174,10 @@ public void testIndexWithNullableFixedWithCols() throws Exception { @Test public void testDeleteFromAllPKColumnIndex() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); + String tableName = "TBL_" + generateRandomString(); + String indexName = "IND_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); + String fullIndexName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, indexName); try (Connection conn = DriverManager.getConnection(getUrl(), props)) { conn.setAutoCommit(false); String ddl ="CREATE TABLE " + fullTableName + BaseTest.TEST_TABLE_SCHEMA + tableDDLOptions; @@ -226,6 +232,10 @@ public void testDeleteFromAllPKColumnIndex() throws Exception { @Test public void testCreateIndexAfterUpsertStarted() throws Exception { + String tableName = "TBL_" + generateRandomString(); + String indexName = "IND_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); + String fullIndexName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, indexName); testCreateIndexAfterUpsertStarted(false, fullTableName + "1", fullIndexName + "1"); if (transactional) { testCreateIndexAfterUpsertStarted(true, fullTableName + "2", fullIndexName + "2"); @@ -323,6 +333,11 @@ private void testCreateIndexAfterUpsertStarted(boolean readOwnWrites, String ful @Test public void testDeleteFromNonPKColumnIndex() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); + String tableName = "TBL_" + generateRandomString(); + String indexName = "IND_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); + String fullIndexName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, indexName); + String ddl ="CREATE TABLE " + fullTableName + BaseTest.TEST_TABLE_SCHEMA + tableDDLOptions; try (Connection conn = DriverManager.getConnection(getUrl(), props)) { conn.setAutoCommit(false); @@ -373,6 +388,9 @@ public void testDeleteFromNonPKColumnIndex() throws Exception { @Test public void testGroupByCount() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); + String tableName = "TBL_" + generateRandomString(); + String indexName = "IND_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); try (Connection conn = DriverManager.getConnection(getUrl(), props)) { conn.setAutoCommit(false); String ddl ="CREATE TABLE " + fullTableName + BaseTest.TEST_TABLE_SCHEMA + tableDDLOptions; @@ -391,6 +409,9 @@ public void testGroupByCount() throws Exception { @Test public void testSelectDistinctOnTableWithSecondaryImmutableIndex() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); + String tableName = "TBL_" + generateRandomString(); + String indexName = "IND_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); try (Connection conn = DriverManager.getConnection(getUrl(), props)) { conn.setAutoCommit(false); String ddl ="CREATE TABLE " + fullTableName + BaseTest.TEST_TABLE_SCHEMA + tableDDLOptions; @@ -414,6 +435,9 @@ public void testSelectDistinctOnTableWithSecondaryImmutableIndex() throws Except @Test public void testInClauseWithIndexOnColumnOfUsignedIntType() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); + String tableName = "TBL_" + generateRandomString(); + String indexName = "IND_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); try (Connection conn = DriverManager.getConnection(getUrl(), props)) { conn.setAutoCommit(false); String ddl ="CREATE TABLE " + fullTableName + BaseTest.TEST_TABLE_SCHEMA + tableDDLOptions; @@ -436,6 +460,10 @@ public void testInClauseWithIndexOnColumnOfUsignedIntType() throws Exception { @Test public void createIndexOnTableWithSpecifiedDefaultCF() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); + String tableName = "TBL_" + generateRandomString(); + String indexName = "IND_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); + String fullIndexName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, indexName); try (Connection conn = DriverManager.getConnection(getUrl(), props)) { conn.setAutoCommit(false); String query; @@ -474,6 +502,10 @@ public void createIndexOnTableWithSpecifiedDefaultCF() throws Exception { @Test public void testIndexWithNullableDateCol() throws Exception { + String tableName = "TBL_" + generateRandomString(); + String indexName = "IND_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); + String fullIndexName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, indexName); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); try (Connection conn = DriverManager.getConnection(getUrl(), props)) { conn.setAutoCommit(false); @@ -530,6 +562,10 @@ public void testIndexWithNullableDateCol() throws Exception { @Test public void testSelectAllAndAliasWithIndex() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); + String tableName = "TBL_" + generateRandomString(); + String indexName = "IND_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); + String fullIndexName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, indexName); try (Connection conn = DriverManager.getConnection(getUrl(), props)) { conn.setAutoCommit(false); String query; @@ -605,6 +641,10 @@ public void testSelectAllAndAliasWithIndex() throws Exception { @Test public void testSelectCF() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); + String tableName = "TBL_" + generateRandomString(); + String indexName = "IND_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); + String fullIndexName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, indexName); try (Connection conn = DriverManager.getConnection(getUrl(), props)) { conn.setAutoCommit(false); String query; @@ -662,6 +702,10 @@ public void testSelectCF() throws Exception { @Test public void testUpsertAfterIndexDrop() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); + String tableName = "TBL_" + generateRandomString(); + String indexName = "IND_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); + String fullIndexName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, indexName); try (Connection conn = DriverManager.getConnection(getUrl(), props)) { conn.setAutoCommit(false); String query; @@ -722,7 +766,12 @@ public void testUpsertAfterIndexDrop() throws Exception { @Test public void testMultipleUpdatesAcrossRegions() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); - String testTable = fullTableName+"_MULTIPLE_UPDATES"; + String tableName = "TBL_" + generateRandomString(); + String indexName = "IND_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); + String fullIndexName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, indexName); + + String testTable = fullTableName+"_MULTIPLE_UPDATES"; try (Connection conn = DriverManager.getConnection(getUrl(), props)) { conn.setAutoCommit(false); String query; @@ -810,6 +859,10 @@ public void testMultipleUpdatesAcrossRegions() throws Exception { @Test public void testIndexWithCaseSensitiveCols() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); + String tableName = "TBL_" + generateRandomString(); + String indexName = "IND_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); + String fullIndexName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, indexName); try (Connection conn = DriverManager.getConnection(getUrl(), props)) { conn.setAutoCommit(false); String query; @@ -893,6 +946,9 @@ public void testIndexWithCaseSensitiveCols() throws Exception { @Test public void testInFilterOnIndexedTable() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); + String tableName = "TBL_" + generateRandomString(); + String indexName = "IND_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); try (Connection conn = DriverManager.getConnection(getUrl(), props)) { conn.setAutoCommit(false); String query; @@ -911,6 +967,10 @@ public void testInFilterOnIndexedTable() throws Exception { @Test public void testIndexWithDecimalCol() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); + String tableName = "TBL_" + generateRandomString(); + String indexName = "IND_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); + String fullIndexName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, indexName); try (Connection conn = DriverManager.getConnection(getUrl(), props)) { conn.setAutoCommit(false); String query; diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/SaltedIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/SaltedIndexIT.java index b5c847764fa..15ee586da13 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/SaltedIndexIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/SaltedIndexIT.java @@ -30,21 +30,19 @@ import java.util.Properties; 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.QueryServices; import org.apache.phoenix.schema.PTableKey; -import org.apache.phoenix.util.PropertiesUtil; -import org.apache.phoenix.util.QueryUtil; -import org.apache.phoenix.util.ReadOnlyProps; -import org.apache.phoenix.util.TestUtil; +import org.apache.phoenix.util.*; import org.junit.BeforeClass; import org.junit.Test; import com.google.common.collect.Maps; -public class SaltedIndexIT extends BaseHBaseManagedTimeIT { +public class SaltedIndexIT extends BaseHBaseManagedTimeTableReuseIT { private static final int TABLE_SPLITS = 3; private static final int INDEX_SPLITS = 4; @@ -60,15 +58,15 @@ public static void doSetup() throws Exception { setUpTestDriver(new ReadOnlyProps(props.entrySet().iterator())); } - private static void makeImmutableAndDeleteData() throws Exception { + private static void makeImmutableAndDeleteData(String tableName, String fullTableName) throws Exception { Connection conn = DriverManager.getConnection(getUrl(), PropertiesUtil.deepCopy(TEST_PROPERTIES)); try { conn.setAutoCommit(true); - conn.createStatement().execute("DELETE FROM " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME); - conn.createStatement().execute("ALTER TABLE " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + " SET IMMUTABLE_ROWS=true"); - conn.createStatement().executeQuery("SELECT COUNT(*) FROM " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME).next(); + conn.createStatement().execute("DELETE FROM " + fullTableName); + conn.createStatement().execute("ALTER TABLE " + fullTableName + " SET IMMUTABLE_ROWS=true"); + conn.createStatement().executeQuery("SELECT COUNT(*) FROM " + fullTableName).next(); PhoenixConnection pconn = conn.unwrap(PhoenixConnection.class); - assertTrue(pconn.getTable(new PTableKey(pconn.getTenantId(), TestUtil.DEFAULT_DATA_TABLE_FULL_NAME)).isImmutableRows()); + assertTrue(pconn.getTable(new PTableKey(pconn.getTenantId(), fullTableName)).isImmutableRows()); } finally { conn.close(); } @@ -76,43 +74,55 @@ private static void makeImmutableAndDeleteData() throws Exception { @Test public void testMutableTableIndexMaintanenceSaltedSalted() throws Exception { - testMutableTableIndexMaintanence(TABLE_SPLITS, INDEX_SPLITS); - makeImmutableAndDeleteData(); - testMutableTableIndexMaintanence(TABLE_SPLITS, INDEX_SPLITS); + String tableName = "TBL_" + generateRandomString(); + String indexName = "IND_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); + String fullIndexName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, indexName); + testMutableTableIndexMaintanence(tableName, fullTableName, indexName, fullIndexName, TABLE_SPLITS, INDEX_SPLITS); + makeImmutableAndDeleteData(tableName, fullTableName); + testMutableTableIndexMaintanence(tableName, fullTableName, indexName, fullIndexName, TABLE_SPLITS, INDEX_SPLITS); } @Test public void testMutableTableIndexMaintanenceSalted() throws Exception { - testMutableTableIndexMaintanence(null, INDEX_SPLITS); - makeImmutableAndDeleteData(); - testMutableTableIndexMaintanence(null, INDEX_SPLITS); + String tableName = "TBL_" + generateRandomString(); + String indexName = "IND_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); + String fullIndexName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, indexName); + testMutableTableIndexMaintanence(tableName, fullTableName, indexName, fullIndexName, null, INDEX_SPLITS); + makeImmutableAndDeleteData(tableName, fullTableName); + testMutableTableIndexMaintanence(tableName, fullTableName, indexName, fullIndexName, null, INDEX_SPLITS); } @Test public void testMutableTableIndexMaintanenceUnsalted() throws Exception { - testMutableTableIndexMaintanence(null, null); - makeImmutableAndDeleteData(); - testMutableTableIndexMaintanence(null, null); + String tableName = "TBL_" + generateRandomString(); + String indexName = "IND_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); + String fullIndexName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, indexName); + testMutableTableIndexMaintanence(tableName, fullTableName, indexName, fullIndexName, null, null); + makeImmutableAndDeleteData(tableName, fullTableName); + testMutableTableIndexMaintanence(tableName, fullTableName, indexName, fullIndexName, null, null); } - private void testMutableTableIndexMaintanence(Integer tableSaltBuckets, Integer indexSaltBuckets) throws Exception { + private void testMutableTableIndexMaintanence(String dataTableName , String dataTableFullName, String indexTableName, String indexTableFullName, Integer tableSaltBuckets, Integer indexSaltBuckets) throws Exception { String query; ResultSet rs; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); conn.setAutoCommit(false); - conn.createStatement().execute("CREATE TABLE IF NOT EXISTS " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + " (k VARCHAR NOT NULL PRIMARY KEY, v VARCHAR) " + (tableSaltBuckets == null ? "" : " SALT_BUCKETS=" + tableSaltBuckets)); - query = "SELECT * FROM " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME; + conn.createStatement().execute("CREATE TABLE IF NOT EXISTS " + dataTableFullName + " (k VARCHAR NOT NULL PRIMARY KEY, v VARCHAR) " + (tableSaltBuckets == null ? "" : " SALT_BUCKETS=" + tableSaltBuckets)); + query = "SELECT * FROM " + dataTableFullName; rs = conn.createStatement().executeQuery(query); assertFalse(rs.next()); - conn.createStatement().execute("CREATE INDEX IF NOT EXISTS " + TestUtil.DEFAULT_INDEX_TABLE_NAME + " ON " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + " (v DESC)" + (indexSaltBuckets == null ? "" : " SALT_BUCKETS=" + indexSaltBuckets)); - query = "SELECT * FROM " + TestUtil.DEFAULT_INDEX_TABLE_FULL_NAME; + conn.createStatement().execute("CREATE INDEX IF NOT EXISTS " + indexTableName + " ON " + dataTableFullName + " (v DESC)" + (indexSaltBuckets == null ? "" : " SALT_BUCKETS=" + indexSaltBuckets)); + query = "SELECT * FROM " + indexTableFullName; rs = conn.createStatement().executeQuery(query); assertFalse(rs.next()); - PreparedStatement stmt = conn.prepareStatement("UPSERT INTO " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + " VALUES(?,?)"); + PreparedStatement stmt = conn.prepareStatement("UPSERT INTO " + dataTableFullName + " VALUES(?,?)"); stmt.setString(1,"a"); stmt.setString(2, "x"); stmt.execute(); @@ -121,7 +131,7 @@ private void testMutableTableIndexMaintanence(Integer tableSaltBuckets, Integer stmt.execute(); conn.commit(); - query = "SELECT * FROM " + TestUtil.DEFAULT_INDEX_TABLE_FULL_NAME; + query = "SELECT * FROM " + indexTableFullName; rs = conn.createStatement().executeQuery(query); assertTrue(rs.next()); assertEquals("y",rs.getString(1)); @@ -131,7 +141,7 @@ private void testMutableTableIndexMaintanence(Integer tableSaltBuckets, Integer assertEquals("a",rs.getString(2)); assertFalse(rs.next()); - query = "SELECT k,v FROM " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + " WHERE v = 'y'"; + query = "SELECT k,v FROM " + dataTableFullName + " WHERE v = 'y'"; rs = conn.createStatement().executeQuery(query); assertTrue(rs.next()); assertEquals("b",rs.getString(1)); @@ -141,9 +151,9 @@ private void testMutableTableIndexMaintanence(Integer tableSaltBuckets, Integer String expectedPlan; rs = conn.createStatement().executeQuery("EXPLAIN " + query); expectedPlan = indexSaltBuckets == null ? - "CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + TestUtil.DEFAULT_INDEX_TABLE_FULL_NAME + " [~'y']\n" + + "CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + indexTableFullName + " [~'y']\n" + " SERVER FILTER BY FIRST KEY ONLY" : - ("CLIENT PARALLEL 4-WAY RANGE SCAN OVER " + TestUtil.DEFAULT_INDEX_TABLE_FULL_NAME + " [0,~'y']\n" + + ("CLIENT PARALLEL 4-WAY RANGE SCAN OVER " + indexTableFullName + " [0,~'y']\n" + " SERVER FILTER BY FIRST KEY ONLY\n" + "CLIENT MERGE SORT"); assertEquals(expectedPlan,QueryUtil.getExplainPlan(rs)); @@ -151,7 +161,7 @@ private void testMutableTableIndexMaintanence(Integer tableSaltBuckets, Integer // Will use index, so rows returned in DESC order. // This is not a bug, though, because we can // return in any order. - query = "SELECT k,v FROM " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + " WHERE v >= 'x'"; + query = "SELECT k,v FROM " + dataTableFullName + " WHERE v >= 'x'"; rs = conn.createStatement().executeQuery(query); assertTrue(rs.next()); assertEquals("b",rs.getString(1)); @@ -162,15 +172,15 @@ private void testMutableTableIndexMaintanence(Integer tableSaltBuckets, Integer assertFalse(rs.next()); rs = conn.createStatement().executeQuery("EXPLAIN " + query); expectedPlan = indexSaltBuckets == null ? - "CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + TestUtil.DEFAULT_INDEX_TABLE_FULL_NAME + " [*] - [~'x']\n" + "CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + indexTableFullName + " [*] - [~'x']\n" + " SERVER FILTER BY FIRST KEY ONLY" : - ("CLIENT PARALLEL 4-WAY RANGE SCAN OVER " + TestUtil.DEFAULT_INDEX_TABLE_FULL_NAME + " [0,*] - [0,~'x']\n" + ("CLIENT PARALLEL 4-WAY RANGE SCAN OVER " + indexTableFullName + " [0,*] - [0,~'x']\n" + " SERVER FILTER BY FIRST KEY ONLY\n" + "CLIENT MERGE SORT"); assertEquals(expectedPlan,QueryUtil.getExplainPlan(rs)); // Use data table, since point lookup trumps order by - query = "SELECT k,v FROM " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + " WHERE k = 'a' ORDER BY v"; + query = "SELECT k,v FROM " + dataTableFullName + " WHERE k = 'a' ORDER BY v"; rs = conn.createStatement().executeQuery(query); assertTrue(rs.next()); assertEquals("a",rs.getString(1)); @@ -178,10 +188,10 @@ private void testMutableTableIndexMaintanence(Integer tableSaltBuckets, Integer assertFalse(rs.next()); rs = conn.createStatement().executeQuery("EXPLAIN " + query); expectedPlan = tableSaltBuckets == null ? - "CLIENT PARALLEL 1-WAY POINT LOOKUP ON 1 KEY OVER " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + "\n" + + "CLIENT PARALLEL 1-WAY POINT LOOKUP ON 1 KEY OVER " + dataTableFullName + "\n" + " SERVER SORTED BY [V]\n" + "CLIENT MERGE SORT" : - "CLIENT PARALLEL 1-WAY POINT LOOKUP ON 1 KEY OVER " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + "\n" + + "CLIENT PARALLEL 1-WAY POINT LOOKUP ON 1 KEY OVER " + dataTableFullName + "\n" + " SERVER SORTED BY [V]\n" + "CLIENT MERGE SORT"; String explainPlan2 = QueryUtil.getExplainPlan(rs); @@ -190,7 +200,7 @@ private void testMutableTableIndexMaintanence(Integer tableSaltBuckets, Integer // Will use data table now, since there's a LIMIT clause and // we're able to optimize out the ORDER BY, unless the data // table is salted. - query = "SELECT k,v FROM " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + " WHERE v >= 'x' ORDER BY k LIMIT 2"; + query = "SELECT k,v FROM " + dataTableFullName + " WHERE v >= 'x' ORDER BY k LIMIT 2"; rs = conn.createStatement().executeQuery(query); assertTrue(rs.next()); assertEquals("a",rs.getString(1)); @@ -201,11 +211,11 @@ private void testMutableTableIndexMaintanence(Integer tableSaltBuckets, Integer assertFalse(rs.next()); rs = conn.createStatement().executeQuery("EXPLAIN " + query); expectedPlan = tableSaltBuckets == null ? - "CLIENT PARALLEL 1-WAY FULL SCAN OVER " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + "\n" + + "CLIENT PARALLEL 1-WAY FULL SCAN OVER " + dataTableFullName + "\n" + " SERVER FILTER BY V >= 'x'\n" + " SERVER 2 ROW LIMIT\n" + "CLIENT 2 ROW LIMIT" : - "CLIENT PARALLEL 3-WAY FULL SCAN OVER " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + "\n" + + "CLIENT PARALLEL 3-WAY FULL SCAN OVER " + dataTableFullName + "\n" + " SERVER FILTER BY V >= 'x'\n" + " SERVER 2 ROW LIMIT\n" + "CLIENT MERGE SORT\n" + diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java index 8a2f281a3ef..c43a17b734f 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java @@ -36,6 +36,7 @@ import org.apache.hadoop.hbase.client.HBaseAdmin; import org.apache.phoenix.compile.QueryPlan; import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; +import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.end2end.Shadower; import org.apache.phoenix.jdbc.PhoenixDatabaseMetaData; import org.apache.phoenix.jdbc.PhoenixStatement; @@ -55,15 +56,12 @@ import com.google.common.collect.Maps; @RunWith(Parameterized.class) -public class ViewIndexIT extends BaseHBaseManagedTimeIT { +public class ViewIndexIT extends BaseHBaseManagedTimeTableReuseIT { + - private String VIEW_NAME = "MY_VIEW"; private String schemaName="TEST"; private boolean isNamespaceMapped; - private String tableName = schemaName + ".T"; - private String indexName = "I"; - private String viewIndexPhysicalTableName; - private TableName physicalTableName; + @BeforeClass @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) @@ -116,16 +114,20 @@ public Connection getConnection() throws SQLException{ public ViewIndexIT(boolean isNamespaceMapped) { this.isNamespaceMapped = isNamespaceMapped; - this.physicalTableName = SchemaUtil.getPhysicalTableName(tableName.getBytes(), isNamespaceMapped); - this.viewIndexPhysicalTableName = this.physicalTableName.getNameAsString(); } @Test public void testDeleteViewIndexSequences() throws Exception { + String tableName = schemaName + "." + generateRandomString(); + String indexName = "IND_" + generateRandomString(); + String VIEW_NAME = "VIEW_" + generateRandomString(); + TableName physicalTableName = SchemaUtil.getPhysicalTableName(tableName.getBytes(), isNamespaceMapped); + String viewIndexPhysicalTableName = physicalTableName.getNameAsString(); + String viewName = schemaName + "." + VIEW_NAME; + createBaseTable(tableName, false, null, null); Connection conn1 = getConnection(); Connection conn2 = getConnection(); - String viewName = schemaName + "." + VIEW_NAME; conn1.createStatement().execute("CREATE VIEW " + viewName + " AS SELECT * FROM " + tableName); conn1.createStatement().execute("CREATE INDEX " + indexName + " ON " + viewName + " (v1)"); conn2.createStatement().executeQuery("SELECT * FROM " + tableName).next(); @@ -154,10 +156,13 @@ public void testDeleteViewIndexSequences() throws Exception { @Test public void testMultiTenantViewLocalIndex() throws Exception { - createBaseTable(TestUtil.DEFAULT_DATA_TABLE_NAME, true, null, null); + String tableName = generateRandomString(); + String indexName = "IND_" + generateRandomString(); + String VIEW_NAME = "VIEW_" + generateRandomString(); + createBaseTable(tableName, true, null, null); Connection conn = DriverManager.getConnection(getUrl()); PreparedStatement stmt = conn.prepareStatement( - "UPSERT INTO " + TestUtil.DEFAULT_DATA_TABLE_NAME + "UPSERT INTO " + tableName + " VALUES(?,?,?,?,?)"); stmt.setString(1, "10"); stmt.setString(2, "a"); @@ -178,16 +183,16 @@ public void testMultiTenantViewLocalIndex() throws Exception { props.setProperty("TenantId", "10"); Connection conn1 = DriverManager.getConnection(getUrl(), props); conn1.createStatement().execute("CREATE VIEW " + VIEW_NAME - + " AS select * from " + TestUtil.DEFAULT_DATA_TABLE_NAME); + + " AS select * from " + tableName); conn1.createStatement().execute("CREATE LOCAL INDEX " - + TestUtil.DEFAULT_INDEX_TABLE_NAME + " ON " + + indexName + " ON " + VIEW_NAME + "(v2)"); conn1.commit(); String sql = "SELECT * FROM " + VIEW_NAME + " WHERE v2 = 100"; ResultSet rs = conn1.prepareStatement("EXPLAIN " + sql).executeQuery(); assertEquals( - "CLIENT PARALLEL 1-WAY RANGE SCAN OVER T [1,'10',100]\n" + + "CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + tableName + " [1,'10',100]\n" + " SERVER FILTER BY FIRST KEY ONLY\n" + "CLIENT MERGE SORT", QueryUtil.getExplainPlan(rs)); rs = conn1.prepareStatement(sql).executeQuery(); @@ -197,9 +202,9 @@ public void testMultiTenantViewLocalIndex() throws Exception { @Test public void testCreatingIndexOnGlobalView() throws Exception { - String baseTable = "testCreatingIndexOnGlobalView".toUpperCase(); - String globalView = "globalView".toUpperCase(); - String globalViewIdx = "globalView_idx".toUpperCase(); + String baseTable = generateRandomString(); + String globalView = generateRandomString(); + String globalViewIdx = generateRandomString(); try (Connection conn = DriverManager.getConnection(getUrl())) { conn.createStatement().execute("CREATE TABLE " + baseTable + " (TENANT_ID CHAR(15) NOT NULL, PK2 DATE NOT NULL, PK3 INTEGER NOT NULL, KV1 VARCHAR, KV2 VARCHAR, KV3 CHAR(15) CONSTRAINT PK PRIMARY KEY(TENANT_ID, PK2 ROW_TIMESTAMP, PK3)) MULTI_TENANT=true"); conn.createStatement().execute("CREATE VIEW " + globalView + " AS SELECT * FROM " + baseTable); From ccc79e0d6545b59f95dcd3297880e482660db29c Mon Sep 17 00:00:00 2001 From: prakul agarwal Date: Tue, 26 Jul 2016 03:17:06 -0700 Subject: [PATCH 07/17] arrayAppend lnfunc refactor --- .../end2end/ArrayAppendFunctionIT.java | 186 +++++----- .../phoenix/end2end/EvaluationOfORIT.java | 3 +- .../phoenix/end2end/ExpFunctionEnd2EndIT.java | 20 +- .../phoenix/end2end/LastValueFunctionIT.java | 194 +++++----- .../end2end/LnLogFunctionEnd2EndIT.java | 15 +- .../end2end/index/IndexExpressionIT.java | 346 ++++++++++-------- .../phoenix/end2end/index/MutableIndexIT.java | 68 ++-- 7 files changed, 472 insertions(+), 360 deletions(-) diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayAppendFunctionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayAppendFunctionIT.java index cf457240b71..17c6b72d87d 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayAppendFunctionIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayAppendFunctionIT.java @@ -26,11 +26,12 @@ import org.apache.phoenix.schema.TypeMismatchException; import org.junit.Test; -public class ArrayAppendFunctionIT 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)[])"; +public class ArrayAppendFunctionIT extends BaseHBaseManagedTimeTableReuseIT { + private String initTables(Connection conn) throws Exception { + String tableName = generateRandomString(); + 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]," + @@ -44,12 +45,14 @@ private void initTables(Connection conn) throws Exception { PreparedStatement stmt = conn.prepareStatement(dml); stmt.execute(); conn.commit(); + return tableName; } - 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 String initTablesDesc(Connection conn, String type, String val) throws Exception { + String tableName = generateRandomString(); + 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]," + @@ -61,15 +64,17 @@ private void initTablesDesc(Connection conn, String type, String val) throws Exc PreparedStatement stmt = conn.prepareStatement(dml); stmt.execute(); conn.commit(); + return tableName; + } @Test public void testArrayAppendFunctionVarchar() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(varchars,'34567') FROM regions WHERE region_name = 'SF Bay Area'"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(varchars,'34567') FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); assertTrue(rs.next()); String[] strings = new String[]{"2345", "46345", "23234", "34567"}; @@ -83,10 +88,10 @@ public void testArrayAppendFunctionVarchar() throws Exception { @Test public void testArrayAppendFunctionInteger() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(integers,1234) FROM regions WHERE region_name = 'SF Bay Area'"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(integers,1234) FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); assertTrue(rs.next()); Integer[] integers = new Integer[]{2345, 46345, 23234, 456, 1234}; @@ -100,10 +105,10 @@ public void testArrayAppendFunctionInteger() throws Exception { @Test public void testArrayAppendFunctionDouble() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(doubles,double1) FROM regions WHERE region_name = 'SF Bay Area'"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(doubles,double1) FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); assertTrue(rs.next()); Double[] doubles = new Double[]{23.45, 46.345, 23.234, 45.6, 5.78, 23.45}; @@ -117,10 +122,10 @@ public void testArrayAppendFunctionDouble() throws Exception { @Test public void testArrayAppendFunctionDouble2() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(doubles,23) FROM regions WHERE region_name = 'SF Bay Area'"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(doubles,23) FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); assertTrue(rs.next()); Double[] doubles = new Double[]{23.45, 46.345, 23.234, 45.6, 5.78, new Double(23)}; @@ -134,9 +139,9 @@ public void testArrayAppendFunctionDouble2() throws Exception { @Test public void testArrayAppendFunctionBigint() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(bigints,1112) FROM regions WHERE region_name = 'SF Bay Area'"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(bigints,1112) FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); assertTrue(rs.next()); Long[] longs = new Long[]{12l, 34l, 56l, 78l, 910l, 1112l}; @@ -150,9 +155,9 @@ public void testArrayAppendFunctionBigint() throws Exception { @Test public void testArrayAppendFunctionChar() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(chars,'fac') FROM regions WHERE region_name = 'SF Bay Area'"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(chars,'fac') FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); assertTrue(rs.next()); String[] strings = new String[]{"a", "bbbb", "c", "ddd", "e", "fac"}; @@ -166,28 +171,28 @@ public void testArrayAppendFunctionChar() throws Exception { @Test(expected = TypeMismatchException.class) public void testArrayAppendFunctionIntToCharArray() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(varchars,234) FROM regions WHERE region_name = 'SF Bay Area'"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(varchars,234) FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); } @Test(expected = TypeMismatchException.class) public void testArrayAppendFunctionVarcharToIntegerArray() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(integers,'234') FROM regions WHERE region_name = 'SF Bay Area'"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(integers,'234') FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); } @Test(expected = SQLException.class) public void testArrayAppendFunctionChar2() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(chars,'facfacfacfacfacfacfac') FROM regions WHERE region_name = 'SF Bay Area'"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(chars,'facfacfacfacfacfacfac') FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); rs.next(); rs.getArray(1); } @@ -195,10 +200,10 @@ public void testArrayAppendFunctionChar2() throws Exception { @Test public void testArrayAppendFunctionIntegerToDoubleArray() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(doubles,45) FROM regions WHERE region_name = 'SF Bay Area'"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(doubles,45) FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); assertTrue(rs.next()); Double[] doubles = new Double[]{23.45, 46.345, 23.234, 45.6, 5.78, 45.0}; @@ -212,10 +217,10 @@ public void testArrayAppendFunctionIntegerToDoubleArray() throws Exception { @Test public void testArrayAppendFunctionWithNestedFunctions1() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(ARRAY[23,45],integers[1]) FROM regions WHERE region_name = 'SF Bay Area'"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(ARRAY[23,45],integers[1]) FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); assertTrue(rs.next()); Integer[] integers = new Integer[]{23, 45, 2345}; @@ -229,10 +234,10 @@ public void testArrayAppendFunctionWithNestedFunctions1() throws Exception { @Test public void testArrayAppendFunctionWithNestedFunctions2() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(integers,ARRAY_ELEM(ARRAY[2,4],1)) FROM regions WHERE region_name = 'SF Bay Area'"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(integers,ARRAY_ELEM(ARRAY[2,4],1)) FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); assertTrue(rs.next()); Integer[] integers = new Integer[]{2345, 46345, 23234, 456, 2}; @@ -246,10 +251,10 @@ public void testArrayAppendFunctionWithNestedFunctions2() throws Exception { @Test public void testArrayAppendFunctionWithNestedFunctions3() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(doubles,ARRAY_ELEM(doubles,2)) FROM regions WHERE region_name = 'SF Bay Area'"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(doubles,ARRAY_ELEM(doubles,2)) FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); assertTrue(rs.next()); Double[] doubles = new Double[]{23.45, 46.345, 23.234, 45.6, 5.78, 46.345}; @@ -263,16 +268,16 @@ public void testArrayAppendFunctionWithNestedFunctions3() throws Exception { @Test public void testArrayAppendFunctionWithUpsert1() 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_APPEND(ARRAY['hello','world'],':-)'))"; + String dml = "UPSERT INTO " + tableName + "(region_name,varchars) VALUES('SF Bay Area',ARRAY_APPEND(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", ":-)"}; @@ -287,15 +292,16 @@ public void testArrayAppendFunctionWithUpsert1() throws Exception { public void testArrayAppendFunctionWithUpsert2() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - String ddl = "CREATE TABLE regions (region_name VARCHAR PRIMARY KEY,integers INTEGER[])"; + String tableName = generateRandomString(); + 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_APPEND(ARRAY[4,5],6))"; + String dml = "UPSERT INTO " + tableName + "(region_name,integers) VALUES('SF Bay Area',ARRAY_APPEND(ARRAY[4,5],6))"; 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[]{4, 5, 6}; @@ -310,15 +316,16 @@ public void testArrayAppendFunctionWithUpsert2() throws Exception { public void testArrayAppendFunctionWithUpsert3() 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_APPEND(ARRAY[5.67,7.87],9.0))"; + String dml = "UPSERT INTO " + tableName + "(region_name,doubles) VALUES('SF Bay Area',ARRAY_APPEND(ARRAY[5.67,7.87],9.0))"; 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[]{5.67, 7.87, new Double(9)}; @@ -333,25 +340,28 @@ public void testArrayAppendFunctionWithUpsert3() throws Exception { public void testArrayAppendFunctionWithUpsertSelect1() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - String ddl = "CREATE TABLE source (region_name VARCHAR PRIMARY KEY,doubles DOUBLE[])"; + String sourceTableName = generateRandomString(); + String targetTableName = generateRandomString(); + + String ddl = "CREATE TABLE " + sourceTableName + " (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 " + targetTableName + " (region_name VARCHAR PRIMARY KEY,doubles DOUBLE[])"; conn.createStatement().execute(ddl); - String dml = "UPSERT INTO source(region_name,doubles) VALUES('SF Bay Area',ARRAY_APPEND(ARRAY[5.67,7.87],9.0))"; + String dml = "UPSERT INTO " + sourceTableName + "(region_name,doubles) VALUES('SF Bay Area',ARRAY_APPEND(ARRAY[5.67,7.87],9.0))"; conn.createStatement().execute(dml); - dml = "UPSERT INTO source(region_name,doubles) VALUES('SF Bay Area2',ARRAY_APPEND(ARRAY[56.7,7.87],9.2))"; + dml = "UPSERT INTO " + sourceTableName + "(region_name,doubles) VALUES('SF Bay Area2',ARRAY_APPEND(ARRAY[56.7,7.87],9.2))"; conn.createStatement().execute(dml); conn.commit(); - dml = "UPSERT INTO target(region_name, doubles) SELECT region_name, ARRAY_APPEND(doubles,5) FROM source"; + dml = "UPSERT INTO " + targetTableName + "(region_name, doubles) SELECT region_name, ARRAY_APPEND(doubles,5) FROM " + sourceTableName ; conn.createStatement().execute(dml); conn.commit(); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT doubles FROM target"); + rs = conn.createStatement().executeQuery("SELECT doubles FROM " + targetTableName ); assertTrue(rs.next()); Double[] doubles = new Double[]{5.67, 7.87, new Double(9), new Double(5)}; @@ -371,25 +381,27 @@ public void testArrayAppendFunctionWithUpsertSelect1() throws Exception { public void testArrayAppendFunctionWithUpsertSelect2() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - String ddl = "CREATE TABLE source (region_name VARCHAR PRIMARY KEY,varchars VARCHAR[])"; + String sourceTableName = generateRandomString(); + String targetTableName = generateRandomString(); + String ddl = "CREATE TABLE " + sourceTableName + " (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 " + targetTableName + " (region_name VARCHAR PRIMARY KEY,varchars VARCHAR[])"; conn.createStatement().execute(ddl); - String dml = "UPSERT INTO source(region_name,varchars) VALUES('SF Bay Area',ARRAY_APPEND(ARRAY['abcd','b'],'c'))"; + String dml = "UPSERT INTO " + sourceTableName + "(region_name,varchars) VALUES('SF Bay Area',ARRAY_APPEND(ARRAY['abcd','b'],'c'))"; conn.createStatement().execute(dml); - dml = "UPSERT INTO source(region_name,varchars) VALUES('SF Bay Area2',ARRAY_APPEND(ARRAY['d','fgh'],'something'))"; + dml = "UPSERT INTO " + sourceTableName + "(region_name,varchars) VALUES('SF Bay Area2',ARRAY_APPEND(ARRAY['d','fgh'],'something'))"; conn.createStatement().execute(dml); conn.commit(); - dml = "UPSERT INTO target(region_name, varchars) SELECT region_name, ARRAY_APPEND(varchars,'stu') FROM source"; + dml = "UPSERT INTO " + targetTableName + "(region_name, varchars) SELECT region_name, ARRAY_APPEND(varchars,'stu') FROM " + sourceTableName ; conn.createStatement().execute(dml); conn.commit(); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT varchars FROM target"); + rs = conn.createStatement().executeQuery("SELECT varchars FROM " + targetTableName ); assertTrue(rs.next()); String[] strings = new String[]{"abcd", "b", "c", "stu"}; @@ -408,10 +420,10 @@ public void testArrayAppendFunctionWithUpsertSelect2() throws Exception { @Test public void testArrayAppendFunctionInWhere1() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT region_name FROM regions WHERE ARRAY[2345,46345,23234,456,123]=ARRAY_APPEND(integers,123)"); + rs = conn.createStatement().executeQuery("SELECT region_name FROM " + tableName + " WHERE ARRAY[2345,46345,23234,456,123]=ARRAY_APPEND(integers,123)"); assertTrue(rs.next()); assertEquals("SF Bay Area", rs.getString(1)); @@ -421,10 +433,10 @@ public void testArrayAppendFunctionInWhere1() throws Exception { @Test public void testArrayAppendFunctionInWhere2() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT region_name FROM regions WHERE varchars[1]=ANY(ARRAY_APPEND(ARRAY['2345','46345','23234'],'1234'))"); + rs = conn.createStatement().executeQuery("SELECT region_name FROM " + tableName + " WHERE varchars[1]=ANY(ARRAY_APPEND(ARRAY['2345','46345','23234'],'1234'))"); assertTrue(rs.next()); assertEquals("SF Bay Area", rs.getString(1)); @@ -434,10 +446,10 @@ public void testArrayAppendFunctionInWhere2() throws Exception { @Test public void testArrayAppendFunctionInWhere3() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT region_name FROM regions WHERE ARRAY['2345','46345','23234','1234']=ARRAY_APPEND(ARRAY['2345','46345','23234'],'1234')"); + rs = conn.createStatement().executeQuery("SELECT region_name FROM " + tableName + " WHERE ARRAY['2345','46345','23234','1234']=ARRAY_APPEND(ARRAY['2345','46345','23234'],'1234')"); assertTrue(rs.next()); assertEquals("SF Bay Area", rs.getString(1)); @@ -447,10 +459,10 @@ public void testArrayAppendFunctionInWhere3() throws Exception { @Test public void testArrayAppendFunctionInWhere4() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT region_name FROM regions WHERE ARRAY[23.45,4634.5,2.3234,123.4]=ARRAY_APPEND(ARRAY[23.45,4634.5,2.3234],123.4)"); + rs = conn.createStatement().executeQuery("SELECT region_name FROM " + tableName + " WHERE ARRAY[23.45,4634.5,2.3234,123.4]=ARRAY_APPEND(ARRAY[23.45,4634.5,2.3234],123.4)"); assertTrue(rs.next()); assertEquals("SF Bay Area", rs.getString(1)); @@ -460,10 +472,10 @@ public void testArrayAppendFunctionInWhere4() throws Exception { @Test public void testArrayAppendFunctionInWhere5() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT region_name FROM regions WHERE ARRAY['2345','46345','23234','foo']=ARRAY_APPEND(varchars,'foo')"); + rs = conn.createStatement().executeQuery("SELECT region_name FROM " + tableName + " WHERE ARRAY['2345','46345','23234','foo']=ARRAY_APPEND(varchars,'foo')"); assertTrue(rs.next()); assertEquals("SF Bay Area", rs.getString(1)); @@ -473,10 +485,10 @@ public void testArrayAppendFunctionInWhere5() throws Exception { @Test public void testArrayAppendFunctionInWhere6() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT region_name FROM regions WHERE chars2=ARRAY_APPEND(chars,'foo')"); + rs = conn.createStatement().executeQuery("SELECT region_name FROM " + tableName + " WHERE chars2=ARRAY_APPEND(chars,'foo')"); assertTrue(rs.next()); assertEquals("SF Bay Area", rs.getString(1)); @@ -486,10 +498,10 @@ public void testArrayAppendFunctionInWhere6() throws Exception { @Test public void testArrayAppendFunctionInWhere7() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT region_name FROM regions WHERE ARRAY[2,3,4]=ARRAY_APPEND(ARRAY[2,3],4)"); + rs = conn.createStatement().executeQuery("SELECT region_name FROM " + tableName + " WHERE ARRAY[2,3,4]=ARRAY_APPEND(ARRAY[2,3],4)"); assertTrue(rs.next()); assertEquals("SF Bay Area", rs.getString(1)); @@ -499,10 +511,10 @@ public void testArrayAppendFunctionInWhere7() throws Exception { @Test public void testArrayAppendFunctionVarcharWithNull() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(varchars,NULL) FROM regions WHERE region_name = 'SF Bay Area'"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(varchars,NULL) FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); assertTrue(rs.next()); String[] strings = new String[]{"2345", "46345", "23234"}; @@ -516,10 +528,10 @@ public void testArrayAppendFunctionVarcharWithNull() throws Exception { @Test public void testArrayAppendFunctionDoublesWithNull() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(doubles,NULL) FROM regions WHERE region_name = 'SF Bay Area'"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(doubles,NULL) FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); assertTrue(rs.next()); Double[] doubles = new Double[]{23.45, 46.345, 23.234, 45.6, 5.78}; @@ -533,10 +545,10 @@ public void testArrayAppendFunctionDoublesWithNull() throws Exception { @Test public void testArrayAppendFunctionCharsWithNull() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(chars,NULL) FROM regions WHERE region_name = 'SF Bay Area'"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(chars,NULL) FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); assertTrue(rs.next()); String[] strings = new String[]{"a", "bbbb", "c", "ddd", "e"}; @@ -550,10 +562,10 @@ public void testArrayAppendFunctionCharsWithNull() throws Exception { @Test public void testArrayAppendFunctionWithNull() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(integers,nullcheck) FROM regions WHERE region_name = 'SF Bay Area'"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(integers,nullcheck) FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); assertTrue(rs.next()); Integer[] integers = new Integer[]{2345, 46345, 23234, 456}; @@ -567,10 +579,10 @@ public void testArrayAppendFunctionWithNull() throws Exception { @Test(expected = SQLException.class) public void testArrayAppendFunctionCharLimitCheck() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(chars,char1) FROM regions WHERE region_name = 'SF Bay Area'"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(chars,char1) FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); assertTrue(rs.next()); String[] strings = new String[]{"a", "bbbb", "c", "ddd", "e", "wert"}; @@ -584,10 +596,10 @@ public void testArrayAppendFunctionCharLimitCheck() throws Exception { @Test public void testArrayAppendFunctionIntegerDesc() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTablesDesc(conn, "INTEGER", "23"); + String tableName = initTablesDesc(conn, "INTEGER", "23"); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(integers,pk) FROM regions"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(integers,pk) FROM " + tableName + ""); assertTrue(rs.next()); Integer[] integers = new Integer[]{2345, 46345, 23234, 456, 23}; @@ -602,10 +614,10 @@ public void testArrayAppendFunctionIntegerDesc() throws Exception { @Test public void testArrayAppendFunctionVarcharDesc() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTablesDesc(conn, "VARCHAR", "'e'"); + String tableName = initTablesDesc(conn, "VARCHAR", "'e'"); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(varchars,pk) FROM regions"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(varchars,pk) FROM " + tableName + ""); assertTrue(rs.next()); String[] strings = new String[]{"2345", "46345", "23234", "e"}; @@ -619,9 +631,9 @@ public void testArrayAppendFunctionVarcharDesc() throws Exception { @Test public void testArrayAppendFunctionBigIntDesc() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTablesDesc(conn, "BIGINT", "1112"); + String tableName = initTablesDesc(conn, "BIGINT", "1112"); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(bigints,pk) FROM regions"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(bigints,pk) FROM " + tableName ); assertTrue(rs.next()); Long[] longs = new Long[]{12l, 34l, 56l, 78l, 910l, 1112l}; @@ -635,9 +647,9 @@ public void testArrayAppendFunctionBigIntDesc() throws Exception { @Test public void testArrayAppendFunctionBooleanDesc() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTablesDesc(conn, "BOOLEAN", "false"); + String tableName = initTablesDesc(conn, "BOOLEAN", "false"); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(bools,pk) FROM regions"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_APPEND(bools,pk) FROM " + tableName ); assertTrue(rs.next()); Boolean[] booleans = new Boolean[]{true, false, false}; diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/EvaluationOfORIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/EvaluationOfORIT.java index 435503616d9..3391f62d47d 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/EvaluationOfORIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/EvaluationOfORIT.java @@ -48,7 +48,8 @@ public void testFalseOrFalse() throws SQLException { @Test public void testPKOrNotPKInOREvaluation() throws SQLException { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); - Connection conn = DriverManager.getConnection(getUrl(), props); + Connection conn = DriverManager.getConnection(getUrl(), props); + conn.setAutoCommit(false); String create = "CREATE TABLE DIE ( ID INTEGER NOT NULL PRIMARY KEY,NAME VARCHAR(50))"; diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ExpFunctionEnd2EndIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ExpFunctionEnd2EndIT.java index a723c6bf2d1..88bf763de32 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ExpFunctionEnd2EndIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ExpFunctionEnd2EndIT.java @@ -34,21 +34,26 @@ /** * End to end tests for {@link ExpFunction} */ -public class ExpFunctionEnd2EndIT extends BaseHBaseManagedTimeIT { +public class ExpFunctionEnd2EndIT extends BaseHBaseManagedTimeTableReuseIT { private static final String KEY = "key"; private static final double ZERO = 1e-8; + private String signedTableName; + private String unsignedTableName; @Before public void initTable() throws Exception { Connection conn = null; PreparedStatement stmt = null; + signedTableName = generateRandomString(); + unsignedTableName = generateRandomString(); + try { conn = DriverManager.getConnection(getUrl()); String ddl; - ddl = "CREATE TABLE testSigned (k VARCHAR NOT NULL PRIMARY KEY, doub DOUBLE, fl FLOAT, inte INTEGER, lon BIGINT, smalli SMALLINT, tinyi TINYINT)"; + ddl = "CREATE TABLE " + signedTableName + " (k VARCHAR NOT NULL PRIMARY KEY, doub DOUBLE, fl FLOAT, inte INTEGER, lon BIGINT, smalli SMALLINT, tinyi TINYINT)"; conn.createStatement().execute(ddl); - ddl = "CREATE TABLE testUnsigned (k VARCHAR NOT NULL PRIMARY KEY, doub UNSIGNED_DOUBLE, fl UNSIGNED_FLOAT, inte UNSIGNED_INT, lon UNSIGNED_LONG, smalli UNSIGNED_SMALLINT, tinyi UNSIGNED_TINYINT)"; + ddl = "CREATE TABLE " + unsignedTableName + " (k VARCHAR NOT NULL PRIMARY KEY, doub UNSIGNED_DOUBLE, fl UNSIGNED_FLOAT, inte UNSIGNED_INT, lon UNSIGNED_LONG, smalli UNSIGNED_SMALLINT, tinyi UNSIGNED_TINYINT)"; conn.createStatement().execute(ddl); conn.commit(); } finally { @@ -57,7 +62,8 @@ public void initTable() throws Exception { } private void updateSignedTable(Connection conn, double data) throws Exception { - PreparedStatement stmt = conn.prepareStatement("UPSERT INTO testSigned VALUES (?, ?, ?, ?, ?, ?, ?)"); + + PreparedStatement stmt = conn.prepareStatement("UPSERT INTO " + signedTableName + " VALUES (?, ?, ?, ?, ?, ?, ?)"); stmt.setString(1, KEY); Double d = Double.valueOf(data); stmt.setDouble(2, d.doubleValue()); @@ -71,7 +77,7 @@ private void updateSignedTable(Connection conn, double data) throws Exception { } private void updateUnsignedTable(Connection conn, double data) throws Exception { - PreparedStatement stmt = conn.prepareStatement("UPSERT INTO testUnsigned VALUES (?, ?, ?, ?, ?, ?, ?)"); + PreparedStatement stmt = conn.prepareStatement("UPSERT INTO " + unsignedTableName + " VALUES (?, ?, ?, ?, ?, ?, ?)"); stmt.setString(1, KEY); Double d = Double.valueOf(data); stmt.setDouble(2, d.doubleValue()); @@ -86,7 +92,7 @@ private void updateUnsignedTable(Connection conn, double data) throws Exception private void testSignedNumberSpec(Connection conn, double data) throws Exception { updateSignedTable(conn, data); - ResultSet rs = conn.createStatement().executeQuery("SELECT EXP(doub),EXP(fl),EXP(inte),EXP(lon),EXP(smalli),EXP(tinyi) FROM testSigned"); + ResultSet rs = conn.createStatement().executeQuery("SELECT EXP(doub),EXP(fl),EXP(inte),EXP(lon),EXP(smalli),EXP(tinyi) FROM " + signedTableName); assertTrue(rs.next()); Double d = Double.valueOf(data); assertTrue(Math.abs(rs.getDouble(1) - Math.exp(d.doubleValue())) < ZERO); @@ -100,7 +106,7 @@ private void testSignedNumberSpec(Connection conn, double data) throws Exception private void testUnsignedNumberSpec(Connection conn, double data) throws Exception { updateUnsignedTable(conn, data); - ResultSet rs = conn.createStatement().executeQuery("SELECT EXP(doub),EXP(fl),EXP(inte),EXP(lon),EXP(smalli),EXP(tinyi) FROM testUnsigned"); + ResultSet rs = conn.createStatement().executeQuery("SELECT EXP(doub),EXP(fl),EXP(inte),EXP(lon),EXP(smalli),EXP(tinyi) FROM " + unsignedTableName); assertTrue(rs.next()); Double d = Double.valueOf(data); assertTrue(Math.abs(rs.getDouble(1) - Math.exp(d.doubleValue())) < ZERO); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/LastValueFunctionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/LastValueFunctionIT.java index cbadc357f1d..f8d2d32d9f4 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/LastValueFunctionIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/LastValueFunctionIT.java @@ -28,33 +28,33 @@ import org.junit.Test; -public class LastValueFunctionIT extends BaseHBaseManagedTimeIT { +public class LastValueFunctionIT extends BaseHBaseManagedTimeTableReuseIT { @Test public void unsignedLong() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - - String ddl = "CREATE TABLE IF NOT EXISTS last_value_table " + String tableName = generateRandomString(); + String ddl = "CREATE TABLE IF NOT EXISTS " + tableName + "(id INTEGER NOT NULL PRIMARY KEY, page_id UNSIGNED_LONG," + " date DATE, \"value\" UNSIGNED_LONG)"; conn.createStatement().execute(ddl); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") " + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") " + "VALUES (1, 8, TO_DATE('2013-01-01 00:00:00'), 300)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") " + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") " + "VALUES (2, 8, TO_DATE('2013-01-01 00:01:00'), 7)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") " + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") " + "VALUES (3, 8, TO_DATE('2013-01-01 00:02:00'), 9)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") " + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") " + "VALUES (4, 8, TO_DATE('2013-01-01 00:03:00'), 4)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") " + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") " + "VALUES (5, 8, TO_DATE('2013-01-01 00:04:00'), 2)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") " + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") " + "VALUES (6, 8, TO_DATE('2013-01-01 00:05:00'), 150)"); conn.commit(); ResultSet rs = conn.createStatement().executeQuery( - "SELECT LAST_VALUE(\"value\") WITHIN GROUP (ORDER BY date ASC) FROM last_value_table GROUP BY page_id"); + "SELECT LAST_VALUE(\"value\") WITHIN GROUP (ORDER BY date ASC) FROM " + tableName + " GROUP BY page_id"); assertTrue(rs.next()); assertEquals(rs.getLong(1), 150); @@ -65,20 +65,21 @@ public void unsignedLong() throws Exception { @Test public void signedInteger() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); + String tableName = generateRandomString(); - String ddl = "CREATE TABLE IF NOT EXISTS last_test_table " + String ddl = "CREATE TABLE IF NOT EXISTS " + tableName + "(id INTEGER NOT NULL PRIMARY KEY, page_id UNSIGNED_LONG, date INTEGER, \"value\" INTEGER)"; conn.createStatement().execute(ddl); - conn.createStatement().execute("UPSERT INTO last_test_table (id, page_id, date, \"value\") VALUES (5, 8, 5, -255)"); - conn.createStatement().execute("UPSERT INTO last_test_table (id, page_id, date, \"value\") VALUES (1, 8, 1, 3)"); - conn.createStatement().execute("UPSERT INTO last_test_table (id, page_id, date, \"value\") VALUES (2, 8, 2, 7)"); - conn.createStatement().execute("UPSERT INTO last_test_table (id, page_id, date, \"value\") VALUES (3, 8, 3, 9)"); - conn.createStatement().execute("UPSERT INTO last_test_table (id, page_id, date, \"value\") VALUES (4, 8, 4, 4)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (5, 8, 5, -255)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (1, 8, 1, 3)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (2, 8, 2, 7)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (3, 8, 3, 9)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (4, 8, 4, 4)"); conn.commit(); ResultSet rs = conn.createStatement().executeQuery( - "SELECT LAST_VALUE(\"value\") WITHIN GROUP (ORDER BY date ASC) FROM last_test_table GROUP BY page_id" + "SELECT LAST_VALUE(\"value\") WITHIN GROUP (ORDER BY date ASC) FROM " + tableName + " GROUP BY page_id" ); assertTrue(rs.next()); @@ -89,21 +90,22 @@ public void signedInteger() throws Exception { @Test public void unsignedInteger() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); + String tableName = generateRandomString(); - String ddl = "CREATE TABLE IF NOT EXISTS last_test_table " + String ddl = "CREATE TABLE IF NOT EXISTS " + tableName + "(id INTEGER NOT NULL PRIMARY KEY, page_id UNSIGNED_LONG," + " date UNSIGNED_INT, \"value\" UNSIGNED_INT)"; conn.createStatement().execute(ddl); - conn.createStatement().execute("UPSERT INTO last_test_table (id, page_id, date, \"value\") VALUES (1, 8, 1, 3)"); - conn.createStatement().execute("UPSERT INTO last_test_table (id, page_id, date, \"value\") VALUES (2, 8, 2, 7)"); - conn.createStatement().execute("UPSERT INTO last_test_table (id, page_id, date, \"value\") VALUES (3, 8, 3, 9)"); - conn.createStatement().execute("UPSERT INTO last_test_table (id, page_id, date, \"value\") VALUES (5, 8, 4, 2)"); - conn.createStatement().execute("UPSERT INTO last_test_table (id, page_id, date, \"value\") VALUES (4, 8, 5, 4)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (1, 8, 1, 3)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (2, 8, 2, 7)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (3, 8, 3, 9)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (5, 8, 4, 2)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (4, 8, 5, 4)"); conn.commit(); ResultSet rs = conn.createStatement().executeQuery( - "SELECT LAST_VALUE(\"value\") WITHIN GROUP (ORDER BY date ASC) FROM last_test_table GROUP BY page_id" + "SELECT LAST_VALUE(\"value\") WITHIN GROUP (ORDER BY date ASC) FROM " + tableName + " GROUP BY page_id" ); assertTrue(rs.next()); assertEquals(rs.getInt(1), 4); @@ -113,22 +115,23 @@ public void unsignedInteger() throws Exception { @Test public void simpleTestDescOrder() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); + String tableName = generateRandomString(); - String ddl = "CREATE TABLE IF NOT EXISTS last_value_table " + String ddl = "CREATE TABLE IF NOT EXISTS " + tableName + "(id INTEGER NOT NULL PRIMARY KEY, page_id UNSIGNED_LONG," + " dates INTEGER, val INTEGER)"; conn.createStatement().execute(ddl); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, dates, val) VALUES (1, 8, 0, 300)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, dates, val) VALUES (2, 8, 1, 7)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, dates, val) VALUES (3, 8, 2, 9)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, dates, val) VALUES (4, 8, 3, 4)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, dates, val) VALUES (5, 8, 4, 2)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, dates, val) VALUES (6, 8, 5, 150)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, dates, val) VALUES (1, 8, 0, 300)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, dates, val) VALUES (2, 8, 1, 7)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, dates, val) VALUES (3, 8, 2, 9)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, dates, val) VALUES (4, 8, 3, 4)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, dates, val) VALUES (5, 8, 4, 2)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, dates, val) VALUES (6, 8, 5, 150)"); conn.commit(); ResultSet rs = conn.createStatement().executeQuery( - "SELECT LAST_VALUE(val) WITHIN GROUP (ORDER BY dates DESC) FROM last_value_table GROUP BY page_id"); + "SELECT LAST_VALUE(val) WITHIN GROUP (ORDER BY dates DESC) FROM " + tableName + " GROUP BY page_id"); assertTrue(rs.next()); assertEquals(rs.getInt(1), 300); @@ -138,22 +141,23 @@ public void simpleTestDescOrder() throws Exception { @Test public void simpleTestAscOrder() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); + String tableName = generateRandomString(); - String ddl = "CREATE TABLE IF NOT EXISTS last_value_table " + String ddl = "CREATE TABLE IF NOT EXISTS " + tableName + "(id INTEGER NOT NULL PRIMARY KEY, page_id UNSIGNED_LONG," + " dates INTEGER, val INTEGER)"; conn.createStatement().execute(ddl); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, dates, val) VALUES (1, 8, 0, 300)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, dates, val) VALUES (2, 8, 1, 7)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, dates, val) VALUES (3, 8, 2, 9)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, dates, val) VALUES (4, 8, 3, 4)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, dates, val) VALUES (5, 8, 4, 2)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, dates, val) VALUES (6, 8, 5, 150)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, dates, val) VALUES (1, 8, 0, 300)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, dates, val) VALUES (2, 8, 1, 7)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, dates, val) VALUES (3, 8, 2, 9)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, dates, val) VALUES (4, 8, 3, 4)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, dates, val) VALUES (5, 8, 4, 2)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, dates, val) VALUES (6, 8, 5, 150)"); conn.commit(); ResultSet rs = conn.createStatement().executeQuery( - "SELECT LAST_VALUE(val) WITHIN GROUP (ORDER BY dates ASC) FROM last_value_table GROUP BY page_id"); + "SELECT LAST_VALUE(val) WITHIN GROUP (ORDER BY dates ASC) FROM " + tableName + " GROUP BY page_id"); assertTrue(rs.next()); assertEquals(rs.getInt(1), 150); @@ -163,21 +167,22 @@ public void simpleTestAscOrder() throws Exception { @Test public void charDatatype() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); + String tableName = generateRandomString(); - String ddl = "CREATE TABLE IF NOT EXISTS last_value_table " + String ddl = "CREATE TABLE IF NOT EXISTS " + tableName + "(id INTEGER NOT NULL PRIMARY KEY, page_id UNSIGNED_LONG, " + "date CHAR(3), \"value\" CHAR(3))"; conn.createStatement().execute(ddl); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") VALUES (1, 8, '1', '300')"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") VALUES (2, 8, '2', '7')"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") VALUES (3, 8, '3', '9')"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") VALUES (5, 8, '4', '2')"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") VALUES (4, 8, '5', '400')"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (1, 8, '1', '300')"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (2, 8, '2', '7')"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (3, 8, '3', '9')"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (5, 8, '4', '2')"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (4, 8, '5', '400')"); conn.commit(); ResultSet rs = conn.createStatement().executeQuery( - "SELECT LAST_VALUE(\"value\") WITHIN GROUP (ORDER BY date ASC) FROM last_value_table GROUP BY page_id"); + "SELECT LAST_VALUE(\"value\") WITHIN GROUP (ORDER BY date ASC) FROM " + tableName + " GROUP BY page_id"); assertTrue(rs.next()); assertEquals(rs.getString(1), "400"); @@ -187,21 +192,22 @@ public void charDatatype() throws Exception { @Test public void varcharVariableLenghtDatatype() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); + String tableName = generateRandomString(); - String ddl = "CREATE TABLE IF NOT EXISTS last_value_table " + String ddl = "CREATE TABLE IF NOT EXISTS " + tableName + "(id INTEGER NOT NULL PRIMARY KEY, page_id UNSIGNED_LONG," + " date VARCHAR, \"value\" VARCHAR)"; conn.createStatement().execute(ddl); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") VALUES (1, 8, '1', '3')"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") VALUES (2, 8, '2', '7')"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") VALUES (3, 8, '3', '9')"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") VALUES (5, 8, '4', '2')"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") VALUES (4, 8, '5', '4')"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (1, 8, '1', '3')"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (2, 8, '2', '7')"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (3, 8, '3', '9')"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (5, 8, '4', '2')"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (4, 8, '5', '4')"); conn.commit(); ResultSet rs = conn.createStatement().executeQuery( - "SELECT LAST_VALUE(\"value\") WITHIN GROUP (ORDER BY date ASC) FROM last_value_table GROUP BY page_id"); + "SELECT LAST_VALUE(\"value\") WITHIN GROUP (ORDER BY date ASC) FROM " + tableName + " GROUP BY page_id"); assertTrue(rs.next()); assertEquals(rs.getString(1), "4"); @@ -211,30 +217,31 @@ public void varcharVariableLenghtDatatype() throws Exception { @Test public void groupMultipleValues() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); + String tableName = generateRandomString(); - String ddl = "CREATE TABLE IF NOT EXISTS last_value_table " + String ddl = "CREATE TABLE IF NOT EXISTS " + tableName + "(id INTEGER NOT NULL PRIMARY KEY, page_id UNSIGNED_LONG," + " date UNSIGNED_INT, \"value\" UNSIGNED_INT)"; conn.createStatement().execute(ddl); //first page_id - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") VALUES (1, 8, 1, 3)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") VALUES (2, 8, 2, 7)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") VALUES (3, 8, 3, 9)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") VALUES (5, 8, 4, 2)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") VALUES (4, 8, 5, 4)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (1, 8, 1, 3)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (2, 8, 2, 7)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (3, 8, 3, 9)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (5, 8, 4, 2)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (4, 8, 5, 4)"); //second page_id - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") VALUES (11, 9, 1, 3)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") VALUES (12, 9, 2, 7)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") VALUES (13, 9, 3, 9)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") VALUES (15, 9, 4, 2)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") VALUES (14, 9, 5, 40)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (11, 9, 1, 3)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (12, 9, 2, 7)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (13, 9, 3, 9)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (15, 9, 4, 2)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (14, 9, 5, 40)"); conn.commit(); ResultSet rs = conn.createStatement().executeQuery( - "SELECT LAST_VALUE(\"value\") WITHIN GROUP (ORDER BY date ASC) FROM last_value_table GROUP BY page_id"); + "SELECT LAST_VALUE(\"value\") WITHIN GROUP (ORDER BY date ASC) FROM " + tableName + " GROUP BY page_id"); assertTrue(rs.next()); assertEquals(rs.getInt(1), 4); @@ -247,21 +254,22 @@ public void groupMultipleValues() throws Exception { @Test public void nullValuesInAggregatingColumns() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); + String tableName = generateRandomString(); - String ddl = "CREATE TABLE IF NOT EXISTS last_value_table " + String ddl = "CREATE TABLE IF NOT EXISTS " + tableName + "(id INTEGER NOT NULL PRIMARY KEY, page_id UNSIGNED_LONG," + " date UNSIGNED_INT, \"value\" UNSIGNED_INT)"; conn.createStatement().execute(ddl); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date) VALUES (1, 8, 1)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date) VALUES (2, 8, 2)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date) VALUES (3, 8, 3)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date) VALUES (5, 8, 4)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date) VALUES (4, 8, 5)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date) VALUES (1, 8, 1)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date) VALUES (2, 8, 2)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date) VALUES (3, 8, 3)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date) VALUES (5, 8, 4)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date) VALUES (4, 8, 5)"); conn.commit(); ResultSet rs = conn.createStatement().executeQuery( - "SELECT LAST_VALUE(\"value\") WITHIN GROUP (ORDER BY date ASC) FROM last_value_table GROUP BY page_id"); + "SELECT LAST_VALUE(\"value\") WITHIN GROUP (ORDER BY date ASC) FROM " + tableName + " GROUP BY page_id"); assertTrue(rs.next()); byte[] nothing = rs.getBytes(1); @@ -271,22 +279,23 @@ public void nullValuesInAggregatingColumns() throws Exception { @Test public void nullValuesInAggregatingColumnsSecond() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); + String tableName = generateRandomString(); - String ddl = "CREATE TABLE IF NOT EXISTS last_value_table " + String ddl = "CREATE TABLE IF NOT EXISTS " + tableName + "(id INTEGER NOT NULL PRIMARY KEY, page_id UNSIGNED_LONG," + " date UNSIGNED_INT, \"value\" UNSIGNED_INT)"; conn.createStatement().execute(ddl); //first page_id - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date) VALUES (1, 8, 1)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date) VALUES (2, 8, 2)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date) VALUES (3, 8, 3)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date) VALUES (5, 8, 4)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date) VALUES (4, 8, 5)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date) VALUES (1, 8, 1)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date) VALUES (2, 8, 2)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date) VALUES (3, 8, 3)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date) VALUES (5, 8, 4)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date) VALUES (4, 8, 5)"); conn.commit(); ResultSet rs = conn.createStatement().executeQuery( - "SELECT LAST_VALUE(\"value\") WITHIN GROUP (ORDER BY date ASC) FROM last_value_table GROUP BY page_id"); + "SELECT LAST_VALUE(\"value\") WITHIN GROUP (ORDER BY date ASC) FROM " + tableName + " GROUP BY page_id"); assertTrue(rs.next()); byte[] nothing = rs.getBytes(1); @@ -296,31 +305,32 @@ public void nullValuesInAggregatingColumnsSecond() throws Exception { @Test public void inOrderByClausule() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); + String tableName = generateRandomString(); - String ddl = "CREATE TABLE IF NOT EXISTS last_value_table " + String ddl = "CREATE TABLE IF NOT EXISTS " + tableName + "(id INTEGER NOT NULL PRIMARY KEY, page_id UNSIGNED_INT," + " date UNSIGNED_INT, \"value\" UNSIGNED_INT)"; conn.createStatement().execute(ddl); //first page - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") VALUES (1, 8, 1, 3)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") VALUES (2, 8, 2, 7)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") VALUES (3, 8, 3, 9)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") VALUES (5, 8, 4, 2)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") VALUES (4, 8, 5, 5)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (1, 8, 1, 3)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (2, 8, 2, 7)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (3, 8, 3, 9)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (5, 8, 4, 2)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (4, 8, 5, 5)"); //second page - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") VALUES (5, 2, 1, 3)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") VALUES (6, 2, 2, 7)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") VALUES (7, 2, 3, 9)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") VALUES (8, 2, 4, 2)"); - conn.createStatement().execute("UPSERT INTO last_value_table (id, page_id, date, \"value\") VALUES (9, 2, 5, 4)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (5, 2, 1, 3)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (6, 2, 2, 7)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (7, 2, 3, 9)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (8, 2, 4, 2)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " (id, page_id, date, \"value\") VALUES (9, 2, 5, 4)"); conn.commit(); ResultSet rs = conn.createStatement().executeQuery( "SELECT LAST_VALUE(\"value\") WITHIN GROUP (ORDER BY date ASC) AS val " - + "FROM last_value_table GROUP BY page_id ORDER BY val DESC"); + + "FROM " + tableName + " GROUP BY page_id ORDER BY val DESC"); assertTrue(rs.next()); assertEquals(rs.getInt(1), 5); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/LnLogFunctionEnd2EndIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/LnLogFunctionEnd2EndIT.java index e2c72ca76ef..466e71dff8b 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/LnLogFunctionEnd2EndIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/LnLogFunctionEnd2EndIT.java @@ -33,10 +33,12 @@ /** * End to end tests for {@link LnFunction} and {@link LogFunction} */ -public class LnLogFunctionEnd2EndIT extends BaseHBaseManagedTimeIT { +public class LnLogFunctionEnd2EndIT extends BaseHBaseManagedTimeTableReuseIT { private static final String KEY = "key"; private static final double ZERO = 1e-9; + private String signedTableName; + private String unsignedTableName; private static boolean twoDoubleEquals(double a, double b) { if (Double.isNaN(a) ^ Double.isNaN(b)) return false; @@ -57,14 +59,17 @@ private static boolean twoDoubleEquals(double a, double b) { public void initTable() throws Exception { Connection conn = null; PreparedStatement stmt = null; + signedTableName = generateRandomString(); + unsignedTableName = generateRandomString(); + try { conn = DriverManager.getConnection(getUrl()); String ddl; ddl = - "CREATE TABLE testSigned (k VARCHAR NOT NULL PRIMARY KEY, doub DOUBLE, fl FLOAT, inte INTEGER, lon BIGINT, smalli SMALLINT, tinyi TINYINT)"; + "CREATE TABLE " + signedTableName + " (k VARCHAR NOT NULL PRIMARY KEY, doub DOUBLE, fl FLOAT, inte INTEGER, lon BIGINT, smalli SMALLINT, tinyi TINYINT)"; conn.createStatement().execute(ddl); ddl = - "CREATE TABLE testUnsigned (k VARCHAR NOT NULL PRIMARY KEY, doub UNSIGNED_DOUBLE, fl UNSIGNED_FLOAT, inte UNSIGNED_INT, lon UNSIGNED_LONG, smalli UNSIGNED_SMALLINT, tinyi UNSIGNED_TINYINT)"; + "CREATE TABLE " + unsignedTableName + " (k VARCHAR NOT NULL PRIMARY KEY, doub UNSIGNED_DOUBLE, fl UNSIGNED_FLOAT, inte UNSIGNED_INT, lon UNSIGNED_LONG, smalli UNSIGNED_SMALLINT, tinyi UNSIGNED_TINYINT)"; conn.createStatement().execute(ddl); conn.commit(); } finally { @@ -136,8 +141,8 @@ private void testNumberSpec(Connection conn, double data, String tableName) thro public void test() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); for (double d : new double[] { 0.0, 1.0, -1.0, 123.1234, -123.1234 }) { - testNumberSpec(conn, d, "testSigned"); - if (d >= 0) testNumberSpec(conn, d, "testUnsigned"); + testNumberSpec(conn, d, signedTableName ); + if (d >= 0) testNumberSpec(conn, d, unsignedTableName ); } } } diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexExpressionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexExpressionIT.java index 08d360501a3..4d39228cd53 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexExpressionIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexExpressionIT.java @@ -10,10 +10,7 @@ package org.apache.phoenix.end2end.index; import static org.apache.phoenix.query.QueryConstants.MILLIS_IN_DAY; -import static org.apache.phoenix.util.TestUtil.INDEX_DATA_SCHEMA; -import static org.apache.phoenix.util.TestUtil.INDEX_DATA_TABLE; -import static org.apache.phoenix.util.TestUtil.MUTABLE_INDEX_DATA_TABLE; -import static org.apache.phoenix.util.TestUtil.TEST_PROPERTIES; +import static org.apache.phoenix.util.TestUtil.*; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertNull; @@ -31,6 +28,7 @@ import org.apache.commons.lang.StringUtils; import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; +import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.exception.SQLExceptionCode; import org.apache.phoenix.execute.CommitException; import org.apache.phoenix.query.QueryConstants; @@ -40,7 +38,7 @@ import org.apache.phoenix.util.QueryUtil; import org.junit.Test; -public class IndexExpressionIT extends BaseHBaseManagedTimeIT { +public class IndexExpressionIT extends BaseHBaseManagedTimeTableReuseIT { @Test public void testImmutableIndexCreateAndUpdate() throws Exception { @@ -112,18 +110,19 @@ private void verifyResult(ResultSet rs, int i) throws SQLException { } protected void helpTestCreateAndUpdate(boolean mutable, boolean localIndex) throws Exception { - String dataTableName = mutable ? MUTABLE_INDEX_DATA_TABLE : INDEX_DATA_TABLE; + String dataTableName = generateRandomString(); String fullDataTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + dataTableName; + String indexName = generateRandomString(); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); try { conn.setAutoCommit(false); - populateDataTable(conn, dataTableName); + populateDataTable(conn, dataTableName, mutable ? MUTABLE_INDEX_DATA_TABLE : INDEX_DATA_TABLE); // create an expression index String ddl = "CREATE " + (localIndex ? "LOCAL" : "") - + " INDEX IDX ON " + + " INDEX " + indexName + " ON " + fullDataTableName + " ((UPPER(varchar_pk) || '_' || UPPER(char_pk) || '_' || UPPER(varchar_col1) || '_' || UPPER(b.char_col2))," + " (decimal_pk+int_pk+decimal_col2+int_col1)," + " date_pk+1, date1+1, date2+1 )" @@ -153,7 +152,7 @@ protected void helpTestCreateAndUpdate(boolean mutable, boolean localIndex) thro localIndex ? "CLIENT PARALLEL 1-WAY RANGE SCAN OVER INDEX_TEST." + dataTableName + " [1,'VARCHAR1_CHAR1 _A.VARCHAR1_B.CHAR1 ',3,'2015-01-02 00:00:00.000',1,420,156,800,000,1,420,156,800,000]\nCLIENT MERGE SORT" - : "CLIENT PARALLEL 1-WAY RANGE SCAN OVER INDEX_TEST.IDX ['VARCHAR1_CHAR1 _A.VARCHAR1_B.CHAR1 ',3,'2015-01-02 00:00:00.000',1,420,156,800,000,1,420,156,800,000]", + : "CLIENT PARALLEL 1-WAY RANGE SCAN OVER INDEX_TEST." + indexName + " ['VARCHAR1_CHAR1 _A.VARCHAR1_B.CHAR1 ',3,'2015-01-02 00:00:00.000',1,420,156,800,000,1,420,156,800,000]", QueryUtil.getExplainPlan(rs)); // verify that the correct results are returned @@ -173,7 +172,7 @@ protected void helpTestCreateAndUpdate(boolean mutable, boolean localIndex) thro + fullDataTableName; rs = conn.createStatement().executeQuery("EXPLAIN " + indexSelectSql); assertEquals(localIndex ? "CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + fullDataTableName - + " [1]\nCLIENT MERGE SORT" : "CLIENT PARALLEL 1-WAY FULL SCAN OVER INDEX_TEST.IDX", + + " [1]\nCLIENT MERGE SORT" : "CLIENT PARALLEL 1-WAY FULL SCAN OVER INDEX_TEST." + indexName, QueryUtil.getExplainPlan(rs)); rs = conn.createStatement().executeQuery(indexSelectSql); verifyResult(rs, 1); @@ -195,7 +194,7 @@ protected void helpTestCreateAndUpdate(boolean mutable, boolean localIndex) thro verifyResult(rs, 3); verifyResult(rs, 4); - conn.createStatement().execute("DROP INDEX IDX ON " + fullDataTableName); + conn.createStatement().execute("DROP INDEX " + indexName + " ON " + fullDataTableName); } finally { conn.close(); } @@ -203,27 +202,31 @@ protected void helpTestCreateAndUpdate(boolean mutable, boolean localIndex) thro @Test public void testMutableIndexUpdate() throws Exception { - helpTestUpdate(false); + String dataTableName = generateRandomString(); + String fullDataTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + dataTableName; + String indexName = generateRandomString(); + helpTestUpdate(dataTableName, fullDataTableName, indexName, false); } @Test public void testMutableLocalIndexUpdate() throws Exception { - helpTestUpdate(true); + String dataTableName = generateRandomString(); + String fullDataTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + dataTableName; + String indexName = generateRandomString(); + helpTestUpdate(dataTableName, fullDataTableName, indexName, true); } - protected void helpTestUpdate(boolean localIndex) throws Exception { - String dataTableName = MUTABLE_INDEX_DATA_TABLE; - String fullDataTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + dataTableName; + protected void helpTestUpdate(String dataTableName, String fullDataTableName, String indexName, boolean localIndex) throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); try { conn.setAutoCommit(false); - populateDataTable(conn, dataTableName); + populateDataTable(conn, dataTableName, MUTABLE_INDEX_DATA_TABLE); // create an expression index String ddl = "CREATE " + (localIndex ? "LOCAL" : "") - + " INDEX IDX ON " + + " INDEX " + indexName + " ON " + fullDataTableName + " ((UPPER(varchar_pk) || '_' || UPPER(char_pk) || '_' || UPPER(varchar_col1) || '_' || UPPER(char_col2))," + " (decimal_pk+int_pk+decimal_col2+int_col1)," + " date_pk+1, date1+1, date2+1 )" @@ -269,14 +272,14 @@ protected void helpTestUpdate(boolean localIndex) throws Exception { assertEquals("VARCHAR2_CHAR2 _A.VARCHAR2_B.CHAR2 ", rs.getString(1)); assertEquals(2, rs.getLong(2)); assertFalse(rs.next()); - conn.createStatement().execute("DROP INDEX IDX ON " + fullDataTableName); + conn.createStatement().execute("DROP INDEX " + indexName + " ON " + fullDataTableName); } finally { conn.close(); } } - private void populateDataTable(Connection conn, String dataTable) throws SQLException { - ensureTableCreated(getUrl(), dataTable, dataTable); + private void populateDataTable(Connection conn, String dataTable, String tableType) throws SQLException { + ensureTableCreated(getUrl(), dataTable, tableType); String upsert = "UPSERT INTO " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + dataTable + " VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"; PreparedStatement stmt1 = conn.prepareStatement(upsert); @@ -307,16 +310,21 @@ public void testDeleteIndexedExpressionMutableLocalIndex() throws Exception { } protected void helpTestDeleteIndexedExpression(boolean mutable, boolean localIndex) throws Exception { - String dataTableName = mutable ? MUTABLE_INDEX_DATA_TABLE : INDEX_DATA_TABLE; + String dataTableName = generateRandomString(); String fullDataTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + dataTableName; - String fullIndexTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + "IDX"; + String indexName = generateRandomString(); + String fullIndexTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexName; + + //String dataTableName = mutable ? MUTABLE_INDEX_DATA_TABLE : INDEX_DATA_TABLE; + //String fullDataTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + dataTableName; + //String fullIndexTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + "IDX"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); try { conn.setAutoCommit(false); - ensureTableCreated(getUrl(), dataTableName, dataTableName); - populateDataTable(conn, dataTableName); - String ddl = "CREATE " + (localIndex ? "LOCAL" : "") + " INDEX IDX ON " + fullDataTableName + ensureTableCreated(getUrl(), dataTableName, mutable ? MUTABLE_INDEX_DATA_TABLE : INDEX_DATA_TABLE); + populateDataTable(conn, dataTableName, mutable ? MUTABLE_INDEX_DATA_TABLE : INDEX_DATA_TABLE); + String ddl = "CREATE " + (localIndex ? "LOCAL" : "") + " INDEX " + indexName + " ON " + fullDataTableName + " (2*long_col2)"; PreparedStatement stmt = conn.prepareStatement(ddl); stmt.execute(); @@ -353,7 +361,7 @@ protected void helpTestDeleteIndexedExpression(boolean mutable, boolean localInd rs = conn.createStatement().executeQuery("SELECT COUNT(*) FROM " + fullIndexTableName); assertTrue(rs.next()); assertEquals(1, rs.getInt(1)); - conn.createStatement().execute("DROP INDEX IDX ON " + fullDataTableName); + conn.createStatement().execute("DROP INDEX " + indexName + " ON " + fullDataTableName); } finally { conn.close(); } @@ -380,16 +388,20 @@ public void testDeleteCoveredColMutableLocalIndex() throws Exception { } protected void helpTestDeleteCoveredCol(boolean mutable, boolean localIndex) throws Exception { - String dataTableName = mutable ? MUTABLE_INDEX_DATA_TABLE : INDEX_DATA_TABLE; + String dataTableName = generateRandomString(); String fullDataTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + dataTableName; - String fullIndexTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + "IDX"; + String indexName = generateRandomString(); + String fullIndexTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexName; + //String dataTableName = mutable ? MUTABLE_INDEX_DATA_TABLE : INDEX_DATA_TABLE; + //String fullDataTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + dataTableName; + //String fullIndexTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + "IDX"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); try { conn.setAutoCommit(false); - ensureTableCreated(getUrl(), dataTableName, dataTableName); - populateDataTable(conn, dataTableName); - String ddl = "CREATE " + (localIndex ? "LOCAL" : "") + " INDEX IDX ON " + fullDataTableName + ensureTableCreated(getUrl(), dataTableName, mutable ? MUTABLE_INDEX_DATA_TABLE : INDEX_DATA_TABLE); + populateDataTable(conn, dataTableName, mutable ? MUTABLE_INDEX_DATA_TABLE : INDEX_DATA_TABLE); + String ddl = "CREATE " + (localIndex ? "LOCAL" : "") + " INDEX " + indexName + " ON " + fullDataTableName + " (long_pk, varchar_pk, 1+long_pk, UPPER(varchar_pk) )" + " INCLUDE (long_col1, long_col2)"; PreparedStatement stmt = conn.prepareStatement(ddl); stmt.execute(); @@ -434,7 +446,7 @@ protected void helpTestDeleteCoveredCol(boolean mutable, boolean localIndex) thr assertEquals(2L, rs.getLong(3)); assertEquals("VARCHAR1", rs.getString(4)); assertFalse(rs.next()); - conn.createStatement().execute("DROP INDEX IDX ON " + fullDataTableName); + conn.createStatement().execute("DROP INDEX " + indexName + " ON " + fullDataTableName); } finally { conn.close(); } @@ -461,14 +473,19 @@ public void testGroupByCountMutableLocalIndex() throws Exception { } protected void helpTestGroupByCount(boolean mutable, boolean localIndex) throws Exception { - String dataTableName = mutable ? MUTABLE_INDEX_DATA_TABLE : INDEX_DATA_TABLE; + String dataTableName = generateRandomString(); String fullDataTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + dataTableName; + String indexName = generateRandomString(); + String fullIndexTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexName; + + // String dataTableName = mutable ? MUTABLE_INDEX_DATA_TABLE : INDEX_DATA_TABLE; + //String fullDataTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + dataTableName; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); try { conn.setAutoCommit(false); - populateDataTable(conn, dataTableName); - String ddl = "CREATE " + (localIndex ? "LOCAL" : "") + " INDEX IDX ON " + fullDataTableName + populateDataTable(conn, dataTableName, mutable ? MUTABLE_INDEX_DATA_TABLE : INDEX_DATA_TABLE); + String ddl = "CREATE " + (localIndex ? "LOCAL" : "") + " INDEX " + indexName + " ON " + fullDataTableName + " (int_col1+int_col2)"; PreparedStatement stmt = conn.prepareStatement(ddl); stmt.execute(); @@ -478,7 +495,7 @@ protected void helpTestGroupByCount(boolean mutable, boolean localIndex) throws ResultSet rs = conn.createStatement().executeQuery("EXPLAIN " + groupBySql); String expectedPlan = "CLIENT PARALLEL 1-WAY " + (localIndex ? "RANGE SCAN OVER " + fullDataTableName + " [1]" - : "FULL SCAN OVER INDEX_TEST.IDX") + : "FULL SCAN OVER INDEX_TEST." + indexName) + "\n SERVER FILTER BY FIRST KEY ONLY\n SERVER AGGREGATE INTO ORDERED DISTINCT ROWS BY [TO_BIGINT(\"(A.INT_COL1 + B.INT_COL2)\")]" + (localIndex ? "\nCLIENT MERGE SORT" : ""); assertEquals(expectedPlan, QueryUtil.getExplainPlan(rs)); @@ -488,7 +505,7 @@ protected void helpTestGroupByCount(boolean mutable, boolean localIndex) throws assertTrue(rs.next()); assertEquals(1, rs.getInt(2)); assertFalse(rs.next()); - conn.createStatement().execute("DROP INDEX IDX ON " + fullDataTableName); + conn.createStatement().execute("DROP INDEX " + indexName + " ON " + fullDataTableName); } finally { conn.close(); } @@ -515,14 +532,19 @@ public void testSelectDistinctMutableLocalIndex() throws Exception { } protected void helpTestSelectDistinct(boolean mutable, boolean localIndex) throws Exception { - String dataTableName = mutable ? MUTABLE_INDEX_DATA_TABLE : INDEX_DATA_TABLE; + String dataTableName = generateRandomString(); String fullDataTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + dataTableName; + String indexName = generateRandomString(); + String fullIndexTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexName; + + // String dataTableName = mutable ? MUTABLE_INDEX_DATA_TABLE : INDEX_DATA_TABLE; + //String fullDataTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + dataTableName; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); try { conn.setAutoCommit(false); - populateDataTable(conn, dataTableName); - String ddl = "CREATE " + (localIndex ? "LOCAL" : "") + " INDEX IDX ON " + fullDataTableName + populateDataTable(conn, dataTableName, mutable ? MUTABLE_INDEX_DATA_TABLE : INDEX_DATA_TABLE); + String ddl = "CREATE " + (localIndex ? "LOCAL" : "") + " INDEX " + indexName + " ON " + fullDataTableName + " (int_col1+1)"; PreparedStatement stmt = conn.prepareStatement(ddl); stmt.execute(); @@ -530,7 +552,7 @@ protected void helpTestSelectDistinct(boolean mutable, boolean localIndex) throw ResultSet rs = conn.createStatement().executeQuery("EXPLAIN " + sql); String expectedPlan = "CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + (localIndex ? fullDataTableName + " [1,0] - [1,*]" - : "INDEX_TEST.IDX [0] - [*]") + : "INDEX_TEST." + indexName + " [0] - [*]") + "\n SERVER FILTER BY FIRST KEY ONLY\n SERVER DISTINCT PREFIX FILTER OVER [TO_BIGINT(\"(A.INT_COL1 + 1)\")]\n SERVER AGGREGATE INTO ORDERED DISTINCT ROWS BY [TO_BIGINT(\"(A.INT_COL1 + 1)\")]" + (localIndex ? "\nCLIENT MERGE SORT" : ""); assertEquals(expectedPlan, QueryUtil.getExplainPlan(rs)); @@ -540,7 +562,7 @@ protected void helpTestSelectDistinct(boolean mutable, boolean localIndex) throw assertTrue(rs.next()); assertEquals(3, rs.getInt(1)); assertFalse(rs.next()); - conn.createStatement().execute("DROP INDEX IDX ON " + fullDataTableName); + conn.createStatement().execute("DROP INDEX " + indexName + " ON " + fullDataTableName); } finally { conn.close(); } @@ -567,14 +589,16 @@ public void testInClauseWithMutableLocalIndex() throws Exception { } protected void helpTestInClauseWithIndex(boolean mutable, boolean localIndex) throws Exception { - String dataTableName = mutable ? MUTABLE_INDEX_DATA_TABLE : INDEX_DATA_TABLE; + String dataTableName = generateRandomString(); String fullDataTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + dataTableName; + String indexName = generateRandomString(); + Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); try { conn.setAutoCommit(false); - populateDataTable(conn, dataTableName); - String ddl = "CREATE " + (localIndex ? "LOCAL" : "") + " INDEX IDX ON " + fullDataTableName + populateDataTable(conn, dataTableName, mutable ? MUTABLE_INDEX_DATA_TABLE : INDEX_DATA_TABLE); + String ddl = "CREATE " + (localIndex ? "LOCAL" : "") + " INDEX " + indexName + " ON " + fullDataTableName + " (int_col1+1)"; PreparedStatement stmt = conn.prepareStatement(ddl); @@ -583,12 +607,12 @@ protected void helpTestInClauseWithIndex(boolean mutable, boolean localIndex) th ResultSet rs = conn.createStatement().executeQuery("EXPLAIN " + sql); assertEquals("CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + (localIndex ? fullDataTableName + " [1,2]\n SERVER FILTER BY FIRST KEY ONLY\nCLIENT MERGE SORT" - : "INDEX_TEST.IDX [2]\n SERVER FILTER BY FIRST KEY ONLY"), QueryUtil.getExplainPlan(rs)); + : "INDEX_TEST." + indexName + " [2]\n SERVER FILTER BY FIRST KEY ONLY"), QueryUtil.getExplainPlan(rs)); rs = conn.createStatement().executeQuery(sql); assertTrue(rs.next()); assertEquals(2, rs.getInt(1)); assertFalse(rs.next()); - conn.createStatement().execute("DROP INDEX IDX ON " + fullDataTableName); + conn.createStatement().execute("DROP INDEX " + indexName + " ON " + fullDataTableName); } finally { conn.close(); } @@ -615,14 +639,16 @@ public void testOrderByWithMutableLocalIndex() throws Exception { } protected void helpTestSelectAliasAndOrderByWithIndex(boolean mutable, boolean localIndex) throws Exception { - String dataTableName = mutable ? MUTABLE_INDEX_DATA_TABLE : INDEX_DATA_TABLE; + String dataTableName = generateRandomString(); String fullDataTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + dataTableName; + String indexName = generateRandomString(); + Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); try { conn.setAutoCommit(false); - populateDataTable(conn, dataTableName); - String ddl = "CREATE " + (localIndex ? "LOCAL" : "") + " INDEX IDX ON " + fullDataTableName + populateDataTable(conn, dataTableName, mutable ? MUTABLE_INDEX_DATA_TABLE : INDEX_DATA_TABLE); + String ddl = "CREATE " + (localIndex ? "LOCAL" : "") + " INDEX " + indexName + " ON " + fullDataTableName + " (int_col1+1)"; PreparedStatement stmt = conn.prepareStatement(ddl); @@ -632,7 +658,7 @@ protected void helpTestSelectAliasAndOrderByWithIndex(boolean mutable, boolean l assertEquals("CLIENT PARALLEL 1-WAY " + (localIndex ? "RANGE SCAN OVER " + fullDataTableName + " [1]\n SERVER FILTER BY FIRST KEY ONLY\nCLIENT MERGE SORT" - : "FULL SCAN OVER INDEX_TEST.IDX\n SERVER FILTER BY FIRST KEY ONLY"), + : "FULL SCAN OVER INDEX_TEST." + indexName + "\n SERVER FILTER BY FIRST KEY ONLY"), QueryUtil.getExplainPlan(rs)); rs = conn.createStatement().executeQuery(sql); assertTrue(rs.next()); @@ -640,7 +666,7 @@ protected void helpTestSelectAliasAndOrderByWithIndex(boolean mutable, boolean l assertTrue(rs.next()); assertEquals(3, rs.getInt(1)); assertFalse(rs.next()); - conn.createStatement().execute("DROP INDEX IDX ON " + fullDataTableName); + conn.createStatement().execute("DROP INDEX " + indexName + " ON " + fullDataTableName); } finally { conn.close(); } @@ -667,21 +693,24 @@ public void testMutableLocalIndexWithCaseSensitiveCols() throws Exception { } protected void helpTestIndexWithCaseSensitiveCols(boolean mutable, boolean localIndex) throws Exception { + String dataTableName = generateRandomString(); + String indexName = generateRandomString(); + Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); try { - conn.createStatement().execute("CREATE TABLE cs (k VARCHAR NOT NULL PRIMARY KEY, \"cf1\".\"V1\" VARCHAR, \"CF2\".\"v2\" VARCHAR) "+ (mutable ? "IMMUTABLE_ROWS=true" : "")); - String query = "SELECT * FROM cs"; + conn.createStatement().execute("CREATE TABLE " + dataTableName + " (k VARCHAR NOT NULL PRIMARY KEY, \"cf1\".\"V1\" VARCHAR, \"CF2\".\"v2\" VARCHAR) "+ (mutable ? "IMMUTABLE_ROWS=true" : "")); + String query = "SELECT * FROM " + dataTableName; ResultSet rs = conn.createStatement().executeQuery(query); assertFalse(rs.next()); - String ddl = "CREATE " + (localIndex ? "LOCAL" : "") + " INDEX ics ON cs (\"cf1\".\"V1\" || '_' || \"CF2\".\"v2\") INCLUDE (\"V1\",\"v2\")"; + String ddl = "CREATE " + (localIndex ? "LOCAL" : "") + " INDEX " + indexName + " ON " + dataTableName + " (\"cf1\".\"V1\" || '_' || \"CF2\".\"v2\") INCLUDE (\"V1\",\"v2\")"; PreparedStatement stmt = conn.prepareStatement(ddl); stmt.execute(); - query = "SELECT * FROM ics"; + query = "SELECT * FROM " + indexName; rs = conn.createStatement().executeQuery(query); assertFalse(rs.next()); - stmt = conn.prepareStatement("UPSERT INTO cs VALUES(?,?,?)"); + stmt = conn.prepareStatement("UPSERT INTO " + dataTableName + " VALUES(?,?,?)"); stmt.setString(1,"a"); stmt.setString(2, "x"); stmt.setString(3, "1"); @@ -692,13 +721,13 @@ protected void helpTestIndexWithCaseSensitiveCols(boolean mutable, boolean local stmt.execute(); conn.commit(); - query = "SELECT (\"V1\" || '_' || \"v2\"), k, \"V1\", \"v2\" FROM cs WHERE (\"V1\" || '_' || \"v2\") = 'x_1'"; + query = "SELECT (\"V1\" || '_' || \"v2\"), k, \"V1\", \"v2\" FROM " + dataTableName + " WHERE (\"V1\" || '_' || \"v2\") = 'x_1'"; rs = conn.createStatement().executeQuery("EXPLAIN " + query); if(localIndex){ - assertEquals("CLIENT PARALLEL 1-WAY RANGE SCAN OVER CS [1,'x_1']\n" + assertEquals("CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + dataTableName + " [1,'x_1']\n" + "CLIENT MERGE SORT", QueryUtil.getExplainPlan(rs)); } else { - assertEquals("CLIENT PARALLEL 1-WAY RANGE SCAN OVER ICS ['x_1']", QueryUtil.getExplainPlan(rs)); + assertEquals("CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + indexName + " ['x_1']", QueryUtil.getExplainPlan(rs)); } rs = conn.createStatement().executeQuery(query); @@ -714,13 +743,13 @@ protected void helpTestIndexWithCaseSensitiveCols(boolean mutable, boolean local assertEquals("1",rs.getString("v2")); assertFalse(rs.next()); - query = "SELECT \"V1\", \"V1\" as foo1, (\"V1\" || '_' || \"v2\") as foo, (\"V1\" || '_' || \"v2\") as \"Foo1\", (\"V1\" || '_' || \"v2\") FROM cs ORDER BY foo"; + query = "SELECT \"V1\", \"V1\" as foo1, (\"V1\" || '_' || \"v2\") as foo, (\"V1\" || '_' || \"v2\") as \"Foo1\", (\"V1\" || '_' || \"v2\") FROM " + dataTableName + " ORDER BY foo"; rs = conn.createStatement().executeQuery("EXPLAIN " + query); if(localIndex){ - assertEquals("CLIENT PARALLEL 1-WAY RANGE SCAN OVER CS [1]\nCLIENT MERGE SORT", + assertEquals("CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + dataTableName + " [1]\nCLIENT MERGE SORT", QueryUtil.getExplainPlan(rs)); } else { - assertEquals("CLIENT PARALLEL 1-WAY FULL SCAN OVER ICS", QueryUtil.getExplainPlan(rs)); + assertEquals("CLIENT PARALLEL 1-WAY FULL SCAN OVER " + indexName, QueryUtil.getExplainPlan(rs)); } rs = conn.createStatement().executeQuery(query); @@ -747,7 +776,7 @@ protected void helpTestIndexWithCaseSensitiveCols(boolean mutable, boolean local assertEquals("y_2",rs.getString(5)); assertEquals("y_2",rs.getString("\"('cf1'.'V1' || '_' || 'CF2'.'v2')\"")); assertFalse(rs.next()); - conn.createStatement().execute("DROP INDEX ICS ON CS"); + conn.createStatement().execute("DROP INDEX " + indexName + " ON " + dataTableName); } finally { conn.close(); } @@ -774,14 +803,16 @@ public void testSelectColOnlyInDataTableMutableLocalIndex() throws Exception { } protected void helpTestSelectColOnlyInDataTable(boolean mutable, boolean localIndex) throws Exception { - String dataTableName = mutable ? MUTABLE_INDEX_DATA_TABLE : INDEX_DATA_TABLE; + String dataTableName = generateRandomString(); String fullDataTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + dataTableName; + String indexName = generateRandomString(); + Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); try { conn.setAutoCommit(false); - populateDataTable(conn, dataTableName); - String ddl = "CREATE " + (localIndex ? "LOCAL" : "") + " INDEX IDX ON " + fullDataTableName + populateDataTable(conn, dataTableName, mutable ? MUTABLE_INDEX_DATA_TABLE : INDEX_DATA_TABLE); + String ddl = "CREATE " + (localIndex ? "LOCAL" : "") + " INDEX " + indexName + " ON " + fullDataTableName + " (int_col1+1)"; conn = DriverManager.getConnection(getUrl(), props); @@ -800,7 +831,7 @@ protected void helpTestSelectColOnlyInDataTable(boolean mutable, boolean localIn assertEquals(2, rs.getInt(1)); assertEquals(1, rs.getInt(2)); assertFalse(rs.next()); - conn.createStatement().execute("DROP INDEX IDX ON " + fullDataTableName); + conn.createStatement().execute("DROP INDEX " + indexName + " ON " + fullDataTableName); } finally { conn.close(); } @@ -833,35 +864,39 @@ public void helpTestDropIndexedColumn(boolean mutable, boolean local) throws Exc Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); + + String dataTableName = generateRandomString(); + String fullDataTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + dataTableName; + String indexName = generateRandomString(); + try { conn.setAutoCommit(false); // make sure that the tables are empty, but reachable conn.createStatement().execute( - "CREATE TABLE t (k VARCHAR NOT NULL PRIMARY KEY, v1 VARCHAR, v2 VARCHAR)"); - query = "SELECT * FROM t" ; + "CREATE TABLE " + dataTableName + " (k VARCHAR NOT NULL PRIMARY KEY, v1 VARCHAR, v2 VARCHAR)"); + query = "SELECT * FROM " + dataTableName ; rs = conn.createStatement().executeQuery(query); assertFalse(rs.next()); - String indexName = "it_" + (mutable ? "m" : "im") + "_" + (local ? "l" : "h"); - conn.createStatement().execute("CREATE " + ( local ? "LOCAL" : "") + " INDEX " + indexName + " ON t (v1 || '_' || v2)"); + conn.createStatement().execute("CREATE " + ( local ? "LOCAL" : "") + " INDEX " + indexName + " ON " + dataTableName + " (v1 || '_' || v2)"); - query = "SELECT * FROM t"; + query = "SELECT * FROM " + dataTableName; rs = conn.createStatement().executeQuery(query); assertFalse(rs.next()); // load some data into the table - stmt = conn.prepareStatement("UPSERT INTO t VALUES(?,?,?)"); + stmt = conn.prepareStatement("UPSERT INTO " + dataTableName + " VALUES(?,?,?)"); stmt.setString(1, "a"); stmt.setString(2, "x"); stmt.setString(3, "1"); stmt.execute(); conn.commit(); - assertIndexExists(conn,true); - conn.createStatement().execute("ALTER TABLE t DROP COLUMN v1"); - assertIndexExists(conn,false); + assertIndexExists(conn, dataTableName, true); + conn.createStatement().execute("ALTER TABLE " + dataTableName + " DROP COLUMN v1"); + assertIndexExists(conn, dataTableName, false); - query = "SELECT * FROM t"; + query = "SELECT * FROM " + dataTableName; rs = conn.createStatement().executeQuery(query); assertTrue(rs.next()); assertEquals("a",rs.getString(1)); @@ -869,13 +904,13 @@ public void helpTestDropIndexedColumn(boolean mutable, boolean local) throws Exc assertFalse(rs.next()); // load some data into the table - stmt = conn.prepareStatement("UPSERT INTO t VALUES(?,?)"); + stmt = conn.prepareStatement("UPSERT INTO " + dataTableName + " VALUES(?,?)"); stmt.setString(1, "a"); stmt.setString(2, "2"); stmt.execute(); conn.commit(); - query = "SELECT * FROM t"; + query = "SELECT * FROM " + dataTableName; rs = conn.createStatement().executeQuery(query); assertTrue(rs.next()); assertEquals("a",rs.getString(1)); @@ -887,8 +922,8 @@ public void helpTestDropIndexedColumn(boolean mutable, boolean local) throws Exc } } - private static void assertIndexExists(Connection conn, boolean exists) throws SQLException { - ResultSet rs = conn.getMetaData().getIndexInfo(null, null, "T", false, false); + private static void assertIndexExists(Connection conn, String tableName, boolean exists) throws SQLException { + ResultSet rs = conn.getMetaData().getIndexInfo(null, null, tableName, false, false); assertEquals(exists, rs.next()); } @@ -915,6 +950,9 @@ public void testMutableLocalIndexDropCoveredColumn() throws Exception { public void helpTestDropCoveredColumn(boolean mutable, boolean local) throws Exception { ResultSet rs; PreparedStatement stmt; + String dataTableName = generateRandomString(); + String fullDataTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + dataTableName; + String indexName = generateRandomString(); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -923,20 +961,19 @@ public void helpTestDropCoveredColumn(boolean mutable, boolean local) throws Exc // make sure that the tables are empty, but reachable conn.createStatement().execute( - "CREATE TABLE t" + "CREATE TABLE " + dataTableName + " (k VARCHAR NOT NULL PRIMARY KEY, v1 VARCHAR, v2 VARCHAR, v3 VARCHAR)"); - String dataTableQuery = "SELECT * FROM t"; + String dataTableQuery = "SELECT * FROM " + dataTableName; rs = conn.createStatement().executeQuery(dataTableQuery); assertFalse(rs.next()); - String indexName = "it_" + (mutable ? "m" : "im") + "_" + (local ? "l" : "h"); - conn.createStatement().execute("CREATE " + ( local ? "LOCAL" : "") + " INDEX " + indexName + " ON t (k || '_' || v1) include (v2, v3)"); + conn.createStatement().execute("CREATE " + ( local ? "LOCAL" : "") + " INDEX " + indexName + " ON " + dataTableName + " (k || '_' || v1) include (v2, v3)"); String indexTableQuery = "SELECT * FROM " + indexName; rs = conn.createStatement().executeQuery(indexTableQuery); assertFalse(rs.next()); // load some data into the table - stmt = conn.prepareStatement("UPSERT INTO t VALUES(?,?,?,?)"); + stmt = conn.prepareStatement("UPSERT INTO " + dataTableName + " VALUES(?,?,?,?)"); stmt.setString(1, "a"); stmt.setString(2, "x"); stmt.setString(3, "1"); @@ -944,9 +981,9 @@ public void helpTestDropCoveredColumn(boolean mutable, boolean local) throws Exc stmt.execute(); conn.commit(); - assertIndexExists(conn,true); - conn.createStatement().execute("ALTER TABLE t DROP COLUMN v2"); - assertIndexExists(conn,true); + assertIndexExists(conn, dataTableName, true); + conn.createStatement().execute("ALTER TABLE " + dataTableName + " DROP COLUMN v2"); + assertIndexExists(conn, dataTableName, true); // verify data table rows rs = conn.createStatement().executeQuery(dataTableQuery); @@ -965,7 +1002,7 @@ public void helpTestDropCoveredColumn(boolean mutable, boolean local) throws Exc assertFalse(rs.next()); // add another row - stmt = conn.prepareStatement("UPSERT INTO t VALUES(?,?,?)"); + stmt = conn.prepareStatement("UPSERT INTO " + dataTableName + " VALUES(?,?,?)"); stmt.setString(1, "b"); stmt.setString(2, "y"); stmt.setString(3, "k"); @@ -1025,6 +1062,10 @@ public void helpTestAddPKColumnToTable(boolean mutable, boolean local) throws Ex ResultSet rs; PreparedStatement stmt; + String dataTableName = generateRandomString(); + String fullDataTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + dataTableName; + String indexName = generateRandomString(); + Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); try { @@ -1032,29 +1073,28 @@ public void helpTestAddPKColumnToTable(boolean mutable, boolean local) throws Ex // make sure that the tables are empty, but reachable conn.createStatement().execute( - "CREATE TABLE t" + "CREATE TABLE " + dataTableName + " (k VARCHAR NOT NULL PRIMARY KEY, v1 VARCHAR, v2 VARCHAR)"); - String dataTableQuery = "SELECT * FROM t"; + String dataTableQuery = "SELECT * FROM " + dataTableName; rs = conn.createStatement().executeQuery(dataTableQuery); assertFalse(rs.next()); - String indexName = "IT_" + (mutable ? "M" : "IM") + "_" + (local ? "L" : "H"); - conn.createStatement().execute("CREATE " + ( local ? "LOCAL" : "") + " INDEX " + indexName + " ON t (v1 || '_' || v2)"); + conn.createStatement().execute("CREATE " + ( local ? "LOCAL" : "") + " INDEX " + indexName + " ON " + dataTableName + " (v1 || '_' || v2)"); String indexTableQuery = "SELECT * FROM " + indexName; rs = conn.createStatement().executeQuery(indexTableQuery); assertFalse(rs.next()); // load some data into the table - stmt = conn.prepareStatement("UPSERT INTO t VALUES(?,?,?)"); + stmt = conn.prepareStatement("UPSERT INTO " + dataTableName + " VALUES(?,?,?)"); stmt.setString(1, "a"); stmt.setString(2, "x"); stmt.setString(3, "1"); stmt.execute(); conn.commit(); - assertIndexExists(conn,true); - conn.createStatement().execute("ALTER TABLE t ADD v3 VARCHAR, k2 DECIMAL PRIMARY KEY"); - rs = conn.getMetaData().getPrimaryKeys("", "", "T"); + assertIndexExists(conn, dataTableName, true); + conn.createStatement().execute("ALTER TABLE " + dataTableName + " ADD v3 VARCHAR, k2 DECIMAL PRIMARY KEY"); + rs = conn.getMetaData().getPrimaryKeys("", "", dataTableName); assertTrue(rs.next()); assertEquals("K",rs.getString("COLUMN_NAME")); assertEquals(1, rs.getShort("KEY_SEQ")); @@ -1092,7 +1132,7 @@ public void helpTestAddPKColumnToTable(boolean mutable, boolean local) throws Ex assertFalse(rs.next()); // load some data into the table - stmt = conn.prepareStatement("UPSERT INTO t(K,K2,V1,V2) VALUES(?,?,?,?)"); + stmt = conn.prepareStatement("UPSERT INTO " + dataTableName + "(K,K2,V1,V2) VALUES(?,?,?,?)"); stmt.setString(1, "b"); stmt.setBigDecimal(2, BigDecimal.valueOf(2)); stmt.setString(3, "y"); @@ -1145,28 +1185,33 @@ public void testUpdatableViewWithLocalIndex() throws Exception { private void helpTestUpdatableViewIndex(boolean local) throws Exception { Connection conn = DriverManager.getConnection(getUrl()); + String dataTableName = generateRandomString(); + String fullDataTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + dataTableName; + String indexName1 = generateRandomString(); + String viewName = generateRandomString(); + String indexName2 = generateRandomString(); try { - String ddl = "CREATE TABLE t (k1 INTEGER NOT NULL, k2 INTEGER NOT NULL, k3 DECIMAL, s1 VARCHAR, s2 VARCHAR CONSTRAINT pk PRIMARY KEY (k1, k2, k3))"; + String ddl = "CREATE TABLE " + dataTableName + " (k1 INTEGER NOT NULL, k2 INTEGER NOT NULL, k3 DECIMAL, s1 VARCHAR, s2 VARCHAR CONSTRAINT pk PRIMARY KEY (k1, k2, k3))"; conn.createStatement().execute(ddl); - ddl = "CREATE VIEW v AS SELECT * FROM t WHERE k1 = 1"; + ddl = "CREATE VIEW " + viewName + " AS SELECT * FROM " + dataTableName + " WHERE k1 = 1"; conn.createStatement().execute(ddl); - conn.createStatement().execute("UPSERT INTO v(k2,s1,s2,k3) VALUES(120,'foo0','bar0',50.0)"); - conn.createStatement().execute("UPSERT INTO v(k2,s1,s2,k3) VALUES(121,'foo1','bar1',51.0)"); + conn.createStatement().execute("UPSERT INTO " + viewName + "(k2,s1,s2,k3) VALUES(120,'foo0','bar0',50.0)"); + conn.createStatement().execute("UPSERT INTO " + viewName + "(k2,s1,s2,k3) VALUES(121,'foo1','bar1',51.0)"); conn.commit(); ResultSet rs; - conn.createStatement().execute("CREATE " + (local ? "LOCAL" : "") + " INDEX i1 on v(k1+k2+k3) include (s1, s2)"); - conn.createStatement().execute("UPSERT INTO v(k2,s1,s2,k3) VALUES(120,'foo2','bar2',50.0)"); + conn.createStatement().execute("CREATE " + (local ? "LOCAL" : "") + " INDEX " + indexName1 + " on " + viewName + "(k1+k2+k3) include (s1, s2)"); + conn.createStatement().execute("UPSERT INTO " + viewName + "(k2,s1,s2,k3) VALUES(120,'foo2','bar2',50.0)"); conn.commit(); - String query = "SELECT k1, k2, k3, s1, s2 FROM v WHERE k1+k2+k3 = 173.0"; + String query = "SELECT k1, k2, k3, s1, s2 FROM " + viewName + " WHERE k1+k2+k3 = 173.0"; rs = conn.createStatement().executeQuery("EXPLAIN " + query); String queryPlan = QueryUtil.getExplainPlan(rs); if (local) { - assertEquals("CLIENT PARALLEL 1-WAY RANGE SCAN OVER T [1,173]\n" + "CLIENT MERGE SORT", + assertEquals("CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + dataTableName + " [1,173]\n" + "CLIENT MERGE SORT", queryPlan); } else { - assertEquals("CLIENT PARALLEL 1-WAY RANGE SCAN OVER _IDX_T [" + Short.MIN_VALUE + ",173]", queryPlan); + assertEquals("CLIENT PARALLEL 1-WAY RANGE SCAN OVER _IDX_" + dataTableName + " [" + Short.MIN_VALUE + ",173]", queryPlan); } rs = conn.createStatement().executeQuery(query); assertTrue(rs.next()); @@ -1177,16 +1222,16 @@ private void helpTestUpdatableViewIndex(boolean local) throws Exception { assertEquals("bar1", rs.getString(5)); assertFalse(rs.next()); - conn.createStatement().execute("CREATE " + (local ? "LOCAL" : "") + " INDEX i2 on v(s1||'_'||s2)"); + conn.createStatement().execute("CREATE " + (local ? "LOCAL" : "") + " INDEX " + indexName2 + " on " + viewName + "(s1||'_'||s2)"); - query = "SELECT k1, k2, s1||'_'||s2 FROM v WHERE (s1||'_'||s2)='foo2_bar2'"; + query = "SELECT k1, k2, s1||'_'||s2 FROM " + viewName + " WHERE (s1||'_'||s2)='foo2_bar2'"; rs = conn.createStatement().executeQuery("EXPLAIN " + query); if (local) { - assertEquals("CLIENT PARALLEL 1-WAY RANGE SCAN OVER T [" + (2) + assertEquals("CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + dataTableName + " [" + (2) + ",'foo2_bar2']\n" + " SERVER FILTER BY FIRST KEY ONLY\n" + "CLIENT MERGE SORT", QueryUtil.getExplainPlan(rs)); } else { - assertEquals("CLIENT PARALLEL 1-WAY RANGE SCAN OVER _IDX_T [" + (Short.MIN_VALUE + 1) + ",'foo2_bar2']\n" + assertEquals("CLIENT PARALLEL 1-WAY RANGE SCAN OVER _IDX_" + dataTableName + " [" + (Short.MIN_VALUE + 1) + ",'foo2_bar2']\n" + " SERVER FILTER BY FIRST KEY ONLY", QueryUtil.getExplainPlan(rs)); } rs = conn.createStatement().executeQuery(query); @@ -1206,41 +1251,45 @@ public void testViewUsesTableIndex() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); try { + String dataTableName = generateRandomString(); + String indexName1 = generateRandomString(); + String viewName = generateRandomString(); + String indexName2 = generateRandomString(); ResultSet rs; - String ddl = "CREATE TABLE t (k1 INTEGER NOT NULL, k2 INTEGER NOT NULL, s1 VARCHAR, s2 VARCHAR, s3 VARCHAR, s4 VARCHAR CONSTRAINT pk PRIMARY KEY (k1, k2))"; + String ddl = "CREATE TABLE " + dataTableName + " (k1 INTEGER NOT NULL, k2 INTEGER NOT NULL, s1 VARCHAR, s2 VARCHAR, s3 VARCHAR, s4 VARCHAR CONSTRAINT pk PRIMARY KEY (k1, k2))"; conn.createStatement().execute(ddl); - conn.createStatement().execute("CREATE INDEX i1 ON t(k2, s2, s3, s1)"); - conn.createStatement().execute("CREATE INDEX i2 ON t(k2, s2||'_'||s3, s1, s4)"); + conn.createStatement().execute("CREATE INDEX " + indexName1 + " ON " + dataTableName + "(k2, s2, s3, s1)"); + conn.createStatement().execute("CREATE INDEX " + indexName2 + " ON " + dataTableName + "(k2, s2||'_'||s3, s1, s4)"); - ddl = "CREATE VIEW v AS SELECT * FROM t WHERE s1 = 'foo'"; + ddl = "CREATE VIEW " + viewName + " AS SELECT * FROM " + dataTableName + " WHERE s1 = 'foo'"; conn.createStatement().execute(ddl); - conn.createStatement().execute("UPSERT INTO t VALUES(1,1,'foo','abc','cab')"); - conn.createStatement().execute("UPSERT INTO t VALUES(2,2,'bar','xyz','zyx')"); + conn.createStatement().execute("UPSERT INTO " + dataTableName + " VALUES(1,1,'foo','abc','cab')"); + conn.createStatement().execute("UPSERT INTO " + dataTableName + " VALUES(2,2,'bar','xyz','zyx')"); conn.commit(); - rs = conn.createStatement().executeQuery("SELECT count(*) FROM v"); + rs = conn.createStatement().executeQuery("SELECT count(*) FROM " + viewName); assertTrue(rs.next()); assertEquals(1, rs.getLong(1)); assertFalse(rs.next()); //i2 should be used since it contains s3||'_'||s4 i - String query = "SELECT s2||'_'||s3 FROM v WHERE k2=1 AND (s2||'_'||s3)='abc_cab'"; + String query = "SELECT s2||'_'||s3 FROM " + viewName + " WHERE k2=1 AND (s2||'_'||s3)='abc_cab'"; rs = conn.createStatement( ).executeQuery("EXPLAIN " + query); String queryPlan = QueryUtil.getExplainPlan(rs); assertEquals( - "CLIENT PARALLEL 1-WAY RANGE SCAN OVER I2 [1,'abc_cab','foo']\n" + + "CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + indexName2 + " [1,'abc_cab','foo']\n" + " SERVER FILTER BY FIRST KEY ONLY", queryPlan); rs = conn.createStatement().executeQuery(query); assertTrue(rs.next()); assertEquals("abc_cab", rs.getString(1)); assertFalse(rs.next()); - conn.createStatement().execute("ALTER VIEW v DROP COLUMN s4"); + conn.createStatement().execute("ALTER VIEW " + viewName + " DROP COLUMN s4"); //i2 cannot be used since s4 has been dropped from the view, so i1 will be used rs = conn.createStatement().executeQuery("EXPLAIN " + query); queryPlan = QueryUtil.getExplainPlan(rs); assertEquals( - "CLIENT PARALLEL 1-WAY RANGE SCAN OVER I1 [1]\n" + + "CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + indexName1 + " [1]\n" + " SERVER FILTER BY FIRST KEY ONLY AND ((\"S2\" || '_' || \"S3\") = 'abc_cab' AND \"S1\" = 'foo')", queryPlan); rs = conn.createStatement().executeQuery(query); assertTrue(rs.next()); @@ -1254,17 +1303,19 @@ public void testViewUsesTableIndex() throws Exception { @Test public void testExpressionThrowsException() throws Exception { - Connection conn = DriverManager.getConnection(getUrl()); + Connection conn = DriverManager.getConnection(getUrl()); + String dataTableName = generateRandomString(); + String indexName = generateRandomString(); try { - String ddl = "CREATE TABLE t (k1 INTEGER PRIMARY KEY, k2 INTEGER)"; + String ddl = "CREATE TABLE " + dataTableName + " (k1 INTEGER PRIMARY KEY, k2 INTEGER)"; conn.createStatement().execute(ddl); - ddl = "CREATE INDEX i on t(k1/k2)"; + ddl = "CREATE INDEX " + indexName + " on " + dataTableName + "(k1/k2)"; conn.createStatement().execute(ddl); // upsert should succeed - conn.createStatement().execute("UPSERT INTO T VALUES(1,1)"); + conn.createStatement().execute("UPSERT INTO " + dataTableName + " VALUES(1,1)"); conn.commit(); // divide by zero should fail - conn.createStatement().execute("UPSERT INTO T VALUES(1,0)"); + conn.createStatement().execute("UPSERT INTO " + dataTableName + " VALUES(1,0)"); conn.commit(); fail(); } catch (CommitException e) { @@ -1297,22 +1348,24 @@ protected void helpTestCaseSensitiveFunctionIndex(boolean mutable, boolean localIndex) throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); + String dataTableName = generateRandomString(); + String indexName = generateRandomString(); try { conn.createStatement().execute( - "CREATE TABLE t (k VARCHAR NOT NULL PRIMARY KEY, v VARCHAR) " + "CREATE TABLE " + dataTableName + " (k VARCHAR NOT NULL PRIMARY KEY, v VARCHAR) " + (mutable ? "IMMUTABLE_ROWS=true" : "")); - String query = "SELECT * FROM t"; + String query = "SELECT * FROM " + dataTableName; ResultSet rs = conn.createStatement().executeQuery(query); assertFalse(rs.next()); String ddl = "CREATE " + (localIndex ? "LOCAL" : "") - + " INDEX idx ON t (REGEXP_SUBSTR(v,'id:\\\\w+'))"; + + " INDEX " + indexName + " ON " + dataTableName + " (REGEXP_SUBSTR(v,'id:\\\\w+'))"; PreparedStatement stmt = conn.prepareStatement(ddl); stmt.execute(); - query = "SELECT * FROM idx"; + query = "SELECT * FROM " + indexName; rs = conn.createStatement().executeQuery(query); assertFalse(rs.next()); - stmt = conn.prepareStatement("UPSERT INTO t VALUES(?,?)"); + stmt = conn.prepareStatement("UPSERT INTO " + dataTableName + " VALUES(?,?)"); stmt.setString(1, "k1"); stmt.setString(2, "{id:id1}"); stmt.execute(); @@ -1321,16 +1374,16 @@ protected void helpTestCaseSensitiveFunctionIndex(boolean mutable, stmt.execute(); conn.commit(); - query = "SELECT k FROM t WHERE REGEXP_SUBSTR(v,'id:\\\\w+') = 'id:id1'"; + query = "SELECT k FROM " + dataTableName + " WHERE REGEXP_SUBSTR(v,'id:\\\\w+') = 'id:id1'"; rs = conn.createStatement().executeQuery("EXPLAIN " + query); if (localIndex) { assertEquals( - "CLIENT PARALLEL 1-WAY RANGE SCAN OVER T [1,'id:id1']\n" + "CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + dataTableName + " [1,'id:id1']\n" + " SERVER FILTER BY FIRST KEY ONLY\nCLIENT MERGE SORT", QueryUtil.getExplainPlan(rs)); } else { assertEquals( - "CLIENT PARALLEL 1-WAY RANGE SCAN OVER IDX ['id:id1']\n" + "CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + indexName + " ['id:id1']\n" + " SERVER FILTER BY FIRST KEY ONLY", QueryUtil.getExplainPlan(rs)); } @@ -1368,27 +1421,26 @@ private void helpTestTableOnlyHasPrimaryKeyIndex(boolean mutable, boolean localIndex) throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); - String nameSuffix = "t" + (mutable ? "_mutable" : "_immutable") + (localIndex ? "_local" : "_global"); - String tableName = "t" + nameSuffix; - String indexName = "idx" + nameSuffix; - try { + String dataTableName = generateRandomString(); + String indexName = generateRandomString(); + try { conn.createStatement().execute( - "CREATE TABLE " + tableName + " (" + "CREATE TABLE " + dataTableName + " (" + "pk1 VARCHAR not null, " + "pk2 VARCHAR not null, " + "CONSTRAINT PK PRIMARY KEY (pk1, pk2))" + (!mutable ? "IMMUTABLE_ROWS=true" : "")); - String query = "SELECT * FROM " + tableName; + String query = "SELECT * FROM " + dataTableName; ResultSet rs = conn.createStatement().executeQuery(query); assertFalse(rs.next()); conn.createStatement().execute( "CREATE " + (localIndex ? "LOCAL" : "") - + " INDEX " + indexName + " ON " + tableName + " (pk2, pk1)"); + + " INDEX " + indexName + " ON " + dataTableName + " (pk2, pk1)"); query = "SELECT * FROM " + indexName; rs = conn.createStatement().executeQuery(query); assertFalse(rs.next()); - PreparedStatement stmt = conn.prepareStatement("UPSERT INTO " + tableName + " VALUES(?,?)"); + PreparedStatement stmt = conn.prepareStatement("UPSERT INTO " + dataTableName + " VALUES(?,?)"); stmt.setString(1, "k11"); stmt.setString(2, "k21"); stmt.execute(); @@ -1401,7 +1453,7 @@ private void helpTestTableOnlyHasPrimaryKeyIndex(boolean mutable, assertEquals("k11", rs.getString(2)); assertFalse(rs.next()); - query = "SELECT * FROM " + tableName + " WHERE pk2='k21'"; + query = "SELECT * FROM " + dataTableName + " WHERE pk2='k21'"; rs = conn.createStatement().executeQuery(query); assertTrue(rs.next()); assertEquals("k11", rs.getString(1)); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexIT.java index 29057dbaff3..a665fd0af7c 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexIT.java @@ -45,6 +45,7 @@ import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.util.Threads; 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.QueryServices; @@ -66,26 +67,20 @@ import com.google.common.primitives.Doubles; @RunWith(Parameterized.class) -public class MutableIndexIT extends BaseHBaseManagedTimeIT { +public class MutableIndexIT extends BaseHBaseManagedTimeTableReuseIT { protected final boolean localIndex; private final String tableDDLOptions; - private final String tableName; - private final String indexName; - private final String fullTableName; - private final String fullIndexName; + private final boolean transactional; public MutableIndexIT(boolean localIndex, boolean transactional) { this.localIndex = localIndex; + this.transactional = transactional; StringBuilder optionBuilder = new StringBuilder(); if (transactional) { optionBuilder.append("TRANSACTIONAL=true"); } this.tableDDLOptions = optionBuilder.toString(); - this.tableName = TestUtil.DEFAULT_DATA_TABLE_NAME + ( transactional ? "_TXN" : ""); - this.indexName = "IDX" + ( transactional ? "_TXN" : ""); - this.fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); - this.fullIndexName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, indexName); } @BeforeClass @@ -110,7 +105,12 @@ public void testCoveredColumnUpdates() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); try (Connection conn = DriverManager.getConnection(getUrl(), props)) { conn.setAutoCommit(false); - createMultiCFTestTable(fullTableName, tableDDLOptions); + String tableName = "TBL_" + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); + String fullIndexName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, indexName); + + createMultiCFTestTable(fullTableName, tableDDLOptions); populateMultiCFTestTable(fullTableName); PreparedStatement stmt = conn.prepareStatement("CREATE " + (localIndex ? " LOCAL " : "") + " INDEX " + indexName + " ON " + fullTableName + " (char_col1 ASC, int_col1 ASC) INCLUDE (long_col1, long_col2)"); @@ -203,7 +203,12 @@ public void testCoveredColumnUpdates() throws Exception { @Test public void testCoveredColumns() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); + String tableName = "TBL_" + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); + String fullIndexName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, indexName); try (Connection conn = DriverManager.getConnection(getUrl(), props)) { + conn.setAutoCommit(false); String query; ResultSet rs; @@ -308,6 +313,10 @@ public void testCoveredColumns() throws Exception { @Test public void testCompoundIndexKey() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); + String tableName = "TBL_" + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); + String fullIndexName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, indexName); try (Connection conn = DriverManager.getConnection(getUrl(), props)) { conn.setAutoCommit(false); String query; @@ -423,6 +432,10 @@ public void testCompoundIndexKey() throws Exception { @Test public void testMultipleUpdatesToSingleRow() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); + String tableName = "TBL_" + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); + String fullIndexName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, indexName); try (Connection conn = DriverManager.getConnection(getUrl(), props)) { conn.setAutoCommit(false); String query; @@ -503,6 +516,9 @@ public void testMultipleUpdatesToSingleRow() throws Exception { @Test public void testUpsertingNullForIndexedColumns() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); + String tableName = "TBL_" + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + String fullIndexName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, indexName); String testTableName = tableName + "_" + System.currentTimeMillis(); try (Connection conn = DriverManager.getConnection(getUrl(), props)) { conn.setAutoCommit(false); @@ -586,8 +602,10 @@ private void assertImmutableRows(Connection conn, String fullTableName, boolean public void testAlterTableWithImmutability() throws Exception { String query; ResultSet rs; - String tableName = TestUtil.DEFAULT_DATA_TABLE_NAME + "_" + System.currentTimeMillis(); - String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); + String tableName = "TBL_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); + + Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); try (Connection conn = DriverManager.getConnection(getUrl(), props)) { conn.setAutoCommit(false); @@ -623,15 +641,17 @@ private void testSplitDuringIndexScan(boolean isReverse) throws Exception { props.setProperty(QueryServices.SCAN_CACHE_SIZE_ATTRIB, Integer.toString(2)); props.put(QueryServices.FORCE_ROW_KEY_ORDER_ATTRIB, Boolean.toString(false)); Connection conn1 = DriverManager.getConnection(getUrl()); - HBaseAdmin admin = driver.getConnectionQueryServices(getUrl(), TestUtil.TEST_PROPERTIES).getAdmin(); + String tableName = "TBL_" + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + HBaseAdmin admin = driver.getConnectionQueryServices(getUrl(), TestUtil.TEST_PROPERTIES).getAdmin(); dropTable(admin, conn1); try{ String[] strings = {"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"}; - createTableAndLoadData(conn1, strings, isReverse); + createTableAndLoadData(conn1, tableName, indexName, strings, isReverse); ResultSet rs = conn1.createStatement().executeQuery("SELECT * FROM " + tableName); assertTrue(rs.next()); - splitDuringScan(conn1, strings, admin, isReverse); + splitDuringScan(conn1, tableName, indexName, strings, admin, isReverse); dropTable(admin, conn1); } finally { dropTable(admin, conn1); @@ -641,7 +661,9 @@ private void testSplitDuringIndexScan(boolean isReverse) throws Exception { } private void dropTable(HBaseAdmin admin, Connection conn) throws SQLException, IOException { - try { + String tableName = "TBL_" + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + try { conn.createStatement().execute("DROP TABLE IF EXISTS "+ tableName); } finally { if(admin.tableExists(tableName)) { @@ -657,7 +679,7 @@ private void dropTable(HBaseAdmin admin, Connection conn) throws SQLException, I } } - private void createTableAndLoadData(Connection conn1, String[] strings, boolean isReverse) throws SQLException { + private void createTableAndLoadData(Connection conn1, String tableName, String indexName, String[] strings, boolean isReverse) throws SQLException { createBaseTable(conn1, tableName, null); for (int i = 0; i < 26; i++) { conn1.createStatement().execute( @@ -673,6 +695,8 @@ private void createTableAndLoadData(Connection conn1, String[] strings, boolean public void testIndexHalfStoreFileReader() throws Exception { Connection conn1 = DriverManager.getConnection(getUrl()); HBaseAdmin admin = driver.getConnectionQueryServices(getUrl(), TestUtil.TEST_PROPERTIES).getAdmin(); + String tableName = "TBL_" + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); try { dropTable(admin, conn1); createBaseTable(conn1, tableName, "('e')"); @@ -738,9 +762,10 @@ public void testIndexHalfStoreFileReader() throws Exception { } } - private List splitDuringScan(Connection conn1, String[] strings, HBaseAdmin admin, boolean isReverse) + private List splitDuringScan(Connection conn1, String tableName, String indexName, String[] strings, HBaseAdmin admin, boolean isReverse) throws SQLException, IOException, InterruptedException { ResultSet rs; + String query = "SELECT t_id,k1,v1 FROM " + tableName; rs = conn1.createStatement().executeQuery(query); String[] tIdColumnValues = new String[26]; @@ -815,9 +840,10 @@ private void createBaseTable(Connection conn, String tableName, String splits) t @Test public void testTenantSpecificConnection() throws Exception { - String tableName = TestUtil.DEFAULT_DATA_TABLE_NAME + "_" + System.currentTimeMillis(); - String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); - Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); + String tableName = "TBL_" + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); + Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); try (Connection conn = DriverManager.getConnection(getUrl(), props)) { conn.setAutoCommit(false); // create data table From 719f6d9934c6e2765eae27264aa072df74872b91 Mon Sep 17 00:00:00 2001 From: prakul agarwal Date: Tue, 26 Jul 2016 03:35:44 -0700 Subject: [PATCH 08/17] arrayConcat roundRobin refactor --- .../end2end/ArrayConcatFunctionIT.java | 160 +++++++++--------- .../phoenix/end2end/EvaluationOfORIT.java | 10 +- .../end2end/RegexpSubstrFunctionIT.java | 12 +- .../phoenix/end2end/index/txn/RollbackIT.java | 15 +- .../iterate/RoundRobinResultIteratorIT.java | 11 +- 5 files changed, 110 insertions(+), 98 deletions(-) diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayConcatFunctionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayConcatFunctionIT.java index 247bfb7f00e..168000e9852 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayConcatFunctionIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArrayConcatFunctionIT.java @@ -26,12 +26,13 @@ import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; -public class ArrayConcatFunctionIT extends BaseHBaseManagedTimeIT { +public class ArrayConcatFunctionIT extends BaseHBaseManagedTimeTableReuseIT { - 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 String initTables(Connection conn) throws Exception { + String tableName = generateRandomString(); + 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]," + @@ -45,15 +46,16 @@ private void initTables(Connection conn) throws Exception { PreparedStatement stmt = conn.prepareStatement(dml); stmt.execute(); conn.commit(); + return tableName; } @Test public void testArrayConcatFunctionVarchar() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_CAT(varchars,varchars) FROM regions WHERE region_name = 'SF Bay Area'"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_CAT(varchars,varchars) FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); assertTrue(rs.next()); String[] strings = new String[]{"2345", "46345", "23234", "2345", "46345", "23234"}; @@ -67,10 +69,10 @@ public void testArrayConcatFunctionVarchar() throws Exception { @Test public void testArrayConcatFunctionInteger() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_CAT(integers,integers) FROM regions WHERE region_name = 'SF Bay Area'"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_CAT(integers,integers) FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); assertTrue(rs.next()); Integer[] integers = new Integer[]{2345, 46345, 23234, 456, 2345, 46345, 23234, 456}; @@ -84,10 +86,10 @@ public void testArrayConcatFunctionInteger() throws Exception { @Test public void testArrayConcatFunctionDouble() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_CAT(doubles,doubles) FROM regions WHERE region_name = 'SF Bay Area'"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_CAT(doubles,doubles) FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); assertTrue(rs.next()); Double[] doubles = new Double[]{23.45, 46.345, 23.234, 45.6, 5.78, 23.45, 46.345, 23.234, 45.6, 5.78}; @@ -101,10 +103,10 @@ public void testArrayConcatFunctionDouble() throws Exception { @Test public void testArrayConcatFunctionDouble2() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_CAT(doubles,ARRAY[23]) FROM regions WHERE region_name = 'SF Bay Area'"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_CAT(doubles,ARRAY[23]) FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); assertTrue(rs.next()); Double[] doubles = new Double[]{23.45, 46.345, 23.234, 45.6, 5.78, new Double(23)}; @@ -118,9 +120,9 @@ public void testArrayConcatFunctionDouble2() throws Exception { @Test public void testArrayConcatFunctionBigint() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_CAT(bigints,bigints) FROM regions WHERE region_name = 'SF Bay Area'"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_CAT(bigints,bigints) FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); assertTrue(rs.next()); Long[] longs = new Long[]{12l, 34l, 56l, 78l, 910l, 12l, 34l, 56l, 78l, 910l}; @@ -134,9 +136,9 @@ public void testArrayConcatFunctionBigint() throws Exception { @Test public void testArrayConcatFunctionChar() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_CAT(chars,chars) FROM regions WHERE region_name = 'SF Bay Area'"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_CAT(chars,chars) FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); assertTrue(rs.next()); String[] strings = new String[]{"a", "bbbb", "c", "ddd", "e", "a", "bbbb", "c", "ddd", "e"}; @@ -150,9 +152,9 @@ public void testArrayConcatFunctionChar() throws Exception { @Test public void testArrayConcatFunctionChar3() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_CAT(chars,chars2) FROM regions WHERE region_name = 'SF Bay Area'"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_CAT(chars,chars2) FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); assertTrue(rs.next()); String[] strings = new String[]{"a", "bbbb", "c", "ddd", "e", "a", "bbbb", "c", "ddd", "e", "foo"}; @@ -166,28 +168,28 @@ public void testArrayConcatFunctionChar3() throws Exception { @Test(expected = TypeMismatchException.class) public void testArrayConcatFunctionIntToCharArray() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_CAT(varchars,ARRAY[23,45]) FROM regions WHERE region_name = 'SF Bay Area'"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_CAT(varchars,ARRAY[23,45]) FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); } @Test(expected = TypeMismatchException.class) public void testArrayConcatFunctionVarcharToIntegerArray() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_CAT(integers,ARRAY['a', 'b']) FROM regions WHERE region_name = 'SF Bay Area'"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_CAT(integers,ARRAY['a', 'b']) FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); } @Test(expected = SQLException.class) public void testArrayConcatFunctionChar2() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_CAT(chars,ARRAY['facfacfacfacfacfacfac','facfacfacfacfacfacfac']) FROM regions WHERE region_name = 'SF Bay Area'"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_CAT(chars,ARRAY['facfacfacfacfacfacfac','facfacfacfacfacfacfac']) FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); rs.next(); rs.getArray(1); } @@ -195,10 +197,10 @@ public void testArrayConcatFunctionChar2() throws Exception { @Test public void testArrayConcatFunctionIntegerArrayToDoubleArray() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_CAT(doubles,ARRAY[45, 55]) FROM regions WHERE region_name = 'SF Bay Area'"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_CAT(doubles,ARRAY[45, 55]) FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); assertTrue(rs.next()); Double[] doubles = new Double[]{23.45, 46.345, 23.234, 45.6, 5.78, 45.0, 55.0}; @@ -212,10 +214,10 @@ public void testArrayConcatFunctionIntegerArrayToDoubleArray() throws Exception @Test public void testArrayConcatFunctionWithNestedFunctions1() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_CAT(ARRAY[23,45],ARRAY[integers[1],integers[1]]) FROM regions WHERE region_name = 'SF Bay Area'"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_CAT(ARRAY[23,45],ARRAY[integers[1],integers[1]]) FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); assertTrue(rs.next()); Integer[] integers = new Integer[]{23, 45, 2345, 2345}; @@ -229,10 +231,10 @@ public void testArrayConcatFunctionWithNestedFunctions1() throws Exception { @Test public void testArrayConcatFunctionWithNestedFunctions2() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_CAT(integers,ARRAY[ARRAY_ELEM(ARRAY[2,4],1),ARRAY_ELEM(ARRAY[2,4],2)]) FROM regions WHERE region_name = 'SF Bay Area'"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_CAT(integers,ARRAY[ARRAY_ELEM(ARRAY[2,4],1),ARRAY_ELEM(ARRAY[2,4],2)]) FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); assertTrue(rs.next()); Integer[] integers = new Integer[]{2345, 46345, 23234, 456, 2, 4}; @@ -246,10 +248,10 @@ public void testArrayConcatFunctionWithNestedFunctions2() throws Exception { @Test public void testArrayConcatFunctionWithNestedFunctions3() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT ARRAY_CAT(doubles,ARRAY[ARRAY_ELEM(doubles, 1), ARRAY_ELEM(doubles, 1)]) FROM regions WHERE region_name = 'SF Bay Area'"); + rs = conn.createStatement().executeQuery("SELECT ARRAY_CAT(doubles,ARRAY[ARRAY_ELEM(doubles, 1), ARRAY_ELEM(doubles, 1)]) FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); assertTrue(rs.next()); Double[] doubles = new Double[]{23.45, 46.345, 23.234, 45.6, 5.78, 23.45, 23.45}; @@ -263,16 +265,17 @@ public void testArrayConcatFunctionWithNestedFunctions3() throws Exception { @Test public void testArrayConcatFunctionWithUpsert1() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); + String tableName = generateRandomString(); - String ddl = "CREATE TABLE regions (region_name VARCHAR PRIMARY KEY,varchars VARCHAR[])"; + 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_CAT(ARRAY['hello','world'],ARRAY[':-)']))"; + String dml = "UPSERT INTO " + tableName + "(region_name,varchars) VALUES('SF Bay Area',ARRAY_CAT(ARRAY['hello','world'],ARRAY[':-)']))"; 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", ":-)"}; @@ -286,16 +289,17 @@ public void testArrayConcatFunctionWithUpsert1() throws Exception { @Test public void testArrayConcatFunctionWithUpsert2() 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_CAT(ARRAY[4,5],ARRAY[6, 7]))"; + String dml = "UPSERT INTO " + tableName + "(region_name,integers) VALUES('SF Bay Area',ARRAY_CAT(ARRAY[4,5],ARRAY[6, 7]))"; 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[]{4, 5, 6, 7}; @@ -309,16 +313,17 @@ public void testArrayConcatFunctionWithUpsert2() throws Exception { @Test public void testArrayConcatFunctionWithUpsert3() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); + String tableName = generateRandomString(); - String ddl = "CREATE TABLE regions (region_name VARCHAR PRIMARY KEY,doubles DOUBLE[])"; + 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_CAT(ARRAY[5.67,7.87],ARRAY[9.0, 8.0]))"; + String dml = "UPSERT INTO " + tableName + "(region_name,doubles) VALUES('SF Bay Area',ARRAY_CAT(ARRAY[5.67,7.87],ARRAY[9.0, 8.0]))"; 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[]{5.67, 7.87, new Double(9), new Double(8)}; @@ -333,25 +338,27 @@ public void testArrayConcatFunctionWithUpsert3() throws Exception { public void testArrayConcatFunctionWithUpsertSelect1() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - String ddl = "CREATE TABLE source (region_name VARCHAR PRIMARY KEY,doubles DOUBLE[])"; + String sourceTableName = generateRandomString(); + String targetTableName = generateRandomString(); + String ddl = "CREATE TABLE " + sourceTableName + " (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 " + targetTableName + " (region_name VARCHAR PRIMARY KEY,doubles DOUBLE[])"; conn.createStatement().execute(ddl); - String dml = "UPSERT INTO source(region_name,doubles) VALUES('SF Bay Area',ARRAY_CAT(ARRAY[5.67,7.87],ARRAY[9.0, 4.0]))"; + String dml = "UPSERT INTO " + sourceTableName + "(region_name,doubles) VALUES('SF Bay Area',ARRAY_CAT(ARRAY[5.67,7.87],ARRAY[9.0, 4.0]))"; conn.createStatement().execute(dml); - dml = "UPSERT INTO source(region_name,doubles) VALUES('SF Bay Area2',ARRAY_CAT(ARRAY[56.7,7.87],ARRAY[9.2, 3.4]))"; + dml = "UPSERT INTO " + sourceTableName + "(region_name,doubles) VALUES('SF Bay Area2',ARRAY_CAT(ARRAY[56.7,7.87],ARRAY[9.2, 3.4]))"; conn.createStatement().execute(dml); conn.commit(); - dml = "UPSERT INTO target(region_name, doubles) SELECT region_name, ARRAY_CAT(doubles,doubles) FROM source"; + dml = "UPSERT INTO " + targetTableName + "(region_name, doubles) SELECT region_name, ARRAY_CAT(doubles,doubles) FROM " + sourceTableName ; conn.createStatement().execute(dml); conn.commit(); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT doubles FROM target"); + rs = conn.createStatement().executeQuery("SELECT doubles FROM " + targetTableName ); assertTrue(rs.next()); Double[] doubles = new Double[]{5.67, 7.87, new Double(9), new Double(4), 5.67, 7.87, new Double(9), new Double(4)}; @@ -370,26 +377,27 @@ public void testArrayConcatFunctionWithUpsertSelect1() throws Exception { @Test public void testArrayConcatFunctionWithUpsertSelect2() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - - String ddl = "CREATE TABLE source (region_name VARCHAR PRIMARY KEY,varchars VARCHAR[])"; + String sourceTableName = generateRandomString(); + String targetTableName = generateRandomString(); + String ddl = "CREATE TABLE " + sourceTableName + " (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 " + targetTableName + " (region_name VARCHAR PRIMARY KEY,varchars VARCHAR[])"; conn.createStatement().execute(ddl); - String dml = "UPSERT INTO source(region_name,varchars) VALUES('SF Bay Area',ARRAY_CAT(ARRAY['abcd','b'],ARRAY['c', 'd']))"; + String dml = "UPSERT INTO " + sourceTableName + "(region_name,varchars) VALUES('SF Bay Area',ARRAY_CAT(ARRAY['abcd','b'],ARRAY['c', 'd']))"; conn.createStatement().execute(dml); - dml = "UPSERT INTO source(region_name,varchars) VALUES('SF Bay Area2',ARRAY_CAT(ARRAY['d','fgh'],ARRAY['something','something']))"; + dml = "UPSERT INTO " + sourceTableName + "(region_name,varchars) VALUES('SF Bay Area2',ARRAY_CAT(ARRAY['d','fgh'],ARRAY['something','something']))"; conn.createStatement().execute(dml); conn.commit(); - dml = "UPSERT INTO target(region_name, varchars) SELECT region_name, ARRAY_CAT(varchars,varchars) FROM source"; + dml = "UPSERT INTO " + targetTableName + "(region_name, varchars) SELECT region_name, ARRAY_CAT(varchars,varchars) FROM " + sourceTableName ; conn.createStatement().execute(dml); conn.commit(); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT varchars FROM target"); + rs = conn.createStatement().executeQuery("SELECT varchars FROM " + targetTableName ); assertTrue(rs.next()); String[] strings = new String[]{"abcd", "b", "c", "d", "abcd", "b", "c", "d"}; @@ -408,10 +416,10 @@ public void testArrayConcatFunctionWithUpsertSelect2() throws Exception { @Test public void testArrayConcatFunctionInWhere1() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT region_name FROM regions WHERE ARRAY[2345,46345,23234,456,123]=ARRAY_CAT(integers,ARRAY[123])"); + rs = conn.createStatement().executeQuery("SELECT region_name FROM " + tableName + " WHERE ARRAY[2345,46345,23234,456,123]=ARRAY_CAT(integers,ARRAY[123])"); assertTrue(rs.next()); assertEquals("SF Bay Area", rs.getString(1)); @@ -421,10 +429,10 @@ public void testArrayConcatFunctionInWhere1() throws Exception { @Test public void testArrayConcatFunctionInWhere2() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT region_name FROM regions WHERE varchars[1]=ANY(ARRAY_CAT(ARRAY['2345','46345','23234'],ARRAY['1234']))"); + rs = conn.createStatement().executeQuery("SELECT region_name FROM " + tableName + " WHERE varchars[1]=ANY(ARRAY_CAT(ARRAY['2345','46345','23234'],ARRAY['1234']))"); assertTrue(rs.next()); assertEquals("SF Bay Area", rs.getString(1)); @@ -434,10 +442,10 @@ public void testArrayConcatFunctionInWhere2() throws Exception { @Test public void testArrayConcatFunctionInWhere3() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT region_name FROM regions WHERE ARRAY['2345','46345','23234','1234','234']=ARRAY_CAT(ARRAY['2345','46345','23234'],ARRAY['1234', '234'])"); + rs = conn.createStatement().executeQuery("SELECT region_name FROM " + tableName + " WHERE ARRAY['2345','46345','23234','1234','234']=ARRAY_CAT(ARRAY['2345','46345','23234'],ARRAY['1234', '234'])"); assertTrue(rs.next()); assertEquals("SF Bay Area", rs.getString(1)); @@ -447,10 +455,10 @@ public void testArrayConcatFunctionInWhere3() throws Exception { @Test public void testArrayConcatFunctionInWhere4() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT region_name FROM regions WHERE ARRAY[23.45,4634.5,2.3234,123.4,12.0]=ARRAY_CAT(ARRAY[23.45,4634.5,2.3234],ARRAY[123.4,12.0])"); + rs = conn.createStatement().executeQuery("SELECT region_name FROM " + tableName + " WHERE ARRAY[23.45,4634.5,2.3234,123.4,12.0]=ARRAY_CAT(ARRAY[23.45,4634.5,2.3234],ARRAY[123.4,12.0])"); assertTrue(rs.next()); assertEquals("SF Bay Area", rs.getString(1)); @@ -460,10 +468,10 @@ public void testArrayConcatFunctionInWhere4() throws Exception { @Test public void testArrayConcatFunctionInWhere5() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT region_name FROM regions WHERE ARRAY['2345','46345','23234','foo','foo']=ARRAY_CAT(varchars,ARRAY['foo','foo'])"); + rs = conn.createStatement().executeQuery("SELECT region_name FROM " + tableName + " WHERE ARRAY['2345','46345','23234','foo','foo']=ARRAY_CAT(varchars,ARRAY['foo','foo'])"); assertTrue(rs.next()); assertEquals("SF Bay Area", rs.getString(1)); @@ -473,10 +481,10 @@ public void testArrayConcatFunctionInWhere5() throws Exception { @Test public void testArrayConcatFunctionInWhere6() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT region_name FROM regions WHERE chars2=ARRAY_CAT(chars,ARRAY['foo'])"); + rs = conn.createStatement().executeQuery("SELECT region_name FROM " + tableName + " WHERE chars2=ARRAY_CAT(chars,ARRAY['foo'])"); assertTrue(rs.next()); assertEquals("SF Bay Area", rs.getString(1)); @@ -486,10 +494,10 @@ public void testArrayConcatFunctionInWhere6() throws Exception { @Test public void testArrayConcatFunctionInWhere7() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - rs = conn.createStatement().executeQuery("SELECT region_name FROM regions WHERE ARRAY[2,3,4,5]=ARRAY_CAT(ARRAY[2,3],ARRAY[4,5])"); + rs = conn.createStatement().executeQuery("SELECT region_name FROM " + tableName + " WHERE ARRAY[2,3,4,5]=ARRAY_CAT(ARRAY[2,3],ARRAY[4,5])"); assertTrue(rs.next()); assertEquals("SF Bay Area", rs.getString(1)); @@ -499,10 +507,10 @@ public void testArrayConcatFunctionInWhere7() throws Exception { @Test public void testArrayConcatFunctionWithNulls1() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - PreparedStatement st = conn.prepareStatement("SELECT ARRAY_CAT(?,?) FROM regions WHERE region_name = 'SF Bay Area'"); + PreparedStatement st = conn.prepareStatement("SELECT ARRAY_CAT(?,?) FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); Array array1 = conn.createArrayOf("VARCHAR", new Object[]{"a", "b", "c", null}); st.setArray(1, array1); Array array2 = conn.createArrayOf("VARCHAR", new Object[]{"a", "b", "c"}); @@ -519,10 +527,10 @@ public void testArrayConcatFunctionWithNulls1() throws Exception { @Test public void testArrayConcatFunctionWithNulls2() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - PreparedStatement st = conn.prepareStatement("SELECT ARRAY_CAT(?,?) FROM regions WHERE region_name = 'SF Bay Area'"); + PreparedStatement st = conn.prepareStatement("SELECT ARRAY_CAT(?,?) FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); Array array1 = conn.createArrayOf("VARCHAR", new Object[]{"a", "b", "c"}); st.setArray(1, array1); Array array2 = conn.createArrayOf("VARCHAR", new Object[]{null, "a", "b", "c"}); @@ -539,10 +547,10 @@ public void testArrayConcatFunctionWithNulls2() throws Exception { @Test public void testArrayConcatFunctionWithNulls3() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - PreparedStatement st = conn.prepareStatement("SELECT ARRAY_CAT(?,?) FROM regions WHERE region_name = 'SF Bay Area'"); + PreparedStatement st = conn.prepareStatement("SELECT ARRAY_CAT(?,?) FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); Array array1 = conn.createArrayOf("VARCHAR", new Object[]{"a", "b", "c", null}); st.setArray(1, array1); Array array2 = conn.createArrayOf("VARCHAR", new Object[]{null, "a", "b", "c"}); @@ -559,10 +567,10 @@ public void testArrayConcatFunctionWithNulls3() throws Exception { @Test public void testArrayConcatFunctionWithNulls4() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - initTables(conn); + String tableName = initTables(conn); ResultSet rs; - PreparedStatement st = conn.prepareStatement("SELECT ARRAY_CAT(?,?) FROM regions WHERE region_name = 'SF Bay Area'"); + PreparedStatement st = conn.prepareStatement("SELECT ARRAY_CAT(?,?) FROM " + tableName + " WHERE region_name = 'SF Bay Area'"); Array array1 = conn.createArrayOf("VARCHAR", new Object[]{null, "a", null, "b", "c", null, null}); st.setArray(1, array1); Array array2 = conn.createArrayOf("VARCHAR", new Object[]{null, null, "a", null, "b", null, "c", null}); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/EvaluationOfORIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/EvaluationOfORIT.java index 3391f62d47d..14ad030f0ef 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/EvaluationOfORIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/EvaluationOfORIT.java @@ -33,7 +33,7 @@ import org.junit.Test; -public class EvaluationOfORIT extends BaseHBaseManagedTimeIT{ +public class EvaluationOfORIT extends BaseHBaseManagedTimeTableReuseIT{ @Test public void testFalseOrFalse() throws SQLException { @@ -49,15 +49,15 @@ public void testFalseOrFalse() throws SQLException { public void testPKOrNotPKInOREvaluation() throws SQLException { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); - + String tableName = generateRandomString(); conn.setAutoCommit(false); - String create = "CREATE TABLE DIE ( ID INTEGER NOT NULL PRIMARY KEY,NAME VARCHAR(50))"; + String create = "CREATE TABLE " + tableName + " ( ID INTEGER NOT NULL PRIMARY KEY,NAME VARCHAR(50))"; PreparedStatement createStmt = conn.prepareStatement(create); createStmt.execute(); PreparedStatement stmt = conn.prepareStatement( "upsert into " + - "DIE VALUES (?, ?)"); + tableName + " VALUES (?, ?)"); stmt.setInt(1, 1); stmt.setString(2, "Tester1"); @@ -164,7 +164,7 @@ public void testPKOrNotPKInOREvaluation() throws SQLException { stmt.execute(); conn.commit(); - String select = "Select * from DIE where ID=6 or Name between 'Tester1' and 'Tester3'"; + String select = "Select * from " + tableName + " where ID=6 or Name between 'Tester1' and 'Tester3'"; ResultSet rs; rs = conn.createStatement().executeQuery(select); assertTrue(rs.next()); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/RegexpSubstrFunctionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/RegexpSubstrFunctionIT.java index 5a201bd4ac0..6669017f236 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/RegexpSubstrFunctionIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/RegexpSubstrFunctionIT.java @@ -33,13 +33,15 @@ import org.junit.Test; -public class RegexpSubstrFunctionIT extends BaseHBaseManagedTimeIT { +public class RegexpSubstrFunctionIT extends BaseHBaseManagedTimeTableReuseIT { private int id; + String tableName; @Before public void doBeforeTestSetup() throws Exception { - ensureTableCreated(getUrl(), GROUPBYTEST_NAME, GROUPBYTEST_NAME); + tableName = generateRandomString(); + ensureTableCreated(getUrl(), tableName, GROUPBYTEST_NAME); Connection conn = DriverManager.getConnection(getUrl()); insertRow(conn, "Report1?1", 10); insertRow(conn, "Report1?2", 10); @@ -50,7 +52,7 @@ public void doBeforeTestSetup() throws Exception { } private void insertRow(Connection conn, String uri, int appcpu) throws SQLException { - PreparedStatement statement = conn.prepareStatement("UPSERT INTO " + GROUPBYTEST_NAME + "(id, uri, appcpu) values (?,?,?)"); + PreparedStatement statement = conn.prepareStatement("UPSERT INTO " + tableName + "(id, uri, appcpu) values (?,?,?)"); statement.setString(1, "id" + id); statement.setString(2, uri); statement.setInt(3, appcpu); @@ -59,7 +61,7 @@ private void insertRow(Connection conn, String uri, int appcpu) throws SQLExcept } private void testGroupByScanWithRegexpSubstr(Connection conn, Integer offset, String exceptedSubstr) throws Exception { - String cmd = "select REGEXP_SUBSTR(uri, '[^\\\\?]+'" + ((offset == null) ? "" : ", " + offset.intValue()) +") suburi, sum(appcpu) sumcpu from " + GROUPBYTEST_NAME + " group by suburi"; + String cmd = "select REGEXP_SUBSTR(uri, '[^\\\\?]+'" + ((offset == null) ? "" : ", " + offset.intValue()) +") suburi, sum(appcpu) sumcpu from " + tableName + " group by suburi"; Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(cmd); assertTrue(rs.next()); @@ -87,7 +89,7 @@ public void testGroupByScanWithRegexpSubstr() throws Exception { } private void testFilterWithRegexSubstr(Connection conn, Integer offset, String exceptedSubstr) throws Exception { - String cmd = "select id from " + GROUPBYTEST_NAME + " where REGEXP_SUBSTR(uri, '[^\\\\?]+'"+ ((offset == null) ? "" : ", " + offset.intValue()) +") = '" + exceptedSubstr + "1'"; + String cmd = "select id from " + tableName + " where REGEXP_SUBSTR(uri, '[^\\\\?]+'"+ ((offset == null) ? "" : ", " + offset.intValue()) +") = '" + exceptedSubstr + "1'"; ResultSet rs = conn.createStatement().executeQuery(cmd); assertTrue(rs.next()); assertEquals("id0", rs.getString(1)); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/RollbackIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/RollbackIT.java index f3fb46a6e61..c677a08208c 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/RollbackIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/RollbackIT.java @@ -32,6 +32,7 @@ import java.util.Properties; import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; +import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.end2end.Shadower; import org.apache.phoenix.query.QueryServices; import org.apache.phoenix.util.PropertiesUtil; @@ -47,20 +48,14 @@ import com.google.common.collect.Maps; @RunWith(Parameterized.class) -public class RollbackIT extends BaseHBaseManagedTimeIT { +public class RollbackIT extends BaseHBaseManagedTimeTableReuseIT { private final boolean localIndex; private final boolean mutable; - private final String tableName; - private final String indexName; - private final String fullTableName; public RollbackIT(boolean localIndex, boolean mutable) { this.localIndex = localIndex; this.mutable = mutable; - this.tableName = TestUtil.DEFAULT_DATA_TABLE_NAME; - this.indexName = "IDX"; - this.fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); } @BeforeClass @@ -82,6 +77,9 @@ public static Collection data() { @Test public void testRollbackOfUncommittedKeyValueIndexInsert() throws Exception { + String tableName = "TBL_" + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); conn.setAutoCommit(false); @@ -127,6 +125,9 @@ public void testRollbackOfUncommittedRowKeyIndexInsert() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); conn.setAutoCommit(false); + String tableName = "TBL_" + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); try { Statement stmt = conn.createStatement(); stmt.execute("CREATE TABLE " + fullTableName + "(k VARCHAR, v1 VARCHAR, v2 VARCHAR, CONSTRAINT pk PRIMARY KEY (v1, v2))"+(!mutable? " IMMUTABLE_ROWS=true" : "")); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/iterate/RoundRobinResultIteratorIT.java b/phoenix-core/src/it/java/org/apache/phoenix/iterate/RoundRobinResultIteratorIT.java index dd384ccc0be..dc47130c8cc 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/iterate/RoundRobinResultIteratorIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/iterate/RoundRobinResultIteratorIT.java @@ -43,6 +43,7 @@ import org.apache.hadoop.hbase.util.Bytes; import org.apache.phoenix.compile.StatementContext; 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.jdbc.PhoenixResultSet; @@ -58,7 +59,7 @@ import com.google.common.collect.Maps; import com.google.common.collect.Sets; -public class RoundRobinResultIteratorIT extends BaseHBaseManagedTimeIT { +public class RoundRobinResultIteratorIT extends BaseHBaseManagedTimeTableReuseIT { private static final int NUM_SALT_BUCKETS = 4; @@ -78,7 +79,7 @@ public static void doSetup() throws Exception { @Test public void testRoundRobinAfterTableSplit() throws Exception { - String tableName = "ROUNDROBINSPLIT"; + String tableName = generateRandomString(); byte[] tableNameBytes = Bytes.toBytes(tableName); int numRows = setupTableForSplit(tableName); Connection conn = DriverManager.getConnection(getUrl()); @@ -128,7 +129,7 @@ public void testSelectAllRowsWithDifferentFetchSizes_unsalted() throws Exception } private void testSelectAllRowsWithDifferentFetchSizes(boolean salted) throws Exception { - String tableName = "ALLROWS" + (salted ? "_SALTED" : "_UNSALTED"); + String tableName = generateRandomString(); int numRows = 9; Set expectedKeys = Collections.unmodifiableSet(createTableAndInsertRows(tableName, numRows, salted, false)); Connection conn = DriverManager.getConnection(getUrl()); @@ -152,7 +153,7 @@ public void testSelectRowsWithFilterAndDifferentFetchSizes_salted() throws Excep } private void testSelectRowsWithFilterAndDifferentFetchSizes(boolean salted) throws Exception { - String tableName = "ROWSWITHFILTER" + (salted ? "_SALTED" : "_UNSALTED"); + String tableName = generateRandomString(); int numRows = 6; Set insertedKeys = createTableAndInsertRows(tableName, numRows, salted, false); Connection conn = DriverManager.getConnection(getUrl()); @@ -205,7 +206,7 @@ private Set createTableAndInsertRows(String tableName, int numRows, bool @Test public void testFetchSizesAndRVCExpression() throws Exception { - String tableName = "RVCTest"; + String tableName = generateRandomString(); Set insertedKeys = Collections.unmodifiableSet(createTableAndInsertRows(tableName, 4, false, false)); Connection conn = DriverManager.getConnection(getUrl()); PreparedStatement stmt = conn.prepareStatement("SELECT K FROM " + tableName + " WHERE (K, V) > (?, ?)"); From 9159ddf1c682fcce17ffa05964cb385466660e2f Mon Sep 17 00:00:00 2001 From: prakul agarwal Date: Tue, 26 Jul 2016 04:37:06 -0700 Subject: [PATCH 09/17] refactor with changes in BaseHbaseManagedTimeTableReuseIT --- .../BaseHBaseManagedTimeTableReuseIT.java | 5 + .../apache/phoenix/end2end/UseSchemaIT.java | 42 +-- .../org/apache/phoenix/tx/TransactionIT.java | 243 ++++++++++-------- .../apache/phoenix/flume/PhoenixSinkIT.java | 16 +- .../org/apache/phoenix/pig/BasePigIT.java | 3 +- 5 files changed, 180 insertions(+), 129 deletions(-) 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 02ebf98bed7..c40ec593e73 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 @@ 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 @@ @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 { 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 cec23edbf66..c42c287d289 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.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 void testUseSchema(String schema) throws Exception { 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 void testUseSchema(String schema) throws Exception { @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 void testSchemaInJdbcUrl() throws Exception { @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); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/tx/TransactionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/tx/TransactionIT.java index b1c805b08ba..039490f53aa 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/tx/TransactionIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/tx/TransactionIT.java @@ -48,6 +48,7 @@ import org.apache.hadoop.hbase.util.Bytes; import org.apache.phoenix.coprocessor.PhoenixTransactionalProcessor; import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; +import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.end2end.Shadower; import org.apache.phoenix.exception.SQLExceptionCode; import org.apache.phoenix.jdbc.PhoenixConnection; @@ -75,15 +76,9 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; -public class TransactionIT extends BaseHBaseManagedTimeIT { - - private static final String FULL_TABLE_NAME = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + TRANSACTIONAL_DATA_TABLE; - - @Before - public void setUp() throws SQLException { - ensureTableCreated(getUrl(), TRANSACTIONAL_DATA_TABLE, TRANSACTIONAL_DATA_TABLE); - } +public class TransactionIT extends BaseHBaseManagedTimeTableReuseIT { + @BeforeClass @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) public static void doSetup() throws Exception { @@ -94,13 +89,16 @@ public static void doSetup() throws Exception { @Test public void testReadOwnWrites() throws Exception { - String selectSql = "SELECT * FROM "+FULL_TABLE_NAME; + String transTableName = generateRandomString(); + String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + transTableName; + ensureTableCreated(getUrl(), transTableName, TRANSACTIONAL_DATA_TABLE); + String selectSql = "SELECT * FROM "+ fullTableName; try (Connection conn = DriverManager.getConnection(getUrl())) { conn.setAutoCommit(false); ResultSet rs = conn.createStatement().executeQuery(selectSql); assertFalse(rs.next()); - String upsert = "UPSERT INTO " + FULL_TABLE_NAME + "(varchar_pk, char_pk, int_pk, long_pk, decimal_pk, date_pk) VALUES(?, ?, ?, ?, ?, ?)"; + String upsert = "UPSERT INTO " + fullTableName + "(varchar_pk, char_pk, int_pk, long_pk, decimal_pk, date_pk) VALUES(?, ?, ?, ?, ?, ?)"; PreparedStatement stmt = conn.prepareStatement(upsert); // upsert two rows TestUtil.setRowKeyColumns(stmt, 1); @@ -126,13 +124,16 @@ public void testReadOwnWrites() throws Exception { @Test public void testTxnClosedCorrecty() throws Exception { - String selectSql = "SELECT * FROM "+FULL_TABLE_NAME; + String transTableName = generateRandomString(); + String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + transTableName; + ensureTableCreated(getUrl(), transTableName, TRANSACTIONAL_DATA_TABLE); + String selectSql = "SELECT * FROM "+fullTableName; try (Connection conn = DriverManager.getConnection(getUrl())) { conn.setAutoCommit(false); ResultSet rs = conn.createStatement().executeQuery(selectSql); assertFalse(rs.next()); - String upsert = "UPSERT INTO " + FULL_TABLE_NAME + "(varchar_pk, char_pk, int_pk, long_pk, decimal_pk, date_pk) VALUES(?, ?, ?, ?, ?, ?)"; + String upsert = "UPSERT INTO " + fullTableName + "(varchar_pk, char_pk, int_pk, long_pk, decimal_pk, date_pk) VALUES(?, ?, ?, ?, ?, ?)"; PreparedStatement stmt = conn.prepareStatement(upsert); // upsert two rows TestUtil.setRowKeyColumns(stmt, 1); @@ -155,14 +156,17 @@ public void testTxnClosedCorrecty() throws Exception { @Test public void testDelete() throws Exception { - String selectSQL = "SELECT * FROM " + FULL_TABLE_NAME; + String transTableName = generateRandomString(); + String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + transTableName; + ensureTableCreated(getUrl(), transTableName, TRANSACTIONAL_DATA_TABLE); + String selectSQL = "SELECT * FROM " + fullTableName; try (Connection conn1 = DriverManager.getConnection(getUrl()); Connection conn2 = DriverManager.getConnection(getUrl())) { conn1.setAutoCommit(false); ResultSet rs = conn1.createStatement().executeQuery(selectSQL); assertFalse(rs.next()); - String upsert = "UPSERT INTO " + FULL_TABLE_NAME + "(varchar_pk, char_pk, int_pk, long_pk, decimal_pk, date_pk) VALUES(?, ?, ?, ?, ?, ?)"; + String upsert = "UPSERT INTO " + fullTableName + "(varchar_pk, char_pk, int_pk, long_pk, decimal_pk, date_pk) VALUES(?, ?, ?, ?, ?, ?)"; PreparedStatement stmt = conn1.prepareStatement(upsert); // upsert two rows TestUtil.setRowKeyColumns(stmt, 1); @@ -173,11 +177,11 @@ public void testDelete() throws Exception { stmt.execute(); // verify rows can be read even though commit has not been called - int rowsDeleted = conn1.createStatement().executeUpdate("DELETE FROM " + FULL_TABLE_NAME); + int rowsDeleted = conn1.createStatement().executeUpdate("DELETE FROM " + fullTableName); assertEquals(2, rowsDeleted); // Delete and second upsert not committed yet, so there should be one row. - rs = conn2.createStatement().executeQuery("SELECT count(*) FROM " + FULL_TABLE_NAME); + rs = conn2.createStatement().executeQuery("SELECT count(*) FROM " + fullTableName); assertTrue(rs.next()); assertEquals(1, rs.getInt(1)); @@ -191,36 +195,45 @@ public void testDelete() throws Exception { @Test public void testAutoCommitQuerySingleTable() throws Exception { + String transTableName = generateRandomString(); + String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + transTableName; + ensureTableCreated(getUrl(), transTableName, TRANSACTIONAL_DATA_TABLE); try (Connection conn = DriverManager.getConnection(getUrl())) { conn.setAutoCommit(true); // verify no rows returned - ResultSet rs = conn.createStatement().executeQuery("SELECT * FROM " + FULL_TABLE_NAME); + ResultSet rs = conn.createStatement().executeQuery("SELECT * FROM " + fullTableName); assertFalse(rs.next()); } } @Test public void testAutoCommitQueryMultiTables() throws Exception { + String transTableName = generateRandomString(); + String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + transTableName; + ensureTableCreated(getUrl(), transTableName, TRANSACTIONAL_DATA_TABLE); try (Connection conn = DriverManager.getConnection(getUrl())) { conn.setAutoCommit(true); // verify no rows returned - ResultSet rs = conn.createStatement().executeQuery("SELECT * FROM " + FULL_TABLE_NAME + " a JOIN " + FULL_TABLE_NAME + " b ON (a.long_pk = b.int_pk)"); + ResultSet rs = conn.createStatement().executeQuery("SELECT * FROM " + fullTableName + " a JOIN " + fullTableName + " b ON (a.long_pk = b.int_pk)"); assertFalse(rs.next()); } } @Test public void testColConflicts() throws Exception { + String transTableName = generateRandomString(); + String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + transTableName; + ensureTableCreated(getUrl(), transTableName, TRANSACTIONAL_DATA_TABLE); try (Connection conn1 = DriverManager.getConnection(getUrl()); Connection conn2 = DriverManager.getConnection(getUrl())) { conn1.setAutoCommit(false); conn2.setAutoCommit(false); - String selectSql = "SELECT * FROM "+FULL_TABLE_NAME; + String selectSql = "SELECT * FROM "+fullTableName; conn1.setAutoCommit(false); ResultSet rs = conn1.createStatement().executeQuery(selectSql); assertFalse(rs.next()); // upsert row using conn1 - String upsertSql = "UPSERT INTO " + FULL_TABLE_NAME + "(varchar_pk, char_pk, int_pk, long_pk, decimal_pk, date_pk, a.int_col1) VALUES(?, ?, ?, ?, ?, ?, ?)"; + String upsertSql = "UPSERT INTO " + fullTableName + "(varchar_pk, char_pk, int_pk, long_pk, decimal_pk, date_pk, a.int_col1) VALUES(?, ?, ?, ?, ?, ?, ?)"; PreparedStatement stmt = conn1.prepareStatement(upsertSql); TestUtil.setRowKeyColumns(stmt, 1); stmt.setInt(7, 10); @@ -243,24 +256,24 @@ public void testColConflicts() throws Exception { } } - private void testRowConflicts() throws Exception { - try (Connection conn1 = DriverManager.getConnection(getUrl()); + private void testRowConflicts(String fullTableName) throws Exception { + try (Connection conn1 = DriverManager.getConnection(getUrl()); Connection conn2 = DriverManager.getConnection(getUrl())) { conn1.setAutoCommit(false); conn2.setAutoCommit(false); - String selectSql = "SELECT * FROM "+FULL_TABLE_NAME; + String selectSql = "SELECT * FROM "+fullTableName; conn1.setAutoCommit(false); ResultSet rs = conn1.createStatement().executeQuery(selectSql); - boolean immutableRows = conn1.unwrap(PhoenixConnection.class).getTable(new PTableKey(null, FULL_TABLE_NAME)).isImmutableRows(); + boolean immutableRows = conn1.unwrap(PhoenixConnection.class).getTable(new PTableKey(null, fullTableName)).isImmutableRows(); assertFalse(rs.next()); // upsert row using conn1 - String upsertSql = "UPSERT INTO " + FULL_TABLE_NAME + "(varchar_pk, char_pk, int_pk, long_pk, decimal_pk, date_pk, a.int_col1) VALUES(?, ?, ?, ?, ?, ?, ?)"; + String upsertSql = "UPSERT INTO " + fullTableName + "(varchar_pk, char_pk, int_pk, long_pk, decimal_pk, date_pk, a.int_col1) VALUES(?, ?, ?, ?, ?, ?, ?)"; PreparedStatement stmt = conn1.prepareStatement(upsertSql); TestUtil.setRowKeyColumns(stmt, 1); stmt.setInt(7, 10); stmt.execute(); // upsert row using conn2 - upsertSql = "UPSERT INTO " + FULL_TABLE_NAME + "(varchar_pk, char_pk, int_pk, long_pk, decimal_pk, date_pk, b.int_col2) VALUES(?, ?, ?, ?, ?, ?, ?)"; + upsertSql = "UPSERT INTO " + fullTableName + "(varchar_pk, char_pk, int_pk, long_pk, decimal_pk, date_pk, b.int_col2) VALUES(?, ?, ?, ?, ?, ?, ?)"; stmt = conn2.prepareStatement(upsertSql); TestUtil.setRowKeyColumns(stmt, 1); stmt.setInt(7, 11); @@ -281,51 +294,59 @@ private void testRowConflicts() throws Exception { @Test public void testRowConflictDetected() throws Exception { - testRowConflicts(); + String transTableName = generateRandomString(); + String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + transTableName; + ensureTableCreated(getUrl(), transTableName, TRANSACTIONAL_DATA_TABLE); + testRowConflicts(fullTableName); } @Test public void testNoConflictDetectionForImmutableRows() throws Exception { + String transTableName = generateRandomString(); + String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + transTableName; + ensureTableCreated(getUrl(), transTableName, TRANSACTIONAL_DATA_TABLE); Connection conn = DriverManager.getConnection(getUrl()); - conn.createStatement().execute("ALTER TABLE " + FULL_TABLE_NAME + " SET IMMUTABLE_ROWS=true"); - testRowConflicts(); + conn.createStatement().execute("ALTER TABLE " + fullTableName + " SET IMMUTABLE_ROWS=true"); + testRowConflicts(fullTableName); } @Test public void testNonTxToTxTable() throws Exception { + String nonTxTableName = generateRandomString(); + Connection conn = DriverManager.getConnection(getUrl()); - conn.createStatement().execute("CREATE TABLE NON_TX_TABLE(k INTEGER PRIMARY KEY, v VARCHAR)"); - conn.createStatement().execute("UPSERT INTO NON_TX_TABLE VALUES (1)"); - conn.createStatement().execute("UPSERT INTO NON_TX_TABLE VALUES (2, 'a')"); - conn.createStatement().execute("UPSERT INTO NON_TX_TABLE VALUES (3, 'b')"); + conn.createStatement().execute("CREATE TABLE " + nonTxTableName + "(k INTEGER PRIMARY KEY, v VARCHAR)"); + conn.createStatement().execute("UPSERT INTO " + nonTxTableName + " VALUES (1)"); + conn.createStatement().execute("UPSERT INTO " + nonTxTableName + " VALUES (2, 'a')"); + conn.createStatement().execute("UPSERT INTO " + nonTxTableName + " VALUES (3, 'b')"); conn.commit(); - conn.createStatement().execute("CREATE INDEX IDX ON NON_TX_TABLE(v)"); + conn.createStatement().execute("CREATE INDEX IDX ON " + nonTxTableName + "(v)"); // Reset empty column value to an empty value like it is pre-transactions - HTableInterface htable = conn.unwrap(PhoenixConnection.class).getQueryServices().getTable(Bytes.toBytes("NON_TX_TABLE")); + HTableInterface htable = conn.unwrap(PhoenixConnection.class).getQueryServices().getTable(Bytes.toBytes( nonTxTableName)); Listputs = Lists.newArrayList(new Put(PInteger.INSTANCE.toBytes(1)), new Put(PInteger.INSTANCE.toBytes(2)), new Put(PInteger.INSTANCE.toBytes(3))); for (Put put : puts) { put.add(QueryConstants.DEFAULT_COLUMN_FAMILY_BYTES, QueryConstants.EMPTY_COLUMN_BYTES, ByteUtil.EMPTY_BYTE_ARRAY); } htable.put(puts); - conn.createStatement().execute("ALTER TABLE NON_TX_TABLE SET TRANSACTIONAL=true"); + conn.createStatement().execute("ALTER TABLE " + nonTxTableName + " SET TRANSACTIONAL=true"); - htable = conn.unwrap(PhoenixConnection.class).getQueryServices().getTable(Bytes.toBytes("NON_TX_TABLE")); + htable = conn.unwrap(PhoenixConnection.class).getQueryServices().getTable(Bytes.toBytes( nonTxTableName)); assertTrue(htable.getTableDescriptor().getCoprocessors().contains(PhoenixTransactionalProcessor.class.getName())); htable = conn.unwrap(PhoenixConnection.class).getQueryServices().getTable(Bytes.toBytes("IDX")); assertTrue(htable.getTableDescriptor().getCoprocessors().contains(PhoenixTransactionalProcessor.class.getName())); - conn.createStatement().execute("UPSERT INTO NON_TX_TABLE VALUES (4, 'c')"); - ResultSet rs = conn.createStatement().executeQuery("SELECT /*+ NO_INDEX */ k FROM NON_TX_TABLE WHERE v IS NULL"); - assertTrue(conn.unwrap(PhoenixConnection.class).getTable(new PTableKey(null, "NON_TX_TABLE")).isTransactional()); + conn.createStatement().execute("UPSERT INTO " + nonTxTableName + " VALUES (4, 'c')"); + ResultSet rs = conn.createStatement().executeQuery("SELECT /*+ NO_INDEX */ k FROM " + nonTxTableName + " WHERE v IS NULL"); + assertTrue(conn.unwrap(PhoenixConnection.class).getTable(new PTableKey(null, nonTxTableName)).isTransactional()); assertTrue(rs.next()); assertEquals(1,rs.getInt(1)); assertFalse(rs.next()); conn.commit(); - conn.createStatement().execute("UPSERT INTO NON_TX_TABLE VALUES (5, 'd')"); - rs = conn.createStatement().executeQuery("SELECT k FROM NON_TX_TABLE"); + conn.createStatement().execute("UPSERT INTO " + nonTxTableName + " VALUES (5, 'd')"); + rs = conn.createStatement().executeQuery("SELECT k FROM " + nonTxTableName); assertTrue(conn.unwrap(PhoenixConnection.class).getTable(new PTableKey(null, "IDX")).isTransactional()); assertTrue(rs.next()); assertEquals(1,rs.getInt(1)); @@ -340,7 +361,7 @@ public void testNonTxToTxTable() throws Exception { assertFalse(rs.next()); conn.rollback(); - rs = conn.createStatement().executeQuery("SELECT k FROM NON_TX_TABLE"); + rs = conn.createStatement().executeQuery("SELECT k FROM " + nonTxTableName); assertTrue(rs.next()); assertEquals(1,rs.getInt(1)); assertTrue(rs.next()); @@ -355,13 +376,15 @@ public void testNonTxToTxTable() throws Exception { @Ignore @Test public void testNonTxToTxTableFailure() throws Exception { + String nonTxTableName = generateRandomString(); + Connection conn = DriverManager.getConnection(getUrl()); // Put table in SYSTEM schema to prevent attempts to update the cache after we disable SYSTEM.CATALOG - conn.createStatement().execute("CREATE TABLE SYSTEM.NON_TX_TABLE(k INTEGER PRIMARY KEY, v VARCHAR)"); - conn.createStatement().execute("UPSERT INTO SYSTEM.NON_TX_TABLE VALUES (1)"); + conn.createStatement().execute("CREATE TABLE SYSTEM." + nonTxTableName + "(k INTEGER PRIMARY KEY, v VARCHAR)"); + conn.createStatement().execute("UPSERT INTO SYSTEM." + nonTxTableName + " VALUES (1)"); conn.commit(); // Reset empty column value to an empty value like it is pre-transactions - HTableInterface htable = conn.unwrap(PhoenixConnection.class).getQueryServices().getTable(Bytes.toBytes("SYSTEM.NON_TX_TABLE")); + HTableInterface htable = conn.unwrap(PhoenixConnection.class).getQueryServices().getTable(Bytes.toBytes("SYSTEM." + nonTxTableName)); Put put = new Put(PInteger.INSTANCE.toBytes(1)); put.add(QueryConstants.DEFAULT_COLUMN_FAMILY_BYTES, QueryConstants.EMPTY_COLUMN_BYTES, ByteUtil.EMPTY_BYTE_ARRAY); htable.put(put); @@ -372,7 +395,7 @@ public void testNonTxToTxTableFailure() throws Exception { // This will succeed initially in updating the HBase metadata, but then will fail when // the SYSTEM.CATALOG table is attempted to be updated, exercising the code to restore // the coprocessors back to the non transactional ones. - conn.createStatement().execute("ALTER TABLE SYSTEM.NON_TX_TABLE SET TRANSACTIONAL=true"); + conn.createStatement().execute("ALTER TABLE SYSTEM." + nonTxTableName + " SET TRANSACTIONAL=true"); fail(); } catch (SQLException e) { assertTrue(e.getMessage().contains(PhoenixDatabaseMetaData.SYSTEM_CATALOG_NAME + " is disabled")); @@ -381,28 +404,30 @@ public void testNonTxToTxTableFailure() throws Exception { admin.close(); } - ResultSet rs = conn.createStatement().executeQuery("SELECT k FROM SYSTEM.NON_TX_TABLE WHERE v IS NULL"); + ResultSet rs = conn.createStatement().executeQuery("SELECT k FROM SYSTEM." + nonTxTableName + " WHERE v IS NULL"); assertTrue(rs.next()); assertEquals(1,rs.getInt(1)); assertFalse(rs.next()); - htable = conn.unwrap(PhoenixConnection.class).getQueryServices().getTable(Bytes.toBytes("SYSTEM.NON_TX_TABLE")); + htable = conn.unwrap(PhoenixConnection.class).getQueryServices().getTable(Bytes.toBytes("SYSTEM." + nonTxTableName)); assertFalse(htable.getTableDescriptor().getCoprocessors().contains(PhoenixTransactionalProcessor.class.getName())); assertEquals(1,conn.unwrap(PhoenixConnection.class).getQueryServices(). - getTableDescriptor(Bytes.toBytes("SYSTEM.NON_TX_TABLE")). + getTableDescriptor(Bytes.toBytes("SYSTEM." + nonTxTableName)). getFamily(QueryConstants.DEFAULT_COLUMN_FAMILY_BYTES).getMaxVersions()); } @Test public void testProperties() throws Exception { + String nonTxTableName = generateRandomString(); + Connection conn = DriverManager.getConnection(getUrl()); - conn.createStatement().execute("CREATE TABLE NON_TX_TABLE1(k INTEGER PRIMARY KEY, a.v VARCHAR, b.v VARCHAR, c.v VARCHAR) TTL=1000"); - conn.createStatement().execute("CREATE INDEX idx1 ON NON_TX_TABLE1(a.v, b.v) TTL=1000"); - conn.createStatement().execute("CREATE INDEX idx2 ON NON_TX_TABLE1(c.v) INCLUDE (a.v, b.v) TTL=1000"); + conn.createStatement().execute("CREATE TABLE " + nonTxTableName + "1(k INTEGER PRIMARY KEY, a.v VARCHAR, b.v VARCHAR, c.v VARCHAR) TTL=1000"); + conn.createStatement().execute("CREATE INDEX idx1 ON " + nonTxTableName + "1(a.v, b.v) TTL=1000"); + conn.createStatement().execute("CREATE INDEX idx2 ON " + nonTxTableName + "1(c.v) INCLUDE (a.v, b.v) TTL=1000"); - conn.createStatement().execute("ALTER TABLE NON_TX_TABLE1 SET TRANSACTIONAL=true"); + conn.createStatement().execute("ALTER TABLE " + nonTxTableName + "1 SET TRANSACTIONAL=true"); - HTableDescriptor desc = conn.unwrap(PhoenixConnection.class).getQueryServices().getTableDescriptor(Bytes.toBytes("NON_TX_TABLE1")); + HTableDescriptor desc = conn.unwrap(PhoenixConnection.class).getQueryServices().getTableDescriptor(Bytes.toBytes(nonTxTableName + "1")); for (HColumnDescriptor colDesc : desc.getFamilies()) { assertEquals(QueryServicesOptions.DEFAULT_MAX_VERSIONS_TRANSACTIONAL, colDesc.getMaxVersions()); assertEquals(1000, colDesc.getTimeToLive()); @@ -423,39 +448,39 @@ public void testProperties() throws Exception { assertEquals(1000, Integer.parseInt(colDesc.getValue(TxConstants.PROPERTY_TTL))); } - conn.createStatement().execute("CREATE TABLE NON_TX_TABLE2(k INTEGER PRIMARY KEY, a.v VARCHAR, b.v VARCHAR, c.v VARCHAR)"); - conn.createStatement().execute("ALTER TABLE NON_TX_TABLE2 SET TRANSACTIONAL=true, VERSIONS=10"); - desc = conn.unwrap(PhoenixConnection.class).getQueryServices().getTableDescriptor(Bytes.toBytes("NON_TX_TABLE2")); + conn.createStatement().execute("CREATE TABLE " + nonTxTableName + "2(k INTEGER PRIMARY KEY, a.v VARCHAR, b.v VARCHAR, c.v VARCHAR)"); + conn.createStatement().execute("ALTER TABLE " + nonTxTableName + "2 SET TRANSACTIONAL=true, VERSIONS=10"); + desc = conn.unwrap(PhoenixConnection.class).getQueryServices().getTableDescriptor(Bytes.toBytes( nonTxTableName + "2")); for (HColumnDescriptor colDesc : desc.getFamilies()) { assertEquals(10, colDesc.getMaxVersions()); assertEquals(HColumnDescriptor.DEFAULT_TTL, colDesc.getTimeToLive()); assertEquals(null, colDesc.getValue(TxConstants.PROPERTY_TTL)); } - conn.createStatement().execute("ALTER TABLE NON_TX_TABLE2 SET TTL=1000"); - desc = conn.unwrap(PhoenixConnection.class).getQueryServices().getTableDescriptor(Bytes.toBytes("NON_TX_TABLE2")); + conn.createStatement().execute("ALTER TABLE " + nonTxTableName + "2 SET TTL=1000"); + desc = conn.unwrap(PhoenixConnection.class).getQueryServices().getTableDescriptor(Bytes.toBytes( nonTxTableName + "2")); for (HColumnDescriptor colDesc : desc.getFamilies()) { assertEquals(10, colDesc.getMaxVersions()); assertEquals(1000, colDesc.getTimeToLive()); assertEquals(1000, Integer.parseInt(colDesc.getValue(TxConstants.PROPERTY_TTL))); } - conn.createStatement().execute("CREATE TABLE NON_TX_TABLE3(k INTEGER PRIMARY KEY, a.v VARCHAR, b.v VARCHAR, c.v VARCHAR)"); - conn.createStatement().execute("ALTER TABLE NON_TX_TABLE3 SET TRANSACTIONAL=true, b.VERSIONS=10, c.VERSIONS=20"); - desc = conn.unwrap(PhoenixConnection.class).getQueryServices().getTableDescriptor(Bytes.toBytes("NON_TX_TABLE3")); + conn.createStatement().execute("CREATE TABLE " + nonTxTableName + "3(k INTEGER PRIMARY KEY, a.v VARCHAR, b.v VARCHAR, c.v VARCHAR)"); + conn.createStatement().execute("ALTER TABLE " + nonTxTableName + "3 SET TRANSACTIONAL=true, b.VERSIONS=10, c.VERSIONS=20"); + desc = conn.unwrap(PhoenixConnection.class).getQueryServices().getTableDescriptor(Bytes.toBytes( nonTxTableName + "3")); assertEquals(QueryServicesOptions.DEFAULT_MAX_VERSIONS_TRANSACTIONAL, desc.getFamily(Bytes.toBytes("A")).getMaxVersions()); assertEquals(10, desc.getFamily(Bytes.toBytes("B")).getMaxVersions()); assertEquals(20, desc.getFamily(Bytes.toBytes("C")).getMaxVersions()); - conn.createStatement().execute("CREATE TABLE NON_TX_TABLE4(k INTEGER PRIMARY KEY, a.v VARCHAR, b.v VARCHAR, c.v VARCHAR)"); + conn.createStatement().execute("CREATE TABLE " + nonTxTableName + "4(k INTEGER PRIMARY KEY, a.v VARCHAR, b.v VARCHAR, c.v VARCHAR)"); try { - conn.createStatement().execute("ALTER TABLE NON_TX_TABLE4 SET TRANSACTIONAL=true, VERSIONS=1"); + conn.createStatement().execute("ALTER TABLE " + nonTxTableName + "4 SET TRANSACTIONAL=true, VERSIONS=1"); fail(); } catch (SQLException e) { assertEquals(SQLExceptionCode.TX_MAX_VERSIONS_MUST_BE_GREATER_THAN_ONE.getErrorCode(), e.getErrorCode()); } try { - conn.createStatement().execute("ALTER TABLE NON_TX_TABLE4 SET TRANSACTIONAL=true, b.VERSIONS=1"); + conn.createStatement().execute("ALTER TABLE " + nonTxTableName + "4 SET TRANSACTIONAL=true, b.VERSIONS=1"); fail(); } catch (SQLException e) { assertEquals(SQLExceptionCode.TX_MAX_VERSIONS_MUST_BE_GREATER_THAN_ONE.getErrorCode(), e.getErrorCode()); @@ -472,6 +497,10 @@ public void testProperties() throws Exception { @Test public void testCreateTableToBeTransactional() throws Exception { + + String transTableName = generateRandomString(); + String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + transTableName; + ensureTableCreated(getUrl(), transTableName, TRANSACTIONAL_DATA_TABLE); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); String ddl = "CREATE TABLE TEST_TRANSACTIONAL_TABLE (k varchar primary key) transactional=true"; @@ -515,13 +544,15 @@ public void testCreateTableToBeTransactional() throws Exception { } public void testCurrentDate() throws Exception { - String selectSql = "SELECT current_date() FROM "+FULL_TABLE_NAME; + String transTableName = generateRandomString(); + String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + transTableName; + String selectSql = "SELECT current_date() FROM "+fullTableName; try (Connection conn = DriverManager.getConnection(getUrl())) { conn.setAutoCommit(false); ResultSet rs = conn.createStatement().executeQuery(selectSql); assertFalse(rs.next()); - String upsert = "UPSERT INTO " + FULL_TABLE_NAME + "(varchar_pk, char_pk, int_pk, long_pk, decimal_pk, date_pk) VALUES(?, ?, ?, ?, ?, ?)"; + String upsert = "UPSERT INTO " + fullTableName + "(varchar_pk, char_pk, int_pk, long_pk, decimal_pk, date_pk) VALUES(?, ?, ?, ?, ?, ?)"; PreparedStatement stmt = conn.prepareStatement(upsert); // upsert two rows TestUtil.setRowKeyColumns(stmt, 1); @@ -545,34 +576,36 @@ public void testCurrentDate() throws Exception { @Test public void testReCreateTxnTableAfterDroppingExistingNonTxnTable() throws SQLException { + String tableName = generateRandomString(); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); conn.setAutoCommit(false); Statement stmt = conn.createStatement(); - stmt.execute("CREATE TABLE DEMO(k VARCHAR PRIMARY KEY, v1 VARCHAR, v2 VARCHAR)"); - stmt.execute("DROP TABLE DEMO"); - stmt.execute("CREATE TABLE DEMO(k VARCHAR PRIMARY KEY, v1 VARCHAR, v2 VARCHAR) TRANSACTIONAL=true"); - stmt.execute("CREATE INDEX DEMO_IDX ON DEMO (v1) INCLUDE(v2)"); - assertTrue(conn.unwrap(PhoenixConnection.class).getTable(new PTableKey(null, "DEMO")).isTransactional()); - assertTrue(conn.unwrap(PhoenixConnection.class).getTable(new PTableKey(null, "DEMO_IDX")).isTransactional()); + stmt.execute("CREATE TABLE " + tableName + "(k VARCHAR PRIMARY KEY, v1 VARCHAR, v2 VARCHAR)"); + stmt.execute("DROP TABLE " + tableName); + stmt.execute("CREATE TABLE " + tableName + "(k VARCHAR PRIMARY KEY, v1 VARCHAR, v2 VARCHAR) TRANSACTIONAL=true"); + stmt.execute("CREATE INDEX " + tableName + "_IDX ON " + tableName + " (v1) INCLUDE(v2)"); + assertTrue(conn.unwrap(PhoenixConnection.class).getTable(new PTableKey(null, tableName)).isTransactional()); + assertTrue(conn.unwrap(PhoenixConnection.class).getTable(new PTableKey(null, tableName + "_IDX")).isTransactional()); } @Test public void testRowTimestampDisabled() throws SQLException { + String tableName = generateRandomString(); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); try (Connection conn = DriverManager.getConnection(getUrl(), props)) { conn.setAutoCommit(false); Statement stmt = conn.createStatement(); try { - stmt.execute("CREATE TABLE DEMO(k VARCHAR, v VARCHAR, d DATE NOT NULL, CONSTRAINT PK PRIMARY KEY(k,d ROW_TIMESTAMP)) TRANSACTIONAL=true"); + stmt.execute("CREATE TABLE " + tableName + "(k VARCHAR, v VARCHAR, d DATE NOT NULL, CONSTRAINT PK PRIMARY KEY(k,d ROW_TIMESTAMP)) TRANSACTIONAL=true"); fail(); } catch(SQLException e) { assertEquals(SQLExceptionCode.CANNOT_CREATE_TXN_TABLE_WITH_ROW_TIMESTAMP.getErrorCode(), e.getErrorCode()); } - stmt.execute("CREATE TABLE DEMO(k VARCHAR, v VARCHAR, d DATE NOT NULL, CONSTRAINT PK PRIMARY KEY(k,d ROW_TIMESTAMP))"); + stmt.execute("CREATE TABLE " + tableName + "(k VARCHAR, v VARCHAR, d DATE NOT NULL, CONSTRAINT PK PRIMARY KEY(k,d ROW_TIMESTAMP))"); try { - stmt.execute("ALTER TABLE DEMO SET TRANSACTIONAL=true"); + stmt.execute("ALTER TABLE " + tableName + " SET TRANSACTIONAL=true"); fail(); } catch(SQLException e) { @@ -587,11 +620,11 @@ public void testExternalTxContext() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); conn.setAutoCommit(false); + String fullTableName = generateRandomString(); PhoenixConnection pconn = conn.unwrap(PhoenixConnection.class); TransactionSystemClient txServiceClient = pconn.getQueryServices().getTransactionSystemClient(); - String fullTableName = "T"; Statement stmt = conn.createStatement(); stmt.execute("CREATE TABLE " + fullTableName + "(K VARCHAR PRIMARY KEY, V1 VARCHAR, V2 VARCHAR) TRANSACTIONAL=true"); HTableInterface htable = pconn.getQueryServices().getTable(Bytes.toBytes(fullTableName)); @@ -706,9 +739,9 @@ public void testExternalTxContext() throws Exception { public void testCheckpointAndRollback() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); + String fullTableName = generateRandomString(); conn.setAutoCommit(false); try { - String fullTableName = "T"; Statement stmt = conn.createStatement(); stmt.execute("CREATE TABLE " + fullTableName + "(k VARCHAR PRIMARY KEY, v1 VARCHAR, v2 VARCHAR) TRANSACTIONAL=true"); stmt.executeUpdate("upsert into " + fullTableName + " values('x', 'a', 'a')"); @@ -748,7 +781,10 @@ public void testCheckpointAndRollback() throws Exception { @Test public void testInflightUpdateNotSeen() throws Exception { - String selectSQL = "SELECT * FROM " + FULL_TABLE_NAME; + String transTableName = generateRandomString(); + String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + transTableName; + ensureTableCreated(getUrl(), transTableName, TRANSACTIONAL_DATA_TABLE); + String selectSQL = "SELECT * FROM " + fullTableName; try (Connection conn1 = DriverManager.getConnection(getUrl()); Connection conn2 = DriverManager.getConnection(getUrl())) { conn1.setAutoCommit(false); @@ -756,7 +792,7 @@ public void testInflightUpdateNotSeen() throws Exception { ResultSet rs = conn1.createStatement().executeQuery(selectSQL); assertFalse(rs.next()); - String upsert = "UPSERT INTO " + FULL_TABLE_NAME + "(varchar_pk, char_pk, int_pk, long_pk, decimal_pk, date_pk) VALUES(?, ?, ?, ?, ?, ?)"; + String upsert = "UPSERT INTO " + fullTableName + "(varchar_pk, char_pk, int_pk, long_pk, decimal_pk, date_pk) VALUES(?, ?, ?, ?, ?, ?)"; PreparedStatement stmt = conn1.prepareStatement(upsert); // upsert two rows TestUtil.setRowKeyColumns(stmt, 1); @@ -766,32 +802,32 @@ public void testInflightUpdateNotSeen() throws Exception { TestUtil.setRowKeyColumns(stmt, 2); stmt.execute(); - rs = conn1.createStatement().executeQuery("SELECT count(*) FROM " + FULL_TABLE_NAME + " WHERE int_col1 IS NULL"); + rs = conn1.createStatement().executeQuery("SELECT count(*) FROM " + fullTableName + " WHERE int_col1 IS NULL"); assertTrue(rs.next()); assertEquals(2, rs.getInt(1)); - upsert = "UPSERT INTO " + FULL_TABLE_NAME + "(varchar_pk, char_pk, int_pk, long_pk, decimal_pk, date_pk, int_col1) VALUES(?, ?, ?, ?, ?, ?, 1)"; + upsert = "UPSERT INTO " + fullTableName + "(varchar_pk, char_pk, int_pk, long_pk, decimal_pk, date_pk, int_col1) VALUES(?, ?, ?, ?, ?, ?, 1)"; stmt = conn1.prepareStatement(upsert); TestUtil.setRowKeyColumns(stmt, 1); stmt.execute(); - rs = conn1.createStatement().executeQuery("SELECT int_col1 FROM " + FULL_TABLE_NAME + " WHERE int_col1 = 1"); + rs = conn1.createStatement().executeQuery("SELECT int_col1 FROM " + fullTableName + " WHERE int_col1 = 1"); assertTrue(rs.next()); assertEquals(1, rs.getInt(1)); assertFalse(rs.next()); - rs = conn2.createStatement().executeQuery("SELECT count(*) FROM " + FULL_TABLE_NAME + " WHERE int_col1 = 1"); + rs = conn2.createStatement().executeQuery("SELECT count(*) FROM " + fullTableName + " WHERE int_col1 = 1"); assertTrue(rs.next()); assertEquals(0, rs.getInt(1)); - rs = conn2.createStatement().executeQuery("SELECT * FROM " + FULL_TABLE_NAME + " WHERE int_col1 = 1"); + rs = conn2.createStatement().executeQuery("SELECT * FROM " + fullTableName + " WHERE int_col1 = 1"); assertFalse(rs.next()); conn1.commit(); - rs = conn2.createStatement().executeQuery("SELECT count(*) FROM " + FULL_TABLE_NAME + " WHERE int_col1 = 1"); + rs = conn2.createStatement().executeQuery("SELECT count(*) FROM " + fullTableName + " WHERE int_col1 = 1"); assertTrue(rs.next()); assertEquals(1, rs.getInt(1)); - rs = conn2.createStatement().executeQuery("SELECT * FROM " + FULL_TABLE_NAME + " WHERE int_col1 = 1"); + rs = conn2.createStatement().executeQuery("SELECT * FROM " + fullTableName + " WHERE int_col1 = 1"); assertTrue(rs.next()); assertFalse(rs.next()); } @@ -799,7 +835,10 @@ public void testInflightUpdateNotSeen() throws Exception { @Test public void testInflightDeleteNotSeen() throws Exception { - String selectSQL = "SELECT * FROM " + FULL_TABLE_NAME; + String transTableName = generateRandomString(); + String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + transTableName; + ensureTableCreated(getUrl(), transTableName, TRANSACTIONAL_DATA_TABLE); + String selectSQL = "SELECT * FROM " + fullTableName; try (Connection conn1 = DriverManager.getConnection(getUrl()); Connection conn2 = DriverManager.getConnection(getUrl())) { conn1.setAutoCommit(false); @@ -807,7 +846,7 @@ public void testInflightDeleteNotSeen() throws Exception { ResultSet rs = conn1.createStatement().executeQuery(selectSQL); assertFalse(rs.next()); - String upsert = "UPSERT INTO " + FULL_TABLE_NAME + "(varchar_pk, char_pk, int_pk, long_pk, decimal_pk, date_pk) VALUES(?, ?, ?, ?, ?, ?)"; + String upsert = "UPSERT INTO " + fullTableName + "(varchar_pk, char_pk, int_pk, long_pk, decimal_pk, date_pk) VALUES(?, ?, ?, ?, ?, ?)"; PreparedStatement stmt = conn1.prepareStatement(upsert); // upsert two rows TestUtil.setRowKeyColumns(stmt, 1); @@ -817,28 +856,28 @@ public void testInflightDeleteNotSeen() throws Exception { conn1.commit(); - rs = conn1.createStatement().executeQuery("SELECT count(*) FROM " + FULL_TABLE_NAME); + rs = conn1.createStatement().executeQuery("SELECT count(*) FROM " + fullTableName); assertTrue(rs.next()); assertEquals(2, rs.getInt(1)); - String delete = "DELETE FROM " + FULL_TABLE_NAME + " WHERE varchar_pk = 'varchar1'"; + String delete = "DELETE FROM " + fullTableName + " WHERE varchar_pk = 'varchar1'"; stmt = conn1.prepareStatement(delete); int count = stmt.executeUpdate(); assertEquals(1,count); - rs = conn1.createStatement().executeQuery("SELECT count(*) FROM " + FULL_TABLE_NAME); + rs = conn1.createStatement().executeQuery("SELECT count(*) FROM " + fullTableName); assertTrue(rs.next()); assertEquals(1, rs.getInt(1)); assertFalse(rs.next()); - rs = conn2.createStatement().executeQuery("SELECT count(*) FROM " + FULL_TABLE_NAME); + rs = conn2.createStatement().executeQuery("SELECT count(*) FROM " + fullTableName); assertTrue(rs.next()); assertEquals(2, rs.getInt(1)); assertFalse(rs.next()); conn1.commit(); - rs = conn2.createStatement().executeQuery("SELECT count(*) FROM " + FULL_TABLE_NAME); + rs = conn2.createStatement().executeQuery("SELECT count(*) FROM " + fullTableName); assertTrue(rs.next()); assertEquals(1, rs.getInt(1)); assertFalse(rs.next()); @@ -899,23 +938,23 @@ public void testTransactionalTableMetadata() throws SQLException { public void testInflightPartialEval() throws SQLException { try (Connection conn = DriverManager.getConnection(getUrl())) { - String transactTableName = "TR"; + String transactTableName = "TR" + generateRandomString(); Statement stmt = conn.createStatement(); stmt.execute("CREATE TABLE " + transactTableName + " (k VARCHAR PRIMARY KEY, v1 VARCHAR, v2 VARCHAR) " + "TRANSACTIONAL=true"); try (Connection conn1 = DriverManager.getConnection(getUrl()); Connection conn2 = DriverManager.getConnection(getUrl())) { - conn1.createStatement().execute("UPSERT INTO tr VALUES ('a','b','x')"); + conn1.createStatement().execute("UPSERT INTO " + transactTableName + " VALUES ('a','b','x')"); // Select to force uncommitted data to be written - ResultSet rs = conn1.createStatement().executeQuery("SELECT * FROM tr"); + ResultSet rs = conn1.createStatement().executeQuery("SELECT * FROM " + transactTableName); assertTrue(rs.next()); assertEquals("a", rs.getString(1)); assertEquals("b", rs.getString(2)); assertFalse(rs.next()); - conn2.createStatement().execute("UPSERT INTO tr VALUES ('a','c','x')"); + conn2.createStatement().execute("UPSERT INTO " + transactTableName + " VALUES ('a','c','x')"); // Select to force uncommitted data to be written - rs = conn2.createStatement().executeQuery("SELECT * FROM tr"); + rs = conn2.createStatement().executeQuery("SELECT * FROM " + transactTableName ); assertTrue(rs.next()); assertEquals("a", rs.getString(1)); assertEquals("c", rs.getString(2)); @@ -924,14 +963,14 @@ public void testInflightPartialEval() throws SQLException { // If the AndExpression were to see the uncommitted row from conn2, the filter would // filter the row out early and no longer continue to evaluate other cells due to // the way partial evaluation holds state. - rs = conn1.createStatement().executeQuery("SELECT * FROM tr WHERE v1 != 'c' AND v2 = 'x'"); + rs = conn1.createStatement().executeQuery("SELECT * FROM " + transactTableName + " WHERE v1 != 'c' AND v2 = 'x'"); assertTrue(rs.next()); assertEquals("a", rs.getString(1)); assertEquals("b", rs.getString(2)); assertFalse(rs.next()); // Same as above for conn1 data - rs = conn2.createStatement().executeQuery("SELECT * FROM tr WHERE v1 != 'b' AND v2 = 'x'"); + rs = conn2.createStatement().executeQuery("SELECT * FROM " + transactTableName + " WHERE v1 != 'b' AND v2 = 'x'"); assertTrue(rs.next()); assertEquals("a", rs.getString(1)); assertEquals("c", rs.getString(2)); diff --git a/phoenix-flume/src/it/java/org/apache/phoenix/flume/PhoenixSinkIT.java b/phoenix-flume/src/it/java/org/apache/phoenix/flume/PhoenixSinkIT.java index a59a3563a05..0c88486a465 100644 --- a/phoenix-flume/src/it/java/org/apache/phoenix/flume/PhoenixSinkIT.java +++ b/phoenix-flume/src/it/java/org/apache/phoenix/flume/PhoenixSinkIT.java @@ -30,6 +30,7 @@ import org.apache.hadoop.hbase.client.HBaseAdmin; import org.apache.hadoop.hbase.util.Bytes; import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; +import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.flume.serializer.EventSerializers; import org.apache.phoenix.flume.serializer.CustomSerializer; import org.apache.phoenix.flume.sink.NullPhoenixSink; @@ -48,7 +49,7 @@ import static org.mockito.Mockito.verify; -public class PhoenixSinkIT extends BaseHBaseManagedTimeIT { +public class PhoenixSinkIT extends BaseHBaseManagedTimeTableReuseIT { private Context sinkContext; private PhoenixSink sink; @@ -128,13 +129,14 @@ public void testInvalidTable() { @Test public void testSinkLifecycle () { - - String ddl = "CREATE TABLE flume_test " + + String tableName = generateRandomString(); + + String ddl = "CREATE TABLE " + tableName + " (flume_time timestamp not null, col1 varchar , col2 varchar" + " CONSTRAINT pk PRIMARY KEY (flume_time))\n"; sinkContext = new Context (); - sinkContext.put(FlumeConstants.CONFIG_TABLE, "flume_test"); + sinkContext.put(FlumeConstants.CONFIG_TABLE, tableName); sinkContext.put(FlumeConstants.CONFIG_JDBC_URL, getUrl()); sinkContext.put(FlumeConstants.CONFIG_SERIALIZER,EventSerializers.REGEX.name()); sinkContext.put(FlumeConstants.CONFIG_TABLE_DDL, ddl); @@ -158,12 +160,12 @@ public void testSinkLifecycle () { @Test public void testCreateTable () throws Exception { - - String ddl = "CREATE TABLE flume_test " + + String tableName = generateRandomString(); + String ddl = "CREATE TABLE " + tableName + " " + " (flume_time timestamp not null, col1 varchar , col2 varchar" + " CONSTRAINT pk PRIMARY KEY (flume_time))\n"; - final String fullTableName = "FLUME_TEST"; + final String fullTableName = tableName; sinkContext = new Context (); sinkContext.put(FlumeConstants.CONFIG_TABLE, fullTableName); sinkContext.put(FlumeConstants.CONFIG_JDBC_URL, getUrl()); diff --git a/phoenix-pig/src/it/java/org/apache/phoenix/pig/BasePigIT.java b/phoenix-pig/src/it/java/org/apache/phoenix/pig/BasePigIT.java index 94ccc253f61..aec09f79174 100644 --- a/phoenix-pig/src/it/java/org/apache/phoenix/pig/BasePigIT.java +++ b/phoenix-pig/src/it/java/org/apache/phoenix/pig/BasePigIT.java @@ -28,6 +28,7 @@ import org.apache.hadoop.conf.Configuration; import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; +import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.end2end.Shadower; import org.apache.phoenix.query.QueryServices; import org.apache.phoenix.query.QueryServicesOptions; @@ -42,7 +43,7 @@ import com.google.common.collect.Maps; -public class BasePigIT extends BaseHBaseManagedTimeIT { +public class BasePigIT extends BaseHBaseManagedTimeTableReuseIT { protected TupleFactory tupleFactory; protected String zkQuorum; protected Connection conn; From 9eb503d2b645bb29893159e3f34ae84dfbf17946 Mon Sep 17 00:00:00 2001 From: prakul agarwal Date: Tue, 26 Jul 2016 10:36:19 -0700 Subject: [PATCH 10/17] refactor with changes in phoenixRuntime et al --- .../end2end/MappingTableDataTypeIT.java | 2 +- .../phoenix/end2end/PhoenixRuntimeIT.java | 11 +- .../end2end/SpooledTmpFileDeleteIT.java | 20 +- .../end2end/SqrtFunctionEnd2EndIT.java | 25 +- .../end2end/index/IndexMetadataIT.java | 248 +++++++++--------- .../org/apache/phoenix/tx/TxCheckpointIT.java | 46 ++-- .../phoenix/pherf/ResultBaseTestIT.java | 3 +- .../apache/phoenix/pherf/SchemaReaderIT.java | 4 +- 8 files changed, 198 insertions(+), 161 deletions(-) diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/MappingTableDataTypeIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/MappingTableDataTypeIT.java index 6c51ebd6f45..3ae33fbe510 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/MappingTableDataTypeIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/MappingTableDataTypeIT.java @@ -49,7 +49,7 @@ import org.junit.Test; -public class MappingTableDataTypeIT extends BaseHBaseManagedTimeIT { +public class MappingTableDataTypeIT extends BaseHBaseManagedTimeTableReuseIT { @Test public void testMappingHbaseTableToPhoenixTable() throws Exception { String mtest = generateRandomString(); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixRuntimeIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixRuntimeIT.java index cfb729a891e..c935f16ef9c 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixRuntimeIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixRuntimeIT.java @@ -29,6 +29,7 @@ import java.util.List; import java.util.Properties; +import org.apache.hadoop.hbase.HConstants; import org.apache.hadoop.hbase.client.HTableInterface; import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.ResultScanner; @@ -54,7 +55,7 @@ import com.google.common.collect.Lists; -public class PhoenixRuntimeIT extends BaseHBaseManagedTimeIT { +public class PhoenixRuntimeIT extends BaseHBaseManagedTimeTableReuseIT { private static void assertTenantIds(Expression e, HTableInterface htable, Filter filter, String[] tenantIds) throws IOException { ImmutableBytesWritable ptr = new ImmutableBytesWritable(); Scan scan = new Scan(); @@ -97,8 +98,8 @@ private static Filter getUserTableAndViewsFilter() { private void testGetTenantIdExpression(boolean isSalted) throws Exception { Connection conn = DriverManager.getConnection(getUrl()); conn.setAutoCommit(true); - String tableName = generateRandomString() + "FOO_" + (isSalted ? "SALTED" : "UNSALTED"); - String sequenceName = generateRandomString() + "_S"; + String tableName = generateRandomString() ; + String sequenceName = generateRandomString() ; conn.createStatement().execute("CREATE TABLE " + tableName + " (k1 VARCHAR NOT NULL, k2 VARCHAR, CONSTRAINT PK PRIMARY KEY(K1,K2)) MULTI_TENANT=true" + (isSalted ? ",SALT_BUCKETS=3" : "")); conn.createStatement().execute("CREATE SEQUENCE " + sequenceName); conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('t1','x')"); @@ -146,7 +147,9 @@ private void testGetTenantIdExpression(boolean isSalted) throws Exception { Expression e7 = PhoenixRuntime.getFirstPKColumnExpression(conn, tableName); HTableInterface htable7 = conn.unwrap(PhoenixConnection.class).getQueryServices().getTable(Bytes.toBytes(tableName)); assertTenantIds(e7, htable7, new FirstKeyOnlyFilter(), new String[] {"t1", "t2"} ); - + + //Have to metaData tables because BaseHBaseManagedTimeTableReuseIT doesn't delete them after each test case , and tenant list will create issues between test cases + deletePriorMetaData(HConstants.LATEST_TIMESTAMP, getUrl()); } } diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SpooledTmpFileDeleteIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SpooledTmpFileDeleteIT.java index e23378e4930..728aa6f8409 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SpooledTmpFileDeleteIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SpooledTmpFileDeleteIT.java @@ -38,11 +38,12 @@ -public class SpooledTmpFileDeleteIT extends BaseHBaseManagedTimeIT { +public class SpooledTmpFileDeleteIT extends BaseHBaseManagedTimeTableReuseIT { private Connection conn = null; private Properties props = null; private File spoolDir; + private String tableName; @BeforeClass @Shadower(classBeingShadowed = BaseClientManagedTimeIT.class) @@ -56,16 +57,17 @@ public static void doSetup() throws Exception { @Before public void setup() throws SQLException { + tableName = generateRandomString(); props = new Properties(); spoolDir = Files.createTempDir(); props.put(QueryServices.SPOOL_DIRECTORY, spoolDir.getPath()); props.setProperty(QueryServices.SPOOL_THRESHOLD_BYTES_ATTRIB, Integer.toString(1)); conn = DriverManager.getConnection(getUrl(), props); Statement stmt = conn.createStatement(); - stmt.execute("CREATE TABLE test (ID varchar NOT NULL PRIMARY KEY) SPLIT ON ('EA','EZ')"); - stmt.execute("UPSERT INTO test VALUES ('AA')"); - stmt.execute("UPSERT INTO test VALUES ('EB')"); - stmt.execute("UPSERT INTO test VALUES ('FA')"); + stmt.execute("CREATE TABLE " + tableName + " (ID varchar NOT NULL PRIMARY KEY) SPLIT ON ('EA','EZ')"); + stmt.execute("UPSERT INTO " + tableName + " VALUES ('AA')"); + stmt.execute("UPSERT INTO " + tableName + " VALUES ('EB')"); + stmt.execute("UPSERT INTO " + tableName + " VALUES ('FA')"); stmt.close(); conn.commit(); } @@ -98,7 +100,7 @@ public boolean accept(File dir) { file.delete(); } - String query = "select * from TEST"; + String query = "select * from " + tableName + ""; Statement statement = conn.createStatement(); ResultSet rs = statement.executeQuery(query); assertTrue(rs.next()); @@ -109,7 +111,7 @@ public boolean accept(File dir) { fileNames.add(file.getName()); } - String preparedQuery = "select * from test where id = ?"; + String preparedQuery = "select * from " + tableName + " where id = ?"; PreparedStatement pstmt = conn.prepareStatement(preparedQuery); pstmt.setString(1, "EB"); ResultSet prs = pstmt.executeQuery(preparedQuery); @@ -121,14 +123,14 @@ public boolean accept(File dir) { } Connection conn2 = DriverManager.getConnection(getUrl(), props); - String query2 = "select * from TEST"; + String query2 = "select * from " + tableName + ""; Statement statement2 = conn2.createStatement(); ResultSet rs2 = statement2.executeQuery(query2); assertTrue(rs2.next()); files = dir.listFiles(fnameFilter); assertTrue(files.length > 0); - String preparedQuery2 = "select * from test where id = ?"; + String preparedQuery2 = "select * from " + tableName + " where id = ?"; PreparedStatement pstmt2 = conn2.prepareStatement(preparedQuery2); pstmt2.setString(1, "EB"); ResultSet prs2 = pstmt2.executeQuery(preparedQuery2); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SqrtFunctionEnd2EndIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SqrtFunctionEnd2EndIT.java index 50fdd4fc385..877b46d28de 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SqrtFunctionEnd2EndIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SqrtFunctionEnd2EndIT.java @@ -18,6 +18,7 @@ package org.apache.phoenix.end2end; import static org.apache.phoenix.util.TestUtil.closeStmtAndConn; +import static org.apache.phoenix.util.TestUtil.getTableName; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; @@ -33,21 +34,25 @@ /** * End to end tests for {@link SqrtFunction} */ -public class SqrtFunctionEnd2EndIT extends BaseHBaseManagedTimeIT { +public class SqrtFunctionEnd2EndIT extends BaseHBaseManagedTimeTableReuseIT { private static final String KEY = "key"; private static final double ZERO = 1e-8; - + String testUnsignedTable; + String testSignedTable; + @Before public void initTable() throws Exception { Connection conn = null; PreparedStatement stmt = null; + testUnsignedTable = generateRandomString(); + testSignedTable = generateRandomString(); try { conn = DriverManager.getConnection(getUrl()); String ddl; - ddl = "CREATE TABLE testSigned (k VARCHAR NOT NULL PRIMARY KEY, doub DOUBLE, fl FLOAT, inte INTEGER, lon BIGINT, smalli SMALLINT, tinyi TINYINT)"; + ddl = "CREATE TABLE " + testSignedTable + " (k VARCHAR NOT NULL PRIMARY KEY, doub DOUBLE, fl FLOAT, inte INTEGER, lon BIGINT, smalli SMALLINT, tinyi TINYINT)"; conn.createStatement().execute(ddl); - ddl = "CREATE TABLE testUnsigned (k VARCHAR NOT NULL PRIMARY KEY, doub UNSIGNED_DOUBLE, fl UNSIGNED_FLOAT, inte UNSIGNED_INT, lon UNSIGNED_LONG, smalli UNSIGNED_SMALLINT, tinyi UNSIGNED_TINYINT)"; + ddl = "CREATE TABLE " + testUnsignedTable + " (k VARCHAR NOT NULL PRIMARY KEY, doub UNSIGNED_DOUBLE, fl UNSIGNED_FLOAT, inte UNSIGNED_INT, lon UNSIGNED_LONG, smalli UNSIGNED_SMALLINT, tinyi UNSIGNED_TINYINT)"; conn.createStatement().execute(ddl); conn.commit(); } finally { @@ -56,7 +61,7 @@ public void initTable() throws Exception { } private void updateSignedTable(Connection conn, double data) throws Exception { - PreparedStatement stmt = conn.prepareStatement("UPSERT INTO testSigned VALUES (?, ?, ?, ?, ?, ?, ?)"); + PreparedStatement stmt = conn.prepareStatement("UPSERT INTO " + testSignedTable + " VALUES (?, ?, ?, ?, ?, ?, ?)"); stmt.setString(1, KEY); Double d = Double.valueOf(data); stmt.setDouble(2, d.doubleValue()); @@ -70,7 +75,7 @@ private void updateSignedTable(Connection conn, double data) throws Exception { } private void updateUnsignedTable(Connection conn, double data) throws Exception { - PreparedStatement stmt = conn.prepareStatement("UPSERT INTO testUnsigned VALUES (?, ?, ?, ?, ?, ?, ?)"); + PreparedStatement stmt = conn.prepareStatement("UPSERT INTO " + testUnsignedTable + " VALUES (?, ?, ?, ?, ?, ?, ?)"); stmt.setString(1, KEY); Double d = Double.valueOf(data); stmt.setDouble(2, d.doubleValue()); @@ -85,7 +90,7 @@ private void updateUnsignedTable(Connection conn, double data) throws Exception private void testSignedNumberSpec(Connection conn, double data) throws Exception { updateSignedTable(conn, data); - ResultSet rs = conn.createStatement().executeQuery("SELECT SQRT(doub),SQRT(fl),SQRT(inte),SQRT(lon),SQRT(smalli),SQRT(tinyi) FROM testSigned"); + ResultSet rs = conn.createStatement().executeQuery("SELECT SQRT(doub),SQRT(fl),SQRT(inte),SQRT(lon),SQRT(smalli),SQRT(tinyi) FROM " + testSignedTable ); assertTrue(rs.next()); Double d = Double.valueOf(data); assertTrue(Math.abs(rs.getDouble(1) - Math.sqrt(d.doubleValue())) < ZERO); @@ -95,7 +100,7 @@ private void testSignedNumberSpec(Connection conn, double data) throws Exception assertTrue(Math.abs(rs.getDouble(5) - Math.sqrt(d.shortValue())) < ZERO); assertTrue(Math.abs(rs.getDouble(6) - Math.sqrt(d.byteValue())) < ZERO); assertTrue(!rs.next()); - PreparedStatement stmt = conn.prepareStatement("SELECT k FROM testSigned WHERE SQRT(doub)>0 AND SQRT(fl)>0 AND SQRT(inte)>0 AND SQRT(lon)>0 AND SQRT(smalli)>0 AND SQRT(tinyi)>0"); + PreparedStatement stmt = conn.prepareStatement("SELECT k FROM " + testSignedTable + " WHERE SQRT(doub)>0 AND SQRT(fl)>0 AND SQRT(inte)>0 AND SQRT(lon)>0 AND SQRT(smalli)>0 AND SQRT(tinyi)>0"); rs = stmt.executeQuery(); if (data > 0) { assertTrue(rs.next()); @@ -106,7 +111,7 @@ private void testSignedNumberSpec(Connection conn, double data) throws Exception private void testUnsignedNumberSpec(Connection conn, double data) throws Exception { updateUnsignedTable(conn, data); - ResultSet rs = conn.createStatement().executeQuery("SELECT SQRT(doub),SQRT(fl),SQRT(inte),SQRT(lon),SQRT(smalli),SQRT(tinyi) FROM testUnsigned"); + ResultSet rs = conn.createStatement().executeQuery("SELECT SQRT(doub),SQRT(fl),SQRT(inte),SQRT(lon),SQRT(smalli),SQRT(tinyi) FROM " + testUnsignedTable ); assertTrue(rs.next()); Double d = Double.valueOf(data); assertTrue(Math.abs(rs.getDouble(1) - Math.sqrt(d.doubleValue())) < ZERO); @@ -116,7 +121,7 @@ private void testUnsignedNumberSpec(Connection conn, double data) throws Excepti assertTrue(Math.abs(rs.getDouble(5) - Math.sqrt(d.shortValue())) < ZERO); assertTrue(Math.abs(rs.getDouble(6) - Math.sqrt(d.byteValue())) < ZERO); assertTrue(!rs.next()); - PreparedStatement stmt = conn.prepareStatement("SELECT k FROM testUnsigned WHERE SQRT(doub)>0 AND SQRT(fl)>0 AND SQRT(inte)>0 AND SQRT(lon)>0 AND SQRT(smalli)>0 AND SQRT(tinyi)>0"); + PreparedStatement stmt = conn.prepareStatement("SELECT k FROM " + testUnsignedTable + " WHERE SQRT(doub)>0 AND SQRT(fl)>0 AND SQRT(inte)>0 AND SQRT(lon)>0 AND SQRT(smalli)>0 AND SQRT(tinyi)>0"); rs = stmt.executeQuery(); if (data > 0) { assertTrue(rs.next()); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexMetadataIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexMetadataIT.java index 57f734c09a2..482408c9075 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexMetadataIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexMetadataIT.java @@ -17,10 +17,7 @@ */ package org.apache.phoenix.end2end.index; -import static org.apache.phoenix.util.TestUtil.INDEX_DATA_SCHEMA; -import static org.apache.phoenix.util.TestUtil.INDEX_DATA_TABLE; -import static org.apache.phoenix.util.TestUtil.MUTABLE_INDEX_DATA_TABLE; -import static org.apache.phoenix.util.TestUtil.TEST_PROPERTIES; +import static org.apache.phoenix.util.TestUtil.*; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; @@ -38,6 +35,7 @@ import org.apache.hadoop.hbase.io.ImmutableBytesWritable; import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; +import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.exception.SQLExceptionCode; import org.apache.phoenix.jdbc.PhoenixConnection; import org.apache.phoenix.jdbc.PhoenixDatabaseMetaData; @@ -55,7 +53,7 @@ import org.junit.Test; -public class IndexMetadataIT extends BaseHBaseManagedTimeIT { +public class IndexMetadataIT extends BaseHBaseManagedTimeTableReuseIT { private enum Order {ASC, DESC}; @@ -121,167 +119,169 @@ public void testIndexCreateDrop() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); conn.setAutoCommit(false); + String indexDataTable = generateRandomString(); + String indexName = generateRandomString(); try { - ensureTableCreated(getUrl(), MUTABLE_INDEX_DATA_TABLE, MUTABLE_INDEX_DATA_TABLE); - String ddl = "CREATE INDEX IDX ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + MUTABLE_INDEX_DATA_TABLE + ensureTableCreated(getUrl(), indexDataTable, MUTABLE_INDEX_DATA_TABLE); + String ddl = "CREATE INDEX " + indexName + " ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexDataTable + " (varchar_col1 ASC, varchar_col2 ASC, int_pk DESC)" + " INCLUDE (int_col1, int_col2)"; PreparedStatement stmt = conn.prepareStatement(ddl); stmt.execute(); // Verify the metadata for index is correct. - ResultSet rs = conn.getMetaData().getIndexInfo(null, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, false, false); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, "IDX", 1, "A:VARCHAR_COL1", Order.ASC); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, "IDX", 2, "B:VARCHAR_COL2", Order.ASC); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, "IDX", 3, ":INT_PK", Order.DESC); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, "IDX", 4, ":VARCHAR_PK", Order.ASC); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, "IDX", 5, ":CHAR_PK", Order.ASC); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, "IDX", 6, ":LONG_PK", Order.DESC); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, "IDX", 7, ":DECIMAL_PK", Order.ASC); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, "IDX", 8, ":DATE_PK", Order.ASC); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, "IDX", 9, "A:INT_COL1", null); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, "IDX", 10, "B:INT_COL2", null); + ResultSet rs = conn.getMetaData().getIndexInfo(null, INDEX_DATA_SCHEMA, indexDataTable, false, false); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName , 1, "A:VARCHAR_COL1", Order.ASC); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName , 2, "B:VARCHAR_COL2", Order.ASC); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName , 3, ":INT_PK", Order.DESC); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName , 4, ":VARCHAR_PK", Order.ASC); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName , 5, ":CHAR_PK", Order.ASC); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName , 6, ":LONG_PK", Order.DESC); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName , 7, ":DECIMAL_PK", Order.ASC); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName , 8, ":DATE_PK", Order.ASC); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName , 9, "A:INT_COL1", null); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName , 10, "B:INT_COL2", null); assertFalse(rs.next()); - rs = conn.getMetaData().getTables(null, StringUtil.escapeLike(INDEX_DATA_SCHEMA), StringUtil.escapeLike("IDX"), new String[] {PTableType.INDEX.getValue().getString() }); + rs = conn.getMetaData().getTables(null, StringUtil.escapeLike(INDEX_DATA_SCHEMA), StringUtil.escapeLike(indexName ), new String[] {PTableType.INDEX.getValue().getString() }); assertTrue(rs.next()); assertEquals(PIndexState.ACTIVE.toString(), rs.getString("INDEX_STATE")); // Verify that there is a row inserted into the data table for the index table. - rs = IndexTestUtil.readDataTableIndexRow(conn, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, "IDX"); + rs = IndexTestUtil.readDataTableIndexRow(conn, INDEX_DATA_SCHEMA, indexDataTable, indexName ); assertTrue(rs.next()); - assertEquals("IDX", rs.getString(1)); + assertEquals(indexName , rs.getString(1)); assertFalse(rs.next()); - assertActiveIndex(conn, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE); + assertActiveIndex(conn, INDEX_DATA_SCHEMA, indexDataTable); - ddl = "ALTER INDEX IDX ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + MUTABLE_INDEX_DATA_TABLE + " UNUSABLE"; + ddl = "ALTER INDEX " + indexName + " ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexDataTable + " UNUSABLE"; conn.createStatement().execute(ddl); // Verify the metadata for index is correct. - rs = conn.getMetaData().getTables(null, StringUtil.escapeLike(INDEX_DATA_SCHEMA), "IDX", new String[] {PTableType.INDEX.toString()}); + rs = conn.getMetaData().getTables(null, StringUtil.escapeLike(INDEX_DATA_SCHEMA), indexName , new String[] {PTableType.INDEX.toString()}); assertTrue(rs.next()); - assertEquals("IDX", rs.getString(3)); + assertEquals(indexName , rs.getString(3)); assertEquals(PIndexState.INACTIVE.toString(), rs.getString("INDEX_STATE")); assertFalse(rs.next()); - assertActiveIndex(conn, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE); + assertActiveIndex(conn, INDEX_DATA_SCHEMA, indexDataTable); - ddl = "ALTER INDEX IDX ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + MUTABLE_INDEX_DATA_TABLE + " USABLE"; + ddl = "ALTER INDEX " + indexName + " ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexDataTable + " USABLE"; conn.createStatement().execute(ddl); // Verify the metadata for index is correct. - rs = conn.getMetaData().getTables(null, StringUtil.escapeLike(INDEX_DATA_SCHEMA), "IDX", new String[] {PTableType.INDEX.toString()}); + rs = conn.getMetaData().getTables(null, StringUtil.escapeLike(INDEX_DATA_SCHEMA), indexName , new String[] {PTableType.INDEX.toString()}); assertTrue(rs.next()); - assertEquals("IDX", rs.getString(3)); + assertEquals(indexName , rs.getString(3)); assertEquals(PIndexState.ACTIVE.toString(), rs.getString("INDEX_STATE")); assertFalse(rs.next()); - assertActiveIndex(conn, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE); + assertActiveIndex(conn, INDEX_DATA_SCHEMA, indexDataTable); - ddl = "ALTER INDEX IDX ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + MUTABLE_INDEX_DATA_TABLE + " DISABLE"; + ddl = "ALTER INDEX " + indexName + " ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexDataTable + " DISABLE"; conn.createStatement().execute(ddl); // Verify the metadata for index is correct. - rs = conn.getMetaData().getTables(null, StringUtil.escapeLike(INDEX_DATA_SCHEMA), "IDX", new String[] {PTableType.INDEX.toString()}); + rs = conn.getMetaData().getTables(null, StringUtil.escapeLike(INDEX_DATA_SCHEMA), indexName , new String[] {PTableType.INDEX.toString()}); assertTrue(rs.next()); - assertEquals("IDX", rs.getString(3)); + assertEquals(indexName , rs.getString(3)); assertEquals(PIndexState.DISABLE.toString(), rs.getString("INDEX_STATE")); assertFalse(rs.next()); - assertNoActiveIndex(conn, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE); + assertNoActiveIndex(conn, INDEX_DATA_SCHEMA, indexDataTable); try { - ddl = "ALTER INDEX IDX ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + MUTABLE_INDEX_DATA_TABLE + " USABLE"; + ddl = "ALTER INDEX " + indexName + " ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexDataTable + " USABLE"; conn.createStatement().execute(ddl); fail(); } catch (SQLException e) { assertEquals(SQLExceptionCode.INVALID_INDEX_STATE_TRANSITION.getErrorCode(), e.getErrorCode()); } try { - ddl = "ALTER INDEX IDX ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + MUTABLE_INDEX_DATA_TABLE + " UNUSABLE"; + ddl = "ALTER INDEX " + indexName + " ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexDataTable + " UNUSABLE"; conn.createStatement().execute(ddl); fail(); } catch (SQLException e) { assertEquals(SQLExceptionCode.INVALID_INDEX_STATE_TRANSITION.getErrorCode(), e.getErrorCode()); } - ddl = "ALTER INDEX IDX ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + MUTABLE_INDEX_DATA_TABLE + " REBUILD"; + ddl = "ALTER INDEX " + indexName + " ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexDataTable + " REBUILD"; conn.createStatement().execute(ddl); // Verify the metadata for index is correct. - rs = conn.getMetaData().getTables(null, StringUtil.escapeLike(INDEX_DATA_SCHEMA), "IDX", new String[] {PTableType.INDEX.toString()}); + rs = conn.getMetaData().getTables(null, StringUtil.escapeLike(INDEX_DATA_SCHEMA), indexName , new String[] {PTableType.INDEX.toString()}); assertTrue(rs.next()); - assertEquals("IDX", rs.getString(3)); + assertEquals(indexName , rs.getString(3)); assertEquals(PIndexState.ACTIVE.toString(), rs.getString("INDEX_STATE")); assertFalse(rs.next()); - assertActiveIndex(conn, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE); + assertActiveIndex(conn, INDEX_DATA_SCHEMA, indexDataTable); - ddl = "DROP INDEX IDX ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + MUTABLE_INDEX_DATA_TABLE; + ddl = "DROP INDEX " + indexName + " ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexDataTable; stmt = conn.prepareStatement(ddl); stmt.execute(); - assertNoActiveIndex(conn, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE); + assertNoActiveIndex(conn, INDEX_DATA_SCHEMA, indexDataTable); // Assert the rows for index table is completely removed. - rs = conn.getMetaData().getIndexInfo(null, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, false, false); + rs = conn.getMetaData().getIndexInfo(null, INDEX_DATA_SCHEMA, indexDataTable, false, false); assertFalse(rs.next()); // Assert the row in the original data table is removed. // Verify that there is a row inserted into the data table for the index table. - rs = IndexTestUtil.readDataTableIndexRow(conn, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, "IDX"); + rs = IndexTestUtil.readDataTableIndexRow(conn, INDEX_DATA_SCHEMA, indexDataTable, indexName ); assertFalse(rs.next()); // Create another two indexes, and drops the table, verifies the indexes are dropped as well. - ddl = "CREATE INDEX IDX1 ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + MUTABLE_INDEX_DATA_TABLE + ddl = "CREATE INDEX " + indexName + "1 ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexDataTable + " (varchar_col1 ASC, varchar_col2 ASC, int_pk DESC)" + " INCLUDE (int_col1, int_col2)"; stmt = conn.prepareStatement(ddl); stmt.execute(); - ddl = "CREATE INDEX IDX2 ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + MUTABLE_INDEX_DATA_TABLE + ddl = "CREATE INDEX " + indexName + "2 ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexDataTable + " (varchar_col1 ASC, varchar_col2 ASC, int_pk DESC)" + " INCLUDE (long_pk, int_col2)"; stmt = conn.prepareStatement(ddl); stmt.execute(); - rs = conn.getMetaData().getIndexInfo(null, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, false, false); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, "IDX1", 1, "A:VARCHAR_COL1", Order.ASC); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, "IDX1", 2, "B:VARCHAR_COL2", Order.ASC); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, "IDX1", 3, ":INT_PK", Order.DESC); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, "IDX1", 4, ":VARCHAR_PK", Order.ASC); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, "IDX1", 5, ":CHAR_PK", Order.ASC); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, "IDX1", 6, ":LONG_PK", Order.DESC); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, "IDX1", 7, ":DECIMAL_PK", Order.ASC); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, "IDX1", 8, ":DATE_PK", Order.ASC); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, "IDX1", 9, "A:INT_COL1", null); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, "IDX1", 10, "B:INT_COL2", null); + rs = conn.getMetaData().getIndexInfo(null, INDEX_DATA_SCHEMA, indexDataTable, false, false); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName + "1", 1, "A:VARCHAR_COL1", Order.ASC); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName + "1", 2, "B:VARCHAR_COL2", Order.ASC); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName + "1", 3, ":INT_PK", Order.DESC); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName + "1", 4, ":VARCHAR_PK", Order.ASC); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName + "1", 5, ":CHAR_PK", Order.ASC); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName + "1", 6, ":LONG_PK", Order.DESC); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName + "1", 7, ":DECIMAL_PK", Order.ASC); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName + "1", 8, ":DATE_PK", Order.ASC); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName + "1", 9, "A:INT_COL1", null); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName + "1", 10, "B:INT_COL2", null); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, "IDX2", 1, "A:VARCHAR_COL1", Order.ASC); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, "IDX2", 2, "B:VARCHAR_COL2", Order.ASC); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, "IDX2", 3, ":INT_PK", Order.DESC); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, "IDX2", 4, ":VARCHAR_PK", Order.ASC); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, "IDX2", 5, ":CHAR_PK", Order.ASC); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, "IDX2", 6, ":LONG_PK", Order.DESC); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, "IDX2", 7, ":DECIMAL_PK", Order.ASC); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, "IDX2", 8, ":DATE_PK", Order.ASC); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, "IDX2", 9, "B:INT_COL2", null); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName + "2", 1, "A:VARCHAR_COL1", Order.ASC); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName + "2", 2, "B:VARCHAR_COL2", Order.ASC); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName + "2", 3, ":INT_PK", Order.DESC); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName + "2", 4, ":VARCHAR_PK", Order.ASC); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName + "2", 5, ":CHAR_PK", Order.ASC); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName + "2", 6, ":LONG_PK", Order.DESC); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName + "2", 7, ":DECIMAL_PK", Order.ASC); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName + "2", 8, ":DATE_PK", Order.ASC); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName + "2", 9, "B:INT_COL2", null); assertFalse(rs.next()); // Create another table in the same schema - String diffTableNameInSameSchema = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + MUTABLE_INDEX_DATA_TABLE + "2"; + String diffTableNameInSameSchema = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexDataTable + "2"; conn.createStatement().execute("CREATE TABLE " + diffTableNameInSameSchema + "(k INTEGER PRIMARY KEY)"); try { - conn.createStatement().execute("DROP INDEX IDX1 ON " + diffTableNameInSameSchema); - fail("Should have realized index IDX1 is not on the table"); + conn.createStatement().execute("DROP INDEX " + indexName + "1 ON " + diffTableNameInSameSchema); + fail("Should have realized index " + indexName + "1 is not on the table"); } catch (TableNotFoundException ignore) { } - ddl = "DROP TABLE " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + MUTABLE_INDEX_DATA_TABLE; + ddl = "DROP TABLE " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexDataTable; stmt = conn.prepareStatement(ddl); stmt.execute(); - rs = conn.getMetaData().getIndexInfo(null, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, false, false); + rs = conn.getMetaData().getIndexInfo(null, INDEX_DATA_SCHEMA, indexDataTable, false, false); assertFalse(rs.next()); - rs = IndexTestUtil.readDataTableIndexRow(conn, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, "IDX1"); + rs = IndexTestUtil.readDataTableIndexRow(conn, INDEX_DATA_SCHEMA, indexDataTable, indexName + "1"); assertFalse(rs.next()); - rs = IndexTestUtil.readDataTableIndexRow(conn, INDEX_DATA_SCHEMA, MUTABLE_INDEX_DATA_TABLE, "IDX2"); + rs = IndexTestUtil.readDataTableIndexRow(conn, INDEX_DATA_SCHEMA, indexDataTable, indexName + "2"); assertFalse(rs.next()); } finally { conn.close(); @@ -294,54 +294,56 @@ public void testIndexDefinitionWithNullableFixedWidthColInPK() throws Exception // column. The definition is defined in IndexUtil.getIndexColumnDataType. Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); + String indexDataTable = generateRandomString(); + String indexName = generateRandomString(); conn.setAutoCommit(false); try { - ensureTableCreated(getUrl(), INDEX_DATA_TABLE, INDEX_DATA_TABLE); - String ddl = "CREATE INDEX IDX ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + INDEX_DATA_TABLE + ensureTableCreated(getUrl(), indexDataTable, INDEX_DATA_TABLE); + String ddl = "CREATE INDEX " + indexName + " ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexDataTable + " (char_col1 ASC, int_col2 ASC, long_col2 DESC)" + " INCLUDE (int_col1)"; PreparedStatement stmt = conn.prepareStatement(ddl); stmt.execute(); // Verify the CHAR, INT and LONG are converted to right type. - ResultSet rs = conn.getMetaData().getIndexInfo(null, INDEX_DATA_SCHEMA, INDEX_DATA_TABLE, false, false); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, INDEX_DATA_TABLE, "IDX", 1, "A:CHAR_COL1", Order.ASC, Types.VARCHAR); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, INDEX_DATA_TABLE, "IDX", 2, "B:INT_COL2", Order.ASC, Types.DECIMAL); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, INDEX_DATA_TABLE, "IDX", 3, "B:LONG_COL2", Order.DESC, Types.DECIMAL); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, INDEX_DATA_TABLE, "IDX", 4, ":VARCHAR_PK", Order.ASC); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, INDEX_DATA_TABLE, "IDX", 5, ":CHAR_PK", Order.ASC); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, INDEX_DATA_TABLE, "IDX", 6, ":INT_PK", Order.ASC); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, INDEX_DATA_TABLE, "IDX", 7, ":LONG_PK", Order.DESC); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, INDEX_DATA_TABLE, "IDX", 8, ":DECIMAL_PK", Order.ASC); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, INDEX_DATA_TABLE, "IDX", 9, ":DATE_PK", Order.ASC); - assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, INDEX_DATA_TABLE, "IDX", 10, "A:INT_COL1", null); + ResultSet rs = conn.getMetaData().getIndexInfo(null, INDEX_DATA_SCHEMA, indexDataTable, false, false); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName , 1, "A:CHAR_COL1", Order.ASC, Types.VARCHAR); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName , 2, "B:INT_COL2", Order.ASC, Types.DECIMAL); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName , 3, "B:LONG_COL2", Order.DESC, Types.DECIMAL); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName , 4, ":VARCHAR_PK", Order.ASC); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName , 5, ":CHAR_PK", Order.ASC); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName , 6, ":INT_PK", Order.ASC); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName , 7, ":LONG_PK", Order.DESC); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName , 8, ":DECIMAL_PK", Order.ASC); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName , 9, ":DATE_PK", Order.ASC); + assertIndexInfoMetadata(rs, INDEX_DATA_SCHEMA, indexDataTable, indexName , 10, "A:INT_COL1", null); assertFalse(rs.next()); - rs = IndexTestUtil.readDataTableIndexRow(conn, INDEX_DATA_SCHEMA, INDEX_DATA_TABLE, "IDX"); + rs = IndexTestUtil.readDataTableIndexRow(conn, INDEX_DATA_SCHEMA, indexDataTable, indexName ); assertTrue(rs.next()); - assertEquals("IDX", rs.getString(1)); + assertEquals(indexName , rs.getString(1)); assertFalse(rs.next()); - ddl = "ALTER INDEX IDX ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + INDEX_DATA_TABLE + " UNUSABLE"; + ddl = "ALTER INDEX " + indexName + " ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexDataTable + " UNUSABLE"; conn.createStatement().execute(ddl); // Verify the metadata for index is correct. - rs = conn.getMetaData().getTables(null, StringUtil.escapeLike(INDEX_DATA_SCHEMA), "IDX", new String[] {PTableType.INDEX.toString()}); + rs = conn.getMetaData().getTables(null, StringUtil.escapeLike(INDEX_DATA_SCHEMA), indexName , new String[] {PTableType.INDEX.toString()}); assertTrue(rs.next()); - assertEquals("IDX", rs.getString(3)); + assertEquals(indexName , rs.getString(3)); assertEquals(PIndexState.INACTIVE.toString(), rs.getString("INDEX_STATE")); assertFalse(rs.next()); - ddl = "DROP INDEX IDX ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + INDEX_DATA_TABLE; + ddl = "DROP INDEX " + indexName + " ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexDataTable; stmt = conn.prepareStatement(ddl); stmt.execute(); // Assert the rows for index table is completely removed. - rs = conn.getMetaData().getIndexInfo(null, INDEX_DATA_SCHEMA, INDEX_DATA_TABLE, false, false); + rs = conn.getMetaData().getIndexInfo(null, INDEX_DATA_SCHEMA, indexDataTable, false, false); assertFalse(rs.next()); // Assert the row in the original data table is removed. // Verify that there is a row inserted into the data table for the index table. - rs = IndexTestUtil.readDataTableIndexRow(conn, INDEX_DATA_SCHEMA, INDEX_DATA_TABLE, "IDX"); + rs = IndexTestUtil.readDataTableIndexRow(conn, INDEX_DATA_SCHEMA, indexDataTable, indexName ); assertFalse(rs.next()); } finally { conn.close(); @@ -354,27 +356,29 @@ public void testAlterIndexWithLowerCaseName() throws Exception { Connection conn = DriverManager.getConnection(getUrl(), props); conn.setAutoCommit(false); String indexName = "\"lowerCaseIndex\""; + String indexDataTable = generateRandomString(); + //String indexName = generateRandomString(); try { - ensureTableCreated(getUrl(), INDEX_DATA_TABLE, INDEX_DATA_TABLE); - String ddl = "CREATE INDEX " + indexName + " ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + INDEX_DATA_TABLE + ensureTableCreated(getUrl(), indexDataTable, INDEX_DATA_TABLE); + String ddl = "CREATE INDEX " + indexName + " ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexDataTable + " (char_col1 ASC, int_col2 ASC, long_col2 DESC)" + " INCLUDE (int_col1)"; PreparedStatement stmt = conn.prepareStatement(ddl); stmt.execute(); - ddl = "ALTER INDEX " + indexName + " ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + INDEX_DATA_TABLE + " UNUSABLE"; + ddl = "ALTER INDEX " + indexName + " ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexDataTable + " UNUSABLE"; conn.createStatement().execute(ddl); // Verify the metadata for index is correct. ResultSet rs = conn.getMetaData().getTables(null, StringUtil.escapeLike(INDEX_DATA_SCHEMA), "lowerCaseIndex", new String[] {PTableType.INDEX.toString()}); assertTrue(rs.next()); assertEquals("lowerCaseIndex", rs.getString(3)); - ddl = "DROP INDEX " + indexName + " ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + INDEX_DATA_TABLE; + ddl = "DROP INDEX " + indexName + " ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexDataTable; stmt = conn.prepareStatement(ddl); stmt.execute(); // Assert the rows for index table is completely removed. - rs = conn.getMetaData().getIndexInfo(null, INDEX_DATA_SCHEMA, INDEX_DATA_TABLE, false, false); + rs = conn.getMetaData().getIndexInfo(null, INDEX_DATA_SCHEMA, indexDataTable, false, false); assertFalse(rs.next()); } finally { conn.close(); @@ -387,9 +391,11 @@ public void testIndexDefinitionWithRepeatedColumns() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); conn.setAutoCommit(false); + String indexDataTable = generateRandomString(); + String indexName = generateRandomString(); try { - ensureTableCreated(getUrl(), TestUtil.INDEX_DATA_TABLE, TestUtil.INDEX_DATA_TABLE); - String ddl = "CREATE INDEX IDX ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + INDEX_DATA_TABLE + ensureTableCreated(getUrl(), indexDataTable, TestUtil.INDEX_DATA_TABLE); + String ddl = "CREATE INDEX " + indexName + " ON " + INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + indexDataTable + " (a.int_col1, a.long_col1, b.int_col2, b.long_col2)" + " INCLUDE(int_col1, int_col2)"; PreparedStatement stmt = conn.prepareStatement(ddl); @@ -407,18 +413,20 @@ public void testIndexDefinitionWithSameColumnNamesInTwoFamily() throws Exception Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); conn.setAutoCommit(false); - String ddl = "create table test_table (char_pk varchar not null," + String testTable = generateRandomString(); + String indexName = generateRandomString(); + String ddl = "create table " + testTable + " (char_pk varchar not null," + " a.int_col integer, a.long_col integer," + " b.int_col integer, b.long_col integer" + " constraint pk primary key (char_pk))"; PreparedStatement stmt = conn.prepareStatement(ddl); stmt.execute(); - ddl = "CREATE INDEX IDX1 ON test_table (a.int_col, b.int_col)"; + ddl = "CREATE INDEX " + indexName + "1 ON " + testTable + " (a.int_col, b.int_col)"; stmt = conn.prepareStatement(ddl); stmt.execute(); try { - ddl = "CREATE INDEX IDX2 ON test_table (int_col)"; + ddl = "CREATE INDEX " + indexName + "2 ON " + testTable + " (int_col)"; stmt = conn.prepareStatement(ddl); stmt.execute(); fail("Should have caught exception"); @@ -432,9 +440,11 @@ public void testIndexDefinitionWithSameColumnNamesInTwoFamily() throws Exception @Test public void testBinaryNonnullableIndex() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); + String testTable = generateRandomString(); + String indexName = generateRandomString(); try { String ddl = - "CREATE TABLE test_table ( " + "CREATE TABLE " + testTable + " ( " + "v1 BINARY(64) NOT NULL, " + "v2 VARCHAR, " + "v3 BINARY(64), " @@ -444,29 +454,29 @@ public void testBinaryNonnullableIndex() throws Exception { conn.commit(); try { - conn.createStatement().execute("CREATE INDEX idx ON test_table (v3) INCLUDE (v4)"); + conn.createStatement().execute("CREATE INDEX " + indexName + " ON " + testTable + " (v3) INCLUDE (v4)"); fail("Should have seen SQLExceptionCode.VARBINARY_IN_ROW_KEY"); } catch (SQLException e) { assertEquals(SQLExceptionCode.VARBINARY_IN_ROW_KEY.getErrorCode(), e.getErrorCode()); } try { - conn.createStatement().execute("CREATE INDEX idx3 ON test_table (v2, v3) INCLUDE (v4)"); + conn.createStatement().execute("CREATE INDEX " + indexName + "3 ON " + testTable + " (v2, v3) INCLUDE (v4)"); fail("Should have seen SQLExceptionCode.VARBINARY_IN_ROW_KEY"); } catch (SQLException e) { assertEquals(SQLExceptionCode.VARBINARY_IN_ROW_KEY.getErrorCode(), e.getErrorCode()); } - conn.createStatement().execute("CREATE INDEX idx4 ON test_table (v4) INCLUDE (v2)"); + conn.createStatement().execute("CREATE INDEX " + indexName + "4 ON " + testTable + " (v4) INCLUDE (v2)"); conn.commit(); - conn.createStatement().execute("CREATE INDEX varbinLastInRow ON test_table (v1, v3)"); + conn.createStatement().execute("CREATE INDEX varbinLastInRow ON " + testTable + " (v1, v3)"); conn.commit(); - conn.createStatement().execute( "CREATE INDEX idx5 ON test_table (v2) INCLUDE (v4, v3, v1)"); + conn.createStatement().execute( "CREATE INDEX " + indexName + "5 ON " + testTable + " (v2) INCLUDE (v4, v3, v1)"); conn.commit(); conn.createStatement().executeQuery( - "select v1,v2,v3,v4 FROM test_table where v2 = 'abc' and v3 != 'a'"); + "select v1,v2,v3,v4 FROM " + testTable + " where v2 = 'abc' and v3 != 'a'"); } finally { @@ -480,17 +490,21 @@ public void testAsyncCreatedDate() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); conn.setAutoCommit(false); - String ddl = "create table test_table (k varchar primary key, v1 varchar, v2 varchar, v3 varchar)"; + String testTable = generateRandomString(); + + String ddl = "create table " + testTable + " (k varchar primary key, v1 varchar, v2 varchar, v3 varchar)"; PreparedStatement stmt = conn.prepareStatement(ddl); stmt.execute(); + String indexDataTable = generateRandomString(); + String indexName = generateRandomString(); - ddl = "CREATE INDEX IDX1 ON test_table (v1) ASYNC"; + ddl = "CREATE INDEX " + indexName + "1 ON " + testTable + " (v1) ASYNC"; stmt = conn.prepareStatement(ddl); stmt.execute(); - ddl = "CREATE INDEX IDX2 ON test_table (v2) ASYNC"; + ddl = "CREATE INDEX " + indexName + "2 ON " + testTable + " (v2) ASYNC"; stmt = conn.prepareStatement(ddl); stmt.execute(); - ddl = "CREATE INDEX IDX3 ON test_table (v3)"; + ddl = "CREATE INDEX " + indexName + "3 ON " + testTable + " (v3)"; stmt = conn.prepareStatement(ddl); stmt.execute(); @@ -501,11 +515,11 @@ public void testAsyncCreatedDate() throws Exception { "order by " + PhoenixDatabaseMetaData.ASYNC_CREATED_DATE ); assertTrue(rs.next()); - assertEquals("IDX1", rs.getString(1)); + assertEquals(indexName + "1", rs.getString(1)); Date d1 = rs.getDate(2); assertTrue(d1.after(d0)); assertTrue(rs.next()); - assertEquals("IDX2", rs.getString(1)); + assertEquals(indexName + "2", rs.getString(1)); Date d2 = rs.getDate(2); assertTrue(d2.after(d1)); assertFalse(rs.next()); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/tx/TxCheckpointIT.java b/phoenix-core/src/it/java/org/apache/phoenix/tx/TxCheckpointIT.java index df9a1952b5a..08d6b0d8db7 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/tx/TxCheckpointIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/tx/TxCheckpointIT.java @@ -34,6 +34,7 @@ import java.util.Properties; import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; +import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.end2end.Shadower; import org.apache.phoenix.execute.MutationState; import org.apache.phoenix.jdbc.PhoenixConnection; @@ -53,22 +54,15 @@ import com.google.common.collect.Maps; @RunWith(Parameterized.class) -public class TxCheckpointIT extends BaseHBaseManagedTimeIT { +public class TxCheckpointIT extends BaseHBaseManagedTimeTableReuseIT { private final boolean localIndex; private final boolean mutable; - private String tableName; - private String indexName; - private String seqName; - private String fullTableName; public TxCheckpointIT(boolean localIndex, boolean mutable) { this.localIndex = localIndex; this.mutable = mutable; - this.tableName = TestUtil.DEFAULT_DATA_TABLE_NAME; - this.indexName = "IDX_" + System.currentTimeMillis(); - this.seqName = "SEQ_" + System.currentTimeMillis(); - this.fullTableName = SchemaUtil.getTableName(tableName, tableName); + } @BeforeClass @@ -89,6 +83,10 @@ public static Collection data() { @Test public void testUpsertSelectDoesntSeeUpsertedData() throws Exception { + String tableName = "TBL_" + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + String seqName = "SEQ_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(tableName, tableName); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); props.setProperty(QueryServices.MUTATE_BATCH_SIZE_ATTRIB, Integer.toString(3)); props.setProperty(QueryServices.SCAN_CACHE_SIZE_ATTRIB, Integer.toString(3)); @@ -110,17 +108,23 @@ public void testUpsertSelectDoesntSeeUpsertedData() throws Exception { @Test public void testRollbackOfUncommittedDeleteSingleCol() throws Exception { + String tableName = "TBL_" + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(tableName, tableName); String indexDDL = "CREATE "+(localIndex? "LOCAL " : "")+"INDEX " + indexName + " ON " + fullTableName + " (v1) INCLUDE(v2)"; - testRollbackOfUncommittedDelete(indexDDL); + testRollbackOfUncommittedDelete(indexDDL, fullTableName); } @Test public void testRollbackOfUncommittedDeleteMultiCol() throws Exception { + String tableName = "TBL_" + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(tableName, tableName); String indexDDL = "CREATE "+(localIndex? "LOCAL " : "")+"INDEX " + indexName + " ON " + fullTableName + " (v1, v2)"; - testRollbackOfUncommittedDelete(indexDDL); + testRollbackOfUncommittedDelete(indexDDL, fullTableName); } - private void testRollbackOfUncommittedDelete(String indexDDL) throws Exception { + private void testRollbackOfUncommittedDelete(String indexDDL, String fullTableName) throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); conn.setAutoCommit(false); @@ -207,6 +211,9 @@ private void testRollbackOfUncommittedDelete(String indexDDL) throws Exception { @Test public void testCheckpointForUpsertSelect() throws Exception { + String tableName = "TBL_" + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(tableName, tableName); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); try (Connection conn = DriverManager.getConnection(getUrl(), props);) { conn.setAutoCommit(false); @@ -222,17 +229,17 @@ public void testCheckpointForUpsertSelect() throws Exception { stmt.executeUpdate("upsert into " + fullTableName + " values(3, 'a3', 'b3')"); conn.commit(); - upsertRows(conn); + upsertRows(conn, fullTableName); conn.rollback(); - verifyRows(conn, 3); + verifyRows(conn, fullTableName, 3); - upsertRows(conn); + upsertRows(conn, fullTableName); conn.commit(); - verifyRows(conn, 6); + verifyRows(conn, fullTableName, 6); } } - private void verifyRows(Connection conn, int expectedMaxId) throws SQLException { + private void verifyRows(Connection conn, String fullTableName, int expectedMaxId) throws SQLException { ResultSet rs; //query the data table rs = conn.createStatement().executeQuery("select /*+ NO_INDEX */ max(id) from " + fullTableName + ""); @@ -247,7 +254,7 @@ private void verifyRows(Connection conn, int expectedMaxId) throws SQLException assertFalse(rs.next()); } - private void upsertRows(Connection conn) throws SQLException { + private void upsertRows(Connection conn, String fullTableName) throws SQLException { ResultSet rs; MutationState state = conn.unwrap(PhoenixConnection.class) .getMutationState(); @@ -294,6 +301,9 @@ private void upsertRows(Connection conn) throws SQLException { @Test public void testCheckpointForDeleteAndUpsert() throws Exception { + String tableName = "TBL_" + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + String fullTableName = SchemaUtil.getTableName(tableName, tableName); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); ResultSet rs; try (Connection conn = DriverManager.getConnection(getUrl(), props);) { diff --git a/phoenix-pherf/src/it/java/org/apache/phoenix/pherf/ResultBaseTestIT.java b/phoenix-pherf/src/it/java/org/apache/phoenix/pherf/ResultBaseTestIT.java index 16d2d201d71..ee831cb9070 100644 --- a/phoenix-pherf/src/it/java/org/apache/phoenix/pherf/ResultBaseTestIT.java +++ b/phoenix-pherf/src/it/java/org/apache/phoenix/pherf/ResultBaseTestIT.java @@ -19,6 +19,7 @@ package org.apache.phoenix.pherf; import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; +import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.pherf.configuration.XMLConfigParser; import org.apache.phoenix.pherf.result.ResultUtil; import org.apache.phoenix.pherf.schema.SchemaReader; @@ -30,7 +31,7 @@ import java.util.List; import java.util.Properties; -public class ResultBaseTestIT extends BaseHBaseManagedTimeIT { +public class ResultBaseTestIT extends BaseHBaseManagedTimeTableReuseIT { protected static final String matcherScenario = ".*scenario/.*test.*xml"; protected static final String matcherSchema = ".*datamodel/.*test.*sql"; diff --git a/phoenix-pherf/src/it/java/org/apache/phoenix/pherf/SchemaReaderIT.java b/phoenix-pherf/src/it/java/org/apache/phoenix/pherf/SchemaReaderIT.java index 4ff1fb506ad..ecbde8bfafb 100644 --- a/phoenix-pherf/src/it/java/org/apache/phoenix/pherf/SchemaReaderIT.java +++ b/phoenix-pherf/src/it/java/org/apache/phoenix/pherf/SchemaReaderIT.java @@ -31,6 +31,7 @@ import java.util.List; import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; +import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.pherf.configuration.Column; import org.apache.phoenix.pherf.configuration.DataModel; import org.apache.phoenix.pherf.configuration.Scenario; @@ -39,7 +40,8 @@ import org.apache.phoenix.pherf.util.PhoenixUtil; import org.junit.Test; -public class SchemaReaderIT extends BaseHBaseManagedTimeIT { + +public class SchemaReaderIT extends BaseHBaseManagedTimeTableReuseIT { protected static PhoenixUtil util = PhoenixUtil.create(true); @Test From 12da9751bc40c9d09c069cea59561118d08cbcf9 Mon Sep 17 00:00:00 2001 From: prakul agarwal Date: Tue, 26 Jul 2016 17:23:37 -0700 Subject: [PATCH 11/17] refactor more files --- .../phoenix/end2end/DynamicColumnIT.java | 20 ++-- .../phoenix/end2end/ExecuteStatementsIT.java | 42 ++++---- .../apache/phoenix/end2end/MapReduceIT.java | 61 ++++++------ .../apache/phoenix/end2end/SubqueryIT.java | 1 + .../org/apache/phoenix/end2end/UpgradeIT.java | 84 +++++++++------- .../phoenix/end2end/index/LocalIndexIT.java | 96 ++++++++++++++++--- .../end2end/index/txn/MutableRollbackIT.java | 55 ++++++----- .../phoenix/trace/BaseTracingTestIT.java | 3 +- .../phoenix/end2end/QueryServerBasicsIT.java | 2 +- 9 files changed, 233 insertions(+), 131 deletions(-) diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DynamicColumnIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DynamicColumnIT.java index d18811ac710..3f04b5a9b74 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DynamicColumnIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DynamicColumnIT.java @@ -59,16 +59,18 @@ */ -public class DynamicColumnIT extends BaseHBaseManagedTimeIT { +public class DynamicColumnIT extends BaseHBaseManagedTimeTableReuseIT { private static final byte[] FAMILY_NAME_A = Bytes.toBytes(SchemaUtil.normalizeIdentifier("A")); private static final byte[] FAMILY_NAME_B = Bytes.toBytes(SchemaUtil.normalizeIdentifier("B")); + private String tableName = "TESTTBL"; + @BeforeClass public static void doBeforeTestSetup() throws Exception { try (PhoenixConnection pconn = DriverManager.getConnection(getUrl()).unwrap(PhoenixConnection.class)) { ConnectionQueryServices services = pconn.getQueryServices(); try (HBaseAdmin admin = services.getAdmin()) { - HTableDescriptor htd = new HTableDescriptor(TableName.valueOf(HBASE_DYNAMIC_COLUMNS)); + HTableDescriptor htd = new HTableDescriptor(TableName.valueOf("TESTTBL")); htd.addFamily(new HColumnDescriptor(QueryConstants.DEFAULT_COLUMN_FAMILY_BYTES)); htd.addFamily(new HColumnDescriptor(FAMILY_NAME_A)); htd.addFamily(new HColumnDescriptor(FAMILY_NAME_B)); @@ -82,7 +84,7 @@ public static void doBeforeTestSetup() throws Exception { public void createTable() throws Exception { try (PhoenixConnection pconn = DriverManager.getConnection(getUrl()).unwrap(PhoenixConnection.class)) { ConnectionQueryServices services = pconn.getQueryServices(); - HTableInterface hTable = services.getTable(Bytes.toBytes(HBASE_DYNAMIC_COLUMNS)); + HTableInterface hTable = services.getTable(Bytes.toBytes(tableName)); try { // Insert rows using standard HBase mechanism with standard HBase "types" List mutations = new ArrayList(); @@ -107,7 +109,7 @@ public void createTable() throws Exception { // Create Phoenix table after HBase table was created through the native APIs // The timestamp of the table creation must be later than the timestamp of the data - ensureTableCreated(getUrl(), HBASE_DYNAMIC_COLUMNS, HBASE_DYNAMIC_COLUMNS); + ensureTableCreated(getUrl(), tableName, HBASE_DYNAMIC_COLUMNS); } finally { hTable.close(); } @@ -119,7 +121,7 @@ public void createTable() throws Exception { */ @Test public void testDynamicColums() throws Exception { - String query = "SELECT * FROM HBASE_DYNAMIC_COLUMNS (DV varchar)"; + String query = "SELECT * FROM " + tableName + " (DV varchar)"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); try { @@ -143,7 +145,7 @@ public void testDynamicColums() throws Exception { */ @Test public void testDynamicColumsFamily() throws Exception { - String query = "SELECT * FROM HBASE_DYNAMIC_COLUMNS (DV varchar,B.F2V2 varchar)"; + String query = "SELECT * FROM " + tableName + " (DV varchar,B.F2V2 varchar)"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); try { @@ -169,7 +171,7 @@ public void testDynamicColumsFamily() throws Exception { @Test public void testDynamicColumsSpecificQuery() throws Exception { - String query = "SELECT entry,F2V2 FROM HBASE_DYNAMIC_COLUMNS (DV varchar,B.F2V2 varchar)"; + String query = "SELECT entry,F2V2 FROM " + tableName + " (DV varchar,B.F2V2 varchar)"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); try { @@ -189,7 +191,7 @@ public void testDynamicColumsSpecificQuery() throws Exception { */ @Test(expected = ColumnAlreadyExistsException.class) public void testAmbiguousStaticSelect() throws Exception { - String upsertquery = "Select * FROM HBASE_DYNAMIC_COLUMNS(A.F1V1 INTEGER)"; + String upsertquery = "Select * FROM " + tableName + "(A.F1V1 INTEGER)"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); try { @@ -205,7 +207,7 @@ public void testAmbiguousStaticSelect() throws Exception { */ @Test(expected = ColumnFamilyNotFoundException.class) public void testFakeCFDynamicUpsert() throws Exception { - String upsertquery = "Select * FROM HBASE_DYNAMIC_COLUMNS(fakecf.DynCol VARCHAR)"; + String upsertquery = "Select * FROM " + tableName + "(fakecf.DynCol VARCHAR)"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); try { diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ExecuteStatementsIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ExecuteStatementsIT.java index 1b41bdd76ce..41d3ee7fac4 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ExecuteStatementsIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ExecuteStatementsIT.java @@ -48,33 +48,34 @@ import org.junit.Test; -public class ExecuteStatementsIT extends BaseHBaseManagedTimeIT { +public class ExecuteStatementsIT extends BaseHBaseManagedTimeTableReuseIT { @Test public void testExecuteStatements() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), getUrl()); + String tableName = initATableValues(tenantId, getDefaultSplits(tenantId), getUrl()); + String ptsdbTableName = generateRandomString(); String statements = - "create table if not exists " + ATABLE_NAME + // Shouldn't error out b/c of if not exists clause + "create table if not exists " + tableName + // Shouldn't error out b/c of if not exists clause " (organization_id char(15) not null, \n" + " entity_id char(15) not null,\n" + " a_string varchar(100),\n" + " b_string varchar(100)\n" + " CONSTRAINT pk PRIMARY KEY (organization_id,entity_id));\n" + - "create table " + PTSDB_NAME + + "create table " + ptsdbTableName + " (inst varchar null,\n" + " host varchar null,\n" + " date date not null,\n" + " val decimal\n" + " CONSTRAINT pk PRIMARY KEY (inst,host,date))\n" + " split on (?,?,?);\n" + - "alter table " + PTSDB_NAME + " add if not exists val decimal;\n" + // Shouldn't error out b/c of if not exists clause - "alter table " + PTSDB_NAME + " drop column if exists blah;\n" + // Shouldn't error out b/c of if exists clause + "alter table " + ptsdbTableName + " add if not exists val decimal;\n" + // Shouldn't error out b/c of if not exists clause + "alter table " + ptsdbTableName + " drop column if exists blah;\n" + // Shouldn't error out b/c of if exists clause "drop table if exists FOO.BAR;\n" + // Shouldn't error out b/c of if exists clause - "UPSERT INTO " + PTSDB_NAME + "(date, val, host) " + - " SELECT current_date(), x_integer+2, entity_id FROM ATABLE WHERE a_integer >= ?;" + - "UPSERT INTO " + PTSDB_NAME + "(date, val, inst)\n" + - " SELECT date+1, val*10, host FROM " + PTSDB_NAME + ";"; + "UPSERT INTO " + ptsdbTableName + "(date, val, host) " + + " SELECT current_date(), x_integer+2, entity_id FROM " + tableName + " WHERE a_integer >= ?;" + + "UPSERT INTO " + ptsdbTableName + "(date, val, inst)\n" + + " SELECT date+1, val*10, host FROM " + ptsdbTableName + ";"; Date now = new Date(System.currentTimeMillis()); Connection conn = DriverManager.getConnection(getUrl()); @@ -84,7 +85,7 @@ public void testExecuteStatements() throws Exception { assertEquals(7, nStatements); Date then = new Date(System.currentTimeMillis() + QueryConstants.MILLIS_IN_DAY); - String query = "SELECT host,inst, date,val FROM " + PTSDB_NAME + " where inst is not null"; + String query = "SELECT host,inst, date,val FROM " + ptsdbTableName + " where inst is not null"; PreparedStatement statement = conn.prepareStatement(query); ResultSet rs = statement.executeQuery(); @@ -119,7 +120,7 @@ public void testExecuteStatements() throws Exception { @Test public void testCharPadding() throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - String tableName = "foo"; + String tableName = generateRandomString(); String rowKey = "hello"; String testString = "world"; String query = "create table " + tableName + @@ -142,10 +143,11 @@ public void testCharPadding() throws Exception { statement.setString(3, testString); statement.execute(); conn.commit(); - - ensureTableCreated(getUrl(),BTABLE_NAME, null, nextTimestamp()-2); + + String btableName = generateRandomString(); + ensureTableCreated(getUrl(),btableName, BTABLE_NAME, nextTimestamp()-2); statement = conn.prepareStatement( - "upsert into BTABLE VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"); + "upsert into " + btableName + " VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"); statement.setString(1, "abc"); statement.setString(2, "xyz"); statement.setString(3, "x"); @@ -197,10 +199,10 @@ public void testCharPadding() throws Exception { // test upsert statement with padding String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), getUrl()); + String atableName = initATableValues(tenantId, getDefaultSplits(tenantId), getUrl()); upsert = "UPSERT INTO " + tableName + "(a_id, a_string, b_string) " + - "SELECT A_INTEGER, A_STRING, B_STRING FROM ATABLE WHERE a_string = ?"; + "SELECT A_INTEGER, A_STRING, B_STRING FROM " + atableName + " WHERE a_string = ?"; statement = conn.prepareStatement(upsert); statement.setString(1, A_VALUE); @@ -249,7 +251,7 @@ public void testCharPadding() throws Exception { try { upsert = "UPSERT INTO " + tableName + "(a_id, a_string, b_string) " + - "SELECT x_integer, organization_id, b_string FROM ATABLE WHERE a_string = ?"; + "SELECT x_integer, organization_id, b_string FROM " + atableName + " WHERE a_string = ?"; statement = conn.prepareStatement(upsert); statement.setString(1, A_VALUE); @@ -263,7 +265,7 @@ public void testCharPadding() throws Exception { try { upsert = "UPSERT INTO " + tableName + "(a_id, a_string, b_string) " + - "SELECT y_integer, a_string, entity_id FROM ATABLE WHERE a_string = ?"; + "SELECT y_integer, a_string, entity_id FROM " + atableName + " WHERE a_string = ?"; statement = conn.prepareStatement(upsert); statement.setString(1, A_VALUE); @@ -276,7 +278,7 @@ public void testCharPadding() throws Exception { //where selecting from a CHAR(x) and upserting into a CHAR(y) where x<=y. upsert = "UPSERT INTO " + tableName + "(a_id, a_string, b_string) " + - "SELECT a_integer, e_string, a_id FROM BTABLE"; + "SELECT a_integer, e_string, a_id FROM " + btableName ; statement = conn.prepareStatement(upsert); rowsInserted = statement.executeUpdate(); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/MapReduceIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/MapReduceIT.java index f0307017dd4..275d5246acf 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/MapReduceIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/MapReduceIT.java @@ -41,56 +41,63 @@ /** * Test that our MapReduce basic tools work as expected */ -public class MapReduceIT extends BaseHBaseManagedTimeIT { +public class MapReduceIT extends BaseHBaseManagedTimeTableReuseIT { - private static final String STOCK_TABLE_NAME = "stock"; - private static final String STOCK_STATS_TABLE_NAME = "stock_stats"; private static final String STOCK_NAME = "STOCK_NAME"; private static final String RECORDING_YEAR = "RECORDING_YEAR"; private static final String RECORDINGS_QUARTER = "RECORDINGS_QUARTER"; - private static final String CREATE_STOCK_TABLE = "CREATE TABLE IF NOT EXISTS " + STOCK_TABLE_NAME + " ( " + - STOCK_NAME + " VARCHAR NOT NULL ," + RECORDING_YEAR + " INTEGER NOT NULL, " + RECORDINGS_QUARTER + - " DOUBLE array[] CONSTRAINT pk PRIMARY KEY (" + STOCK_NAME + " , " + RECORDING_YEAR + "))"; + private String CREATE_STOCK_TABLE = "CREATE TABLE IF NOT EXISTS %s ( " + + " STOCK_NAME VARCHAR NOT NULL , RECORDING_YEAR INTEGER NOT NULL, RECORDINGS_QUARTER " + + " DOUBLE array[] CONSTRAINT pk PRIMARY KEY ( STOCK_NAME, RECORDING_YEAR ))"; private static final String MAX_RECORDING = "MAX_RECORDING"; - private static final String CREATE_STOCK_STATS_TABLE = - "CREATE TABLE IF NOT EXISTS " + STOCK_STATS_TABLE_NAME + "(" + STOCK_NAME + " VARCHAR NOT NULL , " - + MAX_RECORDING + " DOUBLE CONSTRAINT pk PRIMARY KEY (" + STOCK_NAME + "))"; - private static final String UPSERT = "UPSERT into " + STOCK_TABLE_NAME + " values (?, ?, ?)"; + private String CREATE_STOCK_STATS_TABLE = + "CREATE TABLE IF NOT EXISTS %s(STOCK_NAME VARCHAR NOT NULL , " + + " MAX_RECORDING DOUBLE CONSTRAINT pk PRIMARY KEY (STOCK_NAME ))"; + private String UPSERT = "UPSERT into %s values (?, ?, ?)"; @Before public void setupTables() throws Exception { - Connection conn = DriverManager.getConnection(getUrl()); - conn.createStatement().execute(CREATE_STOCK_TABLE); - conn.createStatement().execute(CREATE_STOCK_STATS_TABLE); - conn.commit(); + } @Test public void testNoConditionsOnSelect() throws Exception { + Connection conn = DriverManager.getConnection(getUrl()); + String stockTableName = generateRandomString(); + String stockStatsTableName = generateRandomString(); + conn.createStatement().execute(String.format(CREATE_STOCK_TABLE, stockTableName)); + conn.createStatement().execute(String.format(CREATE_STOCK_STATS_TABLE, stockStatsTableName)); + conn.commit(); final Configuration conf = getUtility().getConfiguration(); Job job = Job.getInstance(conf); - PhoenixMapReduceUtil.setInput(job, StockWritable.class, STOCK_TABLE_NAME, null, + PhoenixMapReduceUtil.setInput(job, StockWritable.class, stockTableName, null, STOCK_NAME, RECORDING_YEAR, "0." + RECORDINGS_QUARTER); - testJob(job, 91.04); + testJob(job, stockTableName, stockStatsTableName, 91.04); } @Test public void testConditionsOnSelect() throws Exception { + Connection conn = DriverManager.getConnection(getUrl()); + String stockTableName = generateRandomString(); + String stockStatsTableName = generateRandomString(); + conn.createStatement().execute(String.format(CREATE_STOCK_TABLE, stockTableName)); + conn.createStatement().execute(String.format(CREATE_STOCK_STATS_TABLE, stockStatsTableName)); + conn.commit(); final Configuration conf = getUtility().getConfiguration(); Job job = Job.getInstance(conf); - PhoenixMapReduceUtil.setInput(job, StockWritable.class, STOCK_TABLE_NAME, RECORDING_YEAR+" < 2009", + PhoenixMapReduceUtil.setInput(job, StockWritable.class, stockTableName, RECORDING_YEAR+" < 2009", STOCK_NAME, RECORDING_YEAR, "0." + RECORDINGS_QUARTER); - testJob(job, 81.04); + testJob(job, stockTableName, stockStatsTableName, 81.04); } - private void testJob(Job job, double expectedMax) + private void testJob(Job job, String stockTableName, String stockStatsTableName, double expectedMax) throws SQLException, InterruptedException, IOException, ClassNotFoundException { - upsertData(); + upsertData(stockTableName); // only run locally, rather than having to spin up a MiniMapReduce cluster and lets us use breakpoints job.getConfiguration().set("mapreduce.framework.name", "local"); - setOutput(job); + setOutput(job, stockStatsTableName); job.setMapperClass(StockMapper.class); job.setReducerClass(StockReducer.class); @@ -106,7 +113,7 @@ private void testJob(Job job, double expectedMax) // verify ResultSet stats = DriverManager.getConnection(getUrl()).createStatement() - .executeQuery("SELECT * FROM " + STOCK_STATS_TABLE_NAME); + .executeQuery("SELECT * FROM " + stockStatsTableName); assertTrue("No data stored in stats table!", stats.next()); String name = stats.getString(1); double max = stats.getDouble(2); @@ -120,17 +127,17 @@ private void testJob(Job job, double expectedMax) * * @param job to update */ - private void setOutput(Job job) { + private void setOutput(Job job, String stockStatsTableName) { final Configuration configuration = job.getConfiguration(); - PhoenixConfigurationUtil.setOutputTableName(configuration, STOCK_STATS_TABLE_NAME); - configuration.set(PhoenixConfigurationUtil.UPSERT_STATEMENT, "UPSERT into " + STOCK_STATS_TABLE_NAME + + PhoenixConfigurationUtil.setOutputTableName(configuration, stockStatsTableName); + configuration.set(PhoenixConfigurationUtil.UPSERT_STATEMENT, "UPSERT into " + stockStatsTableName + " (" + STOCK_NAME + ", " + MAX_RECORDING + ") values (?,?)"); job.setOutputFormatClass(PhoenixOutputFormat.class); } - private void upsertData() throws SQLException { + private void upsertData(String stockTableName) throws SQLException { Connection conn = DriverManager.getConnection(getUrl()); - PreparedStatement stmt = conn.prepareStatement(UPSERT); + PreparedStatement stmt = conn.prepareStatement(String.format(UPSERT, stockTableName)); upsertData(stmt, "AAPL", 2009, new Double[]{85.88, 91.04, 88.5, 90.3}); upsertData(stmt, "AAPL", 2008, new Double[]{75.88, 81.04, 78.5, 80.3}); conn.commit(); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SubqueryIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SubqueryIT.java index 3d2f2e407fa..a690312d597 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SubqueryIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SubqueryIT.java @@ -67,6 +67,7 @@ public class SubqueryIT extends BaseHBaseManagedTimeIT { private String[] indexDDL; private String[] plans; + private String itemTableFullName; public SubqueryIT(String[] indexDDL, String[] plans) { this.indexDDL = indexDDL; 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 6722b67118b..ee37b4cd9f2 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 @@ -59,64 +59,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 +137,16 @@ public void testMapTableToNamespaceDuringUpgrade() 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 +164,13 @@ public void testMapTableToNamespaceDuringUpgrade() // 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) { diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java index d2c9b5a3ad4..ddf56ff2295 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java @@ -77,19 +77,13 @@ @RunWith(Parameterized.class) public class LocalIndexIT extends BaseHBaseManagedTimeTableReuseIT { - - private String schemaName="TEST"; private boolean isNamespaceMapped; - private String tableName = schemaName + ".T"; - private String indexTableName = schemaName + ".I"; - private String indexName = "I"; - private String indexPhysicalTableName; - private TableName physicalTableName; + String schemaName="TEST"; public LocalIndexIT(boolean isNamespaceMapped) { this.isNamespaceMapped = isNamespaceMapped; - this.physicalTableName = SchemaUtil.getPhysicalTableName(tableName.getBytes(), isNamespaceMapped); - this.indexPhysicalTableName = this.physicalTableName.getNameAsString(); + //this.physicalTableName = SchemaUtil.getPhysicalTableName(tableName.getBytes(), isNamespaceMapped); + //this.indexPhysicalTableName = this.physicalTableName.getNameAsString(); } @BeforeClass @@ -126,6 +120,10 @@ public static Collection data() { @Test public void testLocalIndexRoundTrip() throws Exception { + String tableName = schemaName + "." + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + String indexTableName = schemaName + "." + indexName; + createBaseTable(tableName, null, null); Connection conn1 = DriverManager.getConnection(getUrl()); conn1.createStatement().execute("CREATE LOCAL INDEX " + indexName + " ON " + tableName + "(v1)"); @@ -146,6 +144,9 @@ public void testCreationOfTableWithLocalIndexColumnFamilyPrefixShouldFail() thro @Test public void testLocalIndexCreationWithSplitsShouldFail() throws Exception { + String tableName = schemaName + "." + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + createBaseTable(tableName, null, null); Connection conn1 = getConnection(); Connection conn2 = getConnection(); @@ -162,6 +163,9 @@ public void testLocalIndexCreationWithSplitsShouldFail() throws Exception { @Test public void testLocalIndexCreationWithSaltingShouldFail() throws Exception { + String tableName = schemaName + "." + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + createBaseTable(tableName, null, null); Connection conn1 = getConnection(); Connection conn2 = getConnection(); @@ -178,6 +182,11 @@ public void testLocalIndexCreationWithSaltingShouldFail() throws Exception { @Test public void testLocalIndexTableRegionSplitPolicyAndSplitKeys() throws Exception { + String tableName = schemaName + "." + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + TableName physicalTableName = SchemaUtil.getPhysicalTableName(tableName.getBytes(), isNamespaceMapped); + String indexPhysicalTableName = physicalTableName.getNameAsString(); + createBaseTable(tableName, null,"('e','i','o')"); Connection conn1 = getConnection(); Connection conn2 = getConnection(); @@ -205,6 +214,8 @@ public Connection getConnection() throws SQLException{ @Test public void testDropLocalIndexTable() throws Exception { + String tableName = schemaName + "." + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); createBaseTable(tableName, null, null); Connection conn1 = getConnection(); Connection conn2 = getConnection(); @@ -220,6 +231,12 @@ public void testDropLocalIndexTable() throws Exception { @Test public void testPutsToLocalIndexTable() throws Exception { + String tableName = schemaName + "." + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + String indexTableName = schemaName + "." + indexName; + TableName physicalTableName = SchemaUtil.getPhysicalTableName(tableName.getBytes(), isNamespaceMapped); + String indexPhysicalTableName = physicalTableName.getNameAsString(); + createBaseTable(tableName, null, "('e','i','o')"); Connection conn1 = getConnection(); conn1.createStatement().execute("CREATE LOCAL INDEX " + indexName + " ON " + tableName + "(v1)"); @@ -254,6 +271,12 @@ public void testPutsToLocalIndexTable() throws Exception { @Test public void testBuildIndexWhenUserTableAlreadyHasData() throws Exception { + String tableName = schemaName + "." + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + String indexTableName = schemaName + "." + indexName; + TableName physicalTableName = SchemaUtil.getPhysicalTableName(tableName.getBytes(), isNamespaceMapped); + String indexPhysicalTableName = physicalTableName.getNameAsString(); + createBaseTable(tableName, null, "('e','i','o')"); Connection conn1 = DriverManager.getConnection(getUrl()); conn1.createStatement().execute("UPSERT INTO "+tableName+" values('b',1,2,4,'z')"); @@ -288,6 +311,12 @@ public void testBuildIndexWhenUserTableAlreadyHasData() throws Exception { @Test public void testLocalIndexScan() throws Exception { + String tableName = schemaName + "." + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + String indexTableName = schemaName + "." + indexName; + TableName physicalTableName = SchemaUtil.getPhysicalTableName(tableName.getBytes(), isNamespaceMapped); + String indexPhysicalTableName = physicalTableName.getNameAsString(); + createBaseTable(tableName, null, "('e','i','o')"); Connection conn1 = DriverManager.getConnection(getUrl()); try{ @@ -420,6 +449,12 @@ public void testLocalIndexScan() throws Exception { @Test public void testLocalIndexScanJoinColumnsFromDataTable() throws Exception { + String tableName = schemaName + "." + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + String indexTableName = schemaName + "." + indexName; + TableName physicalTableName = SchemaUtil.getPhysicalTableName(tableName.getBytes(), isNamespaceMapped); + String indexPhysicalTableName = physicalTableName.getNameAsString(); + createBaseTable(tableName, null, "('e','i','o')"); Connection conn1 = getConnection(); try{ @@ -554,6 +589,10 @@ public void testLocalIndexScanJoinColumnsFromDataTable() throws Exception { @Test public void testIndexPlanSelectionIfBothGlobalAndLocalIndexesHasSameColumnsAndOrder() throws Exception { + String tableName = schemaName + "." + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + String indexTableName = schemaName + "." + indexName; + createBaseTable(tableName, null, "('e','i','o')"); Connection conn1 = getConnection(); conn1.createStatement().execute("UPSERT INTO "+tableName+" values('b',1,2,4,'z')"); @@ -573,6 +612,9 @@ public void testIndexPlanSelectionIfBothGlobalAndLocalIndexesHasSameColumnsAndOr @Test public void testDropLocalIndexShouldDeleteDataFromLocalIndexTable() throws Exception { + String tableName = schemaName + "." + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + createBaseTable(tableName, null, "('e','i','o')"); Connection conn1 = DriverManager.getConnection(getUrl()); try { @@ -615,6 +657,10 @@ public void testDropLocalIndexShouldDeleteDataFromLocalIndexTable() throws Excep @Test public void testLocalIndexRowsShouldBeDeletedWhenUserTableRowsDeleted() throws Exception { + String tableName = schemaName + "." + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + String indexTableName = schemaName + "." + indexName; + createBaseTable(tableName, null, "('e','i','o')"); Connection conn1 = DriverManager.getConnection(getUrl()); try { @@ -637,6 +683,9 @@ public void testLocalIndexRowsShouldBeDeletedWhenUserTableRowsDeleted() throws E @Test public void testScanWhenATableHasMultipleLocalIndexes() throws Exception { + String tableName = schemaName + "." + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + createBaseTable(tableName, null, "('e','i','o')"); Connection conn1 = DriverManager.getConnection(getUrl()); try { @@ -659,6 +708,9 @@ public void testScanWhenATableHasMultipleLocalIndexes() throws Exception { @Test public void testLocalIndexesOnTableWithImmutableRows() throws Exception { + String tableName = schemaName + "." + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + createBaseTable(tableName, null, "('e','i','o')"); Connection conn1 = getConnection(); try { @@ -702,6 +754,10 @@ public void testLocalIndexesOnTableWithImmutableRows() throws Exception { @Test public void testLocalIndexScanWithInList() throws Exception { + String tableName = schemaName + "." + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + String indexTableName = schemaName + "." + indexName; + createBaseTable(tableName, null, "('e','i','o')"); Connection conn1 = DriverManager.getConnection(getUrl()); try{ @@ -732,12 +788,13 @@ public void testLocalIndexCreationWithDefaultFamilyOption() throws Exception { Connection conn1 = DriverManager.getConnection(getUrl()); try{ Statement statement = conn1.createStatement(); - statement.execute("create table example (id integer not null,fn varchar," + String tableName = generateRandomString(); + statement.execute("create table " + tableName + " (id integer not null,fn varchar," + "ln varchar constraint pk primary key(id)) DEFAULT_COLUMN_FAMILY='F'"); - statement.execute("upsert into example values(1,'fn','ln')"); + statement.execute("upsert into " + tableName + " values(1,'fn','ln')"); statement - .execute("create local index my_idx on example (fn)"); - statement.execute("upsert into example values(2,'fn1','ln1')"); + .execute("create local index my_idx on " + tableName + " (fn)"); + statement.execute("upsert into " + tableName + " values(2,'fn1','ln1')"); ResultSet rs = statement.executeQuery("SELECT COUNT(*) FROM my_idx"); assertTrue(rs.next()); } finally { @@ -747,6 +804,11 @@ public void testLocalIndexCreationWithDefaultFamilyOption() throws Exception { @Test public void testLocalIndexScanAfterRegionSplit() throws Exception { + String tableName = schemaName + "." + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + TableName physicalTableName = SchemaUtil.getPhysicalTableName(tableName.getBytes(), isNamespaceMapped); + String indexPhysicalTableName = physicalTableName.getNameAsString(); + if (isNamespaceMapped) { return; } createBaseTable(tableName, null, "('e','j','o')"); Connection conn1 = getConnection(); @@ -839,6 +901,9 @@ public void testLocalIndexScanAfterRegionSplit() throws Exception { @Test public void testLocalIndexScanWithSmallChunks() throws Exception { + String tableName = schemaName + "." + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + createBaseTable(tableName, 3, null); Properties props = new Properties(); props.setProperty(QueryServices.SCAN_RESULT_CHUNK_SIZE, "2"); @@ -882,6 +947,11 @@ public void testLocalIndexScanWithSmallChunks() throws Exception { @Test public void testLocalIndexScanAfterRegionsMerge() throws Exception { + String tableName = schemaName + "." + generateRandomString(); + String indexName = "IDX_" + generateRandomString(); + TableName physicalTableName = SchemaUtil.getPhysicalTableName(tableName.getBytes(), isNamespaceMapped); + String indexPhysicalTableName = physicalTableName.getNameAsString(); + if (isNamespaceMapped) { return; } createBaseTable(tableName, null, "('e','j','o')"); Connection conn1 = getConnection(); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/MutableRollbackIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/MutableRollbackIT.java index 558bdcbc093..c937b2f4de5 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/MutableRollbackIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/MutableRollbackIT.java @@ -36,6 +36,7 @@ import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.HBaseAdmin; 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.QueryServices; @@ -52,24 +53,12 @@ import com.google.common.collect.Maps; @RunWith(Parameterized.class) -public class MutableRollbackIT extends BaseHBaseManagedTimeIT { +public class MutableRollbackIT extends BaseHBaseManagedTimeTableReuseIT { private final boolean localIndex; - private String tableName1; - private String indexName1; - private String fullTableName1; - private String tableName2; - private String indexName2; - private String fullTableName2; public MutableRollbackIT(boolean localIndex) { this.localIndex = localIndex; - this.tableName1 = TestUtil.DEFAULT_DATA_TABLE_NAME + "_1_"; - this.indexName1 = "IDX1"; - this.fullTableName1 = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName1); - this.tableName2 = TestUtil.DEFAULT_DATA_TABLE_NAME + "_2_"; - this.indexName2 = "IDX2"; - this.fullTableName2 = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName2); } @BeforeClass @@ -83,14 +72,18 @@ public static void doSetup() throws Exception { @Parameters(name="localIndex = {0}") public static Collection data() { - return Arrays.asList(new Boolean[] { - false, true - }); + return Arrays.asList(new Boolean[] { false, true}); } public void testRollbackOfUncommittedExistingKeyValueIndexUpdate() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); + String tableName1 = "TBL1_" + generateRandomString(); + String indexName1 = "IDX1_" + generateRandomString(); + String fullTableName1 = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName1); + String tableName2 = "TBL2_" + generateRandomString(); + String indexName2 = "IDX2_" + generateRandomString(); + String fullTableName2 = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName2); conn.setAutoCommit(false); try { Statement stmt = conn.createStatement(); @@ -190,7 +183,7 @@ public void testRollbackOfUncommittedExistingKeyValueIndexUpdate() throws Except stmt.executeUpdate("upsert into " + fullTableName2 + " values('a', 'b', 'c')"); conn.commit(); - assertDataAndIndexRows(stmt); + assertDataAndIndexRows(stmt, fullTableName1, fullTableName2, indexName1); stmt.executeUpdate("delete from " + fullTableName1 + " where k='x'"); stmt.executeUpdate("delete from " + fullTableName2 + " where v1='b'"); @@ -209,7 +202,7 @@ public void testRollbackOfUncommittedExistingKeyValueIndexUpdate() throws Except assertFalse(rs.next()); conn.rollback(); - assertDataAndIndexRows(stmt); + assertDataAndIndexRows(stmt, fullTableName1, fullTableName2, indexName1); } finally { conn.close(); } @@ -217,6 +210,12 @@ public void testRollbackOfUncommittedExistingKeyValueIndexUpdate() throws Except @Test public void testRollbackOfUncommittedExistingRowKeyIndexUpdate() throws Exception { + String tableName1 = "TBL1_" + generateRandomString(); + String indexName1 = "IDX1_" + generateRandomString(); + String fullTableName1 = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName1); + String tableName2 = "TBL2_" + generateRandomString(); + String indexName2 = "IDX2_" + generateRandomString(); + String fullTableName2 = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName2); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); conn.setAutoCommit(false); @@ -255,9 +254,8 @@ public void testRollbackOfUncommittedExistingRowKeyIndexUpdate() throws Exceptio stmt.executeUpdate("upsert into " + fullTableName1 + " values('x', 'z', 'a')"); stmt.executeUpdate("upsert into " + fullTableName2 + " values('a', 'b', 'c')"); - - assertDataAndIndexRows(stmt); - + + assertDataAndIndexRows(stmt, fullTableName1, fullTableName2, indexName1); conn.rollback(); //assert original row exists in fullTableName1 @@ -288,8 +286,7 @@ public void testRollbackOfUncommittedExistingRowKeyIndexUpdate() throws Exceptio stmt.executeUpdate("upsert into " + fullTableName2 + " values('a', 'b', 'c')"); conn.commit(); - assertDataAndIndexRows(stmt); - stmt.executeUpdate("delete from " + fullTableName1 + " where k='x'"); + assertDataAndIndexRows(stmt, fullTableName1, fullTableName2, indexName1); stmt.executeUpdate("delete from " + fullTableName1 + " where k='x'"); stmt.executeUpdate("delete from " + fullTableName2 + " where v1='b'"); //assert no rows exists in fullTableName1 @@ -307,7 +304,7 @@ public void testRollbackOfUncommittedExistingRowKeyIndexUpdate() throws Exceptio assertFalse(rs.next()); conn.rollback(); - assertDataAndIndexRows(stmt); + assertDataAndIndexRows(stmt, fullTableName1, fullTableName2, indexName1); PhoenixConnection phoenixConn = conn.unwrap(PhoenixConnection.class); if(localIndex) { dropTable(phoenixConn.getQueryServices().getAdmin(), conn, fullTableName1); @@ -318,7 +315,7 @@ public void testRollbackOfUncommittedExistingRowKeyIndexUpdate() throws Exceptio } } - private void assertDataAndIndexRows(Statement stmt) throws SQLException, IOException { + private void assertDataAndIndexRows(Statement stmt, String fullTableName1, String fullTableName2, String indexName1) throws SQLException, IOException { ResultSet rs; //assert new covered row key value exists in fullTableName1 rs = stmt.executeQuery("select /*+ NO_INDEX */ k, v1, v2 from " + fullTableName1); @@ -356,6 +353,10 @@ private void assertDataAndIndexRows(Statement stmt) throws SQLException, IOExcep public void testMultiRollbackOfUncommittedExistingRowKeyIndexUpdate() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); + String tableName1 = "TBL1_" + generateRandomString(); + String indexName1 = "IDX1_" + generateRandomString(); + String fullTableName1 = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName1); + String tableName2 = "TBL2_" + generateRandomString(); conn.setAutoCommit(false); try { Statement stmt = conn.createStatement(); @@ -458,6 +459,10 @@ public void testMultiRollbackOfUncommittedExistingRowKeyIndexUpdate() throws Exc public void testCheckpointAndRollback() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); + String tableName1 = "TBL1_" + generateRandomString(); + String indexName1 = "IDX1_" + generateRandomString(); + String fullTableName1 = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName1); + String tableName2 = "TBL2_" + generateRandomString(); conn.setAutoCommit(false); try { Statement stmt = conn.createStatement(); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/trace/BaseTracingTestIT.java b/phoenix-core/src/it/java/org/apache/phoenix/trace/BaseTracingTestIT.java index 96e16462e4e..66a162a4ba8 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/trace/BaseTracingTestIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/trace/BaseTracingTestIT.java @@ -37,6 +37,7 @@ import org.apache.hadoop.metrics2.impl.ExposedMetricsRecordImpl; import org.apache.hadoop.metrics2.lib.ExposedMetricsInfoImpl; import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; +import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.metrics.MetricInfo; import org.apache.phoenix.query.QueryServicesOptions; import org.apache.phoenix.schema.TableNotFoundException; @@ -51,7 +52,7 @@ * connections, as well as any supporting utils. */ -public class BaseTracingTestIT extends BaseHBaseManagedTimeIT { +public class BaseTracingTestIT extends BaseHBaseManagedTimeTableReuseIT { @Before public void resetTracingTableIfExists() throws Exception { Connection conn = getConnectionWithoutTracing(); diff --git a/phoenix-queryserver/src/it/java/org/apache/phoenix/end2end/QueryServerBasicsIT.java b/phoenix-queryserver/src/it/java/org/apache/phoenix/end2end/QueryServerBasicsIT.java index ba49bab35fc..b7db592f719 100644 --- a/phoenix-queryserver/src/it/java/org/apache/phoenix/end2end/QueryServerBasicsIT.java +++ b/phoenix-queryserver/src/it/java/org/apache/phoenix/end2end/QueryServerBasicsIT.java @@ -50,7 +50,7 @@ /** * Smoke test for query server. */ -public class QueryServerBasicsIT extends BaseHBaseManagedTimeIT { +public class QueryServerBasicsIT extends BaseHBaseManagedTimeTableReuseIT { private static final Log LOG = LogFactory.getLog(QueryServerBasicsIT.class); From c386359d03320ac1d86cfb08039048f5fec65bb5 Mon Sep 17 00:00:00 2001 From: --global Date: Thu, 28 Jul 2016 20:19:55 -0700 Subject: [PATCH 12/17] Refactor with changes in POM --- .../phoenix/end2end/ArithmeticQueryIT.java | 20 +- .../BaseTenantSpecificViewIndexIT.java | 79 +-- .../phoenix/end2end/CSVCommonsLoaderIT.java | 82 +-- .../apache/phoenix/end2end/GroupByCaseIT.java | 217 ++++---- .../phoenix/end2end/HashJoinMoreIT.java | 2 +- .../phoenix/end2end/PhoenixRuntimeIT.java | 6 +- .../end2end/SkipScanAfterManualSplitIT.java | 28 +- .../phoenix/end2end/SortMergeJoinMoreIT.java | 18 +- .../org/apache/phoenix/end2end/StringIT.java | 2 +- .../apache/phoenix/end2end/SubqueryIT.java | 2 +- .../end2end/SubqueryUsingSortMergeJoinIT.java | 495 +++++++++--------- .../phoenix/end2end/ToCharFunctionIT.java | 7 +- .../org/apache/phoenix/end2end/UpgradeIT.java | 111 ++-- .../phoenix/end2end/index/DropMetadataIT.java | 100 ++-- .../index/GlobalIndexOptimizationIT.java | 66 +-- .../phoenix/end2end/index/LocalIndexIT.java | 8 +- .../phoenix/end2end/index/ViewIndexIT.java | 2 + .../org/apache/phoenix/rpc/UpdateCacheIT.java | 21 +- .../org/apache/phoenix/query/BaseTest.java | 17 +- pom.xml | 6 + 20 files changed, 681 insertions(+), 608 deletions(-) diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArithmeticQueryIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArithmeticQueryIT.java index b7f5f880b8b..3f02448aaad 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArithmeticQueryIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ArithmeticQueryIT.java @@ -656,8 +656,9 @@ public void testDecimalArithmeticWithIntAndLong() throws Exception { } @Test public void testSumDouble() throws Exception { - initSumDoubleValues(null, getUrl()); - String query = "SELECT SUM(d) FROM SumDoubleTest"; + String tableName = "TBL_" + generateRandomString(); + initSumDoubleValues(tableName, null, getUrl()); + String query = "SELECT SUM(d) FROM " + tableName ; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); try { @@ -673,8 +674,9 @@ public void testSumDouble() throws Exception { @Test public void testSumUnsignedDouble() throws Exception { - initSumDoubleValues(null, getUrl()); - String query = "SELECT SUM(ud) FROM SumDoubleTest"; + String tableName = "TBL_" + generateRandomString(); + initSumDoubleValues(tableName, null, getUrl()); + String query = "SELECT SUM(ud) FROM " + tableName ; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); try { @@ -690,8 +692,9 @@ public void testSumUnsignedDouble() throws Exception { @Test public void testSumFloat() throws Exception { - initSumDoubleValues(null, getUrl()); - String query = "SELECT SUM(f) FROM SumDoubleTest"; + String tableName = "TBL_" + generateRandomString(); + initSumDoubleValues(tableName, null, getUrl()); + String query = "SELECT SUM(f) FROM " + tableName ; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); try { @@ -707,8 +710,9 @@ public void testSumFloat() throws Exception { @Test public void testSumUnsignedFloat() throws Exception { - initSumDoubleValues(null, getUrl()); - String query = "SELECT SUM(uf) FROM SumDoubleTest"; + String tableName = "TBL_" + generateRandomString(); + initSumDoubleValues(tableName, null, getUrl()); + String query = "SELECT SUM(uf) FROM " + tableName; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); try { 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 11a33dafbe5..4a602cf567b 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 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 @@ protected void testUpdatableView(Integer saltBuckets) throws Exception { } 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 @@ protected void testUpdatableViewsWithSameNameDifferentTenants(Integer saltBucket } 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 @@ protected void testUpdatableViewsWithSameNameDifferentTenants(Integer saltBucket 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,55 @@ private void createBaseTable(String tableName, Integer saltBuckets, boolean hasS 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(tenantId, "v")); + tenantViewsToDelete.add(new Pair(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']\n" + "CLIENT PARALLEL 3-WAY RANGE SCAN OVER _IDX_" + tableName + " [0,-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 +174,8 @@ private Connection createTenantConnection(String tenantId) throws SQLException { } @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> expectedResultsA = Lists.newArrayList( Arrays.asList(1,1, valuePrefix + "v2-1"), diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/CSVCommonsLoaderIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CSVCommonsLoaderIT.java index b78bb63a2c3..696d5d0d9c0 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/CSVCommonsLoaderIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CSVCommonsLoaderIT.java @@ -45,15 +45,15 @@ import org.apache.phoenix.util.PhoenixRuntime; import org.junit.Test; -public class CSVCommonsLoaderIT extends BaseHBaseManagedTimeIT { +public class CSVCommonsLoaderIT extends BaseHBaseManagedTimeTableReuseIT { private static final String DATATYPE_TABLE = "DATATYPE"; private static final String DATATYPES_CSV_VALUES = "CKEY, CVARCHAR, CCHAR, CINTEGER, CDECIMAL, CUNSIGNED_INT, CBOOLEAN, CBIGINT, CUNSIGNED_LONG, CTIME, CDATE\n" + "KEY1,A,A,2147483647,1.1,0,TRUE,9223372036854775807,0,1990-12-31 10:59:59,1999-12-31 23:59:59\n" + "KEY2,B,B,-2147483648,-1.1,2147483647,FALSE,-9223372036854775808,9223372036854775807,2000-01-01 00:00:01,2012-02-29 23:59:59\n" + "KEY3,,,,,,,,,,\n"; - private static final String STOCK_TABLE = "STOCK_SYMBOL"; - private static final String STOCK_TABLE_MULTI = "STOCK_SYMBOL_MULTI"; + //private static final String stockTableName = "STOCK_SYMBOL"; + //private static final String stockTableMultiName = "STOCK_SYMBOL_MULTI"; private static final String STOCK_CSV_VALUES = "AAPL,APPLE Inc.\n" + "CRM,SALESFORCE\n" + "GOOG,Google\n" + "HOG,Harlet-Davidson Inc.\n" + "HPQ,Hewlett Packard\n" @@ -105,9 +105,9 @@ public void testCSVCommonsUpsert() throws Exception { CSVParser parser = null; PhoenixConnection conn = null; try { - + String stockTableName = generateRandomString(); // Create table - String statements = "CREATE TABLE IF NOT EXISTS " + STOCK_TABLE + String statements = "CREATE TABLE IF NOT EXISTS " + stockTableName + "(SYMBOL VARCHAR NOT NULL PRIMARY KEY, COMPANY VARCHAR);"; conn = DriverManager.getConnection(getUrl()).unwrap( PhoenixConnection.class); @@ -115,14 +115,14 @@ public void testCSVCommonsUpsert() throws Exception { new StringReader(statements), null); // Upsert CSV file - CSVCommonsLoader csvUtil = new CSVCommonsLoader(conn, STOCK_TABLE, + CSVCommonsLoader csvUtil = new CSVCommonsLoader(conn, stockTableName, Collections. emptyList(), true); csvUtil.upsert(new StringReader(STOCK_CSV_VALUES_WITH_HEADER)); // Compare Phoenix ResultSet with CSV file content PreparedStatement statement = conn .prepareStatement("SELECT SYMBOL, COMPANY FROM " - + STOCK_TABLE); + + stockTableName); ResultSet phoenixResultSet = statement.executeQuery(); parser = new CSVParser(new StringReader( STOCK_CSV_VALUES_WITH_HEADER), csvUtil.getFormat()); @@ -149,9 +149,10 @@ public void testCSVCommonsUpsert_MultiTenant() throws Exception { PhoenixConnection globalConn = null; PhoenixConnection tenantConn = null; try { + String stockTableMultiName = generateRandomString(); // Create table using the global connection - String statements = "CREATE TABLE IF NOT EXISTS " + STOCK_TABLE_MULTI + String statements = "CREATE TABLE IF NOT EXISTS " + stockTableMultiName + "(TENANT_ID VARCHAR NOT NULL, SYMBOL VARCHAR NOT NULL, COMPANY VARCHAR," + " CONSTRAINT PK PRIMARY KEY(TENANT_ID,SYMBOL)) MULTI_TENANT = true;"; globalConn = DriverManager.getConnection(getUrl()).unwrap( @@ -164,14 +165,14 @@ public void testCSVCommonsUpsert_MultiTenant() throws Exception { PhoenixConnection.class); // Upsert CSV file - CSVCommonsLoader csvUtil = new CSVCommonsLoader(tenantConn, STOCK_TABLE_MULTI, + CSVCommonsLoader csvUtil = new CSVCommonsLoader(tenantConn, stockTableMultiName, Collections. emptyList(), true); csvUtil.upsert(new StringReader(STOCK_CSV_VALUES_WITH_HEADER)); // Compare Phoenix ResultSet with CSV file content PreparedStatement statement = tenantConn .prepareStatement("SELECT SYMBOL, COMPANY FROM " - + STOCK_TABLE_MULTI); + + stockTableMultiName); ResultSet phoenixResultSet = statement.executeQuery(); parser = new CSVParser(new StringReader( STOCK_CSV_VALUES_WITH_HEADER), csvUtil.getFormat()); @@ -197,9 +198,10 @@ public void testTDVCommonsUpsert() throws Exception { CSVParser parser = null; PhoenixConnection conn = null; try { + String stockTableName = generateRandomString(); // Create table - String statements = "CREATE TABLE IF NOT EXISTS " + STOCK_TABLE + String statements = "CREATE TABLE IF NOT EXISTS " + stockTableName + "(SYMBOL VARCHAR NOT NULL PRIMARY KEY, COMPANY VARCHAR);"; conn = DriverManager.getConnection(getUrl()).unwrap( PhoenixConnection.class); @@ -207,14 +209,14 @@ public void testTDVCommonsUpsert() throws Exception { new StringReader(statements), null); // Upsert TDV file - CSVCommonsLoader csvUtil = new CSVCommonsLoader(conn, STOCK_TABLE,Collections. emptyList() + CSVCommonsLoader csvUtil = new CSVCommonsLoader(conn, stockTableName,Collections. emptyList() , true, '\t', '"', null, CSVCommonsLoader.DEFAULT_ARRAY_ELEMENT_SEPARATOR); csvUtil.upsert(new StringReader(STOCK_TDV_VALUES_WITH_HEADER)); // Compare Phoenix ResultSet with CSV file content PreparedStatement statement = conn .prepareStatement("SELECT SYMBOL, COMPANY FROM " - + STOCK_TABLE); + + stockTableName); ResultSet phoenixResultSet = statement.executeQuery(); parser = new CSVParser(new StringReader( STOCK_TDV_VALUES_WITH_HEADER), csvUtil.getFormat()); @@ -240,8 +242,10 @@ public void testCSVUpsertWithCustomDelimiters() throws Exception { CSVParser parser = null; PhoenixConnection conn = null; try { + String stockTableName = generateRandomString(); + // Create table - String statements = "CREATE TABLE IF NOT EXISTS " + STOCK_TABLE + String statements = "CREATE TABLE IF NOT EXISTS " + stockTableName + "(SYMBOL VARCHAR NOT NULL PRIMARY KEY, COMPANY VARCHAR);"; conn = DriverManager.getConnection(getUrl()).unwrap( PhoenixConnection.class); @@ -249,7 +253,7 @@ public void testCSVUpsertWithCustomDelimiters() throws Exception { new StringReader(statements), null); // Upsert CSV file - CSVCommonsLoader csvUtil = new CSVCommonsLoader(conn, STOCK_TABLE, + CSVCommonsLoader csvUtil = new CSVCommonsLoader(conn, stockTableName, Arrays. asList(STOCK_COLUMNS), true, '1', '2', '3', CSVCommonsLoader.DEFAULT_ARRAY_ELEMENT_SEPARATOR); csvUtil.upsert(new StringReader(STOCK_CSV_VALUES_WITH_DELIMITER)); @@ -257,7 +261,7 @@ Arrays. asList(STOCK_COLUMNS), true, // Compare Phoenix ResultSet with CSV file content PreparedStatement statement = conn .prepareStatement("SELECT SYMBOL, COMPANY FROM " - + STOCK_TABLE); + + stockTableName); ResultSet phoenixResultSet = statement.executeQuery(); parser = new CSVParser(new StringReader( STOCK_CSV_VALUES_WITH_DELIMITER), csvUtil.getFormat()); @@ -283,8 +287,10 @@ public void testCSVUpsertWithColumns() throws Exception { CSVParser parser = null; PhoenixConnection conn = null; try { + String stockTableName = generateRandomString(); + // Create table - String statements = "CREATE TABLE IF NOT EXISTS " + STOCK_TABLE + String statements = "CREATE TABLE IF NOT EXISTS " + stockTableName + "(SYMBOL VARCHAR NOT NULL PRIMARY KEY, COMPANY VARCHAR);"; conn = DriverManager.getConnection(getUrl()) .unwrap(PhoenixConnection.class); @@ -292,7 +298,7 @@ public void testCSVUpsertWithColumns() throws Exception { new StringReader(statements), null); // Upsert CSV file - CSVCommonsLoader csvUtil = new CSVCommonsLoader(conn, STOCK_TABLE, + CSVCommonsLoader csvUtil = new CSVCommonsLoader(conn, stockTableName, Arrays. asList(STOCK_COLUMNS), true); // no header csvUtil.upsert(new StringReader(STOCK_CSV_VALUES)); @@ -300,7 +306,7 @@ public void testCSVUpsertWithColumns() throws Exception { // Compare Phoenix ResultSet with CSV file content PreparedStatement statement = conn .prepareStatement("SELECT SYMBOL, COMPANY FROM " - + STOCK_TABLE); + + stockTableName); ResultSet phoenixResultSet = statement.executeQuery(); parser = new CSVParser(new StringReader( STOCK_CSV_VALUES), csvUtil.getFormat()); @@ -327,8 +333,10 @@ public void testCSVUpsertWithNoColumns() throws Exception { CSVParser parser = null; PhoenixConnection conn = null; try { + String stockTableName = generateRandomString(); + // Create table - String statements = "CREATE TABLE IF NOT EXISTS " + STOCK_TABLE + String statements = "CREATE TABLE IF NOT EXISTS " + stockTableName + "(SYMBOL VARCHAR NOT NULL PRIMARY KEY, COMPANY VARCHAR);"; conn = DriverManager.getConnection(getUrl()) .unwrap(PhoenixConnection.class); @@ -336,14 +344,14 @@ public void testCSVUpsertWithNoColumns() throws Exception { new StringReader(statements), null); // Upsert CSV file - CSVCommonsLoader csvUtil = new CSVCommonsLoader(conn, STOCK_TABLE, + CSVCommonsLoader csvUtil = new CSVCommonsLoader(conn, stockTableName, null, true); csvUtil.upsert(new StringReader(STOCK_CSV_VALUES)); // Compare Phoenix ResultSet with CSV file content PreparedStatement statement = conn .prepareStatement("SELECT SYMBOL, COMPANY FROM " - + STOCK_TABLE); + + stockTableName); ResultSet phoenixResultSet = statement.executeQuery(); parser = new CSVParser(new StringReader( STOCK_CSV_VALUES), csvUtil.getFormat()); @@ -370,8 +378,10 @@ public void testCSVUpsertWithBogusColumn() throws Exception { CSVParser parser = null; PhoenixConnection conn = null; try { + String stockTableName = generateRandomString(); + // Create table - String statements = "CREATE TABLE IF NOT EXISTS " + STOCK_TABLE + String statements = "CREATE TABLE IF NOT EXISTS " + stockTableName + "(SYMBOL VARCHAR NOT NULL PRIMARY KEY, COMPANY VARCHAR);"; conn = DriverManager.getConnection(getUrl()) .unwrap(PhoenixConnection.class); @@ -379,14 +389,14 @@ public void testCSVUpsertWithBogusColumn() throws Exception { new StringReader(statements), null); // Upsert CSV file, not strict - CSVCommonsLoader csvUtil = new CSVCommonsLoader(conn, STOCK_TABLE, + CSVCommonsLoader csvUtil = new CSVCommonsLoader(conn, stockTableName, Arrays.asList(STOCK_COLUMNS_WITH_BOGUS), false); csvUtil.upsert(new StringReader(STOCK_CSV_VALUES)); // Compare Phoenix ResultSet with CSV file content PreparedStatement statement = conn .prepareStatement("SELECT SYMBOL, COMPANY FROM " - + STOCK_TABLE); + + stockTableName); ResultSet phoenixResultSet = statement.executeQuery(); parser = new CSVParser(new StringReader(STOCK_CSV_VALUES), csvUtil.getFormat()); @@ -412,8 +422,10 @@ public void testCSVUpsertWithInvalidNumericalData_StrictMode() throws Exception CSVParser parser = null; PhoenixConnection conn = null; try { + String stockTableName = generateRandomString(); + // Create table - String statements = "CREATE TABLE IF NOT EXISTS " + STOCK_TABLE + String statements = "CREATE TABLE IF NOT EXISTS " + stockTableName + "(SYMBOL VARCHAR NOT NULL PRIMARY KEY, COMPANY_ID BIGINT);"; conn = DriverManager.getConnection(getUrl()) .unwrap(PhoenixConnection.class); @@ -421,7 +433,7 @@ public void testCSVUpsertWithInvalidNumericalData_StrictMode() throws Exception new StringReader(statements), null); // Upsert CSV file in strict mode - CSVCommonsLoader csvUtil = new CSVCommonsLoader(conn, STOCK_TABLE, + CSVCommonsLoader csvUtil = new CSVCommonsLoader(conn, stockTableName, Arrays.asList("SYMBOL", "COMPANY_ID"), true); try { csvUtil.upsert(new StringReader(STOCK_CSV_VALUES)); @@ -444,8 +456,10 @@ public void testCSVUpsertWithAllColumn() throws Exception { CSVParser parser = null; PhoenixConnection conn = null; try { + String stockTableName = generateRandomString(); + // Create table - String statements = "CREATE TABLE IF NOT EXISTS " + STOCK_TABLE + String statements = "CREATE TABLE IF NOT EXISTS " + stockTableName + "(SYMBOL VARCHAR NOT NULL PRIMARY KEY, COMPANY VARCHAR);"; conn = DriverManager.getConnection(getUrl()) .unwrap(PhoenixConnection.class); @@ -453,7 +467,7 @@ public void testCSVUpsertWithAllColumn() throws Exception { new StringReader(statements), null); // Upsert CSV file - CSVCommonsLoader csvUtil = new CSVCommonsLoader(conn, STOCK_TABLE, + CSVCommonsLoader csvUtil = new CSVCommonsLoader(conn, stockTableName, Arrays.asList("FOO", "BAR"), false); try { @@ -464,7 +478,7 @@ public void testCSVUpsertWithAllColumn() throws Exception { e.getMessage(), e.getMessage() .contains( - "ERROR 504 (42703): Undefined column. columnName=STOCK_SYMBOL.[FOO, BAR]")); + "ERROR 504 (42703): Undefined column. columnName=" + stockTableName + ".[FOO, BAR]")); } } finally { if (parser != null) @@ -479,8 +493,10 @@ public void testCSVUpsertWithBogusColumnStrict() throws Exception { CSVParser parser = null; PhoenixConnection conn = null; try { + String stockTableName = generateRandomString(); + // Create table - String statements = "CREATE TABLE IF NOT EXISTS " + STOCK_TABLE + String statements = "CREATE TABLE IF NOT EXISTS " + stockTableName + "(SYMBOL VARCHAR NOT NULL PRIMARY KEY, COMPANY VARCHAR);"; conn = DriverManager.getConnection(getUrl()) .unwrap(PhoenixConnection.class); @@ -488,7 +504,7 @@ public void testCSVUpsertWithBogusColumnStrict() throws Exception { new StringReader(statements), null); // Upsert CSV file - CSVCommonsLoader csvUtil = new CSVCommonsLoader(conn, STOCK_TABLE, + CSVCommonsLoader csvUtil = new CSVCommonsLoader(conn, stockTableName, Arrays.asList(STOCK_COLUMNS_WITH_BOGUS), true); try { csvUtil.upsert(new StringReader(STOCK_CSV_VALUES)); @@ -498,7 +514,7 @@ public void testCSVUpsertWithBogusColumnStrict() throws Exception { e.getMessage(), e.getMessage() .contains( - "ERROR 504 (42703): Undefined column. columnName=STOCK_SYMBOL.BOGUS")); + "ERROR 504 (42703): Undefined column. columnName=" + stockTableName + ".BOGUS")); } } finally { if (parser != null) diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/GroupByCaseIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/GroupByCaseIT.java index fcf6112ff9c..86a1f649edc 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/GroupByCaseIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/GroupByCaseIT.java @@ -19,6 +19,7 @@ import static org.apache.phoenix.util.TestUtil.GROUPBYTEST_NAME; import static org.apache.phoenix.util.TestUtil.TEST_PROPERTIES; +import static org.apache.phoenix.util.TestUtil.getTableName; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; @@ -40,41 +41,25 @@ import org.junit.Test; -public class GroupByCaseIT extends BaseHBaseManagedTimeIT { - - private static String GROUPBY1 = "select " + - "case when uri LIKE 'Report%' then 'Reports' else 'Other' END category" + - ", avg(appcpu) from " + GROUPBYTEST_NAME + - " group by category"; - - private static String GROUPBY2 = "select " + - "case uri when 'Report%' then 'Reports' else 'Other' END category" + - ", avg(appcpu) from " + GROUPBYTEST_NAME + - " group by appcpu, category"; - - private static String GROUPBY3 = "select " + - "case uri when 'Report%' then 'Reports' else 'Other' END category" + - ", avg(appcpu) from " + GROUPBYTEST_NAME + - " group by avg(appcpu), category"; - +public class GroupByCaseIT extends BaseHBaseManagedTimeTableReuseIT { private static int id; - private static void initData(Connection conn) throws SQLException { - ensureTableCreated(getUrl(), GROUPBYTEST_NAME, GROUPBYTEST_NAME); - insertRow(conn, "Report1", 10); - insertRow(conn, "Report2", 10); - insertRow(conn, "Report3", 30); - insertRow(conn, "Report4", 30); - insertRow(conn, "SOQL1", 10); - insertRow(conn, "SOQL2", 10); - insertRow(conn, "SOQL3", 30); - insertRow(conn, "SOQL4", 30); + private static void initData(Connection conn, String tableName) throws SQLException { + ensureTableCreated(getUrl(), tableName, GROUPBYTEST_NAME); + insertRow(conn, tableName, "Report1", 10); + insertRow(conn, tableName, "Report2", 10); + insertRow(conn, tableName, "Report3", 30); + insertRow(conn, tableName, "Report4", 30); + insertRow(conn, tableName, "SOQL1", 10); + insertRow(conn, tableName, "SOQL2", 10); + insertRow(conn, tableName, "SOQL3", 30); + insertRow(conn, tableName, "SOQL4", 30); conn.commit(); conn.close(); } - private static void insertRow(Connection conn, String uri, int appcpu) throws SQLException { - PreparedStatement statement = conn.prepareStatement("UPSERT INTO " + GROUPBYTEST_NAME + "(id, uri, appcpu) values (?,?,?)"); + private static void insertRow(Connection conn, String tableName, String uri, int appcpu) throws SQLException { + PreparedStatement statement = conn.prepareStatement("UPSERT INTO " + tableName + "(id, uri, appcpu) values (?,?,?)"); statement.setString(1, "id" + id); statement.setString(2, uri); statement.setInt(3, appcpu); @@ -86,13 +71,14 @@ private static void insertRow(Connection conn, String uri, int appcpu) throws SQ public void testExpressionInGroupBy() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); - String ddl = " create table tgb_counter(tgb_id integer NOT NULL,utc_date_epoch integer NOT NULL,tgb_name varchar(40),ack_success_count integer" + + String tableName = generateRandomString(); + String ddl = " create table " + tableName + "(tgb_id integer NOT NULL,utc_date_epoch integer NOT NULL,tgb_name varchar(40),ack_success_count integer" + ",ack_success_one_ack_count integer, CONSTRAINT pk_tgb_counter PRIMARY KEY(tgb_id, utc_date_epoch))"; String query = "SELECT tgb_id, tgb_name, (utc_date_epoch/10)*10 AS utc_epoch_hour,SUM(ack_success_count + ack_success_one_ack_count) AS ack_tx_sum" + - " FROM tgb_counter GROUP BY tgb_id, tgb_name, utc_epoch_hour"; + " FROM " + tableName + " GROUP BY tgb_id, tgb_name, utc_epoch_hour"; createTestTable(getUrl(), ddl); - String dml = "UPSERT INTO tgb_counter VALUES(?,?,?,?,?)"; + String dml = "UPSERT INTO " + tableName + " VALUES(?,?,?,?,?)"; PreparedStatement stmt = conn.prepareStatement(dml); stmt.setInt(1, 1); stmt.setInt(2, 1000); @@ -128,16 +114,17 @@ public void testExpressionInGroupBy() throws Exception { public void testBooleanInGroupBy() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); - String ddl = " create table bool_gb(id varchar primary key,v1 boolean, v2 integer, v3 integer)"; + String tableName = generateRandomString(); + String ddl = " create table " + tableName + "(id varchar primary key,v1 boolean, v2 integer, v3 integer)"; createTestTable(getUrl(), ddl); - PreparedStatement stmt = conn.prepareStatement("UPSERT INTO bool_gb(id,v2,v3) VALUES(?,?,?)"); + PreparedStatement stmt = conn.prepareStatement("UPSERT INTO " + tableName + "(id,v2,v3) VALUES(?,?,?)"); stmt.setString(1, "a"); stmt.setInt(2, 1); stmt.setInt(3, 1); stmt.execute(); stmt.close(); - stmt = conn.prepareStatement("UPSERT INTO bool_gb VALUES(?,?,?,?)"); + stmt = conn.prepareStatement("UPSERT INTO " + tableName + " VALUES(?,?,?,?)"); stmt.setString(1, "b"); stmt.setBoolean(2, false); stmt.setInt(3, 2); @@ -152,7 +139,7 @@ public void testBooleanInGroupBy() throws Exception { String[] gbs = {"v1,v2,v3","v1,v3,v2","v2,v1,v3"}; for (String gb : gbs) { - ResultSet rs = conn.createStatement().executeQuery("SELECT v1, v2, v3 from bool_gb group by " + gb); + ResultSet rs = conn.createStatement().executeQuery("SELECT v1, v2, v3 from " + tableName + " group by " + gb); assertTrue(rs.next()); assertEquals(false,rs.getBoolean("v1")); assertTrue(rs.wasNull()); @@ -177,9 +164,10 @@ public void testBooleanInGroupBy() throws Exception { public void testScanUri() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); - initData(conn); + String tableName = generateRandomString(); + initData(conn, tableName); Statement stmt = conn.createStatement(); - ResultSet rs = stmt.executeQuery("select uri from " + GROUPBYTEST_NAME); + ResultSet rs = stmt.executeQuery("select uri from " + tableName); assertTrue(rs.next()); assertEquals("Report1", rs.getString(1)); assertTrue(rs.next()); @@ -204,9 +192,10 @@ public void testScanUri() throws Exception { public void testCount() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); - initData(conn); + String tableName = generateRandomString(); + initData(conn, tableName); Statement stmt = conn.createStatement(); - ResultSet rs = stmt.executeQuery("select count(1) from " + GROUPBYTEST_NAME); + ResultSet rs = stmt.executeQuery("select count(1) from " + tableName); assertTrue(rs.next()); assertEquals(8, rs.getInt(1)); assertFalse(rs.next()); @@ -217,12 +206,27 @@ public void testCount() throws Exception { public void testGroupByCase() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); - initData(conn); - conn.createStatement().executeQuery(GROUPBY1); - conn.createStatement().executeQuery(GROUPBY2); + String tableName = generateRandomString(); + String groupBy1 = "select " + + "case when uri LIKE 'Report%' then 'Reports' else 'Other' END category" + + ", avg(appcpu) from " + tableName + + " group by category"; + + String groupBy2 = "select " + + "case uri when 'Report%' then 'Reports' else 'Other' END category" + + ", avg(appcpu) from " + tableName + + " group by appcpu, category"; + + String groupBy3 = "select " + + "case uri when 'Report%' then 'Reports' else 'Other' END category" + + ", avg(appcpu) from " + tableName + + " group by avg(appcpu), category"; + initData(conn, tableName); + conn.createStatement().executeQuery(groupBy1); + conn.createStatement().executeQuery(groupBy2); // TODO: validate query results try { - conn.createStatement().executeQuery(GROUPBY3); + conn.createStatement().executeQuery(groupBy3); fail(); } catch (SQLException e) { assertTrue(e.getMessage().contains("Aggregate expressions may not be used in GROUP BY")); @@ -235,7 +239,9 @@ public void testGroupByCase() throws Exception { public void testGroupByArray() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); - conn.createStatement().execute("CREATE TABLE test1(\n" + + + String tableName = generateRandomString(); + conn.createStatement().execute("CREATE TABLE " + tableName + "(\n" + " a VARCHAR NOT NULL,\n" + " b VARCHAR,\n" + " c INTEGER,\n" + @@ -245,13 +251,13 @@ public void testGroupByArray() throws Exception { " g BIGINT,\n" + " CONSTRAINT pk PRIMARY KEY(a)\n" + ")"); - conn.createStatement().execute("UPSERT INTO test1 VALUES('1', 'val', 100, 'a', ARRAY ['b'], 1, 2)"); - conn.createStatement().execute("UPSERT INTO test1 VALUES('2', 'val', 100, 'a', ARRAY ['b'], 3, 4)"); - conn.createStatement().execute("UPSERT INTO test1 VALUES('3', 'val', 100, 'a', ARRAY ['b','c'], 5, 6)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('1', 'val', 100, 'a', ARRAY ['b'], 1, 2)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('2', 'val', 100, 'a', ARRAY ['b'], 3, 4)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('3', 'val', 100, 'a', ARRAY ['b','c'], 5, 6)"); conn.commit(); ResultSet rs = conn.createStatement().executeQuery("SELECT c, SUM(f + g) AS sumone, d, e\n" + - "FROM test1\n" + + "FROM " + tableName + "\n" + "WHERE b = 'val'\n" + " AND a IN ('1','2','3')\n" + "GROUP BY c, d, e\n" + @@ -270,7 +276,9 @@ public void testGroupByArray() throws Exception { public void testGroupByOrderPreserving() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); - conn.createStatement().execute("CREATE TABLE T (ORGANIZATION_ID char(15) not null, \n" + + String tableName = generateRandomString(); + + conn.createStatement().execute("CREATE TABLE " + tableName + "(ORGANIZATION_ID char(15) not null, \n" + "JOURNEY_ID char(15) not null, \n" + "DATASOURCE SMALLINT not null, \n" + "MATCH_STATUS TINYINT not null, \n" + @@ -283,13 +291,13 @@ public void testGroupByOrderPreserving() throws Exception { " MATCH_STATUS,\n" + " EXTERNAL_DATASOURCE_KEY,\n" + " ENTITY_ID))"); - conn.createStatement().execute("UPSERT INTO T VALUES('000001111122222', '333334444455555', 0, 0, 'abc', '666667777788888')"); - conn.createStatement().execute("UPSERT INTO T VALUES('000001111122222', '333334444455555', 0, 0, 'abcd', '666667777788889')"); - conn.createStatement().execute("UPSERT INTO T VALUES('000001111122222', '333334444455555', 0, 0, 'abc', '666667777788899')"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('000001111122222', '333334444455555', 0, 0, 'abc', '666667777788888')"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('000001111122222', '333334444455555', 0, 0, 'abcd', '666667777788889')"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('000001111122222', '333334444455555', 0, 0, 'abc', '666667777788899')"); conn.commit(); String query = "SELECT COUNT(1), EXTERNAL_DATASOURCE_KEY As DUP_COUNT\n" + - " FROM T \n" + + " FROM " + tableName + " \n" + " WHERE JOURNEY_ID='333334444455555' AND \n" + " DATASOURCE=0 AND MATCH_STATUS <= 1 and \n" + " ORGANIZATION_ID='000001111122222' \n" + @@ -303,7 +311,7 @@ public void testGroupByOrderPreserving() throws Exception { rs = conn.createStatement().executeQuery("EXPLAIN " + query); assertEquals( - "CLIENT PARALLEL 1-WAY RANGE SCAN OVER T ['000001111122222','333334444455555',0,*] - ['000001111122222','333334444455555',0,1]\n" + + "CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + tableName + " ['000001111122222','333334444455555',0,*] - ['000001111122222','333334444455555',0,1]\n" + " SERVER FILTER BY FIRST KEY ONLY\n" + " SERVER AGGREGATE INTO ORDERED DISTINCT ROWS BY [MATCH_STATUS, EXTERNAL_DATASOURCE_KEY]\n" + "CLIENT FILTER BY COUNT(1) > 1",QueryUtil.getExplainPlan(rs)); @@ -313,21 +321,22 @@ public void testGroupByOrderPreserving() throws Exception { public void testGroupByOrderPreservingDescSort() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); - conn.createStatement().execute("CREATE TABLE GROUP_BY_DESC (k1 char(1) not null, k2 char(1) not null, constraint pk primary key (k1,k2)) split on ('ac','jc','nc')"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('a', 'a')"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('a', 'b')"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('a', 'c')"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('a', 'd')"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('j', 'a')"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('j', 'b')"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('j', 'c')"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('j', 'd')"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('n', 'a')"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('n', 'b')"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('n', 'c')"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('n', 'd')"); + String tableName = generateRandomString(); + conn.createStatement().execute("CREATE TABLE " + tableName + " (k1 char(1) not null, k2 char(1) not null, constraint pk primary key (k1,k2)) split on ('ac','jc','nc')"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('a', 'a')"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('a', 'b')"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('a', 'c')"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('a', 'd')"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('j', 'a')"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('j', 'b')"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('j', 'c')"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('j', 'd')"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('n', 'a')"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('n', 'b')"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('n', 'c')"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('n', 'd')"); conn.commit(); - String query = "SELECT k1,count(*) FROM GROUP_BY_DESC GROUP BY k1 ORDER BY k1 DESC"; + String query = "SELECT k1,count(*) FROM " + tableName + " GROUP BY k1 ORDER BY k1 DESC"; ResultSet rs = conn.createStatement().executeQuery(query); assertTrue(rs.next()); assertEquals("n", rs.getString(1)); @@ -341,7 +350,7 @@ public void testGroupByOrderPreservingDescSort() throws Exception { assertFalse(rs.next()); rs = conn.createStatement().executeQuery("EXPLAIN " + query); assertEquals( - "CLIENT PARALLEL 1-WAY REVERSE FULL SCAN OVER GROUP_BY_DESC\n" + + "CLIENT PARALLEL 1-WAY REVERSE FULL SCAN OVER " + tableName + "\n" + " SERVER FILTER BY FIRST KEY ONLY\n" + " SERVER AGGREGATE INTO ORDERED DISTINCT ROWS BY [K1]", QueryUtil.getExplainPlan(rs)); } @@ -350,26 +359,28 @@ public void testGroupByOrderPreservingDescSort() throws Exception { public void testSumGroupByOrderPreservingDesc() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); - PreparedStatement stmt = conn.prepareStatement("CREATE TABLE GROUP_BY_DESC (k1 char(1) not null, k2 integer not null, constraint pk primary key (k1,k2)) split on (?,?,?)"); + String tableName = generateRandomString(); + + PreparedStatement stmt = conn.prepareStatement("CREATE TABLE " + tableName + " (k1 char(1) not null, k2 integer not null, constraint pk primary key (k1,k2)) split on (?,?,?)"); stmt.setBytes(1, ByteUtil.concat(PChar.INSTANCE.toBytes("a"), PInteger.INSTANCE.toBytes(3))); stmt.setBytes(2, ByteUtil.concat(PChar.INSTANCE.toBytes("j"), PInteger.INSTANCE.toBytes(3))); stmt.setBytes(3, ByteUtil.concat(PChar.INSTANCE.toBytes("n"), PInteger.INSTANCE.toBytes(3))); stmt.execute(); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('a', 1)"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('a', 2)"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('a', 3)"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('a', 4)"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('b', 5)"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('j', 1)"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('j', 2)"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('j', 3)"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('j', 4)"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('n', 1)"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('n', 2)"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('n', 3)"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('n', 4)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('a', 1)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('a', 2)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('a', 3)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('a', 4)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('b', 5)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('j', 1)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('j', 2)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('j', 3)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('j', 4)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('n', 1)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('n', 2)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('n', 3)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('n', 4)"); conn.commit(); - String query = "SELECT k1,sum(k2) FROM GROUP_BY_DESC GROUP BY k1 ORDER BY k1 DESC"; + String query = "SELECT k1,sum(k2) FROM " + tableName + " GROUP BY k1 ORDER BY k1 DESC"; ResultSet rs = conn.createStatement().executeQuery(query); assertTrue(rs.next()); assertEquals("n", rs.getString(1)); @@ -386,7 +397,7 @@ public void testSumGroupByOrderPreservingDesc() throws Exception { assertFalse(rs.next()); rs = conn.createStatement().executeQuery("EXPLAIN " + query); assertEquals( - "CLIENT PARALLEL 1-WAY REVERSE FULL SCAN OVER GROUP_BY_DESC\n" + + "CLIENT PARALLEL 1-WAY REVERSE FULL SCAN OVER " + tableName + "\n" + " SERVER FILTER BY FIRST KEY ONLY\n" + " SERVER AGGREGATE INTO ORDERED DISTINCT ROWS BY [K1]", QueryUtil.getExplainPlan(rs)); } @@ -395,26 +406,28 @@ public void testSumGroupByOrderPreservingDesc() throws Exception { public void testAvgGroupByOrderPreserving() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); - PreparedStatement stmt = conn.prepareStatement("CREATE TABLE GROUP_BY_DESC (k1 char(1) not null, k2 integer not null, constraint pk primary key (k1,k2)) split on (?,?,?)"); + String tableName = generateRandomString(); + + PreparedStatement stmt = conn.prepareStatement("CREATE TABLE " + tableName + " (k1 char(1) not null, k2 integer not null, constraint pk primary key (k1,k2)) split on (?,?,?)"); stmt.setBytes(1, ByteUtil.concat(PChar.INSTANCE.toBytes("a"), PInteger.INSTANCE.toBytes(3))); stmt.setBytes(2, ByteUtil.concat(PChar.INSTANCE.toBytes("j"), PInteger.INSTANCE.toBytes(3))); stmt.setBytes(3, ByteUtil.concat(PChar.INSTANCE.toBytes("n"), PInteger.INSTANCE.toBytes(3))); stmt.execute(); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('a', 1)"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('a', 2)"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('a', 3)"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('a', 6)"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('b', 5)"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('j', 1)"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('j', 2)"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('j', 3)"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('j', 10)"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('n', 1)"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('n', 2)"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('n', 3)"); - conn.createStatement().execute("UPSERT INTO GROUP_BY_DESC VALUES('n', 2)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('a', 1)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('a', 2)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('a', 3)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('a', 6)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('b', 5)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('j', 1)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('j', 2)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('j', 3)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('j', 10)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('n', 1)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('n', 2)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('n', 3)"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('n', 2)"); conn.commit(); - String query = "SELECT k1,avg(k2) FROM GROUP_BY_DESC GROUP BY k1"; + String query = "SELECT k1,avg(k2) FROM " + tableName + " GROUP BY k1"; ResultSet rs = conn.createStatement().executeQuery(query); assertTrue(rs.next()); assertEquals("a", rs.getString(1)); @@ -431,7 +444,7 @@ public void testAvgGroupByOrderPreserving() throws Exception { assertFalse(rs.next()); rs = conn.createStatement().executeQuery("EXPLAIN " + query); assertEquals( - "CLIENT PARALLEL 1-WAY FULL SCAN OVER GROUP_BY_DESC\n" + + "CLIENT PARALLEL 1-WAY FULL SCAN OVER " + tableName + "\n" + " SERVER FILTER BY FIRST KEY ONLY\n" + " SERVER AGGREGATE INTO ORDERED DISTINCT ROWS BY [K1]", QueryUtil.getExplainPlan(rs)); } diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/HashJoinMoreIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/HashJoinMoreIT.java index c27db6b16cc..0f1d2566196 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/HashJoinMoreIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/HashJoinMoreIT.java @@ -43,7 +43,7 @@ import com.google.common.collect.Maps; -public class HashJoinMoreIT extends BaseHBaseManagedTimeIT { +public class HashJoinMoreIT extends BaseHBaseManagedTimeTableReuseIT { private final String[] plans = new String[] { /* * testJoinWithKeyRangeOptimization() diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixRuntimeIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixRuntimeIT.java index c935f16ef9c..02f8997413c 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixRuntimeIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/PhoenixRuntimeIT.java @@ -96,6 +96,9 @@ private static Filter getUserTableAndViewsFilter() { } private void testGetTenantIdExpression(boolean isSalted) throws Exception { + //Have to metaData tables because BaseHBaseManagedTimeTableReuseIT doesn't delete them after each test case , and tenant list will create issues between test cases + deletePriorMetaData(HConstants.LATEST_TIMESTAMP, getUrl()); + Connection conn = DriverManager.getConnection(getUrl()); conn.setAutoCommit(true); String tableName = generateRandomString() ; @@ -148,8 +151,7 @@ private void testGetTenantIdExpression(boolean isSalted) throws Exception { HTableInterface htable7 = conn.unwrap(PhoenixConnection.class).getQueryServices().getTable(Bytes.toBytes(tableName)); assertTenantIds(e7, htable7, new FirstKeyOnlyFilter(), new String[] {"t1", "t2"} ); - //Have to metaData tables because BaseHBaseManagedTimeTableReuseIT doesn't delete them after each test case , and tenant list will create issues between test cases - deletePriorMetaData(HConstants.LATEST_TIMESTAMP, getUrl()); + } } diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SkipScanAfterManualSplitIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SkipScanAfterManualSplitIT.java index 3a847b67d3a..8b53c2e85c2 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SkipScanAfterManualSplitIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SkipScanAfterManualSplitIT.java @@ -43,7 +43,7 @@ import com.google.common.collect.Maps; -public class SkipScanAfterManualSplitIT extends BaseHBaseManagedTimeIT { +public class SkipScanAfterManualSplitIT extends BaseHBaseManagedTimeTableReuseIT { private static final int BATCH_SIZE = 25; private static final int MAX_FILESIZE = 1024 * 10; @@ -56,8 +56,8 @@ public class SkipScanAfterManualSplitIT extends BaseHBaseManagedTimeIT { } PAYLOAD = buf.toString(); } - private static final String TABLE_NAME = "S"; - private static final byte[] TABLE_NAME_BYTES = Bytes.toBytes(TABLE_NAME); + private static final String tableName = "S"; + private static final byte[] tableNameBytes = Bytes.toBytes(tableName); private static final int MIN_CHAR = 'a'; private static final int MAX_CHAR = 'z'; @@ -75,13 +75,13 @@ public static void doSetup() throws Exception { setUpTestDriver(new ReadOnlyProps(props.entrySet().iterator())); } - private static void initTable() throws Exception { + private static void initTable(String tableName) throws Exception { Connection conn = DriverManager.getConnection(getUrl()); - conn.createStatement().execute("CREATE TABLE " + TABLE_NAME + "(" + conn.createStatement().execute("CREATE TABLE " + tableName + "(" + "a VARCHAR PRIMARY KEY, b VARCHAR) " + HTableDescriptor.MAX_FILESIZE + "=" + MAX_FILESIZE + "," + " SALT_BUCKETS = 4"); - PreparedStatement stmt = conn.prepareStatement("UPSERT INTO s VALUES(?,?)"); + PreparedStatement stmt = conn.prepareStatement("UPSERT INTO " + tableName + " VALUES(?,?)"); int rowCount = 0; for (int c1 = MIN_CHAR; c1 <= MAX_CHAR; c1++) { for (int c2 = MIN_CHAR; c2 <= MAX_CHAR; c2++) { @@ -99,7 +99,7 @@ private static void initTable() throws Exception { ConnectionQueryServices services = conn.unwrap(PhoenixConnection.class).getQueryServices(); HBaseAdmin admin = services.getAdmin(); try { - admin.flush(TABLE_NAME); + admin.flush(tableName); } finally { admin.close(); } @@ -108,18 +108,20 @@ private static void initTable() throws Exception { @Test public void testManualSplit() throws Exception { - initTable(); + String tableName = generateRandomString(); + byte[] tableNameBytes = Bytes.toBytes(tableName); + initTable(tableName); Connection conn = DriverManager.getConnection(getUrl()); ConnectionQueryServices services = conn.unwrap(PhoenixConnection.class).getQueryServices(); - int nRegions = services.getAllTableRegions(TABLE_NAME_BYTES).size(); + int nRegions = services.getAllTableRegions(tableNameBytes).size(); int nInitialRegions = nRegions; HBaseAdmin admin = services.getAdmin(); try { - admin.split(TABLE_NAME); + admin.split(tableName); int nTries = 0; while (nRegions == nInitialRegions && nTries < 10) { Thread.sleep(1000); - nRegions = services.getAllTableRegions(TABLE_NAME_BYTES).size(); + nRegions = services.getAllTableRegions(tableNameBytes).size(); nTries++; } // Split finished by this time, but cache isn't updated until @@ -127,10 +129,10 @@ public void testManualSplit() throws Exception { assertEquals(nRegions, nInitialRegions); int nRows = 2; - String query = "SELECT count(*) FROM S WHERE a IN ('tl','jt',' a',' b',' c',' d')"; + String query = "SELECT count(*) FROM " + tableName + " WHERE a IN ('tl','jt',' a',' b',' c',' d')"; ResultSet rs1 = conn.createStatement().executeQuery(query); assertTrue(rs1.next()); - nRegions = services.getAllTableRegions(TABLE_NAME_BYTES).size(); + nRegions = services.getAllTableRegions(tableNameBytes).size(); // Region cache has been updated, as there are more regions now assertNotEquals(nRegions, nInitialRegions); /* diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SortMergeJoinMoreIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SortMergeJoinMoreIT.java index 8ede6aecccf..e1239299778 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SortMergeJoinMoreIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SortMergeJoinMoreIT.java @@ -39,7 +39,7 @@ import com.google.common.collect.Maps; -public class SortMergeJoinMoreIT extends BaseHBaseManagedTimeIT { +public class SortMergeJoinMoreIT extends BaseHBaseManagedTimeTableReuseIT { @BeforeClass @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) @@ -53,8 +53,8 @@ public static void doSetup() throws Exception { @Test public void testJoinOverSaltedTables() throws Exception { - String tempTableNoSalting = "TEMP_TABLE_NO_SALTING"; - String tempTableWithSalting = "TEMP_TABLE_WITH_SALTING"; + String tempTableNoSalting = "TEMP_TABLE_NO_SALTING" + generateRandomString(); + String tempTableWithSalting = "TEMP_TABLE_WITH_SALTING" + generateRandomString(); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); try { @@ -191,8 +191,8 @@ public void testJoinOverSaltedTables() throws Exception { @Test public void testJoinOnDynamicColumns() throws Exception { - String tableA = "tableA"; - String tableB = "tableB"; + String tableA = generateRandomString(); + String tableB = generateRandomString(); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = null; PreparedStatement stmt = null; @@ -210,7 +210,7 @@ public void testJoinOnDynamicColumns() throws Exception { stmt.execute(); stmt.close(); - String upsertA = "UPSERT INTO TABLEA (pkA, colA1, colA2) VALUES(?, ?, ?)"; + String upsertA = "UPSERT INTO " + tableA + " (pkA, colA1, colA2) VALUES(?, ?, ?)"; stmt = conn.prepareStatement(upsertA); int i = 0; for (i = 0; i < 5; i++) { @@ -224,8 +224,8 @@ public void testJoinOnDynamicColumns() throws Exception { // upsert select dynamic columns in tableB conn.createStatement().execute("CREATE SEQUENCE SEQB"); - String upsertBSelectA = "UPSERT INTO TABLEB (pkB, pkA INTEGER)" - + "SELECT NEXT VALUE FOR SEQB, pkA FROM TABLEA"; + String upsertBSelectA = "UPSERT INTO " + tableB + " (pkB, pkA INTEGER)" + + "SELECT NEXT VALUE FOR SEQB, pkA FROM " + tableA ; stmt = conn.prepareStatement(upsertBSelectA); stmt.executeUpdate(); stmt.close(); @@ -234,7 +234,7 @@ public void testJoinOnDynamicColumns() throws Exception { // perform a join between tableB and tableA by joining on the dynamic column that we upserted in // tableB. This join should return all the rows from table A. - String joinSql = "SELECT /*+ USE_SORT_MERGE_JOIN*/ A.pkA, A.COLA1, A.colA2 FROM TABLEB B(pkA INTEGER) JOIN TABLEA A ON a.pkA = b.pkA"; + String joinSql = "SELECT /*+ USE_SORT_MERGE_JOIN*/ A.pkA, A.COLA1, A.colA2 FROM " + tableB + " B(pkA INTEGER) JOIN " + tableA + " A ON a.pkA = b.pkA"; stmt = conn.prepareStatement(joinSql); ResultSet rs = stmt.executeQuery(); i = 0; diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/StringIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/StringIT.java index c9630acdeea..d5aad532aca 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/StringIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/StringIT.java @@ -67,7 +67,7 @@ private void testLpadHelper(Connection conn, String colName, int length, List data() { List testCases = Lists.newArrayList(); testCases.add(new String[][] { {}, { "SORT-MERGE-JOIN (SEMI) TABLES\n" + - " SORT-MERGE-JOIN (INNER) TABLES\n" + - " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_ITEM_TABLE_DISPLAY_NAME + "\n" + - " SERVER SORTED BY [\"I.supplier_id\"]\n" + - " CLIENT MERGE SORT\n" + - " AND\n" + - " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_SUPPLIER_TABLE_DISPLAY_NAME + "\n" + - " CLIENT SORTED BY [\"I.item_id\"]\n" + - "AND (SKIP MERGE)\n" + - " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + JOIN_ORDER_TABLE_DISPLAY_NAME + " ['000000000000001'] - [*]\n" + - " SERVER AGGREGATE INTO DISTINCT ROWS BY [\"item_id\"]\n" + - " CLIENT MERGE SORT\n" + - "CLIENT SORTED BY [I.NAME]", + " SORT-MERGE-JOIN (INNER) TABLES\n" + + " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_ITEM_TABLE_DISPLAY_NAME + "\n" + + " SERVER SORTED BY [\"I.supplier_id\"]\n" + + " CLIENT MERGE SORT\n" + + " AND\n" + + " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_SUPPLIER_TABLE_DISPLAY_NAME + "\n" + + " CLIENT SORTED BY [\"I.item_id\"]\n" + + "AND (SKIP MERGE)\n" + + " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + JOIN_ORDER_TABLE_DISPLAY_NAME + " ['000000000000001'] - [*]\n" + + " SERVER AGGREGATE INTO DISTINCT ROWS BY [\"item_id\"]\n" + + " CLIENT MERGE SORT\n" + + "CLIENT SORTED BY [I.NAME]", "SORT-MERGE-JOIN \\(LEFT\\) TABLES\n" + - " SORT-MERGE-JOIN \\(LEFT\\) TABLES\n" + - " CLIENT PARALLEL 4-WAY FULL SCAN OVER " + JOIN_COITEM_TABLE_DISPLAY_NAME + "\n" + - " CLIENT MERGE SORT\n" + - " AND\n" + - " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_ITEM_TABLE_DISPLAY_NAME + "\n" + - " SERVER AGGREGATE INTO DISTINCT ROWS BY \\[\".+.item_id\", .+.NAME\\]\n" + - " CLIENT MERGE SORT\n" + - " PARALLEL ANTI-JOIN TABLE 0 \\(SKIP MERGE\\)\n" + - " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_ORDER_TABLE_DISPLAY_NAME + "\n" + - " SERVER AGGREGATE INTO DISTINCT ROWS BY \\[\"item_id\"]\\\n" + - " CLIENT MERGE SORT\n" + - " CLIENT SORTED BY \\[.*.CO_ITEM_ID, .*.CO_ITEM_NAME\\]\n" + - "AND\n" + - " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_ITEM_TABLE_DISPLAY_NAME + "\n" + - " SERVER AGGREGATE INTO DISTINCT ROWS BY \\[\".+.item_id\", .+.NAME\\]\n" + - " CLIENT MERGE SORT\n" + - " SKIP-SCAN-JOIN TABLE 0\n" + - " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_ORDER_TABLE_DISPLAY_NAME + "\n" + - " SERVER AGGREGATE INTO DISTINCT ROWS BY \\[\"item_id\"\\]\n" + - " CLIENT MERGE SORT\n" + - " DYNAMIC SERVER FILTER BY \"" + JOIN_ITEM_TABLE_DISPLAY_NAME + ".item_id\" IN \\(\\$\\d+.\\$\\d+\\)\n" + - "CLIENT FILTER BY \\(\\$\\d+.\\$\\d+ IS NOT NULL OR \\$\\d+.\\$\\d+ IS NOT NULL\\)", + " SORT-MERGE-JOIN \\(LEFT\\) TABLES\n" + + " CLIENT PARALLEL 4-WAY FULL SCAN OVER " + JOIN_COITEM_TABLE_DISPLAY_NAME + "\n" + + " CLIENT MERGE SORT\n" + + " AND\n" + + " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_ITEM_TABLE_DISPLAY_NAME + "\n" + + " SERVER AGGREGATE INTO DISTINCT ROWS BY \\[\".+.item_id\", .+.NAME\\]\n" + + " CLIENT MERGE SORT\n" + + " PARALLEL ANTI-JOIN TABLE 0 \\(SKIP MERGE\\)\n" + + " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_ORDER_TABLE_DISPLAY_NAME + "\n" + + " SERVER AGGREGATE INTO DISTINCT ROWS BY \\[\"item_id\"]\\\n" + + " CLIENT MERGE SORT\n" + + " CLIENT SORTED BY \\[.*.CO_ITEM_ID, .*.CO_ITEM_NAME\\]\n" + + "AND\n" + + " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_ITEM_TABLE_DISPLAY_NAME + "\n" + + " SERVER AGGREGATE INTO DISTINCT ROWS BY \\[\".+.item_id\", .+.NAME\\]\n" + + " CLIENT MERGE SORT\n" + + " SKIP-SCAN-JOIN TABLE 0\n" + + " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_ORDER_TABLE_DISPLAY_NAME + "\n" + + " SERVER AGGREGATE INTO DISTINCT ROWS BY \\[\"item_id\"\\]\n" + + " CLIENT MERGE SORT\n" + + " DYNAMIC SERVER FILTER BY \"" + JOIN_ITEM_TABLE_DISPLAY_NAME + ".item_id\" IN \\(\\$\\d+.\\$\\d+\\)\n" + + "CLIENT FILTER BY \\(\\$\\d+.\\$\\d+ IS NOT NULL OR \\$\\d+.\\$\\d+ IS NOT NULL\\)", "SORT-MERGE-JOIN \\(SEMI\\) TABLES\n" + - " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_CUSTOMER_TABLE_DISPLAY_NAME + "\n" + - "AND \\(SKIP MERGE\\)\n" + - " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_ITEM_TABLE_DISPLAY_NAME + "\n" + - " SERVER AGGREGATE INTO DISTINCT ROWS BY \\[\"O.customer_id\"\\]\n" + - " CLIENT MERGE SORT\n" + - " PARALLEL INNER-JOIN TABLE 0\n" + - " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_ORDER_TABLE_DISPLAY_NAME + "\n" + - " PARALLEL LEFT-JOIN TABLE 1\\(DELAYED EVALUATION\\)\n" + - " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_ORDER_TABLE_DISPLAY_NAME + "\n" + - " SERVER AGGREGATE INTO DISTINCT ROWS BY \\[\"item_id\"\\]\n" + - " CLIENT MERGE SORT\n" + - " DYNAMIC SERVER FILTER BY \"I.item_id\" IN \\(\"O.item_id\"\\)\n" + - " AFTER-JOIN SERVER FILTER BY \\(I.NAME = 'T2' OR O.QUANTITY > \\$\\d+.\\$\\d+\\)", - }}); + " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_CUSTOMER_TABLE_DISPLAY_NAME + "\n" + + "AND \\(SKIP MERGE\\)\n" + + " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_ITEM_TABLE_DISPLAY_NAME + "\n" + + " SERVER AGGREGATE INTO DISTINCT ROWS BY \\[\"O.customer_id\"\\]\n" + + " CLIENT MERGE SORT\n" + + " PARALLEL INNER-JOIN TABLE 0\n" + + " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_ORDER_TABLE_DISPLAY_NAME + "\n" + + " PARALLEL LEFT-JOIN TABLE 1\\(DELAYED EVALUATION\\)\n" + + " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_ORDER_TABLE_DISPLAY_NAME + "\n" + + " SERVER AGGREGATE INTO DISTINCT ROWS BY \\[\"item_id\"\\]\n" + + " CLIENT MERGE SORT\n" + + " DYNAMIC SERVER FILTER BY \"I.item_id\" IN \\(\"O.item_id\"\\)\n" + + " AFTER-JOIN SERVER FILTER BY \\(I.NAME = 'T2' OR O.QUANTITY > \\$\\d+.\\$\\d+\\)", + }}); testCases.add(new String[][] { { - "CREATE INDEX \"idx_customer\" ON " + JOIN_CUSTOMER_TABLE_FULL_NAME + " (name)", - "CREATE INDEX \"idx_item\" ON " + JOIN_ITEM_TABLE_FULL_NAME + " (name) INCLUDE (price, discount1, discount2, \"supplier_id\", description)", - "CREATE INDEX \"idx_supplier\" ON " + JOIN_SUPPLIER_TABLE_FULL_NAME + " (name)" + "CREATE INDEX \"idx_customer\" ON " + JOIN_CUSTOMER_TABLE_FULL_NAME + " (name)", + "CREATE INDEX \"idx_item\" ON " + JOIN_ITEM_TABLE_FULL_NAME + " (name) INCLUDE (price, discount1, discount2, \"supplier_id\", description)", + "CREATE INDEX \"idx_supplier\" ON " + JOIN_SUPPLIER_TABLE_FULL_NAME + " (name)" }, { "SORT-MERGE-JOIN (SEMI) TABLES\n" + - " SORT-MERGE-JOIN (INNER) TABLES\n" + - " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_SCHEMA + ".idx_item\n" + - " SERVER SORTED BY [\"I.0:supplier_id\"]\n" + - " CLIENT MERGE SORT\n" + - " AND\n" + - " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_SCHEMA + ".idx_supplier\n" + - " SERVER FILTER BY FIRST KEY ONLY\n" + - " SERVER SORTED BY [\"S.:supplier_id\"]\n" + - " CLIENT MERGE SORT\n" + - " CLIENT SORTED BY [\"I.:item_id\"]\n" + - "AND (SKIP MERGE)\n" + - " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + JOIN_ORDER_TABLE_DISPLAY_NAME + " ['000000000000001'] - [*]\n" + - " SERVER AGGREGATE INTO DISTINCT ROWS BY [\"item_id\"]\n" + - " CLIENT MERGE SORT\n" + - "CLIENT SORTED BY [\"I.0:NAME\"]", + " SORT-MERGE-JOIN (INNER) TABLES\n" + + " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_SCHEMA + ".idx_item\n" + + " SERVER SORTED BY [\"I.0:supplier_id\"]\n" + + " CLIENT MERGE SORT\n" + + " AND\n" + + " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_SCHEMA + ".idx_supplier\n" + + " SERVER FILTER BY FIRST KEY ONLY\n" + + " SERVER SORTED BY [\"S.:supplier_id\"]\n" + + " CLIENT MERGE SORT\n" + + " CLIENT SORTED BY [\"I.:item_id\"]\n" + + "AND (SKIP MERGE)\n" + + " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + JOIN_ORDER_TABLE_DISPLAY_NAME + " ['000000000000001'] - [*]\n" + + " SERVER AGGREGATE INTO DISTINCT ROWS BY [\"item_id\"]\n" + + " CLIENT MERGE SORT\n" + + "CLIENT SORTED BY [\"I.0:NAME\"]", "SORT-MERGE-JOIN \\(LEFT\\) TABLES\n" + - " SORT-MERGE-JOIN \\(LEFT\\) TABLES\n" + - " CLIENT PARALLEL 4-WAY FULL SCAN OVER " + JOIN_COITEM_TABLE_DISPLAY_NAME + "\n" + - " CLIENT MERGE SORT\n" + - " AND\n" + - " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_SCHEMA + ".idx_item\n" + - " SERVER FILTER BY FIRST KEY ONLY\n" + - " SERVER AGGREGATE INTO ORDERED DISTINCT ROWS BY \\[\".+.:item_id\", \".+.0:NAME\"\\]\n" + - " PARALLEL ANTI-JOIN TABLE 0 \\(SKIP MERGE\\)\n" + - " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_ORDER_TABLE_DISPLAY_NAME + "\n" + - " SERVER AGGREGATE INTO DISTINCT ROWS BY \\[\"item_id\"\\]\n" + - " CLIENT MERGE SORT\n" + - " CLIENT SORTED BY \\[.*.CO_ITEM_ID, .*.CO_ITEM_NAME\\]\n" + - "AND\n" + - " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_SCHEMA + ".idx_item\n" + - " SERVER FILTER BY FIRST KEY ONLY\n" + - " SERVER AGGREGATE INTO ORDERED DISTINCT ROWS BY \\[\".+.:item_id\", \".+.0:NAME\"\\]\n" + - " PARALLEL SEMI-JOIN TABLE 0 \\(SKIP MERGE\\)\n" + - " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_ORDER_TABLE_DISPLAY_NAME + "\n" + - " SERVER AGGREGATE INTO DISTINCT ROWS BY \\[\"item_id\"\\]\n" + - " CLIENT MERGE SORT\n" + - "CLIENT FILTER BY \\(\\$\\d+.\\$\\d+ IS NOT NULL OR \\$\\d+.\\$\\d+ IS NOT NULL\\)", - + " SORT-MERGE-JOIN \\(LEFT\\) TABLES\n" + + " CLIENT PARALLEL 4-WAY FULL SCAN OVER " + JOIN_COITEM_TABLE_DISPLAY_NAME + "\n" + + " CLIENT MERGE SORT\n" + + " AND\n" + + " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_SCHEMA + ".idx_item\n" + + " SERVER FILTER BY FIRST KEY ONLY\n" + + " SERVER AGGREGATE INTO ORDERED DISTINCT ROWS BY \\[\".+.:item_id\", \".+.0:NAME\"\\]\n" + + " PARALLEL ANTI-JOIN TABLE 0 \\(SKIP MERGE\\)\n" + + " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_ORDER_TABLE_DISPLAY_NAME + "\n" + + " SERVER AGGREGATE INTO DISTINCT ROWS BY \\[\"item_id\"\\]\n" + + " CLIENT MERGE SORT\n" + + " CLIENT SORTED BY \\[.*.CO_ITEM_ID, .*.CO_ITEM_NAME\\]\n" + + "AND\n" + + " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_SCHEMA + ".idx_item\n" + + " SERVER FILTER BY FIRST KEY ONLY\n" + + " SERVER AGGREGATE INTO ORDERED DISTINCT ROWS BY \\[\".+.:item_id\", \".+.0:NAME\"\\]\n" + + " PARALLEL SEMI-JOIN TABLE 0 \\(SKIP MERGE\\)\n" + + " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_ORDER_TABLE_DISPLAY_NAME + "\n" + + " SERVER AGGREGATE INTO DISTINCT ROWS BY \\[\"item_id\"\\]\n" + + " CLIENT MERGE SORT\n" + + "CLIENT FILTER BY \\(\\$\\d+.\\$\\d+ IS NOT NULL OR \\$\\d+.\\$\\d+ IS NOT NULL\\)", + "SORT-MERGE-JOIN \\(SEMI\\) TABLES\n" + - " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_SCHEMA + ".idx_customer\n" + - " SERVER FILTER BY FIRST KEY ONLY\n" + - " SERVER SORTED BY \\[\"Join.idx_customer.:customer_id\"\\]\n" + - " CLIENT MERGE SORT\n" + - "AND \\(SKIP MERGE\\)\n" + - " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_SCHEMA + ".idx_item\n" + - " SERVER FILTER BY FIRST KEY ONLY\n" + - " SERVER AGGREGATE INTO DISTINCT ROWS BY \\[\"O.customer_id\"\\]\n" + - " CLIENT MERGE SORT\n" + - " PARALLEL INNER-JOIN TABLE 0\n" + - " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_ORDER_TABLE_DISPLAY_NAME + "\n" + - " PARALLEL LEFT-JOIN TABLE 1\\(DELAYED EVALUATION\\)\n" + - " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_ORDER_TABLE_DISPLAY_NAME + "\n" + - " SERVER AGGREGATE INTO DISTINCT ROWS BY \\[\"item_id\"\\]\n" + - " CLIENT MERGE SORT\n" + - " AFTER-JOIN SERVER FILTER BY \\(\"I.0:NAME\" = 'T2' OR O.QUANTITY > \\$\\d+.\\$\\d+\\)", - }}); + " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_SCHEMA + ".idx_customer\n" + + " SERVER FILTER BY FIRST KEY ONLY\n" + + " SERVER SORTED BY \\[\"Join.idx_customer.:customer_id\"\\]\n" + + " CLIENT MERGE SORT\n" + + "AND \\(SKIP MERGE\\)\n" + + " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_SCHEMA + ".idx_item\n" + + " SERVER FILTER BY FIRST KEY ONLY\n" + + " SERVER AGGREGATE INTO DISTINCT ROWS BY \\[\"O.customer_id\"\\]\n" + + " CLIENT MERGE SORT\n" + + " PARALLEL INNER-JOIN TABLE 0\n" + + " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_ORDER_TABLE_DISPLAY_NAME + "\n" + + " PARALLEL LEFT-JOIN TABLE 1\\(DELAYED EVALUATION\\)\n" + + " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_ORDER_TABLE_DISPLAY_NAME + "\n" + + " SERVER AGGREGATE INTO DISTINCT ROWS BY \\[\"item_id\"\\]\n" + + " CLIENT MERGE SORT\n" + + " AFTER-JOIN SERVER FILTER BY \\(\"I.0:NAME\" = 'T2' OR O.QUANTITY > \\$\\d+.\\$\\d+\\)", + }}); testCases.add(new String[][] { { - "CREATE LOCAL INDEX \"idx_customer\" ON " + JOIN_CUSTOMER_TABLE_FULL_NAME + " (name)", - "CREATE LOCAL INDEX \"idx_item\" ON " + JOIN_ITEM_TABLE_FULL_NAME + " (name) INCLUDE (price, discount1, discount2, \"supplier_id\", description)", - "CREATE LOCAL INDEX \"idx_supplier\" ON " + JOIN_SUPPLIER_TABLE_FULL_NAME + " (name)" + "CREATE LOCAL INDEX \"idx_customer\" ON " + JOIN_CUSTOMER_TABLE_FULL_NAME + " (name)", + "CREATE LOCAL INDEX \"idx_item\" ON " + JOIN_ITEM_TABLE_FULL_NAME + " (name) INCLUDE (price, discount1, discount2, \"supplier_id\", description)", + "CREATE LOCAL INDEX \"idx_supplier\" ON " + JOIN_SUPPLIER_TABLE_FULL_NAME + " (name)" }, { "SORT-MERGE-JOIN (SEMI) TABLES\n" + - " SORT-MERGE-JOIN (INNER) TABLES\n" + - " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + JOIN_ITEM_TABLE_DISPLAY_NAME + " [1]\n" + - " SERVER SORTED BY [\"I.0:supplier_id\"]\n" + - " CLIENT MERGE SORT\n" + - " AND\n" + - " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + JOIN_SUPPLIER_TABLE_DISPLAY_NAME + " [1]\n" + - " SERVER FILTER BY FIRST KEY ONLY\n" + - " SERVER SORTED BY [\"S.:supplier_id\"]\n" + - " CLIENT MERGE SORT\n" + - " CLIENT SORTED BY [\"I.:item_id\"]\n" + - "AND (SKIP MERGE)\n" + - " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + JOIN_ORDER_TABLE_DISPLAY_NAME + " ['000000000000001'] - [*]\n" + - " SERVER AGGREGATE INTO DISTINCT ROWS BY [\"item_id\"]\n" + - " CLIENT MERGE SORT\n" + - "CLIENT SORTED BY [\"I.0:NAME\"]", + " SORT-MERGE-JOIN (INNER) TABLES\n" + + " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + JOIN_ITEM_TABLE_DISPLAY_NAME + " [1]\n" + + " SERVER SORTED BY [\"I.0:supplier_id\"]\n" + + " CLIENT MERGE SORT\n" + + " AND\n" + + " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + JOIN_SUPPLIER_TABLE_DISPLAY_NAME + " [1]\n" + + " SERVER FILTER BY FIRST KEY ONLY\n" + + " SERVER SORTED BY [\"S.:supplier_id\"]\n" + + " CLIENT MERGE SORT\n" + + " CLIENT SORTED BY [\"I.:item_id\"]\n" + + "AND (SKIP MERGE)\n" + + " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + JOIN_ORDER_TABLE_DISPLAY_NAME + " ['000000000000001'] - [*]\n" + + " SERVER AGGREGATE INTO DISTINCT ROWS BY [\"item_id\"]\n" + + " CLIENT MERGE SORT\n" + + "CLIENT SORTED BY [\"I.0:NAME\"]", "SORT-MERGE-JOIN \\(LEFT\\) TABLES\n" + - " SORT-MERGE-JOIN \\(LEFT\\) TABLES\n" + - " CLIENT PARALLEL 4-WAY FULL SCAN OVER " + JOIN_COITEM_TABLE_DISPLAY_NAME + "\n" + - " CLIENT MERGE SORT\n" + - " AND\n" + - " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + JOIN_ITEM_TABLE_DISPLAY_NAME + " \\[1\\]\n" + - " SERVER FILTER BY FIRST KEY ONLY\n" + - " SERVER AGGREGATE INTO ORDERED DISTINCT ROWS BY \\[\".+.:item_id\", \".+.0:NAME\"\\]\n" + - " CLIENT MERGE SORT\n" + - " PARALLEL ANTI-JOIN TABLE 0 \\(SKIP MERGE\\)\n" + - " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_ORDER_TABLE_DISPLAY_NAME + "\n" + - " SERVER AGGREGATE INTO DISTINCT ROWS BY \\[\"item_id\"\\]\n" + - " CLIENT MERGE SORT\n" + - " CLIENT SORTED BY \\[.*.CO_ITEM_ID, .*.CO_ITEM_NAME\\]\n" + - "AND\n" + - " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + JOIN_ITEM_TABLE_DISPLAY_NAME + " \\[1\\]\n" + - " SERVER FILTER BY FIRST KEY ONLY\n" + - " SERVER AGGREGATE INTO ORDERED DISTINCT ROWS BY \\[\".+.:item_id\", \".+.0:NAME\"\\]\n" + - " CLIENT MERGE SORT\n" + - " PARALLEL SEMI-JOIN TABLE 0 \\(SKIP MERGE\\)\n" + - " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_ORDER_TABLE_DISPLAY_NAME + "\n" + - " SERVER AGGREGATE INTO DISTINCT ROWS BY \\[\"item_id\"\\]\n" + - " CLIENT MERGE SORT\n" + - " DYNAMIC SERVER FILTER BY \"" + JOIN_SCHEMA + ".idx_item.:item_id\" IN \\(\\$\\d+.\\$\\d+\\)\n" + - "CLIENT FILTER BY \\(\\$\\d+.\\$\\d+ IS NOT NULL OR \\$\\d+.\\$\\d+ IS NOT NULL\\)", - + " SORT-MERGE-JOIN \\(LEFT\\) TABLES\n" + + " CLIENT PARALLEL 4-WAY FULL SCAN OVER " + JOIN_COITEM_TABLE_DISPLAY_NAME + "\n" + + " CLIENT MERGE SORT\n" + + " AND\n" + + " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + JOIN_ITEM_TABLE_DISPLAY_NAME + " \\[1\\]\n" + + " SERVER FILTER BY FIRST KEY ONLY\n" + + " SERVER AGGREGATE INTO ORDERED DISTINCT ROWS BY \\[\".+.:item_id\", \".+.0:NAME\"\\]\n" + + " CLIENT MERGE SORT\n" + + " PARALLEL ANTI-JOIN TABLE 0 \\(SKIP MERGE\\)\n" + + " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_ORDER_TABLE_DISPLAY_NAME + "\n" + + " SERVER AGGREGATE INTO DISTINCT ROWS BY \\[\"item_id\"\\]\n" + + " CLIENT MERGE SORT\n" + + " CLIENT SORTED BY \\[.*.CO_ITEM_ID, .*.CO_ITEM_NAME\\]\n" + + "AND\n" + + " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + JOIN_ITEM_TABLE_DISPLAY_NAME + " \\[1\\]\n" + + " SERVER FILTER BY FIRST KEY ONLY\n" + + " SERVER AGGREGATE INTO ORDERED DISTINCT ROWS BY \\[\".+.:item_id\", \".+.0:NAME\"\\]\n" + + " CLIENT MERGE SORT\n" + + " PARALLEL SEMI-JOIN TABLE 0 \\(SKIP MERGE\\)\n" + + " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_ORDER_TABLE_DISPLAY_NAME + "\n" + + " SERVER AGGREGATE INTO DISTINCT ROWS BY \\[\"item_id\"\\]\n" + + " CLIENT MERGE SORT\n" + + " DYNAMIC SERVER FILTER BY \"" + JOIN_SCHEMA + ".idx_item.:item_id\" IN \\(\\$\\d+.\\$\\d+\\)\n" + + "CLIENT FILTER BY \\(\\$\\d+.\\$\\d+ IS NOT NULL OR \\$\\d+.\\$\\d+ IS NOT NULL\\)", + "SORT-MERGE-JOIN \\(SEMI\\) TABLES\n" + - " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + JOIN_CUSTOMER_TABLE_DISPLAY_NAME + " \\[1\\]\n" + - " SERVER FILTER BY FIRST KEY ONLY\n" + - " SERVER SORTED BY \\[\"Join.idx_customer.:customer_id\"\\]\n" + - " CLIENT MERGE SORT\n" + - "AND \\(SKIP MERGE\\)\n" + - " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + JOIN_ITEM_TABLE_DISPLAY_NAME + " \\[1\\]\n" + - " SERVER FILTER BY FIRST KEY ONLY\n" + - " SERVER AGGREGATE INTO DISTINCT ROWS BY \\[\"O.customer_id\"\\]\n" + - " CLIENT MERGE SORT\n" + - " PARALLEL INNER-JOIN TABLE 0\n" + - " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_ORDER_TABLE_DISPLAY_NAME + "\n" + - " PARALLEL LEFT-JOIN TABLE 1\\(DELAYED EVALUATION\\)\n" + - " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_ORDER_TABLE_DISPLAY_NAME + "\n" + - " SERVER AGGREGATE INTO DISTINCT ROWS BY \\[\"item_id\"\\]\n" + - " CLIENT MERGE SORT\n" + - " DYNAMIC SERVER FILTER BY \"I.:item_id\" IN \\(\"O.item_id\"\\)\n" + - " AFTER-JOIN SERVER FILTER BY \\(\"I.0:NAME\" = 'T2' OR O.QUANTITY > \\$\\d+.\\$\\d+\\)", - }}); + " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + JOIN_CUSTOMER_TABLE_DISPLAY_NAME + " \\[1\\]\n" + + " SERVER FILTER BY FIRST KEY ONLY\n" + + " SERVER SORTED BY \\[\"Join.idx_customer.:customer_id\"\\]\n" + + " CLIENT MERGE SORT\n" + + "AND \\(SKIP MERGE\\)\n" + + " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + JOIN_ITEM_TABLE_DISPLAY_NAME + " \\[1\\]\n" + + " SERVER FILTER BY FIRST KEY ONLY\n" + + " SERVER AGGREGATE INTO DISTINCT ROWS BY \\[\"O.customer_id\"\\]\n" + + " CLIENT MERGE SORT\n" + + " PARALLEL INNER-JOIN TABLE 0\n" + + " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_ORDER_TABLE_DISPLAY_NAME + "\n" + + " PARALLEL LEFT-JOIN TABLE 1\\(DELAYED EVALUATION\\)\n" + + " CLIENT PARALLEL 1-WAY FULL SCAN OVER " + JOIN_ORDER_TABLE_DISPLAY_NAME + "\n" + + " SERVER AGGREGATE INTO DISTINCT ROWS BY \\[\"item_id\"\\]\n" + + " CLIENT MERGE SORT\n" + + " DYNAMIC SERVER FILTER BY \"I.:item_id\" IN \\(\"O.item_id\"\\)\n" + + " AFTER-JOIN SERVER FILTER BY \\(\"I.0:NAME\" = 'T2' OR O.QUANTITY > \\$\\d+.\\$\\d+\\)", + }}); return testCases; - } - + } + protected void initTableValues() throws Exception { - String tableName_CustomerTableFullName = generateRandomString(); - String tableName_ItemTableFullName = generateRandomString(); - String tableName_SupplierTableFullName = generateRandomString(); - String tableName_OrderTableFullName = generateRandomString(); - String tableName_CoitemTableFullName = generateRandomString(); - ensureTableCreated(getUrl(), tableName_CustomerTableFullName, JOIN_CUSTOMER_TABLE_FULL_NAME); - ensureTableCreated(getUrl(), tableName_ItemTableFullName, JOIN_ITEM_TABLE_FULL_NAME); - ensureTableCreated(getUrl(), tableName_SupplierTableFullName, JOIN_SUPPLIER_TABLE_FULL_NAME); - ensureTableCreated(getUrl(), tableName_OrderTableFullName, JOIN_ORDER_TABLE_FULL_NAME); - ensureTableCreated(getUrl(), tableName_CoitemTableFullName,JOIN_COITEM_TABLE_FULL_NAME); - + ensureTableCreated(getUrl(), JOIN_CUSTOMER_TABLE_FULL_NAME); + ensureTableCreated(getUrl(), JOIN_ITEM_TABLE_FULL_NAME); + ensureTableCreated(getUrl(), JOIN_SUPPLIER_TABLE_FULL_NAME); + ensureTableCreated(getUrl(), JOIN_ORDER_TABLE_FULL_NAME); + ensureTableCreated(getUrl(), JOIN_COITEM_TABLE_FULL_NAME); + Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); try { conn.createStatement().execute("CREATE SEQUENCE my.seq"); // Insert into customer table PreparedStatement stmt = conn.prepareStatement( - "upsert into " + tableName_CustomerTableFullName + - " (\"customer_id\", " + - " NAME, " + - " PHONE, " + - " ADDRESS, " + - " LOC_ID, " + - " DATE) " + - "values (?, ?, ?, ?, ?, ?)"); + "upsert into " + JOIN_CUSTOMER_TABLE_FULL_NAME + + " (\"customer_id\", " + + " NAME, " + + " PHONE, " + + " ADDRESS, " + + " LOC_ID, " + + " DATE) " + + "values (?, ?, ?, ?, ?, ?)"); stmt.setString(1, "0000000001"); stmt.setString(2, "C1"); stmt.setString(3, "999-999-1111"); @@ -328,7 +323,7 @@ protected void initTableValues() throws Exception { stmt.setString(5, "10001"); stmt.setDate(6, new Date(format.parse("2013-11-01 10:20:36").getTime())); stmt.execute(); - + stmt.setString(1, "0000000002"); stmt.setString(2, "C2"); stmt.setString(3, "999-999-2222"); @@ -368,18 +363,18 @@ protected void initTableValues() throws Exception { stmt.setString(5, "10001"); stmt.setDate(6, new Date(format.parse("2013-11-01 10:20:36").getTime())); stmt.execute(); - + // Insert into item table stmt = conn.prepareStatement( - "upsert into " + tableName_ItemTableFullName + - " (\"item_id\", " + - " NAME, " + - " PRICE, " + - " DISCOUNT1, " + - " DISCOUNT2, " + - " \"supplier_id\", " + - " DESCRIPTION) " + - "values (?, ?, ?, ?, ?, ?, ?)"); + "upsert into " + JOIN_ITEM_TABLE_FULL_NAME + + " (\"item_id\", " + + " NAME, " + + " PRICE, " + + " DISCOUNT1, " + + " DISCOUNT2, " + + " \"supplier_id\", " + + " DESCRIPTION) " + + "values (?, ?, ?, ?, ?, ?, ?)"); stmt.setString(1, "0000000001"); stmt.setString(2, "T1"); stmt.setInt(3, 100); @@ -433,7 +428,7 @@ protected void initTableValues() throws Exception { stmt.setString(6, "0000000006"); stmt.setString(7, "Item T6"); stmt.execute(); - + stmt.setString(1, "invalid001"); stmt.setString(2, "INVALID-1"); stmt.setInt(3, 0); @@ -445,20 +440,20 @@ protected void initTableValues() throws Exception { // Insert into supplier table stmt = conn.prepareStatement( - "upsert into " + tableName_SupplierTableFullName + - " (\"supplier_id\", " + - " NAME, " + - " PHONE, " + - " ADDRESS, " + - " LOC_ID) " + - "values (?, ?, ?, ?, ?)"); + "upsert into " + JOIN_SUPPLIER_TABLE_FULL_NAME + + " (\"supplier_id\", " + + " NAME, " + + " PHONE, " + + " ADDRESS, " + + " LOC_ID) " + + "values (?, ?, ?, ?, ?)"); stmt.setString(1, "0000000001"); stmt.setString(2, "S1"); stmt.setString(3, "888-888-1111"); stmt.setString(4, "101 YYY Street"); stmt.setString(5, "10001"); stmt.execute(); - + stmt.setString(1, "0000000002"); stmt.setString(2, "S2"); stmt.setString(3, "888-888-2222"); @@ -496,14 +491,14 @@ protected void initTableValues() throws Exception { // Insert into order table stmt = conn.prepareStatement( - "upsert into " + tableName_OrderTableFullName + - " (\"order_id\", " + - " \"customer_id\", " + - " \"item_id\", " + - " PRICE, " + - " QUANTITY," + - " DATE) " + - "values (?, ?, ?, ?, ?, ?)"); + "upsert into " + JOIN_ORDER_TABLE_FULL_NAME + + " (\"order_id\", " + + " \"customer_id\", " + + " \"item_id\", " + + " PRICE, " + + " QUANTITY," + + " DATE) " + + "values (?, ?, ?, ?, ?, ?)"); stmt.setString(1, "000000000000001"); stmt.setString(2, "0000000004"); stmt.setString(3, "0000000001"); @@ -548,36 +543,36 @@ protected void initTableValues() throws Exception { // Insert into coitem table stmt = conn.prepareStatement( - "upsert into " + tableName_CoitemTableFullName+ - " (item_id, " + - " item_name, " + - " co_item_id, " + - " co_item_name) " + - "values (?, ?, ?, ?)"); + "upsert into " + JOIN_COITEM_TABLE_FULL_NAME + + " (item_id, " + + " item_name, " + + " co_item_id, " + + " co_item_name) " + + "values (?, ?, ?, ?)"); stmt.setString(1, "0000000001"); stmt.setString(2, "T1"); stmt.setString(3, "0000000002"); stmt.setString(4, "T3"); stmt.execute(); - + stmt.setString(1, "0000000004"); stmt.setString(2, "T4"); stmt.setString(3, "0000000003"); stmt.setString(4, "T3"); stmt.execute(); - + stmt.setString(1, "0000000003"); stmt.setString(2, "T4"); stmt.setString(3, "0000000005"); stmt.setString(4, "T5"); stmt.execute(); - + stmt.setString(1, "0000000006"); stmt.setString(2, "T6"); stmt.setString(3, "0000000001"); stmt.setString(4, "T1"); stmt.execute(); - + conn.commit(); } finally { conn.close(); @@ -621,7 +616,7 @@ public void testInSubquery() throws Exception { assertEquals(rs.getString(2), "T5"); assertFalse(rs.next()); - + query = "SELECT /*+ USE_SORT_MERGE_JOIN*/ i.\"item_id\", s.name FROM " + JOIN_ITEM_TABLE_FULL_NAME + " i JOIN " + JOIN_SUPPLIER_TABLE_FULL_NAME + " s ON i.\"supplier_id\" = s.\"supplier_id\" WHERE i.\"item_id\" IN (SELECT \"item_id\" FROM " + JOIN_ORDER_TABLE_FULL_NAME + " WHERE \"order_id\" > '000000000000001') ORDER BY i.name"; statement = conn.prepareStatement(query); rs = statement.executeQuery(); @@ -636,10 +631,10 @@ public void testInSubquery() throws Exception { assertEquals(rs.getString(2), "S6"); assertFalse(rs.next()); - + rs = conn.createStatement().executeQuery("EXPLAIN " + query); assertEquals(plans[0], QueryUtil.getExplainPlan(rs)); - + query = "SELECT /*+ USE_SORT_MERGE_JOIN*/ i.\"item_id\", s.name FROM " + JOIN_SUPPLIER_TABLE_FULL_NAME + " s LEFT JOIN " + JOIN_ITEM_TABLE_FULL_NAME + " i ON i.\"supplier_id\" = s.\"supplier_id\" WHERE i.\"item_id\" IN (SELECT \"item_id\" FROM " + JOIN_ORDER_TABLE_FULL_NAME + ") ORDER BY i.name"; statement = conn.prepareStatement(query); rs = statement.executeQuery(); @@ -657,7 +652,7 @@ public void testInSubquery() throws Exception { assertEquals(rs.getString(2), "S6"); assertFalse(rs.next()); - + query = "SELECT /*+ USE_SORT_MERGE_JOIN*/ * FROM " + JOIN_COITEM_TABLE_FULL_NAME + " WHERE (item_id, item_name) IN (SELECT \"item_id\", name FROM " + JOIN_ITEM_TABLE_FULL_NAME + " WHERE \"item_id\" NOT IN (SELECT \"item_id\" FROM " + JOIN_ORDER_TABLE_FULL_NAME + "))" + " OR (co_item_id, co_item_name) IN (SELECT \"item_id\", name FROM " + JOIN_ITEM_TABLE_FULL_NAME + " WHERE \"item_id\" IN (SELECT \"item_id\" FROM " + JOIN_ORDER_TABLE_FULL_NAME + "))"; statement = conn.prepareStatement(query); @@ -674,7 +669,7 @@ public void testInSubquery() throws Exception { assertEquals(rs.getString(4), "T3"); assertFalse(rs.next()); - + rs = conn.createStatement().executeQuery("EXPLAIN " + query); String plan = QueryUtil.getExplainPlan(rs); assertTrue("\"" + plan + "\" does not match \"" + plans[1] + "\"", Pattern.matches(plans[1], plan)); @@ -682,7 +677,7 @@ public void testInSubquery() throws Exception { conn.close(); } } - + @Test public void testExistsSubquery() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); @@ -702,7 +697,7 @@ public void testExistsSubquery() throws Exception { assertEquals(rs.getString(2), "T5"); assertFalse(rs.next()); - + query = "SELECT /*+ USE_SORT_MERGE_JOIN*/ * FROM " + JOIN_COITEM_TABLE_FULL_NAME + " co WHERE EXISTS (SELECT 1 FROM " + JOIN_ITEM_TABLE_FULL_NAME + " i WHERE NOT EXISTS (SELECT 1 FROM " + JOIN_ORDER_TABLE_FULL_NAME + " WHERE \"item_id\" = i.\"item_id\") AND co.item_id = \"item_id\" AND name = co.item_name)" + " OR EXISTS (SELECT 1 FROM " + JOIN_ITEM_TABLE_FULL_NAME + " WHERE \"item_id\" IN (SELECT \"item_id\" FROM " + JOIN_ORDER_TABLE_FULL_NAME + ") AND co.co_item_id = \"item_id\" AND name = co.co_item_name)"; statement = conn.prepareStatement(query); @@ -719,7 +714,7 @@ public void testExistsSubquery() throws Exception { assertEquals(rs.getString(4), "T3"); assertFalse(rs.next()); - + rs = conn.createStatement().executeQuery("EXPLAIN " + query); String plan = QueryUtil.getExplainPlan(rs); assertTrue("\"" + plan + "\" does not match \"" + plans[1] + "\"", Pattern.matches(plans[1], plan)); @@ -727,7 +722,7 @@ public void testExistsSubquery() throws Exception { conn.close(); } } - + @Test public void testComparisonSubquery() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); @@ -760,7 +755,7 @@ public void testComparisonSubquery() throws Exception { assertEquals(rs.getString(1), "C4"); assertFalse(rs.next()); - + rs = conn.createStatement().executeQuery("EXPLAIN " + query); String plan = QueryUtil.getExplainPlan(rs); assertTrue("\"" + plan + "\" does not match \"" + plans[2] + "\"", Pattern.matches(plans[2], plan)); @@ -785,7 +780,7 @@ public void testComparisonSubquery() throws Exception { try { while(rs.next()); fail("Should have got exception."); - } catch (SQLException e) { + } catch (SQLException e) { } query = "SELECT /*+ USE_SORT_MERGE_JOIN*/ \"order_id\" FROM " + JOIN_ORDER_TABLE_FULL_NAME + " o WHERE quantity = (SELECT max(quantity) FROM " + JOIN_ORDER_TABLE_FULL_NAME + " WHERE o.\"item_id\" = \"item_id\" AND \"order_id\" != '000000000000004' GROUP BY \"order_id\")"; @@ -808,13 +803,13 @@ public void testComparisonSubquery() throws Exception { try { while(rs.next()); fail("Should have got exception."); - } catch (SQLException e) { + } catch (SQLException e) { } } finally { conn.close(); } } - + @Test public void testAnyAllComparisonSubquery() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); @@ -834,7 +829,7 @@ public void testAnyAllComparisonSubquery() throws Exception { assertEquals(rs.getString(2), "T3"); assertFalse(rs.next()); - + query = "SELECT /*+ USE_SORT_MERGE_JOIN*/ \"order_id\", name FROM " + JOIN_ORDER_TABLE_FULL_NAME + " o JOIN " + JOIN_ITEM_TABLE_FULL_NAME + " i ON o.\"item_id\" = i.\"item_id\" WHERE quantity != ALL(SELECT max(quantity) FROM " + JOIN_ORDER_TABLE_FULL_NAME + " q WHERE o.\"item_id\" = q.\"item_id\")"; statement = conn.prepareStatement(query); rs = statement.executeQuery(); @@ -843,7 +838,7 @@ public void testAnyAllComparisonSubquery() throws Exception { assertEquals(rs.getString(2), "T6"); assertFalse(rs.next()); - + query = "SELECT /*+ USE_SORT_MERGE_JOIN*/ \"order_id\", name FROM " + JOIN_ORDER_TABLE_FULL_NAME + " o JOIN " + JOIN_ITEM_TABLE_FULL_NAME + " i ON o.\"item_id\" = i.\"item_id\" WHERE quantity != ANY(SELECT quantity FROM " + JOIN_ORDER_TABLE_FULL_NAME + " q WHERE o.\"item_id\" = q.\"item_id\" GROUP BY quantity)"; statement = conn.prepareStatement(query); rs = statement.executeQuery(); @@ -866,14 +861,14 @@ public void testSubqueryWithUpsert() throws Exception { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); conn.setAutoCommit(true); - try { - conn.createStatement().execute("CREATE TABLE " + tempTable - + " (item_id varchar not null primary key, " + try { + conn.createStatement().execute("CREATE TABLE " + tempTable + + " (item_id varchar not null primary key, " + " name varchar)"); conn.createStatement().execute("UPSERT /*+ USE_SORT_MERGE_JOIN*/ INTO " + tempTable + "(item_id, name)" - + " SELECT \"item_id\", name FROM " + JOIN_ITEM_TABLE_FULL_NAME + + " SELECT \"item_id\", name FROM " + JOIN_ITEM_TABLE_FULL_NAME + " WHERE \"item_id\" NOT IN (SELECT \"item_id\" FROM " + JOIN_ORDER_TABLE_FULL_NAME + ")"); - + String query = "SELECT name FROM " + tempTable + " ORDER BY item_id"; PreparedStatement statement = conn.prepareStatement(query); ResultSet rs = statement.executeQuery(); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ToCharFunctionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ToCharFunctionIT.java index 72544f27f11..e976517b154 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ToCharFunctionIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ToCharFunctionIT.java @@ -245,12 +245,13 @@ private DateFormat getGMTDateFormat(String pattern) { @Test public void testToCharWithCloneMethod() throws SQLException { Connection conn = DriverManager.getConnection(getUrl()); - String ddl = "create table t (k varchar primary key, v integer[])"; + String tableName = generateRandomString(); + String ddl = "create table " + tableName + " (k varchar primary key, v integer[])"; conn.createStatement().execute(ddl); - conn.createStatement().execute("UPSERT INTO T VALUES('x',ARRAY[1234])"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('x',ARRAY[1234])"); conn.commit(); - ResultSet rs = conn.createStatement().executeQuery("select to_char(v[1],'000') from t"); + ResultSet rs = conn.createStatement().executeQuery("select to_char(v[1],'000') from " + tableName); assertTrue(rs.next()); assertEquals("Unexpected value for date ", String.valueOf(1234), rs.getString(1)); assertFalse(rs.next()); 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 ee37b4cd9f2..2d1f5ea348b 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,9 +51,10 @@ 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 { +public class UpgradeIT extends BaseHBaseManagedTimeTableReuseIT { private static String TENANT_ID = "tenantId"; @@ -257,13 +258,18 @@ public void testMapMultiTenantTableToNamespaceDuringUpgrade() throws SQLExceptio 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"); @@ -280,13 +286,13 @@ public void testMapMultiTenantTableToNamespaceDuringUpgrade() throws SQLExceptio // 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"; @@ -303,14 +309,14 @@ public void testMapMultiTenantTableToNamespaceDuringUpgrade() throws SQLExceptio 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(); @@ -366,73 +372,74 @@ public void assertTableUsed(Connection conn, String phoenixTableName, String hba assertTrue(rs.getString(1).contains(hbaseTableName)); } - + @Ignore @Test public void testSettingBaseColumnCountForMultipleViewsOnTable() throws Exception { String baseSchema = "XYZ"; - String baseTable = "BASE_TABLE"; + String baseTable = generateRandomString(); String fullBaseTableName = SchemaUtil.getTableName(baseSchema, baseTable); 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); - + + String tenantView1 = generateRandomString(); + String tenantView2 = generateRandomString(); + String tenantView3 = generateRandomString(); + 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; + String viewDDL = "CREATE VIEW " + tenantView1 + " AS SELECT * FROM " + fullBaseTableName; tenantConn.createStatement().execute(viewDDL); - String addCols = "ALTER VIEW " + view + " ADD COL1 VARCHAR "; + String addCols = "ALTER VIEW " + tenantView1 + " ADD COL1 VARCHAR "; tenantConn.createStatement().execute(addCols); - removeBaseColumnCountKV(tenant, null, view); + removeBaseColumnCountKV(tenant, null, tenantView1); // view that has the last base table column removed - view = "TENANT_VIEW2"; - viewDDL = "CREATE VIEW " + view + " AS SELECT * FROM " + fullBaseTableName; + viewDDL = "CREATE VIEW " + tenantView2 + " AS SELECT * FROM " + fullBaseTableName; tenantConn.createStatement().execute(viewDDL); - String droplastBaseCol = "ALTER VIEW " + view + " DROP COLUMN V2"; + String droplastBaseCol = "ALTER VIEW " + tenantView2 + " DROP COLUMN V2"; tenantConn.createStatement().execute(droplastBaseCol); - removeBaseColumnCountKV(tenant, null, view); + removeBaseColumnCountKV(tenant, null, tenantView2); // view that has the middle base table column removed - view = "TENANT_VIEW3"; - viewDDL = "CREATE VIEW " + view + " AS SELECT * FROM " + fullBaseTableName; + viewDDL = "CREATE VIEW " + tenantView3 + " AS SELECT * FROM " + fullBaseTableName; tenantConn.createStatement().execute(viewDDL); - String dropMiddileBaseCol = "ALTER VIEW " + view + " DROP COLUMN V1"; + String dropMiddileBaseCol = "ALTER VIEW " + tenantView3 + " DROP COLUMN V1"; tenantConn.createStatement().execute(dropMiddileBaseCol); - removeBaseColumnCountKV(tenant, null, view); + removeBaseColumnCountKV(tenant, null, tenantView3); } } - + + String globalView1 = generateRandomString(); + String globalView2 = generateRandomString(); + String globalView3 = generateRandomString(); + // 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; + String viewDDL = "CREATE VIEW " + globalView1 + " AS SELECT * FROM " + fullBaseTableName; globalConn.createStatement().execute(viewDDL); - String addCols = "ALTER VIEW " + view + " ADD COL1 VARCHAR "; + String addCols = "ALTER VIEW " + globalView1 + " ADD COL1 VARCHAR "; globalConn.createStatement().execute(addCols); - removeBaseColumnCountKV(null, null, view); + removeBaseColumnCountKV(null, null, globalView1); // view that has the last base table column removed - view = "GLOBAL_VIEW2"; - viewDDL = "CREATE VIEW " + view + " AS SELECT * FROM " + fullBaseTableName; + viewDDL = "CREATE VIEW " + globalView2 + " AS SELECT * FROM " + fullBaseTableName; globalConn.createStatement().execute(viewDDL); - String droplastBaseCol = "ALTER VIEW " + view + " DROP COLUMN V2"; + String droplastBaseCol = "ALTER VIEW " + globalView2 + " DROP COLUMN V2"; globalConn.createStatement().execute(droplastBaseCol); - removeBaseColumnCountKV(null, null, view); + removeBaseColumnCountKV(null, null, globalView2); // view that has the middle base table column removed - view = "GLOBAL_VIEW3"; - viewDDL = "CREATE VIEW " + view + " AS SELECT * FROM " + fullBaseTableName; + viewDDL = "CREATE VIEW " + globalView3 + " AS SELECT * FROM " + fullBaseTableName; globalConn.createStatement().execute(viewDDL); - String dropMiddileBaseCol = "ALTER VIEW " + view + " DROP COLUMN V1"; + String dropMiddileBaseCol = "ALTER VIEW " + globalView3 + " DROP COLUMN V1"; globalConn.createStatement().execute(dropMiddileBaseCol); - removeBaseColumnCountKV(null, null, view); + removeBaseColumnCountKV(null, null, globalView3); } // run upgrade @@ -441,15 +448,15 @@ public void testSettingBaseColumnCountForMultipleViewsOnTable() throws Exception // Verify base column counts for tenant specific views for (int i = 1; i <=2 ; i++) { String tenantId = "tenant" + i; - checkBaseColumnCount(tenantId, null, "TENANT_VIEW1", 4); - checkBaseColumnCount(tenantId, null, "TENANT_VIEW2", DIVERGED_VIEW_BASE_COLUMN_COUNT); - checkBaseColumnCount(tenantId, null, "TENANT_VIEW3", DIVERGED_VIEW_BASE_COLUMN_COUNT); + checkBaseColumnCount(tenantId, null, tenantView1, 4); + checkBaseColumnCount(tenantId, null, tenantView2, DIVERGED_VIEW_BASE_COLUMN_COUNT); + checkBaseColumnCount(tenantId, null, tenantView3, DIVERGED_VIEW_BASE_COLUMN_COUNT); } // Verify base column count for global views - checkBaseColumnCount(null, null, "GLOBAL_VIEW1", 4); - checkBaseColumnCount(null, null, "GLOBAL_VIEW2", DIVERGED_VIEW_BASE_COLUMN_COUNT); - checkBaseColumnCount(null, null, "GLOBAL_VIEW3", DIVERGED_VIEW_BASE_COLUMN_COUNT); + checkBaseColumnCount(null, null, globalView1, 4); + checkBaseColumnCount(null, null, globalView2, DIVERGED_VIEW_BASE_COLUMN_COUNT); + checkBaseColumnCount(null, null, globalView3, DIVERGED_VIEW_BASE_COLUMN_COUNT); } 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 ec360ad587c..a6e8b3f0d1d 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; @@ -42,6 +40,7 @@ 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,14 +60,9 @@ 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) @@ -84,14 +78,17 @@ public static void doSetup() throws Exception { @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); + admin.disableTable(hbaseNativeBytes); + admin.deleteTable(hbaseNativeBytes); } 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 +99,7 @@ public void testDropViewKeepsHTable() throws Exception { 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,13 +107,13 @@ public void testDropViewKeepsHTable() throws Exception { " \"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); + conn.createStatement().execute("drop view " + hbaseNativeViewName); admin = driver.getConnectionQueryServices(getUrl(), PropertiesUtil.deepCopy(TEST_PROPERTIES)).getAdmin(); try { try { - admin.disableTable(HBASE_NATIVE_BYTES); - admin.deleteTable(HBASE_NATIVE_BYTES); + admin.disableTable(hbaseNativeBytes); + admin.deleteTable(hbaseNativeBytes); } catch (org.apache.hadoop.hbase.TableNotFoundException e) { fail(); // The underlying HBase table should still exist } @@ -128,23 +125,25 @@ public void testDropViewKeepsHTable() throws Exception { @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 +152,7 @@ public void testDroppingIndexedColDropsIndex() throws Exception { // 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 +160,19 @@ public void testDroppingIndexedColDropsIndex() throws Exception { // 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 +219,33 @@ public void testDroppingIndexedColDropsMultiTenantViewIndex() throws Exception { 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 +259,47 @@ public void helpTestDroppingIndexedColDropsViewIndex(boolean isMultiTenant) thro // 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 +310,8 @@ public void helpTestDroppingIndexedColDropsViewIndex(boolean isMultiTenant) thro 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()); } diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalIndexOptimizationIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalIndexOptimizationIT.java index 56a3aa2e3b0..262607bb5db 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalIndexOptimizationIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalIndexOptimizationIT.java @@ -29,18 +29,16 @@ import java.util.regex.Pattern; import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; +import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.end2end.Shadower; import org.apache.phoenix.query.QueryServices; -import org.apache.phoenix.util.PhoenixRuntime; -import org.apache.phoenix.util.QueryUtil; -import org.apache.phoenix.util.ReadOnlyProps; -import org.apache.phoenix.util.TestUtil; +import org.apache.phoenix.util.*; import org.junit.BeforeClass; import org.junit.Test; import com.google.common.collect.Maps; -public class GlobalIndexOptimizationIT extends BaseHBaseManagedTimeIT { +public class GlobalIndexOptimizationIT extends BaseHBaseManagedTimeTableReuseIT { @BeforeClass @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) @@ -78,14 +76,17 @@ private void createIndex(String indexName, String tableName, String columns) thr public void testGlobalIndexOptimization() throws Exception { String dataTableName = generateRandomString(); String indexTableName = generateRandomString(); - testOptimization(dataTableName, indexTableName, null); + String dataTableFullName = SchemaUtil.getTableName("", dataTableName); + testOptimization(dataTableName, dataTableFullName, indexTableName, 4); } @Test public void testGlobalIndexOptimizationWithSalting() throws Exception { String dataTableName = generateRandomString(); String indexTableName = generateRandomString(); - testOptimization(dataTableName, indexTableName, 4); + String dataTableFullName = SchemaUtil.getTableName("", dataTableName); + testOptimization(dataTableName, dataTableFullName, indexTableName, 4); + } @Test @@ -102,7 +103,7 @@ public void testGlobalIndexOptimizationWithSaltingTenantSpecific() throws Except testOptimizationTenantSpecific(dataTableName, indexTableName, 4); } - private void testOptimization(String dataTableName, String indexTableName, Integer saltBuckets) throws Exception { + private void testOptimization(String dataTableName, String dataTableFullName, String indexTableName, Integer saltBuckets) throws Exception { createBaseTable(dataTableName, saltBuckets, "('e','i','o')", false); Connection conn1 = DriverManager.getConnection(getUrl()); @@ -116,13 +117,15 @@ private void testOptimization(String dataTableName, String indexTableName, Integ String query = "SELECT /*+ INDEX(" + dataTableName + " " + indexTableName + ")*/ * FROM " + dataTableName +" where v1='a'"; ResultSet rs = conn1.createStatement().executeQuery("EXPLAIN "+ query); - + + + String expected = "CLIENT PARALLEL 1-WAY FULL SCAN OVER " + dataTableName + "\n" + " SKIP-SCAN-JOIN TABLE 0\n" + " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + indexTableName + " \\['a'\\]\n" + " SERVER FILTER BY FIRST KEY ONLY\n" + - " DYNAMIC SERVER FILTER BY \\(\"T.T_ID\", \"T.K1\", \"T.K2\"\\) IN \\(\\(\\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+\\)\\)"; + " DYNAMIC SERVER FILTER BY \\(\"" + dataTableName + ".T_ID\", \"" + dataTableName + ".K1\", \"" + dataTableName + ".K2\"\\) IN \\(\\(\\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+\\)\\)"; String actual = QueryUtil.getExplainPlan(rs); assertTrue("Expected:\n" + expected + "\nbut got\n" + actual, Pattern.matches(expected, actual)); @@ -147,7 +150,7 @@ private void testOptimization(String dataTableName, String indexTableName, Integ " SKIP-SCAN-JOIN TABLE 0\n" + " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + indexTableName + " \\['a'\\]\n" + " SERVER FILTER BY FIRST KEY ONLY\n" + - " DYNAMIC SERVER FILTER BY \\(\"T.T_ID\", \"T.K1\", \"T.K2\"\\) IN \\(\\(\\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+\\)\\)"; + " DYNAMIC SERVER FILTER BY \\(\"" + dataTableName + ".T_ID\", \"" + dataTableName + ".K1\", \"" + dataTableName + ".K2\"\\) IN \\(\\(\\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+\\)\\)"; actual = QueryUtil.getExplainPlan(rs); assertTrue("Expected:\n" + expected + "\nbut got\n" + actual, Pattern.matches(expected, actual)); @@ -175,7 +178,7 @@ private void testOptimization(String dataTableName, String indexTableName, Integ " SKIP-SCAN-JOIN TABLE 0\n" + " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + indexTableName + " \\['a'\\]\n" + " SERVER FILTER BY FIRST KEY ONLY\n" + - " DYNAMIC SERVER FILTER BY \\(\"T.T_ID\", \"T.K1\", \"T.K2\"\\) IN \\(\\(\\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+\\)\\)\n" + + " DYNAMIC SERVER FILTER BY \\(\"" + dataTableName + ".T_ID\", \"" + dataTableName + ".K1\", \"" + dataTableName + ".K2\"\\) IN \\(\\(\\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+\\)\\)\n" + " JOIN-SCANNER 1 ROW LIMIT"; actual = QueryUtil.getExplainPlan(rs); assertTrue("Expected:\n" + expected + "\nbut got\n" + actual, Pattern.matches(expected, actual)); @@ -189,18 +192,18 @@ private void testOptimization(String dataTableName, String indexTableName, Integ assertEquals("a", rs.getString("v1")); assertFalse(rs.next()); - query = "SELECT /*+ INDEX(" + dataTableName + " " + indexTableName + ")*/ t_id, k1, k2, k3, V1 from " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + " where v1<='z' and k3 > 1 order by V1,t_id"; + query = "SELECT /*+ INDEX(" + dataTableName + " " + indexTableName + ")*/ t_id, k1, k2, k3, V1 from " + dataTableFullName + " where v1<='z' and k3 > 1 order by V1,t_id"; rs = conn1.createStatement().executeQuery("EXPLAIN " + query); expected = "CLIENT PARALLEL \\d-WAY FULL SCAN OVER " + dataTableName + "\n" + " SERVER FILTER BY K3 > 1\n" + - " SERVER SORTED BY \\[T.V1, T.T_ID\\]\n" + + " SERVER SORTED BY \\[" + dataTableName + ".V1, " + dataTableName + ".T_ID\\]\n" + "CLIENT MERGE SORT\n" + " SKIP-SCAN-JOIN TABLE 0\n" + " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + indexTableName + " \\[\\*\\] - \\['z'\\]\n" + " SERVER FILTER BY FIRST KEY ONLY\n" + - " DYNAMIC SERVER FILTER BY \\(\"T.T_ID\", \"T.K1\", \"T.K2\"\\) IN \\(\\(\\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+\\)\\)"; + " DYNAMIC SERVER FILTER BY \\(\"" + dataTableName + ".T_ID\", \"" + dataTableName + ".K1\", \"" + dataTableName + ".K2\"\\) IN \\(\\(\\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+\\)\\)"; actual = QueryUtil.getExplainPlan(rs); assertTrue("Expected:\n" + expected + "\nbut got\n" + actual, Pattern.matches(expected, actual)); @@ -225,17 +228,17 @@ private void testOptimization(String dataTableName, String indexTableName, Integ assertEquals("z", rs.getString("V1")); assertFalse(rs.next()); - query = "SELECT /*+ INDEX(" + dataTableName + " " + indexTableName + ")*/ t_id, V1, k3 from " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + " where v1 <='z' group by v1,t_id, k3"; + query = "SELECT /*+ INDEX(" + dataTableName + " " + indexTableName + ")*/ t_id, V1, k3 from " + dataTableFullName + " where v1 <='z' group by v1,t_id, k3"; rs = conn1.createStatement().executeQuery("EXPLAIN " + query); expected = "CLIENT PARALLEL \\d-WAY FULL SCAN OVER " + dataTableName + "\n" + - " SERVER AGGREGATE INTO DISTINCT ROWS BY \\[T.V1, T.T_ID, T.K3\\]\n" + + " SERVER AGGREGATE INTO DISTINCT ROWS BY \\[" + dataTableName + ".V1, " + dataTableName + ".T_ID, " + dataTableName + ".K3\\]\n" + "CLIENT MERGE SORT\n" + " SKIP-SCAN-JOIN TABLE 0\n" + " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + indexTableName + " \\[\\*\\] - \\['z'\\]\n" + " SERVER FILTER BY FIRST KEY ONLY\n" + - " DYNAMIC SERVER FILTER BY \\(\"T.T_ID\", \"T.K1\", \"T.K2\"\\) IN \\(\\(\\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+\\)\\)"; + " DYNAMIC SERVER FILTER BY \\(\"" + dataTableName + ".T_ID\", \"" + dataTableName + ".K1\", \"" + dataTableName + ".K2\"\\) IN \\(\\(\\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+\\)\\)"; actual = QueryUtil.getExplainPlan(rs); assertTrue("Expected:\n" + expected + "\nbut got\n" + actual, Pattern.matches(expected, actual)); @@ -258,17 +261,17 @@ private void testOptimization(String dataTableName, String indexTableName, Integ assertEquals("z", rs.getString("V1")); assertFalse(rs.next()); - query = "SELECT /*+ INDEX(" + dataTableName + " " + indexTableName + ")*/ v1,sum(k3) from " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + " where v1 <='z' group by v1 order by v1"; + query = "SELECT /*+ INDEX(" + dataTableName + " " + indexTableName + ")*/ v1,sum(k3) from " + dataTableFullName + " where v1 <='z' group by v1 order by v1"; rs = conn1.createStatement().executeQuery("EXPLAIN " + query); expected = - "CLIENT PARALLEL \\d-WAY FULL SCAN OVER T\n" + - " SERVER AGGREGATE INTO DISTINCT ROWS BY \\[T.V1\\]\n" + + "CLIENT PARALLEL \\d-WAY FULL SCAN OVER " + dataTableName + "\n" + + " SERVER AGGREGATE INTO DISTINCT ROWS BY \\[" + dataTableName + ".V1\\]\n" + "CLIENT MERGE SORT\n" + " SKIP-SCAN-JOIN TABLE 0\n" + - " CLIENT PARALLEL 1-WAY RANGE SCAN OVER I \\[\\*\\] - \\['z'\\]\n" + + " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + indexTableName + " \\[\\*\\] - \\['z'\\]\n" + " SERVER FILTER BY FIRST KEY ONLY\n" + - " DYNAMIC SERVER FILTER BY \\(\"T.T_ID\", \"T.K1\", \"T.K2\"\\) IN \\(\\(\\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+\\)\\)"; + " DYNAMIC SERVER FILTER BY \\(\"" + dataTableName + ".T_ID\", \"" + dataTableName + ".K1\", \"" + dataTableName + ".K2\"\\) IN \\(\\(\\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+\\)\\)"; actual = QueryUtil.getExplainPlan(rs); assertTrue("Expected:\n" + expected + "\nbut got\n" + actual, Pattern.matches(expected, actual)); @@ -302,11 +305,11 @@ private void testOptimizationTenantSpecific(String dataTableName, String indexTa ResultSet rs = conn1.createStatement().executeQuery("EXPLAIN "+ query); String actual = QueryUtil.getExplainPlan(rs); - String expected = "CLIENT PARALLEL 1-WAY RANGE SCAN OVER T \\['tid1'\\]\n" + + String expected = "CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + dataTableName + " \\['tid1'\\]\n" + " SKIP-SCAN-JOIN TABLE 0\n" + - " CLIENT PARALLEL 1-WAY RANGE SCAN OVER I \\['tid1','a'\\]\n" + + " CLIENT PARALLEL 1-WAY RANGE SCAN OVER " + indexTableName + " \\['tid1','a'\\]\n" + " SERVER FILTER BY FIRST KEY ONLY\n" + - " DYNAMIC SERVER FILTER BY \\(\"T.K1\", \"T.K2\"\\) IN \\(\\(\\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+\\)\\)"; + " DYNAMIC SERVER FILTER BY \\(\"" + dataTableName + ".K1\", \"" + dataTableName + ".K2\"\\) IN \\(\\(\\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+\\)\\)"; assertTrue("Expected:\n" + expected + "\ndid not match\n" + actual, Pattern.matches(expected, actual)); rs = conn1.createStatement().executeQuery(query); @@ -333,7 +336,7 @@ public void testGlobalIndexOptimizationOnSharedIndex() throws Exception { Connection conn1 = DriverManager.getConnection(getUrl()); try{ conn1.createStatement().execute("CREATE INDEX i1 ON " + dataTableName + "(k2,k1) INCLUDE (v1)"); - conn1.createStatement().execute("CREATE VIEW v AS SELECT * FROM t WHERE v1 = 'a'"); + conn1.createStatement().execute("CREATE VIEW v AS SELECT * FROM " + dataTableName + " WHERE v1 = 'a'"); conn1.createStatement().execute("UPSERT INTO " + dataTableName + " values('b',1,2,4,'z')"); conn1.createStatement().execute("UPSERT INTO " + dataTableName + " values('f',1,2,3,'a')"); conn1.createStatement().execute("UPSERT INTO " + dataTableName + " values('j',2,4,2,'a')"); @@ -350,10 +353,10 @@ public void testGlobalIndexOptimizationOnSharedIndex() throws Exception { String actual = QueryUtil.getExplainPlan(rs); String expected = - "CLIENT PARALLEL 1-WAY FULL SCAN OVER T\n" + + "CLIENT PARALLEL 1-WAY FULL SCAN OVER " + dataTableName + "\n" + " SERVER FILTER BY V1 = 'a'\n" + " SKIP-SCAN-JOIN TABLE 0\n" + - " CLIENT PARALLEL 1-WAY SKIP SCAN ON 2 KEYS OVER _IDX_T \\[-32768,1\\] - \\[-32768,2\\]\n" + + " CLIENT PARALLEL 1-WAY SKIP SCAN ON 2 KEYS OVER _IDX_" + dataTableName + " \\[-32768,1\\] - \\[-32768,2\\]\n" + " SERVER FILTER BY FIRST KEY ONLY AND \"K2\" IN \\(3,4\\)\n" + " DYNAMIC SERVER FILTER BY \\(\"V.T_ID\", \"V.K1\", \"V.K2\"\\) IN \\(\\(\\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+, \\$\\d+.\\$\\d+\\)\\)"; assertTrue("Expected:\n" + expected + "\ndid not match\n" + actual, Pattern.matches(expected,actual)); @@ -375,6 +378,7 @@ public void testGlobalIndexOptimizationOnSharedIndex() throws Exception { public void testNoGlobalIndexOptimization() throws Exception { String dataTableName = generateRandomString(); String indexTableName = generateRandomString(); + String dataTableFullName = SchemaUtil.getTableName("", dataTableName); createBaseTable(dataTableName, null, "('e','i','o')", false); Connection conn1 = DriverManager.getConnection(getUrl()); try{ @@ -428,7 +432,7 @@ public void testNoGlobalIndexOptimization() throws Exception { assertFalse(rs.next()); // No where clause - query = "SELECT /*+ INDEX(" + dataTableName + " " + indexTableName + ")*/ t_id, k1, k2, k3, V1 from " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + " order by V1,t_id"; + query = "SELECT /*+ INDEX(" + dataTableName + " " + indexTableName + ")*/ t_id, k1, k2, k3, V1 from " + dataTableFullName + " order by V1,t_id"; rs = conn1.createStatement().executeQuery("EXPLAIN " + query); assertEquals( @@ -465,7 +469,7 @@ public void testNoGlobalIndexOptimization() throws Exception { assertFalse(rs.next()); // No where clause in index scan - query = "SELECT /*+ INDEX(" + dataTableName + " " + indexTableName + ")*/ t_id, k1, k2, k3, V1 from " + TestUtil.DEFAULT_DATA_TABLE_FULL_NAME + " where k3 > 1 order by V1,t_id"; + query = "SELECT /*+ INDEX(" + dataTableName + " " + indexTableName + ")*/ t_id, k1, k2, k3, V1 from " + dataTableFullName + " where k3 > 1 order by V1,t_id"; rs = conn1.createStatement().executeQuery("EXPLAIN " + query); assertEquals( diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java index ddf56ff2295..031a0b8c07d 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java @@ -68,6 +68,7 @@ import org.apache.phoenix.util.SchemaUtil; import org.apache.phoenix.util.TestUtil; import org.junit.BeforeClass; +import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -212,6 +213,7 @@ public Connection getConnection() throws SQLException{ return DriverManager.getConnection(getUrl(),props); } + @Ignore @Test public void testDropLocalIndexTable() throws Exception { String tableName = schemaName + "." + generateRandomString(); @@ -610,6 +612,7 @@ public void testIndexPlanSelectionIfBothGlobalAndLocalIndexesHasSameColumnsAndOr conn1.close(); } + @Ignore @Test public void testDropLocalIndexShouldDeleteDataFromLocalIndexTable() throws Exception { String tableName = schemaName + "." + generateRandomString(); @@ -789,13 +792,14 @@ public void testLocalIndexCreationWithDefaultFamilyOption() throws Exception { try{ Statement statement = conn1.createStatement(); String tableName = generateRandomString(); + String indexName = generateRandomString(); statement.execute("create table " + tableName + " (id integer not null,fn varchar," + "ln varchar constraint pk primary key(id)) DEFAULT_COLUMN_FAMILY='F'"); statement.execute("upsert into " + tableName + " values(1,'fn','ln')"); statement - .execute("create local index my_idx on " + tableName + " (fn)"); + .execute("create local index " + indexName + " on " + tableName + " (fn)"); statement.execute("upsert into " + tableName + " values(2,'fn1','ln1')"); - ResultSet rs = statement.executeQuery("SELECT COUNT(*) FROM my_idx"); + ResultSet rs = statement.executeQuery("SELECT COUNT(*) FROM " + indexName ); assertTrue(rs.next()); } finally { conn1.close(); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java index c43a17b734f..6b76e05080d 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java @@ -48,6 +48,7 @@ import org.apache.phoenix.util.SchemaUtil; import org.apache.phoenix.util.TestUtil; import org.junit.BeforeClass; +import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -116,6 +117,7 @@ public ViewIndexIT(boolean isNamespaceMapped) { this.isNamespaceMapped = isNamespaceMapped; } + @Ignore @Test public void testDeleteViewIndexSequences() throws Exception { String tableName = schemaName + "." + generateRandomString(); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java b/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java index 00c64f73bc4..776e86b3916 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java @@ -38,6 +38,7 @@ import java.util.Properties; import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; +import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.end2end.Shadower; import org.apache.phoenix.jdbc.PhoenixEmbeddedDriver; import org.apache.phoenix.query.ConnectionQueryServices; @@ -61,7 +62,7 @@ * Verifies the number of rpcs calls from {@link MetaDataClient} updateCache() * for transactional and non-transactional tables. */ -public class UpdateCacheIT extends BaseHBaseManagedTimeIT { +public class UpdateCacheIT extends BaseHBaseManagedTimeTableReuseIT { public static final int NUM_MILLIS_IN_DAY = 86400000; @@ -90,22 +91,24 @@ public void testUpdateCacheForTxnTable() throws Exception { @Test public void testUpdateCacheForNonTxnTable() throws Exception { - String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + MUTABLE_INDEX_DATA_TABLE; - ensureTableCreated(getUrl(), MUTABLE_INDEX_DATA_TABLE, MUTABLE_INDEX_DATA_TABLE); + String tableName = generateRandomString(); + String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + tableName; + ensureTableCreated(getUrl(), tableName, MUTABLE_INDEX_DATA_TABLE); helpTestUpdateCache(fullTableName, null, new int[] {1, 3}); } @Test public void testUpdateCacheForNonTxnSystemTable() throws Exception { - String fullTableName = QueryConstants.SYSTEM_SCHEMA_NAME + QueryConstants.NAME_SEPARATOR + MUTABLE_INDEX_DATA_TABLE; + String fullTableName = QueryConstants.SYSTEM_SCHEMA_NAME + QueryConstants.NAME_SEPARATOR + generateRandomString(); setupSystemTable(fullTableName); helpTestUpdateCache(fullTableName, null, new int[] {0, 0}); } @Test public void testUpdateCacheForNeverUpdatedTable() throws Exception { - String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + MUTABLE_INDEX_DATA_TABLE; - ensureTableCreated(getUrl(), MUTABLE_INDEX_DATA_TABLE, MUTABLE_INDEX_DATA_TABLE); + String tableName = generateRandomString(); + String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + tableName; + ensureTableCreated(getUrl(), tableName, MUTABLE_INDEX_DATA_TABLE); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); try (Connection conn = DriverManager.getConnection(getUrl(), props)) { conn.createStatement().execute( @@ -116,7 +119,7 @@ public void testUpdateCacheForNeverUpdatedTable() throws Exception { @Test public void testUpdateCacheForAlwaysUpdatedTable() throws Exception { - String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + MUTABLE_INDEX_DATA_TABLE; + String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + generateRandomString(); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); try (Connection conn = DriverManager.getConnection(getUrl(), props)) { conn.createStatement().execute("CREATE TABLE " + fullTableName + TEST_TABLE_SCHEMA + " UPDATE_CACHE_FREQUENCY=always"); @@ -126,7 +129,7 @@ public void testUpdateCacheForAlwaysUpdatedTable() throws Exception { @Test public void testUpdateCacheForTimeLimitedUpdateTable() throws Exception { - String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + MUTABLE_INDEX_DATA_TABLE; + String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + generateRandomString(); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); try (Connection conn = DriverManager.getConnection(getUrl(), props)) { conn.createStatement().execute("CREATE TABLE " + fullTableName + TEST_TABLE_SCHEMA + " UPDATE_CACHE_FREQUENCY=" + 10000); @@ -138,7 +141,7 @@ public void testUpdateCacheForTimeLimitedUpdateTable() throws Exception { @Test public void testUpdateCacheForChangingUpdateTable() throws Exception { - String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + MUTABLE_INDEX_DATA_TABLE; + String fullTableName = INDEX_DATA_SCHEMA + QueryConstants.NAME_SEPARATOR + generateRandomString(); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); try (Connection conn = DriverManager.getConnection(getUrl(), props)) { conn.createStatement().execute("CREATE TABLE " + fullTableName + TEST_TABLE_SCHEMA + " UPDATE_CACHE_FREQUENCY=never"); diff --git a/phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java b/phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java index 66e5c0e2d4b..e2b7b5bfce5 100644 --- a/phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java +++ b/phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java @@ -1062,7 +1062,10 @@ private static void deletePriorSequences(long ts, Connection globalConn) throws } protected static void initSumDoubleValues(byte[][] splits, String url) throws Exception { - String tableName = generateRandomString(); + initSumDoubleValues("SumDoubleTest", splits, url); + } + + protected static void initSumDoubleValues(String tableName, byte[][] splits, String url) throws Exception { ensureTableCreated(url, tableName, "SumDoubleTest", splits); Properties props = new Properties(); Connection conn = DriverManager.getConnection(url, props); @@ -1566,14 +1569,14 @@ protected static void initSaltedEntityHistoryTableValues(String tenantId, byte[] protected static void initJoinTableValues(String url, byte[][] splits, Long ts) throws Exception { if (ts == null) { ensureTableCreated(url, JOIN_CUSTOMER_TABLE_FULL_NAME, JOIN_CUSTOMER_TABLE_FULL_NAME, splits); - ensureTableCreated(url, JOIN_ITEM_TABLE_FULL_NAME, JOIN_CUSTOMER_TABLE_FULL_NAME, splits); - ensureTableCreated(url, JOIN_SUPPLIER_TABLE_FULL_NAME, JOIN_CUSTOMER_TABLE_FULL_NAME, splits); - ensureTableCreated(url, JOIN_ORDER_TABLE_FULL_NAME, JOIN_CUSTOMER_TABLE_FULL_NAME, splits); + ensureTableCreated(url, JOIN_ITEM_TABLE_FULL_NAME, JOIN_ITEM_TABLE_FULL_NAME, splits); + ensureTableCreated(url, JOIN_SUPPLIER_TABLE_FULL_NAME, JOIN_SUPPLIER_TABLE_FULL_NAME, splits); + ensureTableCreated(url, JOIN_ORDER_TABLE_FULL_NAME, JOIN_ORDER_TABLE_FULL_NAME, splits); } else { ensureTableCreated(url, JOIN_CUSTOMER_TABLE_FULL_NAME, JOIN_CUSTOMER_TABLE_FULL_NAME, splits, ts - 2); - ensureTableCreated(url, JOIN_ITEM_TABLE_FULL_NAME, JOIN_CUSTOMER_TABLE_FULL_NAME, splits, ts - 2); - ensureTableCreated(url, JOIN_SUPPLIER_TABLE_FULL_NAME, JOIN_CUSTOMER_TABLE_FULL_NAME, splits, ts - 2); - ensureTableCreated(url, JOIN_ORDER_TABLE_FULL_NAME, JOIN_CUSTOMER_TABLE_FULL_NAME, splits, ts - 2); + ensureTableCreated(url, JOIN_ITEM_TABLE_FULL_NAME, JOIN_ITEM_TABLE_FULL_NAME, splits, ts - 2); + ensureTableCreated(url, JOIN_SUPPLIER_TABLE_FULL_NAME, JOIN_SUPPLIER_TABLE_FULL_NAME, splits, ts - 2); + ensureTableCreated(url, JOIN_ORDER_TABLE_FULL_NAME, JOIN_ORDER_TABLE_FULL_NAME, splits, ts - 2); } SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); diff --git a/pom.xml b/pom.xml index 99b13fd747a..8759a946fd1 100644 --- a/pom.xml +++ b/pom.xml @@ -256,6 +256,7 @@ maven-failsafe-plugin ${maven-failsafe-plugin.version} + + HBaseManagedTimeTableReuseTest @@ -310,6 +314,7 @@ verify + From 52a0e90899d5956dbd4563f1c8a47e87ec8aeeb6 Mon Sep 17 00:00:00 2001 From: --global Date: Thu, 28 Jul 2016 21:04:58 -0700 Subject: [PATCH 13/17] Fixed @shadower reference --- .../org/apache/phoenix/end2end/AlterTableWithViewsIT.java | 2 +- .../org/apache/phoenix/end2end/DisableLocalIndexIT.java | 2 +- .../it/java/org/apache/phoenix/end2end/HashJoinMoreIT.java | 2 +- .../java/org/apache/phoenix/end2end/InMemoryOrderByIT.java | 2 +- .../it/java/org/apache/phoenix/end2end/ReverseScanIT.java | 2 +- .../apache/phoenix/end2end/SkipScanAfterManualSplitIT.java | 2 +- .../org/apache/phoenix/end2end/SortMergeJoinMoreIT.java | 2 +- .../apache/phoenix/end2end/TenantSpecificViewIndexIT.java | 4 ++-- .../org/apache/phoenix/end2end/index/DropMetadataIT.java | 3 +-- .../phoenix/end2end/index/GlobalIndexOptimizationIT.java | 3 +-- .../org/apache/phoenix/end2end/index/ImmutableIndexIT.java | 3 +-- .../apache/phoenix/end2end/index/IndexExpressionIT.java | 1 - .../it/java/org/apache/phoenix/end2end/index/IndexIT.java | 7 +------ .../org/apache/phoenix/end2end/index/IndexMetadataIT.java | 1 - .../org/apache/phoenix/end2end/index/LocalIndexIT.java | 3 +-- .../org/apache/phoenix/end2end/index/MutableIndexIT.java | 3 +-- .../org/apache/phoenix/end2end/index/SaltedIndexIT.java | 3 +-- .../java/org/apache/phoenix/end2end/index/ViewIndexIT.java | 3 +-- .../phoenix/end2end/index/txn/MutableRollbackIT.java | 3 +-- .../org/apache/phoenix/end2end/index/txn/RollbackIT.java | 3 +-- .../phoenix/end2end/salted/SaltedTableUpsertSelectIT.java | 1 - .../end2end/salted/SaltedTableVarLengthRowKeyIT.java | 1 - .../org/apache/phoenix/iterate/PhoenixQueryTimeoutIT.java | 3 --- .../apache/phoenix/iterate/RoundRobinResultIteratorIT.java | 3 +-- .../src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java | 3 +-- .../java/org/apache/phoenix/trace/BaseTracingTestIT.java | 1 - .../src/it/java/org/apache/phoenix/tx/TransactionIT.java | 3 +-- .../src/it/java/org/apache/phoenix/tx/TxCheckpointIT.java | 4 +--- .../it/java/org/apache/phoenix/flume/PhoenixSinkIT.java | 1 - .../org/apache/phoenix/flume/RegexEventSerializerIT.java | 1 - .../it/java/org/apache/phoenix/pherf/ResultBaseTestIT.java | 1 - .../it/java/org/apache/phoenix/pherf/SchemaReaderIT.java | 1 - .../src/it/java/org/apache/phoenix/pig/BasePigIT.java | 3 +-- 33 files changed, 24 insertions(+), 56 deletions(-) diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java index dd4ce1759b9..9c31e6abdea 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/AlterTableWithViewsIT.java @@ -73,7 +73,7 @@ public static Collection data() { } @BeforeClass - @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) + @Shadower(classBeingShadowed = BaseHBaseManagedTimeTableReuseIT.class) public static void doSetup() throws Exception { Map props = Maps.newHashMapWithExpectedSize(1); props.put(QueryServices.TRANSACTIONS_ENABLED, Boolean.toString(true)); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DisableLocalIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DisableLocalIndexIT.java index ce669425b06..38dfa8cc58a 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DisableLocalIndexIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DisableLocalIndexIT.java @@ -45,7 +45,7 @@ public class DisableLocalIndexIT extends BaseHBaseManagedTimeTableReuseIT { @BeforeClass - @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) + @Shadower(classBeingShadowed = BaseHBaseManagedTimeTableReuseIT.class) public static void doSetup() throws Exception { Map props = Maps.newHashMapWithExpectedSize(1); // Must update config before starting server diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/HashJoinMoreIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/HashJoinMoreIT.java index 0f1d2566196..4ecd1ee0f88 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/HashJoinMoreIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/HashJoinMoreIT.java @@ -95,7 +95,7 @@ public class HashJoinMoreIT extends BaseHBaseManagedTimeTableReuseIT { }; @BeforeClass - @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) + @Shadower(classBeingShadowed = BaseHBaseManagedTimeTableReuseIT.class) public static void doSetup() throws Exception { Map props = Maps.newHashMapWithExpectedSize(3); // Forces server cache to be used diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/InMemoryOrderByIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/InMemoryOrderByIT.java index 232f76f3ea9..c6bfe9ac69f 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/InMemoryOrderByIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/InMemoryOrderByIT.java @@ -32,7 +32,7 @@ public InMemoryOrderByIT() { } @BeforeClass - @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) + @Shadower(classBeingShadowed = BaseHBaseManagedTimeTableReuseIT.class) public static void doSetup() throws Exception { Map props = Maps.newHashMapWithExpectedSize(1); props.put(QueryServices.SPOOL_THRESHOLD_BYTES_ATTRIB, Integer.toString(1024*1024)); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ReverseScanIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ReverseScanIT.java index dbb5f1676e3..2774e1e6b92 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ReverseScanIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ReverseScanIT.java @@ -56,7 +56,7 @@ public class ReverseScanIT extends BaseHBaseManagedTimeTableReuseIT { protected static final String ATABLE_INDEX_NAME = generateRandomString(); @BeforeClass - @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) + @Shadower(classBeingShadowed = BaseHBaseManagedTimeTableReuseIT.class) public static void doSetup() throws Exception { Map props = Maps.newHashMapWithExpectedSize(1); setUpTestDriver(new ReadOnlyProps(props.entrySet().iterator())); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SkipScanAfterManualSplitIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SkipScanAfterManualSplitIT.java index 8b53c2e85c2..58967ce4cc5 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SkipScanAfterManualSplitIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SkipScanAfterManualSplitIT.java @@ -62,7 +62,7 @@ public class SkipScanAfterManualSplitIT extends BaseHBaseManagedTimeTableReuseIT private static final int MAX_CHAR = 'z'; @BeforeClass - @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) + @Shadower(classBeingShadowed = BaseHBaseManagedTimeTableReuseIT.class) public static void doSetup() throws Exception { Map props = Maps.newHashMapWithExpectedSize(2); // needed for 64 region parallelization due to splitting diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SortMergeJoinMoreIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SortMergeJoinMoreIT.java index e1239299778..81b55577ddc 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SortMergeJoinMoreIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SortMergeJoinMoreIT.java @@ -42,7 +42,7 @@ public class SortMergeJoinMoreIT extends BaseHBaseManagedTimeTableReuseIT { @BeforeClass - @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) + @Shadower(classBeingShadowed = BaseHBaseManagedTimeTableReuseIT.class) public static void doSetup() throws Exception { Map props = Maps.newHashMapWithExpectedSize(3); // Forces server cache to be used diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificViewIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificViewIndexIT.java index 9970ce70019..54b909e7a0f 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificViewIndexIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificViewIndexIT.java @@ -110,8 +110,8 @@ private void createTableAndValidate(String tableName, boolean isNamespaceEnabled } private void testMultiCFViewIndex(boolean localIndex, boolean isNamespaceEnabled) throws Exception { - String tableName = "A.MT_BASE"; - String baseViewName = "acme"; + String tableName = "A.MT_BASE" + generateRandomString(); + String baseViewName = generateRandomString() ; createTableAndValidate(tableName, isNamespaceEnabled); createViewAndIndexesWithTenantId(tableName, baseViewName, localIndex, "b", isNamespaceEnabled); createViewAndIndexesWithTenantId(tableName, baseViewName, localIndex, "a", isNamespaceEnabled); 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 a6e8b3f0d1d..321246bc064 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 @@ -39,7 +39,6 @@ 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; @@ -65,7 +64,7 @@ public class DropMetadataIT extends BaseHBaseManagedTimeTableReuseIT { public static final String SCHEMA_NAME = ""; 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 props = Maps.newHashMapWithExpectedSize(1); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalIndexOptimizationIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalIndexOptimizationIT.java index 262607bb5db..0ab171ac842 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalIndexOptimizationIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/GlobalIndexOptimizationIT.java @@ -28,7 +28,6 @@ import java.util.Map; import java.util.regex.Pattern; -import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.end2end.Shadower; import org.apache.phoenix.query.QueryServices; @@ -41,7 +40,7 @@ public class GlobalIndexOptimizationIT extends BaseHBaseManagedTimeTableReuseIT { @BeforeClass - @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) + @Shadower(classBeingShadowed = BaseHBaseManagedTimeTableReuseIT.class) public static void doSetup() throws Exception { Map props = Maps.newHashMapWithExpectedSize(3); // Drop the HBase table metadata for this test diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ImmutableIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ImmutableIndexIT.java index c89dc9f979c..0c7a3561d69 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ImmutableIndexIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ImmutableIndexIT.java @@ -48,7 +48,6 @@ import org.apache.hadoop.hbase.coprocessor.SimpleRegionObserver; import org.apache.hadoop.hbase.regionserver.wal.WALEdit; 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.exception.SQLExceptionCode; @@ -94,7 +93,7 @@ public ImmutableIndexIT(boolean localIndex, boolean transactional) { } @BeforeClass - @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) + @Shadower(classBeingShadowed = BaseHBaseManagedTimeTableReuseIT.class) public static void doSetup() throws Exception { Map serverProps = Maps.newHashMapWithExpectedSize(1); serverProps.put("hbase.coprocessor.region.classes", CreateIndexRegionObserver.class.getName()); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexExpressionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexExpressionIT.java index 4d39228cd53..9677060cc0f 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexExpressionIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexExpressionIT.java @@ -27,7 +27,6 @@ import java.util.Properties; import org.apache.commons.lang.StringUtils; -import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.exception.SQLExceptionCode; import org.apache.phoenix.execute.CommitException; diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexIT.java index 6457b3172aa..cfa26f6d241 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexIT.java @@ -42,7 +42,6 @@ import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.phoenix.compile.ColumnResolver; import org.apache.phoenix.compile.FromCompiler; -import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.end2end.Shadower; import org.apache.phoenix.exception.SQLExceptionCode; @@ -89,14 +88,10 @@ public IndexIT(boolean localIndex, boolean mutable, boolean transactional) { optionBuilder.append(" TRANSACTIONAL=true "); } this.tableDDLOptions = optionBuilder.toString(); - //this.tableName = TestUtil.DEFAULT_DATA_TABLE_NAME + ( transactional ? "_TXN" : ""); - //this.indexName = "IDX" + ( transactional ? "_TXN" : ""); - //this.fullTableName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, tableName); - //this.fullIndexName = SchemaUtil.getTableName(TestUtil.DEFAULT_SCHEMA_NAME, indexName); } @BeforeClass - @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) + @Shadower(classBeingShadowed = BaseHBaseManagedTimeTableReuseIT.class) public static void doSetup() throws Exception { Map props = Maps.newHashMapWithExpectedSize(1); props.put(QueryServices.TRANSACTIONS_ENABLED, Boolean.toString(true)); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexMetadataIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexMetadataIT.java index 482408c9075..2f14d0b2b3e 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexMetadataIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/IndexMetadataIT.java @@ -34,7 +34,6 @@ import java.util.Properties; import org.apache.hadoop.hbase.io.ImmutableBytesWritable; -import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.exception.SQLExceptionCode; import org.apache.phoenix.jdbc.PhoenixConnection; diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java index 031a0b8c07d..103c8e50e49 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java @@ -49,7 +49,6 @@ import org.apache.hadoop.hbase.util.Pair; import org.apache.phoenix.compile.QueryPlan; import org.apache.phoenix.coprocessor.BaseScannerRegionObserver; -import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.end2end.Shadower; import org.apache.phoenix.hbase.index.IndexRegionSplitPolicy; @@ -88,7 +87,7 @@ public LocalIndexIT(boolean isNamespaceMapped) { } @BeforeClass - @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) + @Shadower(classBeingShadowed = BaseHBaseManagedTimeTableReuseIT.class) public static void doSetup() throws Exception { Map props = Maps.newHashMapWithExpectedSize(3); // Drop the HBase table metadata for this test diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexIT.java index a665fd0af7c..87acefd2891 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/MutableIndexIT.java @@ -44,7 +44,6 @@ import org.apache.hadoop.hbase.client.HBaseAdmin; import org.apache.hadoop.hbase.util.Bytes; import org.apache.hadoop.hbase.util.Threads; -import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.end2end.Shadower; import org.apache.phoenix.jdbc.PhoenixConnection; @@ -84,7 +83,7 @@ public MutableIndexIT(boolean localIndex, boolean transactional) { } @BeforeClass - @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) + @Shadower(classBeingShadowed = BaseHBaseManagedTimeTableReuseIT.class) public static void doSetup() throws Exception { Map props = Maps.newHashMapWithExpectedSize(1); props.put(QueryServices.TRANSACTIONS_ENABLED, Boolean.toString(true)); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/SaltedIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/SaltedIndexIT.java index 15ee586da13..30a34d7d8ab 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/SaltedIndexIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/SaltedIndexIT.java @@ -29,7 +29,6 @@ import java.util.Map; import java.util.Properties; -import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.end2end.Shadower; import org.apache.phoenix.jdbc.PhoenixConnection; @@ -47,7 +46,7 @@ public class SaltedIndexIT extends BaseHBaseManagedTimeTableReuseIT { private static final int INDEX_SPLITS = 4; @BeforeClass - @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) + @Shadower(classBeingShadowed = BaseHBaseManagedTimeTableReuseIT.class) public static void doSetup() throws Exception { Map props = Maps.newHashMapWithExpectedSize(3); // Forces server cache to be used diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java index 6b76e05080d..62928f94cf7 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java @@ -35,7 +35,6 @@ import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.HBaseAdmin; import org.apache.phoenix.compile.QueryPlan; -import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.end2end.Shadower; import org.apache.phoenix.jdbc.PhoenixDatabaseMetaData; @@ -65,7 +64,7 @@ public class ViewIndexIT extends BaseHBaseManagedTimeTableReuseIT { @BeforeClass - @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) + @Shadower(classBeingShadowed = BaseHBaseManagedTimeTableReuseIT.class) public static void doSetup() throws Exception { Map props = Maps.newHashMapWithExpectedSize(3); // Drop the HBase table metadata for this test to confirm that view index table dropped diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/MutableRollbackIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/MutableRollbackIT.java index c937b2f4de5..9d612473211 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/MutableRollbackIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/MutableRollbackIT.java @@ -35,7 +35,6 @@ import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.HBaseAdmin; -import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.end2end.Shadower; import org.apache.phoenix.jdbc.PhoenixConnection; @@ -62,7 +61,7 @@ public MutableRollbackIT(boolean localIndex) { } @BeforeClass - @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) + @Shadower(classBeingShadowed = BaseHBaseManagedTimeTableReuseIT.class) public static void doSetup() throws Exception { Map props = Maps.newHashMapWithExpectedSize(2); props.put(QueryServices.DEFAULT_TABLE_ISTRANSACTIONAL_ATTRIB, Boolean.toString(true)); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/RollbackIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/RollbackIT.java index c677a08208c..963263f9d53 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/RollbackIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/txn/RollbackIT.java @@ -31,7 +31,6 @@ import java.util.Map; import java.util.Properties; -import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.end2end.Shadower; import org.apache.phoenix.query.QueryServices; @@ -59,7 +58,7 @@ public RollbackIT(boolean localIndex, boolean mutable) { } @BeforeClass - @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) + @Shadower(classBeingShadowed = BaseHBaseManagedTimeTableReuseIT.class) public static void doSetup() throws Exception { Map props = Maps.newHashMapWithExpectedSize(2); props.put(QueryServices.DEFAULT_TABLE_ISTRANSACTIONAL_ATTRIB, Boolean.toString(true)); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/salted/SaltedTableUpsertSelectIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/salted/SaltedTableUpsertSelectIT.java index b21655a7dab..a7ac817da3b 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/salted/SaltedTableUpsertSelectIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/salted/SaltedTableUpsertSelectIT.java @@ -31,7 +31,6 @@ import java.sql.SQLException; import java.util.Properties; -import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.util.PropertiesUtil; import org.junit.Test; diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/salted/SaltedTableVarLengthRowKeyIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/salted/SaltedTableVarLengthRowKeyIT.java index e94ae3a7532..e3688cac3a7 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/salted/SaltedTableVarLengthRowKeyIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/salted/SaltedTableVarLengthRowKeyIT.java @@ -29,7 +29,6 @@ import java.sql.ResultSet; import java.util.Properties; -import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.util.PropertiesUtil; import org.junit.Test; diff --git a/phoenix-core/src/it/java/org/apache/phoenix/iterate/PhoenixQueryTimeoutIT.java b/phoenix-core/src/it/java/org/apache/phoenix/iterate/PhoenixQueryTimeoutIT.java index 6bf3790fc55..7a933338101 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/iterate/PhoenixQueryTimeoutIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/iterate/PhoenixQueryTimeoutIT.java @@ -24,11 +24,8 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.HashSet; import java.util.Properties; -import java.util.Set; -import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.jdbc.PhoenixStatement; import org.junit.BeforeClass; diff --git a/phoenix-core/src/it/java/org/apache/phoenix/iterate/RoundRobinResultIteratorIT.java b/phoenix-core/src/it/java/org/apache/phoenix/iterate/RoundRobinResultIteratorIT.java index dc47130c8cc..819b8d0ef8c 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/iterate/RoundRobinResultIteratorIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/iterate/RoundRobinResultIteratorIT.java @@ -42,7 +42,6 @@ import org.apache.hadoop.hbase.client.HBaseAdmin; import org.apache.hadoop.hbase.util.Bytes; import org.apache.phoenix.compile.StatementContext; -import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.end2end.Shadower; import org.apache.phoenix.jdbc.PhoenixConnection; @@ -64,7 +63,7 @@ public class RoundRobinResultIteratorIT extends BaseHBaseManagedTimeTableReuseIT private static final int NUM_SALT_BUCKETS = 4; @BeforeClass - @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) + @Shadower(classBeingShadowed = BaseHBaseManagedTimeTableReuseIT.class) public static void doSetup() throws Exception { Map props = Maps.newHashMapWithExpectedSize(1); props.put(QueryServices.THREAD_POOL_SIZE_ATTRIB, Integer.toString(32)); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java b/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java index 776e86b3916..00de6b0febb 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/rpc/UpdateCacheIT.java @@ -37,7 +37,6 @@ import java.util.Map; import java.util.Properties; -import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.end2end.Shadower; import org.apache.phoenix.jdbc.PhoenixEmbeddedDriver; @@ -67,7 +66,7 @@ public class UpdateCacheIT extends BaseHBaseManagedTimeTableReuseIT { public static final int NUM_MILLIS_IN_DAY = 86400000; @BeforeClass - @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) + @Shadower(classBeingShadowed = BaseHBaseManagedTimeTableReuseIT.class) public static void doSetup() throws Exception { Map props = Maps.newHashMapWithExpectedSize(1); props.put(QueryServices.TRANSACTIONS_ENABLED, Boolean.toString(true)); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/trace/BaseTracingTestIT.java b/phoenix-core/src/it/java/org/apache/phoenix/trace/BaseTracingTestIT.java index 66a162a4ba8..66f3e87c08f 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/trace/BaseTracingTestIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/trace/BaseTracingTestIT.java @@ -36,7 +36,6 @@ import org.apache.hadoop.metrics2.impl.ExposedMetricCounterLong; import org.apache.hadoop.metrics2.impl.ExposedMetricsRecordImpl; import org.apache.hadoop.metrics2.lib.ExposedMetricsInfoImpl; -import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.metrics.MetricInfo; import org.apache.phoenix.query.QueryServicesOptions; diff --git a/phoenix-core/src/it/java/org/apache/phoenix/tx/TransactionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/tx/TransactionIT.java index 039490f53aa..0377a370836 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/tx/TransactionIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/tx/TransactionIT.java @@ -47,7 +47,6 @@ import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.util.Bytes; import org.apache.phoenix.coprocessor.PhoenixTransactionalProcessor; -import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.end2end.Shadower; import org.apache.phoenix.exception.SQLExceptionCode; @@ -80,7 +79,7 @@ public class TransactionIT extends BaseHBaseManagedTimeTableReuseIT { @BeforeClass - @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) + @Shadower(classBeingShadowed = BaseHBaseManagedTimeTableReuseIT.class) public static void doSetup() throws Exception { Map props = Maps.newHashMapWithExpectedSize(1); props.put(QueryServices.TRANSACTIONS_ENABLED, Boolean.toString(true)); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/tx/TxCheckpointIT.java b/phoenix-core/src/it/java/org/apache/phoenix/tx/TxCheckpointIT.java index 08d6b0d8db7..9f47a1ebd77 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/tx/TxCheckpointIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/tx/TxCheckpointIT.java @@ -33,7 +33,6 @@ import java.util.Map; import java.util.Properties; -import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.end2end.Shadower; import org.apache.phoenix.execute.MutationState; @@ -42,7 +41,6 @@ import org.apache.phoenix.util.PropertiesUtil; import org.apache.phoenix.util.ReadOnlyProps; import org.apache.phoenix.util.SchemaUtil; -import org.apache.phoenix.util.TestUtil; import org.junit.BeforeClass; import org.junit.Test; import org.junit.runner.RunWith; @@ -66,7 +64,7 @@ public TxCheckpointIT(boolean localIndex, boolean mutable) { } @BeforeClass - @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) + @Shadower(classBeingShadowed = BaseHBaseManagedTimeTableReuseIT.class) public static void doSetup() throws Exception { Map props = Maps.newHashMapWithExpectedSize(2); props.put(QueryServices.DEFAULT_TABLE_ISTRANSACTIONAL_ATTRIB, Boolean.toString(true)); diff --git a/phoenix-flume/src/it/java/org/apache/phoenix/flume/PhoenixSinkIT.java b/phoenix-flume/src/it/java/org/apache/phoenix/flume/PhoenixSinkIT.java index 0c88486a465..22dfa367bb7 100644 --- a/phoenix-flume/src/it/java/org/apache/phoenix/flume/PhoenixSinkIT.java +++ b/phoenix-flume/src/it/java/org/apache/phoenix/flume/PhoenixSinkIT.java @@ -29,7 +29,6 @@ import org.apache.flume.sink.DefaultSinkFactory; import org.apache.hadoop.hbase.client.HBaseAdmin; import org.apache.hadoop.hbase.util.Bytes; -import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.flume.serializer.EventSerializers; import org.apache.phoenix.flume.serializer.CustomSerializer; diff --git a/phoenix-flume/src/it/java/org/apache/phoenix/flume/RegexEventSerializerIT.java b/phoenix-flume/src/it/java/org/apache/phoenix/flume/RegexEventSerializerIT.java index 8cea0f87320..6863401194c 100644 --- a/phoenix-flume/src/it/java/org/apache/phoenix/flume/RegexEventSerializerIT.java +++ b/phoenix-flume/src/it/java/org/apache/phoenix/flume/RegexEventSerializerIT.java @@ -40,7 +40,6 @@ import org.apache.flume.event.EventBuilder; import org.apache.flume.lifecycle.LifecycleState; import org.apache.hadoop.hbase.util.Bytes; -import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.flume.serializer.EventSerializers; import org.apache.phoenix.flume.sink.PhoenixSink; diff --git a/phoenix-pherf/src/it/java/org/apache/phoenix/pherf/ResultBaseTestIT.java b/phoenix-pherf/src/it/java/org/apache/phoenix/pherf/ResultBaseTestIT.java index ee831cb9070..07618a72ff8 100644 --- a/phoenix-pherf/src/it/java/org/apache/phoenix/pherf/ResultBaseTestIT.java +++ b/phoenix-pherf/src/it/java/org/apache/phoenix/pherf/ResultBaseTestIT.java @@ -18,7 +18,6 @@ package org.apache.phoenix.pherf; -import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.pherf.configuration.XMLConfigParser; import org.apache.phoenix.pherf.result.ResultUtil; diff --git a/phoenix-pherf/src/it/java/org/apache/phoenix/pherf/SchemaReaderIT.java b/phoenix-pherf/src/it/java/org/apache/phoenix/pherf/SchemaReaderIT.java index ecbde8bfafb..4f6d3c14b2f 100644 --- a/phoenix-pherf/src/it/java/org/apache/phoenix/pherf/SchemaReaderIT.java +++ b/phoenix-pherf/src/it/java/org/apache/phoenix/pherf/SchemaReaderIT.java @@ -30,7 +30,6 @@ import java.util.ArrayList; import java.util.List; -import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.pherf.configuration.Column; import org.apache.phoenix.pherf.configuration.DataModel; diff --git a/phoenix-pig/src/it/java/org/apache/phoenix/pig/BasePigIT.java b/phoenix-pig/src/it/java/org/apache/phoenix/pig/BasePigIT.java index aec09f79174..4ff818f62b5 100644 --- a/phoenix-pig/src/it/java/org/apache/phoenix/pig/BasePigIT.java +++ b/phoenix-pig/src/it/java/org/apache/phoenix/pig/BasePigIT.java @@ -27,7 +27,6 @@ import java.util.Properties; import org.apache.hadoop.conf.Configuration; -import org.apache.phoenix.end2end.BaseHBaseManagedTimeIT; import org.apache.phoenix.end2end.BaseHBaseManagedTimeTableReuseIT; import org.apache.phoenix.end2end.Shadower; import org.apache.phoenix.query.QueryServices; @@ -51,7 +50,7 @@ public class BasePigIT extends BaseHBaseManagedTimeTableReuseIT { protected PigServer pigServer; @BeforeClass - @Shadower(classBeingShadowed = BaseHBaseManagedTimeIT.class) + @Shadower(classBeingShadowed = BaseHBaseManagedTimeTableReuseIT.class) public static void doSetup() throws Exception { Map props = Maps.newHashMapWithExpectedSize(3); props.put(QueryServices.EXTRA_JDBC_ARGUMENTS_ATTRIB, QueryServicesOptions.DEFAULT_EXTRA_JDBC_ARGUMENTS); From e2a8d538b6bce3b2cbaeff4a0e6c7b14a3cd0ddb Mon Sep 17 00:00:00 2001 From: --global Date: Tue, 2 Aug 2016 14:25:38 -0700 Subject: [PATCH 14/17] Fixing regression in ClientManaged tests --- .DS_Store | Bin 0 -> 8196 bytes mvnLOG3.log | 1094 +++++++++++++++++ .../apache/phoenix/end2end/BaseQueryIT.java | 5 +- .../ColumnProjectionOptimizationIT.java | 15 +- .../phoenix/end2end/CustomEntityDataIT.java | 2 +- .../phoenix/end2end/DerivedTableIT.java | 2 +- .../phoenix/end2end/ExtendedQueryExecIT.java | 11 +- .../org/apache/phoenix/end2end/KeyOnlyIT.java | 6 +- .../phoenix/end2end/MultiCfQueryExecIT.java | 2 +- .../phoenix/end2end/NativeHBaseTypesIT.java | 2 +- .../end2end/QueryDatabaseMetaDataIT.java | 49 +- .../org/apache/phoenix/end2end/QueryIT.java | 48 +- .../end2end/RowValueConstructorIT.java | 34 +- .../phoenix/end2end/SpillableGroupByIT.java | 2 +- .../end2end/TenantSpecificViewIndexIT.java | 28 +- .../phoenix/end2end/ToDateFunctionIT.java | 7 +- .../org/apache/phoenix/end2end/TopNIT.java | 7 +- .../org/apache/phoenix/end2end/UpgradeIT.java | 2 +- .../phoenix/end2end/UpsertSelectIT.java | 7 +- .../phoenix/end2end/UpsertValuesIT.java | 6 +- .../phoenix/end2end/VariableLengthPKIT.java | 34 +- .../phoenix/end2end/index/LocalIndexIT.java | 26 +- .../phoenix/end2end/index/ViewIndexIT.java | 9 +- .../iterate/RoundRobinResultIteratorIT.java | 12 +- .../org/apache/phoenix/query/BaseTest.java | 56 +- pom.xml | 8 +- reuse.log | 710 +++++++++++ 27 files changed, 2028 insertions(+), 156 deletions(-) create mode 100644 .DS_Store create mode 100644 mvnLOG3.log create mode 100644 reuse.log diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..11e4d6ca75fdc3c30a4b2f06f2bc5efc29488f21 GIT binary patch literal 8196 zcmeHM%We}f6g}=lX{r1VRBBkjjyxu5MA`{?k?!&td=d*j zfKT8r!nyVc`H@zL1&UO=8sFA)&%Ng!dpvOpKpoF}&wxV!C0=4HWp*2y+?Ok8JNd|C zT17mvZfBHr_*W(HjRR4Es6bR8Di9Tj3T%f0d}m85-SFNwcVizFhzi_E1!RAy@)BFm z?aElab+FS%0NMhFb>r{)!#{0R259TKT^Y*}Hf5l+2CDKShRV+l%D{QQp8KziHE<}M znQ`*WDnFs9{OF;o+8wHHZ0w@~QGrkaIlCw5V2G=ek#l~3#XC>dx@p)Rz2@{Ap@$k~ zSYqZOet3u?y2x;aK2ZbLSDkyl38SW1cwRp}uL8X?MxDBT5U$@Wt|i7=qK!+8$u|xB zg{kddz#BC25iK{aW@-EF;uI%%N#A#9q3L-GTid(L{0r89iZi^%bE-BXdtV8nk|QGb z*K77bk+IM4-sEvJfV@@7sT&S*1ALdLp^oRx zt|CtdyT1XOVS?1nDRZNi7Uz2buFsrvGWL;Dt&I#bUXbg;$LT6;M$uKVdViGzF?aF`L*rUKmm zFd&Pstf#|~F~(jju74+%zcy-&aT(05sPNrVVV99J`qlWfhTc-C?Y)O{?lmvaz+2iH z5j~F;pJ)%kCy=W}wB5Yl5TW;*a=zar^qrvV#g%GpCPl7ZQFy?(-p(L1og7&;>TN7` zTdzQ37#_;`zj^cb|65;2Bp4Nl3jDhQs?caPj)~9D)o=wJAE9d o)yHw#KmRb~?^U`Ark>lCu^eIh?_UJCpO@qNKfeF@~ literal 0 HcmV?d00001 diff --git a/mvnLOG3.log b/mvnLOG3.log new file mode 100644 index 00000000000..180254b27e9 --- /dev/null +++ b/mvnLOG3.log @@ -0,0 +1,1094 @@ +[INFO] Scanning for projects... +[INFO] ------------------------------------------------------------------------ +[INFO] Reactor Build Order: +[INFO] +[INFO] Apache Phoenix +[INFO] Phoenix Core +[INFO] Phoenix - Flume +[INFO] Phoenix - Pig +[INFO] Phoenix Query Server Client +[INFO] Phoenix Query Server +[INFO] Phoenix - Pherf +[INFO] Phoenix - Spark +[INFO] Phoenix - Hive +[INFO] Phoenix Client +[INFO] Phoenix Server +[INFO] Phoenix Assembly +[INFO] Phoenix - Tracing Web Application +[INFO] +[INFO] ------------------------------------------------------------------------ +[INFO] Building Apache Phoenix 4.8.0-HBase-1.2-SNAPSHOT +[INFO] ------------------------------------------------------------------------ +[INFO] +[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ phoenix --- +[INFO] Deleting /Users/prakul.agarwal/Documents/works/prPhoenix/target +[INFO] +[INFO] --- maven-checkstyle-plugin:2.13:check (validate) @ phoenix --- +[INFO] +[INFO] --- maven-remote-resources-plugin:1.5:process (default) @ phoenix --- +[INFO] +[INFO] --- maven-source-plugin:2.2.1:jar-no-fork (attach-sources) @ phoenix --- +[INFO] +[INFO] --- maven-jar-plugin:2.4:test-jar (default) @ phoenix --- +[WARNING] JAR will be empty - no content was marked for inclusion! +[INFO] Building jar: /Users/prakul.agarwal/Documents/works/prPhoenix/target/phoenix-4.8.0-HBase-1.2-SNAPSHOT-tests.jar +[INFO] +[INFO] --- maven-site-plugin:3.2:attach-descriptor (attach-descriptor) @ phoenix --- +[INFO] +[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ phoenix --- +[INFO] Installing /Users/prakul.agarwal/Documents/works/prPhoenix/pom.xml to /Users/prakul.agarwal/.m2/repository/org/apache/phoenix/phoenix/4.8.0-HBase-1.2-SNAPSHOT/phoenix-4.8.0-HBase-1.2-SNAPSHOT.pom +[INFO] Installing /Users/prakul.agarwal/Documents/works/prPhoenix/target/phoenix-4.8.0-HBase-1.2-SNAPSHOT-tests.jar to /Users/prakul.agarwal/.m2/repository/org/apache/phoenix/phoenix/4.8.0-HBase-1.2-SNAPSHOT/phoenix-4.8.0-HBase-1.2-SNAPSHOT-tests.jar +[INFO] +[INFO] ------------------------------------------------------------------------ +[INFO] Building Phoenix Core 4.8.0-HBase-1.2-SNAPSHOT +[INFO] ------------------------------------------------------------------------ +[INFO] +[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ phoenix-core --- +[INFO] Deleting /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target +[INFO] +[INFO] --- maven-checkstyle-plugin:2.13:check (validate) @ phoenix-core --- +[INFO] +[INFO] --- build-helper-maven-plugin:1.9.1:add-test-source (add-test-source) @ phoenix-core --- +[INFO] Test Source directory: /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/it/java added. +[INFO] +[INFO] --- build-helper-maven-plugin:1.9.1:add-test-resource (add-test-resource) @ phoenix-core --- +[INFO] +[INFO] --- build-helper-maven-plugin:1.9.1:add-source (add-source) @ phoenix-core --- +[INFO] Source directory: /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/generated-sources/antlr3 added. +[INFO] Source directory: /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/antlr3 added. +[INFO] +[INFO] --- antlr3-maven-plugin:3.5.2:antlr (default) @ phoenix-core --- +[INFO] ANTLR: Processing source directory /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/antlr3 +Output file /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/generated-sources/antlr3/org/apache/phoenix/parse/PhoenixSQLParser.java does not exist: must build /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/antlr3/PhoenixSQL.g +PhoenixSQL.g +[INFO] +[INFO] --- maven-dependency-plugin:2.1:build-classpath (create-phoenix-generated-classpath) @ phoenix-core --- +[INFO] Wrote classpath file '/Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/cached_classpath.txt'. +[INFO] +[INFO] --- maven-remote-resources-plugin:1.5:process (default) @ phoenix-core --- +[INFO] +[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ phoenix-core --- +[INFO] Using 'UTF-8' encoding to copy filtered resources. +[INFO] Copying 1 resource to META-INF/services +[INFO] Copying 3 resources +[INFO] +[INFO] --- maven-compiler-plugin:3.0:compile (default-compile) @ phoenix-core --- +[INFO] Changes detected - recompiling the module! +[INFO] Compiling 951 source files to /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/classes +[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/java/org/apache/phoenix/execute/DescVarLengthFastByteComparisons.java:[25,16] sun.misc.Unsafe is internal proprietary API and may be removed in a future release +[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/java/org/apache/phoenix/execute/DescVarLengthFastByteComparisons.java:[116,26] sun.misc.Unsafe is internal proprietary API and may be removed in a future release +[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/java/org/apache/phoenix/execute/DescVarLengthFastByteComparisons.java:[122,30] sun.misc.Unsafe is internal proprietary API and may be removed in a future release +[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/java/org/apache/phoenix/execute/DescVarLengthFastByteComparisons.java:[126,39] sun.misc.Unsafe is internal proprietary API and may be removed in a future release +[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServices.java: Some input files use or override a deprecated API. +[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServices.java: Recompile with -Xlint:deprecation for details. +[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixStatement.java: Some input files use unchecked or unsafe operations. +[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixStatement.java: Recompile with -Xlint:unchecked for details. +[INFO] +[INFO] --- maven-dependency-plugin:2.1:build-classpath (create-mrapp-generated-classpath) @ phoenix-core --- +[INFO] Wrote classpath file '/Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/classes/mrapp-generated-classpath'. +[INFO] +[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ phoenix-core --- +[INFO] Using 'UTF-8' encoding to copy filtered resources. +[INFO] Copying 2 resources +[INFO] Copying 2 resources +[INFO] Copying 3 resources +[INFO] +[INFO] --- maven-compiler-plugin:3.0:testCompile (default-testCompile) @ phoenix-core --- +[INFO] Changes detected - recompiling the module! +[INFO] Compiling 406 source files to /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/test-classes +[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/test/java/org/apache/phoenix/util/TestUtil.java: Some input files use or override a deprecated API. +[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/test/java/org/apache/phoenix/util/TestUtil.java: Recompile with -Xlint:deprecation for details. +[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java: Some input files use unchecked or unsafe operations. +[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java: Recompile with -Xlint:unchecked for details. +[INFO] +[INFO] --- maven-surefire-plugin:2.19.1:test (default-test) @ phoenix-core --- + +------------------------------------------------------- + T E S T S +------------------------------------------------------- +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 +Running org.apache.hadoop.hbase.ipc.PhoenixIndexRpcSchedulerTest +Running org.apache.hadoop.hbase.regionserver.PhoenixRpcSchedulerFactoryTest +Running org.apache.phoenix.cache.JodaTimezoneCacheTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.241 sec - in org.apache.hadoop.hbase.regionserver.PhoenixRpcSchedulerFactoryTest +Running org.apache.phoenix.cache.TenantCacheTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.074 sec - in org.apache.phoenix.cache.TenantCacheTest +Running org.apache.phoenix.compile.HavingCompilerTest +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.452 sec - in org.apache.phoenix.cache.JodaTimezoneCacheTest +Running org.apache.phoenix.compile.JoinQueryCompilerTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.463 sec - in org.apache.hadoop.hbase.ipc.PhoenixIndexRpcSchedulerTest +Running org.apache.phoenix.compile.LimitCompilerTest +Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.23 sec - in org.apache.phoenix.compile.HavingCompilerTest +Running org.apache.phoenix.compile.QueryCompilerTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.254 sec - in org.apache.phoenix.compile.JoinQueryCompilerTest +Running org.apache.phoenix.compile.QueryMetaDataTest +Tests run: 33, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.453 sec - in org.apache.phoenix.compile.QueryMetaDataTest +Running org.apache.phoenix.compile.QueryOptimizerTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.727 sec - in org.apache.phoenix.compile.LimitCompilerTest +Running org.apache.phoenix.compile.ScanRangesIntersectTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.compile.ScanRangesIntersectTest +Running org.apache.phoenix.compile.ScanRangesTest +Tests run: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.047 sec - in org.apache.phoenix.compile.ScanRangesTest +Running org.apache.phoenix.compile.SelectStatementRewriterTest +Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.33 sec - in org.apache.phoenix.compile.SelectStatementRewriterTest +Running org.apache.phoenix.compile.StatementHintsCompilationTest +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.504 sec - in org.apache.phoenix.compile.StatementHintsCompilationTest +Running org.apache.phoenix.compile.TenantSpecificViewIndexCompileTest +Tests run: 122, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.707 sec - in org.apache.phoenix.compile.QueryCompilerTest +Running org.apache.phoenix.compile.ViewCompilerTest +Tests run: 42, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.158 sec - in org.apache.phoenix.compile.QueryOptimizerTest +Running org.apache.phoenix.compile.WhereCompilerTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.297 sec - in org.apache.phoenix.compile.ViewCompilerTest +Running org.apache.phoenix.compile.WhereOptimizerTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.638 sec - in org.apache.phoenix.compile.TenantSpecificViewIndexCompileTest +Running org.apache.phoenix.execute.CorrelatePlanTest +Tests run: 45, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.427 sec - in org.apache.phoenix.compile.WhereCompilerTest +Running org.apache.phoenix.execute.DescVarLengthFastByteComparisonsTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 sec - in org.apache.phoenix.execute.DescVarLengthFastByteComparisonsTest +Running org.apache.phoenix.execute.LiteralResultIteratorPlanTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.086 sec - in org.apache.phoenix.execute.LiteralResultIteratorPlanTest +Running org.apache.phoenix.execute.MutationStateTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.execute.MutationStateTest +Running org.apache.phoenix.execute.UnnestArrayPlanTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.01 sec - in org.apache.phoenix.execute.UnnestArrayPlanTest +Running org.apache.phoenix.expression.AbsFunctionTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.157 sec - in org.apache.phoenix.execute.CorrelatePlanTest +Running org.apache.phoenix.expression.ArithmeticOperationTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.012 sec - in org.apache.phoenix.expression.AbsFunctionTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.012 sec - in org.apache.phoenix.expression.ArithmeticOperationTest +Running org.apache.phoenix.expression.ArrayAppendFunctionTest +Running org.apache.phoenix.expression.ArrayConcatFunctionTest +Tests run: 25, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.267 sec - in org.apache.phoenix.expression.ArrayAppendFunctionTest +Running org.apache.phoenix.expression.ArrayFillFunctionTest +Tests run: 14, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.008 sec - in org.apache.phoenix.expression.ArrayFillFunctionTest +Running org.apache.phoenix.expression.ArrayPrependFunctionTest +Tests run: 105, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.621 sec - in org.apache.phoenix.compile.WhereOptimizerTest +Running org.apache.phoenix.expression.ArrayToStringFunctionTest +Tests run: 24, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.02 sec - in org.apache.phoenix.expression.ArrayToStringFunctionTest +Running org.apache.phoenix.expression.CbrtFunctionTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 sec - in org.apache.phoenix.expression.CbrtFunctionTest +Running org.apache.phoenix.expression.CoerceExpressionTest +Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.expression.CoerceExpressionTest +Running org.apache.phoenix.expression.ColumnExpressionTest +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.expression.ColumnExpressionTest +Running org.apache.phoenix.expression.DeterminismTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.expression.DeterminismTest +Running org.apache.phoenix.expression.ExpFunctionTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec - in org.apache.phoenix.expression.ExpFunctionTest +Running org.apache.phoenix.expression.function.BuiltinFunctionConstructorTest +Tests run: 37, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.111 sec - in org.apache.phoenix.expression.ArrayPrependFunctionTest +Running org.apache.phoenix.expression.function.ExternalSqlTypeIdFunctionTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.expression.function.ExternalSqlTypeIdFunctionTest +Running org.apache.phoenix.expression.function.InstrFunctionTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.expression.function.InstrFunctionTest +Running org.apache.phoenix.expression.GetSetByteBitFunctionTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.054 sec - in org.apache.phoenix.expression.function.BuiltinFunctionConstructorTest +Running org.apache.phoenix.expression.ILikeExpressionTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.203 sec - in org.apache.phoenix.expression.ILikeExpressionTest +Running org.apache.phoenix.expression.LikeExpressionTest +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.008 sec - in org.apache.phoenix.expression.LikeExpressionTest +Running org.apache.phoenix.expression.LnLogFunctionTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.014 sec - in org.apache.phoenix.expression.LnLogFunctionTest +Running org.apache.phoenix.expression.NullValueTest +Tests run: 35, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.756 sec - in org.apache.phoenix.expression.ArrayConcatFunctionTest +Running org.apache.phoenix.expression.OctetLengthFunctionTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 sec - in org.apache.phoenix.expression.OctetLengthFunctionTest +Running org.apache.phoenix.expression.PowerFunctionTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.142 sec - in org.apache.phoenix.expression.NullValueTest +Running org.apache.phoenix.expression.RegexpReplaceFunctionTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.013 sec - in org.apache.phoenix.expression.PowerFunctionTest +Running org.apache.phoenix.expression.RegexpSplitFunctionTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.008 sec - in org.apache.phoenix.expression.RegexpReplaceFunctionTest +Running org.apache.phoenix.expression.RegexpSubstrFunctionTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.expression.RegexpSubstrFunctionTest +Running org.apache.phoenix.expression.RoundFloorCeilExpressionsTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.477 sec - in org.apache.phoenix.expression.GetSetByteBitFunctionTest +Running org.apache.phoenix.expression.SignFunctionTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.008 sec - in org.apache.phoenix.expression.SignFunctionTest +Running org.apache.phoenix.expression.SortOrderExpressionTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.136 sec - in org.apache.phoenix.expression.RegexpSplitFunctionTest +Running org.apache.phoenix.expression.SqrtFunctionTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 sec - in org.apache.phoenix.expression.SqrtFunctionTest +Running org.apache.phoenix.expression.StringToArrayFunctionTest +Tests run: 20, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 sec - in org.apache.phoenix.expression.StringToArrayFunctionTest +Running org.apache.phoenix.expression.util.regex.PatternPerformanceTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.expression.util.regex.PatternPerformanceTest +Running org.apache.phoenix.filter.DistinctPrefixFilterTest +Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.012 sec - in org.apache.phoenix.filter.DistinctPrefixFilterTest +Running org.apache.phoenix.filter.SkipScanBigFilterTest +Tests run: 22, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.176 sec - in org.apache.phoenix.expression.RoundFloorCeilExpressionsTest +Running org.apache.phoenix.filter.SkipScanFilterIntersectTest +Tests run: 19, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.032 sec - in org.apache.phoenix.filter.SkipScanFilterIntersectTest +Running org.apache.phoenix.filter.SkipScanFilterTest +Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.028 sec - in org.apache.phoenix.filter.SkipScanFilterTest +Running org.apache.phoenix.hbase.index.covered.data.TestIndexMemStore +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.015 sec - in org.apache.phoenix.hbase.index.covered.data.TestIndexMemStore +Running org.apache.phoenix.hbase.index.covered.example.TestColumnTracker +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.hbase.index.covered.example.TestColumnTracker +Running org.apache.phoenix.hbase.index.covered.example.TestCoveredColumnIndexCodec +Tests run: 24, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.172 sec - in org.apache.phoenix.expression.SortOrderExpressionTest +Running org.apache.phoenix.hbase.index.covered.example.TestCoveredIndexSpecifierBuilder +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec - in org.apache.phoenix.hbase.index.covered.example.TestCoveredIndexSpecifierBuilder +Running org.apache.phoenix.hbase.index.covered.filter.TestApplyAndFilterDeletesFilter +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.013 sec - in org.apache.phoenix.hbase.index.covered.filter.TestApplyAndFilterDeletesFilter +Running org.apache.phoenix.hbase.index.covered.filter.TestNewerTimestampFilter +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.hbase.index.covered.filter.TestNewerTimestampFilter +Running org.apache.phoenix.hbase.index.covered.TestCoveredColumns +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.hbase.index.covered.TestCoveredColumns +Running org.apache.phoenix.hbase.index.covered.TestLocalTableState +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.204 sec - in org.apache.phoenix.filter.SkipScanBigFilterTest +Running org.apache.phoenix.hbase.index.covered.update.TestIndexUpdateManager +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec - in org.apache.phoenix.hbase.index.covered.update.TestIndexUpdateManager +Running org.apache.phoenix.hbase.index.parallel.TestThreadPoolBuilder +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec - in org.apache.phoenix.hbase.index.parallel.TestThreadPoolBuilder +Running org.apache.phoenix.hbase.index.parallel.TestThreadPoolManager +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.094 sec - in org.apache.phoenix.hbase.index.covered.TestLocalTableState +Running org.apache.phoenix.hbase.index.util.TestIndexManagementUtil +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.012 sec - in org.apache.phoenix.hbase.index.parallel.TestThreadPoolManager +Running org.apache.phoenix.hbase.index.write.recovery.TestPerRegionIndexWriteCache +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.012 sec - in org.apache.phoenix.hbase.index.util.TestIndexManagementUtil +Running org.apache.phoenix.hbase.index.write.TestCachingHTableFactory +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.034 sec - in org.apache.phoenix.hbase.index.write.TestCachingHTableFactory +Running org.apache.phoenix.hbase.index.write.TestIndexWriter +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.209 sec - in org.apache.phoenix.hbase.index.covered.example.TestCoveredColumnIndexCodec +Running org.apache.phoenix.hbase.index.write.TestParalleIndexWriter +Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.05 sec - in org.apache.phoenix.hbase.index.write.TestIndexWriter +Running org.apache.phoenix.hbase.index.write.TestParalleWriterIndexCommitter +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 sec - in org.apache.phoenix.hbase.index.write.TestParalleWriterIndexCommitter +Running org.apache.phoenix.hbase.index.write.TestWALRecoveryCaching +Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.009 sec - in org.apache.phoenix.hbase.index.write.TestWALRecoveryCaching +Running org.apache.phoenix.index.automated.MRJobSubmitterTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.094 sec - in org.apache.phoenix.hbase.index.write.TestParalleIndexWriter +Running org.apache.phoenix.index.IndexMaintainerTest +Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.124 sec - in org.apache.phoenix.index.automated.MRJobSubmitterTest +Running org.apache.phoenix.iterate.AggregateResultScannerTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.173 sec - in org.apache.phoenix.iterate.AggregateResultScannerTest +Running org.apache.phoenix.iterate.ConcatResultIteratorTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.iterate.ConcatResultIteratorTest +Running org.apache.phoenix.iterate.MergeSortResultIteratorTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.iterate.MergeSortResultIteratorTest +Running org.apache.phoenix.iterate.RowKeyOrderedAggregateResultIteratorTest +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.16 sec - in org.apache.phoenix.iterate.RowKeyOrderedAggregateResultIteratorTest +Running org.apache.phoenix.iterate.SpoolingResultIteratorTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.022 sec - in org.apache.phoenix.iterate.SpoolingResultIteratorTest +Running org.apache.phoenix.jdbc.PhoenixDriverTest +Tests run: 24, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.464 sec - in org.apache.phoenix.index.IndexMaintainerTest +Running org.apache.phoenix.jdbc.PhoenixEmbeddedDriverTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.075 sec - in org.apache.phoenix.jdbc.PhoenixEmbeddedDriverTest +Running org.apache.phoenix.jdbc.PhoenixPreparedStatementTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.804 sec - in org.apache.phoenix.hbase.index.write.recovery.TestPerRegionIndexWriteCache +Running org.apache.phoenix.jdbc.PhoenixResultSetMetadataTest +Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.166 sec - in org.apache.phoenix.jdbc.PhoenixPreparedStatementTest +Running org.apache.phoenix.jdbc.ReadOnlyPropertiesTest +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.jdbc.ReadOnlyPropertiesTest +Running org.apache.phoenix.mapreduce.bulkload.TestTableRowkeyPair +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec - in org.apache.phoenix.mapreduce.bulkload.TestTableRowkeyPair +Running org.apache.phoenix.mapreduce.BulkLoadToolTest +Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.018 sec - in org.apache.phoenix.mapreduce.BulkLoadToolTest +Running org.apache.phoenix.mapreduce.CsvBulkImportUtilTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.445 sec - in org.apache.phoenix.jdbc.PhoenixDriverTest +Running org.apache.phoenix.mapreduce.CsvToKeyValueMapperTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.248 sec - in org.apache.phoenix.jdbc.PhoenixResultSetMetadataTest +Running org.apache.phoenix.mapreduce.FormatToBytesWritableMapperTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.013 sec - in org.apache.phoenix.mapreduce.CsvToKeyValueMapperTest +Running org.apache.phoenix.mapreduce.util.ColumnInfoToStringEncoderDecoderTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.077 sec - in org.apache.phoenix.mapreduce.util.ColumnInfoToStringEncoderDecoderTest +Running org.apache.phoenix.mapreduce.util.PhoenixConfigurationUtilTest +Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.34 sec - in org.apache.phoenix.mapreduce.CsvBulkImportUtilTest +Running org.apache.phoenix.memory.MemoryManagerTest +Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.204 sec - in org.apache.phoenix.mapreduce.FormatToBytesWritableMapperTest +Running org.apache.phoenix.parse.BuiltInFunctionInfoTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.parse.BuiltInFunctionInfoTest +Running org.apache.phoenix.parse.CastParseNodeTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.parse.CastParseNodeTest +Running org.apache.phoenix.parse.QueryParserTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 3, Time elapsed: 0.033 sec - in org.apache.phoenix.memory.MemoryManagerTest +Running org.apache.phoenix.query.ConnectionlessTest +Tests run: 59, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.06 sec - in org.apache.phoenix.parse.QueryParserTest +Running org.apache.phoenix.query.HBaseFactoryProviderTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 sec - in org.apache.phoenix.query.HBaseFactoryProviderTest +Running org.apache.phoenix.query.KeyRangeCoalesceTest +Tests run: 13, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.038 sec - in org.apache.phoenix.query.KeyRangeCoalesceTest +Running org.apache.phoenix.query.KeyRangeIntersectTest +Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.008 sec - in org.apache.phoenix.query.KeyRangeIntersectTest +Running org.apache.phoenix.query.KeyRangeUnionTest +Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 sec - in org.apache.phoenix.query.KeyRangeUnionTest +Running org.apache.phoenix.query.OrderByTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.273 sec - in org.apache.phoenix.query.ConnectionlessTest +Running org.apache.phoenix.query.ParallelIteratorsSplitTest +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.22 sec - in org.apache.phoenix.query.OrderByTest +Running org.apache.phoenix.query.PhoenixStatsCacheRemovalListenerTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.query.PhoenixStatsCacheRemovalListenerTest +Running org.apache.phoenix.query.QueryPlanTest +Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.556 sec - in org.apache.phoenix.mapreduce.util.PhoenixConfigurationUtilTest +Running org.apache.phoenix.query.ScannerLeaseRenewalTest +Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.208 sec - in org.apache.phoenix.query.ParallelIteratorsSplitTest +Running org.apache.phoenix.schema.MutationTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.196 sec - in org.apache.phoenix.schema.MutationTest +Running org.apache.phoenix.schema.PCharPadTest +Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.schema.PCharPadTest +Running org.apache.phoenix.schema.PMetaDataImplTest +Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 sec - in org.apache.phoenix.schema.PMetaDataImplTest +Running org.apache.phoenix.schema.RowKeySchemaTest +Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.442 sec - in org.apache.phoenix.query.QueryPlanTest +Running org.apache.phoenix.schema.RowKeyValueAccessorTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.164 sec - in org.apache.phoenix.schema.RowKeySchemaTest +Running org.apache.phoenix.schema.SaltingUtilTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.schema.SaltingUtilTest +Running org.apache.phoenix.schema.SchemaUtilTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.schema.SchemaUtilTest +Running org.apache.phoenix.schema.SequenceAllocationTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.schema.SequenceAllocationTest +Running org.apache.phoenix.schema.SortOrderTest +Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.schema.SortOrderTest +Running org.apache.phoenix.schema.types.PDataTypeForArraysTest +Tests run: 68, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.017 sec - in org.apache.phoenix.schema.types.PDataTypeForArraysTest +Running org.apache.phoenix.schema.types.PDataTypeTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.165 sec - in org.apache.phoenix.schema.RowKeyValueAccessorTest +Running org.apache.phoenix.schema.types.PDateArrayToStringTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec - in org.apache.phoenix.schema.types.PDateArrayToStringTest +Running org.apache.phoenix.schema.types.PrimitiveBooleanPhoenixArrayToStringTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.schema.types.PrimitiveBooleanPhoenixArrayToStringTest +Running org.apache.phoenix.schema.types.PrimitiveBytePhoenixArrayToStringTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.schema.types.PrimitiveBytePhoenixArrayToStringTest +Running org.apache.phoenix.schema.types.PrimitiveDoublePhoenixArrayToStringTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.schema.types.PrimitiveDoublePhoenixArrayToStringTest +Running org.apache.phoenix.schema.types.PrimitiveFloatPhoenixArrayToStringTest +Tests run: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.056 sec - in org.apache.phoenix.schema.types.PDataTypeTest +Running org.apache.phoenix.schema.types.PrimitiveIntPhoenixArrayToStringTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.schema.types.PrimitiveFloatPhoenixArrayToStringTest +Running org.apache.phoenix.schema.types.PrimitiveLongPhoenixArrayToStringTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.schema.types.PrimitiveIntPhoenixArrayToStringTest +Running org.apache.phoenix.schema.types.PrimitiveShortPhoenixArrayToStringTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.schema.types.PrimitiveLongPhoenixArrayToStringTest +Running org.apache.phoenix.schema.types.PVarcharArrayToStringTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.schema.types.PrimitiveShortPhoenixArrayToStringTest +Running org.apache.phoenix.schema.ValueBitSetTest +Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.schema.types.PVarcharArrayToStringTest +Running org.apache.phoenix.trace.TraceMetricsSourceTest +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.schema.ValueBitSetTest +Running org.apache.phoenix.util.Base62EncoderTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.019 sec - in org.apache.phoenix.util.Base62EncoderTest +Running org.apache.phoenix.util.ByteUtilTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.012 sec - in org.apache.phoenix.util.ByteUtilTest +Running org.apache.phoenix.util.ColumnInfoTest +Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec - in org.apache.phoenix.util.ColumnInfoTest +Running org.apache.phoenix.util.csv.CsvUpsertExecutorTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.2 sec - in org.apache.phoenix.util.csv.CsvUpsertExecutorTest +Running org.apache.phoenix.util.csv.StringToArrayConverterTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.342 sec - in org.apache.phoenix.trace.TraceMetricsSourceTest +Running org.apache.phoenix.util.DateUtilTest +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.1 sec - in org.apache.phoenix.util.csv.StringToArrayConverterTest +Running org.apache.phoenix.util.IndexUtilTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.util.IndexUtilTest +Running org.apache.phoenix.util.JDBCUtilTest +Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.util.JDBCUtilTest +Tests run: 22, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.015 sec - in org.apache.phoenix.util.DateUtilTest +Running org.apache.phoenix.util.LikeExpressionTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.util.LikeExpressionTest +Running org.apache.phoenix.util.LogUtilTest +Running org.apache.phoenix.util.json.JsonUpsertExecutorTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.052 sec - in org.apache.phoenix.util.LogUtilTest +Running org.apache.phoenix.util.MetaDataUtilTest +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.03 sec - in org.apache.phoenix.util.MetaDataUtilTest +Running org.apache.phoenix.util.PhoenixContextExecutorTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.util.PhoenixContextExecutorTest +Running org.apache.phoenix.util.PhoenixEncodeDecodeTest +Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.116 sec - in org.apache.phoenix.util.json.JsonUpsertExecutorTest +Running org.apache.phoenix.util.PhoenixRuntimeTest +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.16 sec - in org.apache.phoenix.util.PhoenixEncodeDecodeTest +Running org.apache.phoenix.util.PrefixByteEncoderDecoderTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.util.PrefixByteEncoderDecoderTest +Running org.apache.phoenix.util.PropertiesUtilTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.024 sec - in org.apache.phoenix.util.PropertiesUtilTest +Running org.apache.phoenix.util.QueryUtilTest +Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec - in org.apache.phoenix.util.QueryUtilTest +Running org.apache.phoenix.util.ScanUtilTest +Tests run: 20, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.008 sec - in org.apache.phoenix.util.ScanUtilTest +Running org.apache.phoenix.util.SequenceUtilTest +Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec - in org.apache.phoenix.util.SequenceUtilTest +Running org.apache.phoenix.util.StringUtilTest +Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.008 sec - in org.apache.phoenix.util.StringUtilTest +Running org.apache.phoenix.util.TenantIdByteConversionTest +Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.014 sec - in org.apache.phoenix.util.TenantIdByteConversionTest +Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.285 sec - in org.apache.phoenix.util.PhoenixRuntimeTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.489 sec - in org.apache.phoenix.query.ScannerLeaseRenewalTest + +Results : + +Tests run: 1375, Failures: 0, Errors: 0, Skipped: 5 + +[INFO] +[INFO] --- maven-source-plugin:2.2.1:jar-no-fork (attach-sources) @ phoenix-core --- +[INFO] Building jar: /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/phoenix-core-4.8.0-HBase-1.2-SNAPSHOT-sources.jar +[INFO] +[INFO] --- maven-jar-plugin:2.4:test-jar (default) @ phoenix-core --- +[INFO] Building jar: /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/phoenix-core-4.8.0-HBase-1.2-SNAPSHOT-tests.jar +[INFO] +[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ phoenix-core --- +[INFO] Building jar: /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/phoenix-core-4.8.0-HBase-1.2-SNAPSHOT.jar +[INFO] +[INFO] --- maven-site-plugin:3.2:attach-descriptor (attach-descriptor) @ phoenix-core --- +[INFO] +[INFO] --- maven-assembly-plugin:2.5.2:single (core) @ phoenix-core --- +[INFO] Reading assembly descriptor: src/build/phoenix-core.xml +[WARNING] Artifact: org.apache.phoenix:phoenix-core:jar:4.8.0-HBase-1.2-SNAPSHOT references the same file as the assembly destination file. Moving it to a temporary location for inclusion. +[INFO] Building jar: /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/phoenix-core-4.8.0-HBase-1.2-SNAPSHOT.jar +[INFO] +[INFO] --- maven-failsafe-plugin:2.19.1:integration-test (ClientManagedTimeTests) @ phoenix-core --- + +------------------------------------------------------- + T E S T S +------------------------------------------------------- +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 +Running org.apache.phoenix.end2end.AggregateQueryIT +Running org.apache.phoenix.end2end.ArrayIT +Running org.apache.phoenix.end2end.CastAndCoerceIT +Running org.apache.phoenix.end2end.CaseStatementIT +Running org.apache.phoenix.end2end.ClientTimeArithmeticQueryIT +Tests run: 49, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 41.869 sec - in org.apache.phoenix.end2end.CastAndCoerceIT +Running org.apache.phoenix.end2end.ColumnProjectionOptimizationIT +Tests run: 63, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 42.15 sec - in org.apache.phoenix.end2end.CaseStatementIT +Running org.apache.phoenix.end2end.CreateSchemaIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.125 sec - in org.apache.phoenix.end2end.CreateSchemaIT +Running org.apache.phoenix.end2end.CreateTableIT +Tests run: 42, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 55.682 sec - in org.apache.phoenix.end2end.AggregateQueryIT +Running org.apache.phoenix.end2end.CustomEntityDataIT +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.931 sec - in org.apache.phoenix.end2end.CustomEntityDataIT +Running org.apache.phoenix.end2end.DerivedTableIT +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 24.717 sec - in org.apache.phoenix.end2end.ColumnProjectionOptimizationIT +Running org.apache.phoenix.end2end.DistinctCountIT +Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.253 sec - in org.apache.phoenix.end2end.DerivedTableIT +Running org.apache.phoenix.end2end.DropSchemaIT +Tests run: 79, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 76.526 sec - in org.apache.phoenix.end2end.ArrayIT +Running org.apache.phoenix.end2end.ExtendedQueryExecIT +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.985 sec - in org.apache.phoenix.end2end.ExtendedQueryExecIT +Running org.apache.phoenix.end2end.FunkyNamesIT +Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 16.996 sec - in org.apache.phoenix.end2end.DistinctCountIT +Running org.apache.phoenix.end2end.GroupByIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.556 sec - in org.apache.phoenix.end2end.DropSchemaIT +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.878 sec - in org.apache.phoenix.end2end.FunkyNamesIT +Running org.apache.phoenix.end2end.NotQueryIT +Running org.apache.phoenix.end2end.NativeHBaseTypesIT +Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.009 sec <<< FAILURE! - in org.apache.phoenix.end2end.NativeHBaseTypesIT +org.apache.phoenix.end2end.NativeHBaseTypesIT Time elapsed: 0.009 sec <<< ERROR! +java.lang.NullPointerException + at org.apache.phoenix.end2end.NativeHBaseTypesIT.initTableValues(NativeHBaseTypesIT.java:154) + at org.apache.phoenix.end2end.NativeHBaseTypesIT.doBeforeTestSetup(NativeHBaseTypesIT.java:89) + +Running org.apache.phoenix.end2end.PointInTimeQueryIT +Tests run: 245, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 92.634 sec - in org.apache.phoenix.end2end.ClientTimeArithmeticQueryIT +Running org.apache.phoenix.end2end.ProductMetricsIT +Tests run: 61, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 21.441 sec - in org.apache.phoenix.end2end.ProductMetricsIT +Running org.apache.phoenix.end2end.QueryDatabaseMetaDataIT +Tests run: 14, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 33.124 sec - in org.apache.phoenix.end2end.PointInTimeQueryIT +Running org.apache.phoenix.end2end.QueryIT +Tests run: 77, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 41.844 sec - in org.apache.phoenix.end2end.NotQueryIT +Running org.apache.phoenix.end2end.ReadIsolationLevelIT +Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 91.573 sec - in org.apache.phoenix.end2end.CreateTableIT +Running org.apache.phoenix.end2end.RowValueConstructorIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.944 sec - in org.apache.phoenix.end2end.ReadIsolationLevelIT +Running org.apache.phoenix.end2end.ScanQueryIT +Tests run: 105, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 55.369 sec - in org.apache.phoenix.end2end.GroupByIT +Running org.apache.phoenix.end2end.SequenceBulkAllocationIT +Tests run: 56, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.255 sec - in org.apache.phoenix.end2end.SequenceBulkAllocationIT +Running org.apache.phoenix.end2end.SequenceIT +Tests run: 126, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 53.007 sec - in org.apache.phoenix.end2end.QueryIT +Running org.apache.phoenix.end2end.ToNumberFunctionIT +Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.843 sec - in org.apache.phoenix.end2end.ToNumberFunctionIT +Running org.apache.phoenix.end2end.TopNIT +Tests run: 119, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 55.862 sec - in org.apache.phoenix.end2end.ScanQueryIT +Running org.apache.phoenix.end2end.TruncateFunctionIT +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.243 sec - in org.apache.phoenix.end2end.TopNIT +Running org.apache.phoenix.end2end.UnnestArrayIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.001 sec - in org.apache.phoenix.end2end.UnnestArrayIT +Running org.apache.phoenix.end2end.UpsertSelectIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.867 sec - in org.apache.phoenix.end2end.TruncateFunctionIT +Running org.apache.phoenix.end2end.UpsertValuesIT +Tests run: 54, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 49.287 sec - in org.apache.phoenix.end2end.SequenceIT +Running org.apache.phoenix.end2end.VariableLengthPKIT +Tests run: 50, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 40.569 sec - in org.apache.phoenix.end2end.VariableLengthPKIT +Running org.apache.phoenix.end2end.salted.SaltedTableIT +Tests run: 46, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 116.827 sec - in org.apache.phoenix.end2end.RowValueConstructorIT +Running org.apache.phoenix.rpc.UpdateCacheWithScnIT +Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.502 sec - in org.apache.phoenix.end2end.salted.SaltedTableIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.983 sec - in org.apache.phoenix.rpc.UpdateCacheWithScnIT +Tests run: 19, Failures: 2, Errors: 4, Skipped: 0, Time elapsed: 145.348 sec <<< FAILURE! - in org.apache.phoenix.end2end.QueryDatabaseMetaDataIT +testAddKVColumnToNewFamily(org.apache.phoenix.end2end.QueryDatabaseMetaDataIT) Time elapsed: 2.444 sec <<< ERROR! +org.apache.phoenix.schema.TableNotFoundException: ERROR 1012 (42M03): Table undefined. tableName=ATABLE + at org.apache.phoenix.end2end.QueryDatabaseMetaDataIT.testAddKVColumnToNewFamily(QueryDatabaseMetaDataIT.java:1014) + +testDropPKColumn(org.apache.phoenix.end2end.QueryDatabaseMetaDataIT) Time elapsed: 2.394 sec <<< FAILURE! +java.lang.AssertionError: ERROR 1012 (42M03): Table undefined. tableName=ATABLE + at org.apache.phoenix.end2end.QueryDatabaseMetaDataIT.testDropPKColumn(QueryDatabaseMetaDataIT.java:1118) + +testDropKVColumn(org.apache.phoenix.end2end.QueryDatabaseMetaDataIT) Time elapsed: 3.266 sec <<< ERROR! +org.apache.phoenix.schema.TableNotFoundException: ERROR 1012 (42M03): Table undefined. tableName=ATABLE + at org.apache.phoenix.end2end.QueryDatabaseMetaDataIT.testDropKVColumn(QueryDatabaseMetaDataIT.java:1074) + +testAddPKColumn(org.apache.phoenix.end2end.QueryDatabaseMetaDataIT) Time elapsed: 2.493 sec <<< FAILURE! +java.lang.AssertionError: ERROR 1012 (42M03): Table undefined. tableName=ATABLE + at org.apache.phoenix.end2end.QueryDatabaseMetaDataIT.testAddPKColumn(QueryDatabaseMetaDataIT.java:1045) + +testAddKVColumnToExistingFamily(org.apache.phoenix.end2end.QueryDatabaseMetaDataIT) Time elapsed: 2.409 sec <<< ERROR! +org.apache.phoenix.schema.TableNotFoundException: ERROR 1012 (42M03): Table undefined. tableName=ATABLE + at org.apache.phoenix.end2end.QueryDatabaseMetaDataIT.testAddKVColumnToExistingFamily(QueryDatabaseMetaDataIT.java:987) + +testCreateDropTable(org.apache.phoenix.end2end.QueryDatabaseMetaDataIT) Time elapsed: 4.654 sec <<< ERROR! +org.apache.phoenix.schema.TableNotFoundException: ERROR 1012 (42M03): Table undefined. tableName=ATABLE + at org.apache.phoenix.end2end.QueryDatabaseMetaDataIT.testCreateDropTable(QueryDatabaseMetaDataIT.java:666) + +Tests run: 24, Failures: 0, Errors: 3, Skipped: 0, Time elapsed: 104.298 sec <<< FAILURE! - in org.apache.phoenix.end2end.UpsertValuesIT +testUpsertValuesWithExpression(org.apache.phoenix.end2end.UpsertValuesIT) Time elapsed: 0.102 sec <<< ERROR! +java.lang.NullPointerException + at org.apache.phoenix.end2end.UpsertValuesIT.testUpsertValuesWithExpression(UpsertValuesIT.java:117) + +testGroupByWithLimitOverRowKey(org.apache.phoenix.end2end.UpsertValuesIT) Time elapsed: 0.101 sec <<< ERROR! +java.lang.NullPointerException + at org.apache.phoenix.end2end.UpsertValuesIT.testGroupByWithLimitOverRowKey(UpsertValuesIT.java:55) + +testUpsertDateValues(org.apache.phoenix.end2end.UpsertValuesIT) Time elapsed: 0.105 sec <<< ERROR! +java.lang.NullPointerException + at org.apache.phoenix.end2end.UpsertValuesIT.testUpsertDateValues(UpsertValuesIT.java:88) + +Tests run: 20, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 133.736 sec - in org.apache.phoenix.end2end.UpsertSelectIT + +Results : + +Failed tests: + QueryDatabaseMetaDataIT.testAddPKColumn:1045 ERROR 1012 (42M03): Table undefined. tableName=ATABLE + QueryDatabaseMetaDataIT.testDropPKColumn:1118 ERROR 1012 (42M03): Table undefined. tableName=ATABLE +Tests in error: + NativeHBaseTypesIT.doBeforeTestSetup:89->initTableValues:154->BaseTest.ensureTableCreated:816->BaseTest.ensureTableCreated:821 » NullPointer + QueryDatabaseMetaDataIT.testAddKVColumnToExistingFamily:987 » TableNotFound ER... + QueryDatabaseMetaDataIT.testAddKVColumnToNewFamily:1014 » TableNotFound ERROR ... + QueryDatabaseMetaDataIT.testCreateDropTable:666 » TableNotFound ERROR 1012 (42... + QueryDatabaseMetaDataIT.testDropKVColumn:1074 » TableNotFound ERROR 1012 (42M0... + UpsertValuesIT.testGroupByWithLimitOverRowKey:55->BaseTest.ensureTableCreated:816->BaseTest.ensureTableCreated:821 » NullPointer + UpsertValuesIT.testUpsertDateValues:88->BaseTest.ensureTableCreated:816->BaseTest.ensureTableCreated:821 » NullPointer + UpsertValuesIT.testUpsertValuesWithExpression:117->BaseTest.ensureTableCreated:816->BaseTest.ensureTableCreated:821 » NullPointer + +Tests run: 1344, Failures: 2, Errors: 8, Skipped: 1 + +[INFO] +[INFO] --- maven-failsafe-plugin:2.19.1:integration-test (HBaseManagedTimeTests) @ phoenix-core --- + +------------------------------------------------------- + T E S T S +------------------------------------------------------- +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 +Running org.apache.phoenix.end2end.SubqueryIT +Running org.apache.phoenix.end2end.SortMergeJoinIT +Running org.apache.phoenix.end2end.HashJoinIT +Running org.apache.phoenix.end2end.SpooledSortMergeJoinIT +Running org.apache.phoenix.end2end.HashJoinLocalIndexIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 40.788 sec - in org.apache.phoenix.end2end.HashJoinLocalIndexIT +Running org.apache.phoenix.end2end.SubqueryUsingSortMergeJoinIT +Tests run: 21, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 86.034 sec - in org.apache.phoenix.end2end.SubqueryIT +Tests run: 99, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 111.513 sec - in org.apache.phoenix.end2end.HashJoinIT +Tests run: 102, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 114.677 sec - in org.apache.phoenix.end2end.SortMergeJoinIT +Tests run: 102, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 118.471 sec - in org.apache.phoenix.end2end.SpooledSortMergeJoinIT +Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 76.544 sec - in org.apache.phoenix.end2end.SubqueryUsingSortMergeJoinIT + +Results : + +Tests run: 340, Failures: 0, Errors: 0, Skipped: 0 + +[INFO] +[INFO] --- maven-failsafe-plugin:2.19.1:integration-test (HBaseManagedTimeTableReuseTest) @ phoenix-core --- + +------------------------------------------------------- + T E S T S +------------------------------------------------------- +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 +Running org.apache.phoenix.end2end.AlterSessionIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.252 sec - in org.apache.phoenix.end2end.AlterSessionIT +Running org.apache.phoenix.end2end.ArrayAppendFunctionIT +Running org.apache.phoenix.end2end.ArithmeticQueryIT +Running org.apache.phoenix.end2end.AbsFunctionEnd2EndIT +Running org.apache.phoenix.end2end.AppendOnlySchemaIT +Running org.apache.phoenix.end2end.AlterTableWithViewsIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.44 sec - in org.apache.phoenix.end2end.AbsFunctionEnd2EndIT +Running org.apache.phoenix.end2end.ArrayConcatFunctionIT +Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 32.008 sec - in org.apache.phoenix.end2end.AppendOnlySchemaIT +Running org.apache.phoenix.end2end.ArrayFillFunctionIT +Tests run: 26, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.847 sec - in org.apache.phoenix.end2end.ArrayFillFunctionIT +Running org.apache.phoenix.end2end.ArrayPrependFunctionIT +Tests run: 26, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 61.532 sec - in org.apache.phoenix.end2end.ArithmeticQueryIT +Running org.apache.phoenix.end2end.ArrayToStringFunctionIT +Tests run: 30, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 69.189 sec - in org.apache.phoenix.end2end.ArrayConcatFunctionIT +Running org.apache.phoenix.end2end.ArraysWithNullsIT +Tests run: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 76.246 sec - in org.apache.phoenix.end2end.ArrayAppendFunctionIT +Running org.apache.phoenix.end2end.AutoCommitIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.285 sec - in org.apache.phoenix.end2end.AutoCommitIT +Running org.apache.phoenix.end2end.AutoPartitionViewsIT +Tests run: 36, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 20.551 sec - in org.apache.phoenix.end2end.ArrayToStringFunctionIT +Running org.apache.phoenix.end2end.BinaryRowKeyIT +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.777 sec - in org.apache.phoenix.end2end.BinaryRowKeyIT +Running org.apache.phoenix.end2end.CSVCommonsLoaderIT +Tests run: 16, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 35.038 sec - in org.apache.phoenix.end2end.ArraysWithNullsIT +Running org.apache.phoenix.end2end.CbrtFunctionEnd2EndIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.092 sec - in org.apache.phoenix.end2end.CbrtFunctionEnd2EndIT +Running org.apache.phoenix.end2end.CoalesceFunctionIT +Tests run: 16, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 31.85 sec - in org.apache.phoenix.end2end.CSVCommonsLoaderIT +Running org.apache.phoenix.end2end.ConvertTimezoneFunctionIT +Tests run: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 78.006 sec - in org.apache.phoenix.end2end.ArrayPrependFunctionIT +Running org.apache.phoenix.end2end.DateTimeIT +Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 24.698 sec - in org.apache.phoenix.end2end.CoalesceFunctionIT +Running org.apache.phoenix.end2end.DecodeFunctionIT +Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 15.676 sec - in org.apache.phoenix.end2end.ConvertTimezoneFunctionIT +Running org.apache.phoenix.end2end.DeleteIT +Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 63.651 sec - in org.apache.phoenix.end2end.AutoPartitionViewsIT +Running org.apache.phoenix.end2end.DisableLocalIndexIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.51 sec - in org.apache.phoenix.end2end.DisableLocalIndexIT +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.416 sec - in org.apache.phoenix.end2end.DecodeFunctionIT +Running org.apache.phoenix.end2end.DynamicColumnIT +Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.453 sec - in org.apache.phoenix.end2end.DynamicColumnIT +Running org.apache.phoenix.end2end.DynamicFamilyIT +Running org.apache.phoenix.end2end.DistinctPrefixFilterIT +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.519 sec - in org.apache.phoenix.end2end.DynamicFamilyIT +Running org.apache.phoenix.end2end.DynamicUpsertIT +Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.039 sec - in org.apache.phoenix.end2end.DynamicUpsertIT +Running org.apache.phoenix.end2end.EncodeFunctionIT +Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.694 sec - in org.apache.phoenix.end2end.DistinctPrefixFilterIT +Running org.apache.phoenix.end2end.EvaluationOfORIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.263 sec - in org.apache.phoenix.end2end.EvaluationOfORIT +Running org.apache.phoenix.end2end.ExecuteStatementsIT +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.977 sec - in org.apache.phoenix.end2end.EncodeFunctionIT +Running org.apache.phoenix.end2end.ExpFunctionEnd2EndIT +Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 180.815 sec - in org.apache.phoenix.end2end.AlterTableWithViewsIT +Running org.apache.phoenix.end2end.FirstValueFunctionIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.657 sec - in org.apache.phoenix.end2end.ExecuteStatementsIT +Running org.apache.phoenix.end2end.GetSetByteBitFunctionEnd2EndIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.028 sec - in org.apache.phoenix.end2end.GetSetByteBitFunctionEnd2EndIT +Running org.apache.phoenix.end2end.GroupByCaseIT +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 15.66 sec - in org.apache.phoenix.end2end.ExpFunctionEnd2EndIT +Running org.apache.phoenix.end2end.HashJoinMoreIT +Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 15.703 sec - in org.apache.phoenix.end2end.FirstValueFunctionIT +Running org.apache.phoenix.end2end.InListIT +Tests run: 24, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 79.774 sec - in org.apache.phoenix.end2end.DateTimeIT +Running org.apache.phoenix.end2end.InMemoryOrderByIT +Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.472 sec - in org.apache.phoenix.end2end.GroupByCaseIT +Running org.apache.phoenix.end2end.InstrFunctionIT +Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.942 sec - in org.apache.phoenix.end2end.InstrFunctionIT +Running org.apache.phoenix.end2end.IsNullIT +Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.59 sec - in org.apache.phoenix.end2end.InMemoryOrderByIT +Running org.apache.phoenix.end2end.LastValueFunctionIT +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.736 sec - in org.apache.phoenix.end2end.IsNullIT +Running org.apache.phoenix.end2end.LikeExpressionIT +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.501 sec - in org.apache.phoenix.end2end.LikeExpressionIT +Running org.apache.phoenix.end2end.LnLogFunctionEnd2EndIT +Tests run: 25, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 108.226 sec - in org.apache.phoenix.end2end.DeleteIT +Running org.apache.phoenix.end2end.MD5FunctionIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.598 sec - in org.apache.phoenix.end2end.LnLogFunctionEnd2EndIT +Running org.apache.phoenix.end2end.MapReduceIT +Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 52.31 sec - in org.apache.phoenix.end2end.HashJoinMoreIT +Running org.apache.phoenix.end2end.MappingTableDataTypeIT +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.74 sec - in org.apache.phoenix.end2end.MD5FunctionIT +Running org.apache.phoenix.end2end.MinMaxAggregateFunctionIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.285 sec - in org.apache.phoenix.end2end.MinMaxAggregateFunctionIT +Running org.apache.phoenix.end2end.ModulusExpressionIT +Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 23.681 sec - in org.apache.phoenix.end2end.LastValueFunctionIT +Running org.apache.phoenix.end2end.NamespaceSchemaMappingIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.68 sec - in org.apache.phoenix.end2end.MappingTableDataTypeIT +Running org.apache.phoenix.end2end.NthValueFunctionIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.829 sec - in org.apache.phoenix.end2end.MapReduceIT +Running org.apache.phoenix.end2end.OctetLengthFunctionEnd2EndIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.26 sec - in org.apache.phoenix.end2end.OctetLengthFunctionEnd2EndIT +Running org.apache.phoenix.end2end.OrderByIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.485 sec - in org.apache.phoenix.end2end.NamespaceSchemaMappingIT +Running org.apache.phoenix.end2end.PercentileIT +Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 25.138 sec - in org.apache.phoenix.end2end.ModulusExpressionIT +Running org.apache.phoenix.end2end.PhoenixRuntimeIT +Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 20.461 sec - in org.apache.phoenix.end2end.OrderByIT +Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 23.66 sec - in org.apache.phoenix.end2end.NthValueFunctionIT +Running org.apache.phoenix.end2end.PrimitiveTypeIT +Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.038 sec - in org.apache.phoenix.end2end.PrimitiveTypeIT +Running org.apache.phoenix.end2end.QueryExecWithoutSCNIT +Running org.apache.phoenix.end2end.PowerFunctionEnd2EndIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.081 sec - in org.apache.phoenix.end2end.PowerFunctionEnd2EndIT +Running org.apache.phoenix.end2end.QueryMoreIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.269 sec - in org.apache.phoenix.end2end.QueryExecWithoutSCNIT +Running org.apache.phoenix.end2end.RTrimFunctionIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.5 sec - in org.apache.phoenix.end2end.RTrimFunctionIT +Running org.apache.phoenix.end2end.ReadOnlyIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.659 sec - in org.apache.phoenix.end2end.ReadOnlyIT +Running org.apache.phoenix.end2end.RegexpReplaceFunctionIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 25.734 sec - in org.apache.phoenix.end2end.PhoenixRuntimeIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.502 sec - in org.apache.phoenix.end2end.RegexpReplaceFunctionIT +Running org.apache.phoenix.end2end.RegexpSubstrFunctionIT +Tests run: 17, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 37.239 sec - in org.apache.phoenix.end2end.PercentileIT +Running org.apache.phoenix.end2end.ReverseFunctionIT +Running org.apache.phoenix.end2end.RegexpSplitFunctionIT +Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.56 sec - in org.apache.phoenix.end2end.RegexpSplitFunctionIT +Running org.apache.phoenix.end2end.ReverseScanIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.521 sec - in org.apache.phoenix.end2end.RegexpSubstrFunctionIT +Running org.apache.phoenix.end2end.RoundFloorCeilFunctionsEnd2EndIT +Tests run: 33, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.992 sec - in org.apache.phoenix.end2end.RoundFloorCeilFunctionsEnd2EndIT +Running org.apache.phoenix.end2end.SerialIteratorsIT +Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.223 sec - in org.apache.phoenix.end2end.ReverseFunctionIT +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 30.421 sec - in org.apache.phoenix.end2end.QueryMoreIT +Running org.apache.phoenix.end2end.ServerExceptionIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.268 sec - in org.apache.phoenix.end2end.SerialIteratorsIT +Running org.apache.phoenix.end2end.SkipScanAfterManualSplitIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.312 sec - in org.apache.phoenix.end2end.ServerExceptionIT +Running org.apache.phoenix.end2end.SkipScanQueryIT +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.257 sec - in org.apache.phoenix.end2end.ReverseScanIT +Running org.apache.phoenix.end2end.SortMergeJoinMoreIT +Running org.apache.phoenix.end2end.SignFunctionEnd2EndIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.064 sec - in org.apache.phoenix.end2end.SignFunctionEnd2EndIT +Running org.apache.phoenix.end2end.SortOrderIT +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.89 sec - in org.apache.phoenix.end2end.SkipScanAfterManualSplitIT +Running org.apache.phoenix.end2end.SpooledOrderByIT +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.704 sec - in org.apache.phoenix.end2end.SortMergeJoinMoreIT +Running org.apache.phoenix.end2end.SpooledTmpFileDeleteIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.287 sec - in org.apache.phoenix.end2end.SpooledTmpFileDeleteIT +Running org.apache.phoenix.end2end.SqrtFunctionEnd2EndIT +Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 27.044 sec - in org.apache.phoenix.end2end.SkipScanQueryIT +Running org.apache.phoenix.end2end.StatementHintsIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.265 sec - in org.apache.phoenix.end2end.StatementHintsIT +Running org.apache.phoenix.end2end.StddevIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.986 sec - in org.apache.phoenix.end2end.SqrtFunctionEnd2EndIT +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.024 sec - in org.apache.phoenix.end2end.StddevIT +Running org.apache.phoenix.end2end.StringIT +Running org.apache.phoenix.end2end.StoreNullsIT +Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.546 sec - in org.apache.phoenix.end2end.SpooledOrderByIT +Running org.apache.phoenix.end2end.StringToArrayFunctionIT +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 12.877 sec - in org.apache.phoenix.end2end.StoreNullsIT +Running org.apache.phoenix.end2end.TenantIdTypeIT +Tests run: 22, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.419 sec - in org.apache.phoenix.end2end.StringToArrayFunctionIT +Running org.apache.phoenix.end2end.TenantSpecificViewIndexIT +Tests run: 13, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 54.587 sec - in org.apache.phoenix.end2end.StringIT +Running org.apache.phoenix.end2end.TenantSpecificViewIndexSaltedIT +Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 67.28 sec - in org.apache.phoenix.end2end.TenantIdTypeIT +Running org.apache.phoenix.end2end.TimezoneOffsetFunctionIT +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 31.105 sec - in org.apache.phoenix.end2end.TenantSpecificViewIndexSaltedIT +Running org.apache.phoenix.end2end.ToCharFunctionIT +Tests run: 45, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 123.443 sec - in org.apache.phoenix.end2end.SortOrderIT +Running org.apache.phoenix.end2end.ToDateFunctionIT +Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 66.56 sec - in org.apache.phoenix.end2end.TenantSpecificViewIndexIT +Running org.apache.phoenix.end2end.UpgradeIT +Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.825 sec - in org.apache.phoenix.end2end.ToDateFunctionIT +Running org.apache.phoenix.end2end.UpsertBigValuesIT +Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 16.687 sec - in org.apache.phoenix.end2end.TimezoneOffsetFunctionIT +Running org.apache.phoenix.end2end.UpsertSelectAutoCommitIT +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.019 sec - in org.apache.phoenix.end2end.UpsertBigValuesIT +Running org.apache.phoenix.end2end.UseSchemaIT +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.271 sec - in org.apache.phoenix.end2end.UpsertSelectAutoCommitIT +Running org.apache.phoenix.end2end.index.DropMetadataIT +Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 33.644 sec - in org.apache.phoenix.end2end.ToCharFunctionIT +Running org.apache.phoenix.end2end.index.GlobalIndexOptimizationIT +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 21.638 sec - in org.apache.phoenix.end2end.UseSchemaIT +Running org.apache.phoenix.end2end.index.ImmutableIndexIT +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 35.918 sec - in org.apache.phoenix.end2end.index.DropMetadataIT +Running org.apache.phoenix.end2end.index.IndexExpressionIT +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 32.92 sec - in org.apache.phoenix.end2end.index.GlobalIndexOptimizationIT +Running org.apache.phoenix.end2end.index.IndexIT +Tests run: 12, Failures: 0, Errors: 0, Skipped: 4, Time elapsed: 67.337 sec - in org.apache.phoenix.end2end.index.ImmutableIndexIT +Running org.apache.phoenix.end2end.index.IndexMetadataIT +Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 45.101 sec - in org.apache.phoenix.end2end.index.IndexMetadataIT +Running org.apache.phoenix.end2end.index.LocalIndexIT +Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 192.998 sec - in org.apache.phoenix.end2end.UpgradeIT +Running org.apache.phoenix.end2end.index.MutableIndexIT +Tests run: 28, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 620.952 sec - in org.apache.phoenix.end2end.InListIT +Running org.apache.phoenix.end2end.index.SaltedIndexIT +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.889 sec - in org.apache.phoenix.end2end.index.SaltedIndexIT +Running org.apache.phoenix.end2end.index.ViewIndexIT +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 53.018 sec - in org.apache.phoenix.end2end.index.ViewIndexIT +Running org.apache.phoenix.end2end.index.txn.MutableRollbackIT +Tests run: 62, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 421.244 sec - in org.apache.phoenix.end2end.index.IndexExpressionIT +Running org.apache.phoenix.end2end.index.txn.RollbackIT +Tests run: 40, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 346.744 sec - in org.apache.phoenix.end2end.index.LocalIndexIT +Running org.apache.phoenix.end2end.salted.SaltedTableUpsertSelectIT +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 66.779 sec - in org.apache.phoenix.end2end.index.txn.MutableRollbackIT +Running org.apache.phoenix.end2end.salted.SaltedTableVarLengthRowKeyIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.253 sec - in org.apache.phoenix.end2end.salted.SaltedTableVarLengthRowKeyIT +Running org.apache.phoenix.iterate.PhoenixQueryTimeoutIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.025 sec - in org.apache.phoenix.iterate.PhoenixQueryTimeoutIT +Running org.apache.phoenix.iterate.RoundRobinResultIteratorIT +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 24.791 sec - in org.apache.phoenix.end2end.salted.SaltedTableUpsertSelectIT +Running org.apache.phoenix.rpc.UpdateCacheIT +Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 52.604 sec - in org.apache.phoenix.end2end.index.txn.RollbackIT +Running org.apache.phoenix.trace.PhoenixTableMetricsWriterIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.271 sec - in org.apache.phoenix.trace.PhoenixTableMetricsWriterIT +Running org.apache.phoenix.trace.PhoenixTraceReaderIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.044 sec - in org.apache.phoenix.trace.PhoenixTraceReaderIT +Running org.apache.phoenix.trace.PhoenixTracingEndToEndIT +Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 26.044 sec - in org.apache.phoenix.rpc.UpdateCacheIT +Running org.apache.phoenix.tx.TransactionIT +Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 49.43 sec - in org.apache.phoenix.iterate.RoundRobinResultIteratorIT +Running org.apache.phoenix.tx.TxCheckpointIT +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 84.273 sec - in org.apache.phoenix.trace.PhoenixTracingEndToEndIT +Tests run: 21, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 146.597 sec - in org.apache.phoenix.tx.TransactionIT +Tests run: 20, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 137.854 sec - in org.apache.phoenix.tx.TxCheckpointIT +Tests run: 40, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 536.056 sec - in org.apache.phoenix.end2end.index.MutableIndexIT + +Results : + +Tests run: 1068, Failures: 0, Errors: 0, Skipped: 5 + +[INFO] +[INFO] --- maven-failsafe-plugin:2.19.1:integration-test (NeedTheirOwnClusterTests) @ phoenix-core --- + +------------------------------------------------------- + T E S T S +------------------------------------------------------- +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Running org.apache.hadoop.hbase.regionserver.wal.WALReplayWithIndexWritesAndUncompressedWALInHBase_094_9_IT +Running org.apache.hadoop.hbase.regionserver.wal.WALReplayWithIndexWritesAndCompressedWALIT +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Running org.apache.phoenix.coprocessor.StatisticsCollectionRunTrackerIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 33.5 sec - in org.apache.hadoop.hbase.regionserver.wal.WALReplayWithIndexWritesAndUncompressedWALInHBase_094_9_IT +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 34.125 sec - in org.apache.hadoop.hbase.regionserver.wal.WALReplayWithIndexWritesAndCompressedWALIT +Running org.apache.phoenix.end2end.AlterTableIT +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Running org.apache.phoenix.end2end.ConnectionUtilIT +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.436 sec - in org.apache.phoenix.coprocessor.StatisticsCollectionRunTrackerIT +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Running org.apache.phoenix.end2end.CountDistinctCompressionIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 28.438 sec - in org.apache.phoenix.end2end.ConnectionUtilIT +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 4.198 sec <<< FAILURE! - in org.apache.phoenix.end2end.CountDistinctCompressionIT +testDistinctCountOnColumn(org.apache.phoenix.end2end.CountDistinctCompressionIT) Time elapsed: 2.633 sec <<< ERROR! +org.apache.phoenix.schema.TableNotFoundException: ERROR 1012 (42M03): Table undefined. tableName=ATABLE + at org.apache.phoenix.end2end.CountDistinctCompressionIT.testDistinctCountOnColumn(CountDistinctCompressionIT.java:62) + +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Running org.apache.phoenix.end2end.ContextClassloaderIT +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.038 sec - in org.apache.phoenix.end2end.ContextClassloaderIT +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Running org.apache.phoenix.end2end.CsvBulkLoadToolIT +Running org.apache.phoenix.end2end.KeyOnlyIT +Running org.apache.phoenix.end2end.IndexToolIT +Tests run: 3, Failures: 0, Errors: 3, Skipped: 0, Time elapsed: 4.19 sec <<< FAILURE! - in org.apache.phoenix.end2end.KeyOnlyIT +testKeyOnly(org.apache.phoenix.end2end.KeyOnlyIT) Time elapsed: 0.287 sec <<< ERROR! +java.lang.NullPointerException + at org.apache.phoenix.end2end.KeyOnlyIT.testKeyOnly(KeyOnlyIT.java:63) + +testOr(org.apache.phoenix.end2end.KeyOnlyIT) Time elapsed: 0.081 sec <<< ERROR! +java.lang.NullPointerException + at org.apache.phoenix.end2end.KeyOnlyIT.testOr(KeyOnlyIT.java:142) + +testQueryWithLimitAndStats(org.apache.phoenix.end2end.KeyOnlyIT) Time elapsed: 0.075 sec <<< ERROR! +java.lang.NullPointerException + at org.apache.phoenix.end2end.KeyOnlyIT.testQueryWithLimitAndStats(KeyOnlyIT.java:167) + +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Running org.apache.phoenix.end2end.MultiCfQueryExecIT +Tests run: 9, Failures: 0, Errors: 7, Skipped: 0, Time elapsed: 13.321 sec <<< FAILURE! - in org.apache.phoenix.end2end.MultiCfQueryExecIT +testDefaultCFToDisambiguate(org.apache.phoenix.end2end.MultiCfQueryExecIT) Time elapsed: 0.28 sec <<< ERROR! +java.lang.NullPointerException + at org.apache.phoenix.end2end.MultiCfQueryExecIT.initTableValues(MultiCfQueryExecIT.java:60) + at org.apache.phoenix.end2end.MultiCfQueryExecIT.testDefaultCFToDisambiguate(MultiCfQueryExecIT.java:324) + +testConstantCount(org.apache.phoenix.end2end.MultiCfQueryExecIT) Time elapsed: 0.164 sec <<< ERROR! +java.lang.NullPointerException + at org.apache.phoenix.end2end.MultiCfQueryExecIT.initTableValues(MultiCfQueryExecIT.java:60) + at org.apache.phoenix.end2end.MultiCfQueryExecIT.testConstantCount(MultiCfQueryExecIT.java:104) + +testCFToDisambiguateInSelectOnly1(org.apache.phoenix.end2end.MultiCfQueryExecIT) Time elapsed: 0.071 sec <<< ERROR! +java.lang.NullPointerException + at org.apache.phoenix.end2end.MultiCfQueryExecIT.initTableValues(MultiCfQueryExecIT.java:60) + at org.apache.phoenix.end2end.MultiCfQueryExecIT.testCFToDisambiguateInSelectOnly1(MultiCfQueryExecIT.java:124) + +testCFToDisambiguateInSelectOnly2(org.apache.phoenix.end2end.MultiCfQueryExecIT) Time elapsed: 0.063 sec <<< ERROR! +java.lang.NullPointerException + at org.apache.phoenix.end2end.MultiCfQueryExecIT.initTableValues(MultiCfQueryExecIT.java:60) + at org.apache.phoenix.end2end.MultiCfQueryExecIT.testCFToDisambiguateInSelectOnly2(MultiCfQueryExecIT.java:145) + +testEssentialColumnFamilyForRowKeyFilter(org.apache.phoenix.end2end.MultiCfQueryExecIT) Time elapsed: 0.06 sec <<< ERROR! +java.lang.NullPointerException + at org.apache.phoenix.end2end.MultiCfQueryExecIT.initTableValues(MultiCfQueryExecIT.java:60) + at org.apache.phoenix.end2end.MultiCfQueryExecIT.testEssentialColumnFamilyForRowKeyFilter(MultiCfQueryExecIT.java:369) + +testCFToDisambiguate2(org.apache.phoenix.end2end.MultiCfQueryExecIT) Time elapsed: 0.054 sec <<< ERROR! +java.lang.NullPointerException + at org.apache.phoenix.end2end.MultiCfQueryExecIT.initTableValues(MultiCfQueryExecIT.java:60) + at org.apache.phoenix.end2end.MultiCfQueryExecIT.testCFToDisambiguate2(MultiCfQueryExecIT.java:308) + +testGuidePostsForMultiCFs(org.apache.phoenix.end2end.MultiCfQueryExecIT) Time elapsed: 0.061 sec <<< ERROR! +java.lang.NullPointerException + at org.apache.phoenix.end2end.MultiCfQueryExecIT.initTableValues(MultiCfQueryExecIT.java:60) + at org.apache.phoenix.end2end.MultiCfQueryExecIT.testGuidePostsForMultiCFs(MultiCfQueryExecIT.java:161) + +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Running org.apache.phoenix.end2end.ParallelIteratorsIT +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 33.364 sec - in org.apache.phoenix.end2end.ParallelIteratorsIT +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Running org.apache.phoenix.end2end.QueryTimeoutIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.44 sec - in org.apache.phoenix.end2end.QueryTimeoutIT +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Running org.apache.phoenix.end2end.QueryWithLimitIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 20.671 sec - in org.apache.phoenix.end2end.QueryWithLimitIT +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Running org.apache.phoenix.end2end.QueryWithOffsetIT +Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.507 sec - in org.apache.phoenix.end2end.QueryWithOffsetIT +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Running org.apache.phoenix.end2end.SaltedViewIT +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 33.661 sec - in org.apache.phoenix.end2end.SaltedViewIT +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Tests run: 56, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 382.893 sec - in org.apache.phoenix.end2end.AlterTableIT +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Running org.apache.phoenix.end2end.SpillableGroupByIT +Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 3.08 sec <<< FAILURE! - in org.apache.phoenix.end2end.SpillableGroupByIT +testScanUri(org.apache.phoenix.end2end.SpillableGroupByIT) Time elapsed: 0.144 sec <<< ERROR! +java.lang.NullPointerException + at org.apache.phoenix.end2end.SpillableGroupByIT.createTable(SpillableGroupByIT.java:77) + at org.apache.phoenix.end2end.SpillableGroupByIT.testScanUri(SpillableGroupByIT.java:112) + +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Running org.apache.phoenix.end2end.StatsCollectionDisabledIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 12.621 sec - in org.apache.phoenix.end2end.StatsCollectionDisabledIT +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Running org.apache.phoenix.end2end.StatsCollectorIT +Running org.apache.phoenix.end2end.StatsCollectorWithSplitsAndMultiCFIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.974 sec - in org.apache.phoenix.end2end.StatsCollectorWithSplitsAndMultiCFIT +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Tests run: 10, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 404.807 sec <<< FAILURE! - in org.apache.phoenix.end2end.CsvBulkLoadToolIT +testImportWithLocalIndex(org.apache.phoenix.end2end.CsvBulkLoadToolIT) Time elapsed: 62.224 sec <<< FAILURE! +java.lang.AssertionError: expected:<0> but was:<-1> + at org.apache.phoenix.end2end.CsvBulkLoadToolIT.testImportWithLocalIndex(CsvBulkLoadToolIT.java:273) + +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Running org.apache.phoenix.end2end.TenantSpecificTablesDDLIT +Running org.apache.phoenix.end2end.TenantSpecificTablesDMLIT +Tests run: 16, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 24.618 sec - in org.apache.phoenix.end2end.TenantSpecificTablesDMLIT +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 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 aa5068b2091..e1a459e4715 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 @@ -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,8 @@ public BaseQueryIT(String indexDDL) { @Before public void initTable() throws Exception { ts = nextTimestamp(); - initATableValues(tenantId, getDefaultSplits(tenantId), date=new Date(System.currentTimeMillis()), ts); + + initATableValues("aTable", 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)); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ColumnProjectionOptimizationIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ColumnProjectionOptimizationIT.java index 48a48a3f355..9a56136d179 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ColumnProjectionOptimizationIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ColumnProjectionOptimizationIT.java @@ -63,18 +63,19 @@ public class ColumnProjectionOptimizationIT extends BaseClientManagedTimeIT { + private String tableName; @Test public void testSelect() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + String tableName = initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2)); Connection conn = DriverManager.getConnection(getUrl(), props); // Table wildcard query - String query = "SELECT * FROM aTable"; + String query = "SELECT * FROM " + tableName ; try { PreparedStatement statement = conn.prepareStatement(query); ResultSet rs = statement.executeQuery(); @@ -99,7 +100,7 @@ public void testSelect() throws Exception { assertFalse(rs.next()); // Select only specific columns - query = "SELECT A_STRING, A_INTEGER FROM aTable"; + query = "SELECT A_STRING, A_INTEGER FROM " + tableName ; statement = conn.prepareStatement(query); rs = statement.executeQuery(); assertTrue(rs.next()); @@ -132,7 +133,7 @@ public void testSelect() throws Exception { assertFalse(rs.next()); // Select only specific columns with condition on another column (Not in select) - query = "SELECT B_STRING, A_SHORT FROM aTable WHERE X_INTEGER = ?"; + query = "SELECT B_STRING, A_SHORT FROM " + tableName + " WHERE X_INTEGER = ?"; statement = conn.prepareStatement(query); statement.setInt(1, 4); rs = statement.executeQuery(); @@ -143,7 +144,7 @@ public void testSelect() throws Exception { // Select only specific columns with condition on another column (Not in select) and one row elements are // nulls - query = "SELECT X_LONG, X_INTEGER, Y_INTEGER FROM aTable WHERE B_STRING = ?"; + query = "SELECT X_LONG, X_INTEGER, Y_INTEGER FROM " + tableName + " WHERE B_STRING = ?"; statement = conn.prepareStatement(query); statement.setString(1, E_VALUE); rs = statement.executeQuery(); @@ -168,7 +169,7 @@ public void testSelect() throws Exception { assertFalse(rs.next()); // Select only specific columns with condition on one of the selected column - query = "SELECT A_STRING, A_INTEGER FROM aTable WHERE A_INTEGER = ?"; + query = "SELECT A_STRING, A_INTEGER FROM " + tableName + " WHERE A_INTEGER = ?"; statement = conn.prepareStatement(query); statement.setInt(1, 9); rs = statement.executeQuery(); @@ -177,7 +178,7 @@ public void testSelect() throws Exception { assertEquals(9, rs.getInt(2)); // Select all columns with order by on non PK column - query = "SELECT * FROM aTable ORDER BY A_INTEGER"; + query = "SELECT * FROM " + tableName + " ORDER BY A_INTEGER"; statement = conn.prepareStatement(query); rs = statement.executeQuery(); assertTrue(rs.next()); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/CustomEntityDataIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CustomEntityDataIT.java index 37173968ee8..ad0f308d8ec 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/CustomEntityDataIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CustomEntityDataIT.java @@ -43,7 +43,7 @@ public class CustomEntityDataIT extends BaseClientManagedTimeIT { protected static void initTableValues(String tenantId, byte[][] splits, long ts) throws Exception { - ensureTableCreated(getUrl(),CUSTOM_ENTITY_DATA_FULL_NAME,null, ts-2); + ensureTableCreated(getUrl(),CUSTOM_ENTITY_DATA_FULL_NAME,CUSTOM_ENTITY_DATA_FULL_NAME, ts-2); String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DerivedTableIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DerivedTableIT.java index ce073f65c50..8eff9c2051a 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/DerivedTableIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/DerivedTableIT.java @@ -73,7 +73,7 @@ public DerivedTableIT(String[] indexDDL, String[] plans) { @Before public void initTable() throws Exception { ts = nextTimestamp(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues("aTable", tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); if (indexDDL != null && indexDDL.length > 0) { Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts)); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ExtendedQueryExecIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ExtendedQueryExecIT.java index 377f6d615c5..01426444561 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ExtendedQueryExecIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ExtendedQueryExecIT.java @@ -51,7 +51,7 @@ public void testToDateFunctionBind() throws Exception { Date date = new Date(1); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId),date, ts); + initATableValues("aTable", tenantId, getDefaultSplits(tenantId),date, ts, getUrl()); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts+1)); @@ -74,7 +74,8 @@ public void testToDateFunctionBind() throws Exception { public void testTypeMismatchToDateFunctionBind() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId),null, ts); + initATableValues("aTable", tenantId, getDefaultSplits(tenantId),null, ts, getUrl()); + Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); Connection conn = DriverManager.getConnection(getUrl(), props); try { @@ -101,8 +102,7 @@ public void testDateFunctions() throws Exception { Date date = new Date(1); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId),date, ts); - + initATableValues("aTable", tenantId, getDefaultSplits(tenantId),date, ts, getUrl()); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts+1)); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -147,8 +147,7 @@ public void testDateGroupBy() throws Exception { Date date = new Date(1); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId),date, ts); - + initATableValues("aTable", tenantId, getDefaultSplits(tenantId),date, ts, getUrl()); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts+1)); Connection conn = DriverManager.getConnection(getUrl(), props); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/KeyOnlyIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/KeyOnlyIT.java index dca57b4070f..4497c4906e2 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/KeyOnlyIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/KeyOnlyIT.java @@ -60,7 +60,7 @@ public static void doSetup() throws Exception { @Test public void testKeyOnly() throws Exception { long ts = nextTimestamp(); - ensureTableCreated(getUrl(),KEYONLY_NAME,null, ts); + ensureTableCreated(getUrl(),KEYONLY_NAME,KEYONLY_NAME,null, ts); initTableValues(ts+1); Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts+30)); @@ -139,7 +139,7 @@ public void testKeyOnly() throws Exception { @Test public void testOr() throws Exception { long ts = nextTimestamp(); - ensureTableCreated(getUrl(),KEYONLY_NAME,null, ts); + ensureTableCreated(getUrl(),KEYONLY_NAME,KEYONLY_NAME,null, ts); initTableValues(ts+1); Properties props = new Properties(); @@ -164,7 +164,7 @@ public void testOr() throws Exception { @Test public void testQueryWithLimitAndStats() throws Exception { long ts = nextTimestamp(); - ensureTableCreated(getUrl(),KEYONLY_NAME,null, ts); + ensureTableCreated(getUrl(),KEYONLY_NAME,KEYONLY_NAME,null, ts); initTableValues(ts+1, 100); TestUtil.analyzeTable(getUrl(), ts+10, KEYONLY_NAME); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/MultiCfQueryExecIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/MultiCfQueryExecIT.java index 2b14fe94c67..15fc01d49aa 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/MultiCfQueryExecIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/MultiCfQueryExecIT.java @@ -57,7 +57,7 @@ public static void doSetup() throws Exception { } protected static void initTableValues(long ts) throws Exception { - ensureTableCreated(getUrl(),MULTI_CF,null, ts-2); + ensureTableCreated(getUrl(),MULTI_CF,MULTI_CF,null, ts-2); String url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + ts; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/NativeHBaseTypesIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/NativeHBaseTypesIT.java index 2c5de02ae8a..3d0fa2ce0de 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/NativeHBaseTypesIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/NativeHBaseTypesIT.java @@ -151,7 +151,7 @@ private static void initTableValues() throws Exception { } // Create Phoenix table after HBase table was created through the native APIs // The timestamp of the table creation must be later than the timestamp of the data - ensureTableCreated(getUrl(),HBASE_NATIVE,null, ts+1); + ensureTableCreated(getUrl(),HBASE_NATIVE,HBASE_NATIVE,null, ts+1); } @Test diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java index 12066e61be0..2584d7483a9 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryDatabaseMetaDataIT.java @@ -99,9 +99,9 @@ public static void doSetup() throws Exception { @Test public void testTableMetadataScan() throws SQLException { long ts = nextTimestamp(); - ensureTableCreated(getUrl(), ATABLE_NAME, null, ts); - ensureTableCreated(getUrl(), STABLE_NAME, null, ts); - ensureTableCreated(getUrl(), CUSTOM_ENTITY_DATA_FULL_NAME, null, ts); + ensureTableCreated(getUrl(), ATABLE_NAME, ATABLE_NAME, ts); + ensureTableCreated(getUrl(), STABLE_NAME, STABLE_NAME, ts); + ensureTableCreated(getUrl(), CUSTOM_ENTITY_DATA_FULL_NAME, CUSTOM_ENTITY_DATA_FULL_NAME, ts); Properties props = new Properties(); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 5)); @@ -274,8 +274,8 @@ public void testSequenceMetadataScan() throws SQLException { @Test public void testSchemaMetadataScan() throws SQLException { long ts = nextTimestamp(); - ensureTableCreated(getUrl(), CUSTOM_ENTITY_DATA_FULL_NAME, null, ts); - ensureTableCreated(getUrl(), PTSDB_NAME, null, ts); + ensureTableCreated(getUrl(), CUSTOM_ENTITY_DATA_FULL_NAME, CUSTOM_ENTITY_DATA_FULL_NAME, ts); + ensureTableCreated(getUrl(), PTSDB_NAME, PTSDB_NAME, ts); Properties props = new Properties(); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 5)); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -303,7 +303,7 @@ public void testSchemaMetadataScan() throws SQLException { @Test public void testColumnMetadataScan() throws SQLException { long ts = nextTimestamp(); - ensureTableCreated(getUrl(), MDTEST_NAME, null, ts); + ensureTableCreated(getUrl(), MDTEST_NAME, MDTEST_NAME, ts); Properties props = new Properties(); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 5)); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -477,7 +477,7 @@ public void testColumnMetadataScan() throws SQLException { assertEquals(SchemaUtil.normalizeIdentifier("col2"), rs.getString("COLUMN_NAME")); assertFalse(rs.next()); - ensureTableCreated(getUrl(), TABLE_WITH_SALTING, null, ts); + ensureTableCreated(getUrl(), TABLE_WITH_SALTING, TABLE_WITH_SALTING, ts); rs = dbmd.getColumns("", "", TABLE_WITH_SALTING, StringUtil.escapeLike("A_INTEGER")); assertTrue(rs.next()); assertEquals(1, rs.getInt("ORDINAL_POSITION")); @@ -488,8 +488,8 @@ public void testColumnMetadataScan() throws SQLException { @Test public void testPrimaryKeyMetadataScan() throws SQLException { long ts = nextTimestamp(); - ensureTableCreated(getUrl(), MDTEST_NAME, null, ts); - ensureTableCreated(getUrl(), CUSTOM_ENTITY_DATA_FULL_NAME, null, ts); + ensureTableCreated(getUrl(), MDTEST_NAME, MDTEST_NAME, ts); + ensureTableCreated(getUrl(), CUSTOM_ENTITY_DATA_FULL_NAME, CUSTOM_ENTITY_DATA_FULL_NAME, ts); Properties props = new Properties(); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 5)); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -591,10 +591,10 @@ public void testPrimaryKeyMetadataScan() throws SQLException { @Test public void testMultiTableColumnsMetadataScan() throws SQLException { long ts = nextTimestamp(); - ensureTableCreated(getUrl(), MDTEST_NAME, null, ts); - ensureTableCreated(getUrl(), GROUPBYTEST_NAME, null, ts); - ensureTableCreated(getUrl(), PTSDB_NAME, null, ts); - ensureTableCreated(getUrl(), CUSTOM_ENTITY_DATA_FULL_NAME, null, ts); + ensureTableCreated(getUrl(), MDTEST_NAME, MDTEST_NAME, ts); + ensureTableCreated(getUrl(), GROUPBYTEST_NAME, GROUPBYTEST_NAME, ts); + ensureTableCreated(getUrl(), PTSDB_NAME, PTSDB_NAME, ts); + ensureTableCreated(getUrl(), CUSTOM_ENTITY_DATA_FULL_NAME, CUSTOM_ENTITY_DATA_FULL_NAME, ts); Properties props = new Properties(); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 5)); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -652,10 +652,10 @@ public void testMultiTableColumnsMetadataScan() throws SQLException { public void testCreateDropTable() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues("aTable", tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); - ensureTableCreated(getUrl(), BTABLE_NAME, null, ts-2); - ensureTableCreated(getUrl(), PTSDB_NAME, null, ts-2); + ensureTableCreated(getUrl(), BTABLE_NAME, BTABLE_NAME, ts-2); + ensureTableCreated(getUrl(), PTSDB_NAME, PTSDB_NAME, ts-2); Properties props = new Properties(); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 5)); @@ -720,7 +720,7 @@ public void testCreateOnExistingTable() throws Exception { Properties props = new Properties(); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 5)); PhoenixConnection conn1 = DriverManager.getConnection(getUrl(), props).unwrap(PhoenixConnection.class); - ensureTableCreated(getUrl(), tableName, null, ts); + ensureTableCreated(getUrl(), tableName, tableName, ts); descriptor = admin.getTableDescriptor(htableName); assertEquals(3,descriptor.getColumnFamilies().length); @@ -975,7 +975,7 @@ public void testCreateViewOnExistingTable() throws Exception { public void testAddKVColumnToExistingFamily() throws Throwable { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues("aTable", tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); Properties props = new Properties(); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 5)); @@ -1006,8 +1006,7 @@ public void testAddKVColumnToExistingFamily() throws Throwable { public void testAddKVColumnToNewFamily() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); - + initATableValues("aTable", tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); Properties props = new Properties(); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 5)); Connection conn1 = DriverManager.getConnection(getUrl(), props); @@ -1033,7 +1032,7 @@ public void testAddKVColumnToNewFamily() throws Exception { public void testAddPKColumn() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues("aTable", tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); Properties props = new Properties(); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 5)); @@ -1066,7 +1065,7 @@ public void testAddPKColumn() throws Exception { public void testDropKVColumn() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues("aTable", tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); Properties props = new Properties(); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 5)); @@ -1106,7 +1105,7 @@ public void testDropKVColumn() throws Exception { public void testDropPKColumn() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues("aTable", tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); Properties props = new Properties(); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 5)); @@ -1124,7 +1123,7 @@ public void testDropPKColumn() throws Exception { public void testDropAllKVCols() throws Exception { ResultSet rs; long ts = nextTimestamp(); - ensureTableCreated(getUrl(), MDTEST_NAME, null, ts); + ensureTableCreated(getUrl(), MDTEST_NAME, MDTEST_NAME, null, ts); Properties props = new Properties(); @@ -1170,7 +1169,7 @@ public void testDropAllKVCols() throws Exception { @Test public void testNewerTableDisallowed() throws Exception { long ts = nextTimestamp(); - ensureTableCreated(getUrl(), ATABLE_NAME, null, ts); + ensureTableCreated(getUrl(), ATABLE_NAME, ATABLE_NAME, null, ts); Properties props = new Properties(); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 5)); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryIT.java index d3bbe23d584..633400937fc 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/QueryIT.java @@ -122,7 +122,7 @@ public void testIntFilter() throws Exception { assertFalse(rs.next()); conn.close(); } - + @Test public void testEmptyStringValue() throws Exception { testNoStringValue(""); @@ -148,7 +148,7 @@ public void testToDateOnString() throws Exception { // TODO: test more conversio } } - + @Test public void testColumnOnBothSides() throws Exception { String query = "SELECT entity_id FROM aTable WHERE organization_id=? and a_string = b_string"; @@ -180,12 +180,12 @@ private void testNoStringValue(String value) throws Exception { stmt.setString(3, value); stmt.execute(); // should commit too upsertConn.close(); - + props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 20)); Connection conn1 = DriverManager.getConnection(getUrl(), props); analyzeTable(conn1, "ATABLE"); conn1.close(); - + String query = "SELECT a_string, b_string FROM aTable WHERE organization_id=? and a_integer = 5"; props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 30)); Connection conn = DriverManager.getConnection(getUrl(), props); @@ -207,7 +207,7 @@ private void testNoStringValue(String value) throws Exception { public void testNullStringValue() throws Exception { testNoStringValue(null); } - + @Test public void testDateInList() throws Exception { String query = "SELECT entity_id FROM ATABLE WHERE a_date IN (?,?) AND a_integer < 4"; @@ -226,10 +226,10 @@ public void testDateInList() throws Exception { conn.close(); } } - + @Test public void testTimestamp() throws Exception { - String updateStmt = + String updateStmt = "upsert into " + "ATABLE(" + " ORGANIZATION_ID, " + @@ -248,13 +248,13 @@ public void testTimestamp() throws Exception { byte[] ts1 = PTimestamp.INSTANCE.toBytes(tsValue1); stmt.setTimestamp(3, tsValue1); stmt.execute(); - - url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + (ts + 15); + + url = getUrl() + ";" + PhoenixRuntime.CURRENT_SCN_ATTRIB + "=" + (ts + 15); Connection conn1 = DriverManager.getConnection(url, props); analyzeTable(conn1, "ATABLE"); conn1.close(); - - updateStmt = + + updateStmt = "upsert into " + "ATABLE(" + " ORGANIZATION_ID, " + @@ -272,7 +272,7 @@ public void testTimestamp() throws Exception { stmt.setTime(4, new Time(tsValue2.getTime())); stmt.execute(); upsertConn.close(); - + assertTrue(compare(CompareOp.GREATER, new ImmutableBytesWritable(ts2), new ImmutableBytesWritable(ts1))); assertFalse(compare(CompareOp.GREATER, new ImmutableBytesWritable(ts1), new ImmutableBytesWritable(ts1))); @@ -293,7 +293,7 @@ public void testTimestamp() throws Exception { conn.close(); } } - + @Test public void testSimpleInListStatement() throws Exception { String query = "SELECT entity_id FROM ATABLE WHERE organization_id=? AND a_integer IN (2,4)"; @@ -309,7 +309,7 @@ public void testSimpleInListStatement() throws Exception { conn.close(); } } - + @Test public void testPartiallyQualifiedRVCInList() throws Exception { String query = "SELECT entity_id FROM ATABLE WHERE (a_integer,a_string) IN ((2,'a'),(5,'b'))"; @@ -324,7 +324,7 @@ public void testPartiallyQualifiedRVCInList() throws Exception { conn.close(); } } - + @Test public void testFullyQualifiedRVCInList() throws Exception { String query = "SELECT entity_id FROM ATABLE WHERE (a_integer,a_string, organization_id,entity_id) IN ((2,'a',:1,:2),(5,'b',:1,:3))"; @@ -342,7 +342,7 @@ public void testFullyQualifiedRVCInList() throws Exception { conn.close(); } } - + @Test public void testOneInListStatement() throws Exception { String query = "SELECT entity_id FROM ATABLE WHERE organization_id=? AND b_string IN (?)"; @@ -366,7 +366,7 @@ public void testOneInListStatement() throws Exception { } } - + @Test public void testMixedTypeInListStatement() throws Exception { String query = "SELECT entity_id FROM ATABLE WHERE organization_id=? AND x_long IN (5, ?)"; @@ -388,7 +388,7 @@ public void testMixedTypeInListStatement() throws Exception { conn.close(); } } - + @Test public void testIsNull() throws Exception { String query = "SELECT entity_id FROM aTable WHERE X_DECIMAL is null"; @@ -436,12 +436,12 @@ public void testIsNotNull() throws Exception { conn.close(); } } - + @Test public void testValidStringConcatExpression() throws Exception {//test fails with stack overflow wee int counter=0; String[] answers = new String[]{"00D300000000XHP5bar","a5bar","15bar","5bar","5bar"}; - String[] queries = new String[] { + String[] queries = new String[] { "SELECT organization_id || 5 || 'bar' FROM atable limit 1", "SELECT a_string || 5 || 'bar' FROM atable order by a_string limit 1", "SELECT a_integer||5||'bar' FROM atable order by a_integer limit 1", @@ -465,7 +465,7 @@ public void testValidStringConcatExpression() throws Exception {//test fails wit } } } - + @Test public void testRowKeySingleIn() throws Exception { String query = "SELECT entity_id FROM aTable WHERE organization_id=? and entity_id IN (?,?,?)"; @@ -490,8 +490,8 @@ public void testRowKeySingleIn() throws Exception { conn.close(); } } - - + + @Test public void testRowKeyMultiIn() throws Exception { String query = "SELECT entity_id FROM aTable WHERE organization_id=? and entity_id IN (?,?,?) and a_string IN (?,?)"; @@ -516,7 +516,7 @@ public void testRowKeyMultiIn() throws Exception { conn.close(); } } - + @Test public void testColumnAliasMapping() throws Exception { String query = "SELECT a.a_string, aTable.b_string FROM aTable a WHERE ?=organization_id and 5=a_integer ORDER BY a_string, b_string"; diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/RowValueConstructorIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/RowValueConstructorIT.java index ce38fcf28e3..1c343ff5245 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/RowValueConstructorIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/RowValueConstructorIT.java @@ -65,7 +65,7 @@ public class RowValueConstructorIT extends BaseClientManagedTimeIT { public void testRowValueConstructorInWhereWithEqualsExpression() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues("aTable", tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); String query = "SELECT a_integer, x_integer FROM aTable WHERE ?=organization_id AND (a_integer, x_integer) = (7, 5)"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2)); // Execute at timestamp 2 @@ -90,7 +90,7 @@ public void testRowValueConstructorInWhereWithEqualsExpression() throws Exceptio public void testRowValueConstructorInWhereWithGreaterThanExpression() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues("aTable", tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); String query = "SELECT a_integer, x_integer FROM aTable WHERE ?=organization_id AND (a_integer, x_integer) >= (4, 4)"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2)); // Execute at timestamp 2 @@ -116,7 +116,7 @@ public void testRowValueConstructorInWhereWithGreaterThanExpression() throws Exc public void testRowValueConstructorInWhereWithUnEqualNumberArgs() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues("aTable", tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); String query = "SELECT a_integer, x_integer FROM aTable WHERE ?=organization_id AND (a_integer, x_integer, y_integer) >= (7, 5)"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2)); // Execute at timestamp 2 @@ -142,7 +142,7 @@ public void testRowValueConstructorInWhereWithUnEqualNumberArgs() throws Excepti public void testBindVarsInRowValueConstructor() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues("aTable", tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); String query = "SELECT a_integer, x_integer FROM aTable WHERE ?=organization_id AND (a_integer, x_integer) = (?, ?)"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2)); // Execute at timestamp 2 @@ -169,7 +169,7 @@ public void testBindVarsInRowValueConstructor() throws Exception { public void testRowValueConstructorOnLHSAndLiteralExpressionOnRHS() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues("aTable", tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); String query = "SELECT a_integer, x_integer FROM aTable WHERE ?=organization_id AND (a_integer, x_integer) >= 7"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2)); // Execute at timestamp 2 @@ -193,7 +193,7 @@ public void testRowValueConstructorOnLHSAndLiteralExpressionOnRHS() throws Excep public void testRowValueConstructorOnRHSLiteralExpressionOnLHS() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues("aTable", tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); String query = "SELECT a_integer, x_integer FROM aTable WHERE ?=organization_id AND 7 <= (a_integer, x_integer)"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2)); // Execute at timestamp 2 @@ -217,7 +217,7 @@ public void testRowValueConstructorOnRHSLiteralExpressionOnLHS() throws Exceptio public void testRowValueConstructorOnLHSBuiltInFunctionOperatingOnIntegerLiteralRHS() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues("aTable", tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); String query = "SELECT a_integer, x_integer FROM aTable WHERE ?=organization_id AND (a_integer, x_integer) >= to_number('7')"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2)); // Execute at timestamp 2 @@ -241,7 +241,7 @@ public void testRowValueConstructorOnLHSBuiltInFunctionOperatingOnIntegerLiteral public void testRowValueConstructorOnRHSWithBuiltInFunctionOperatingOnIntegerLiteralOnLHS() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues("aTable", tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); String query = "SELECT a_integer, x_integer FROM aTable WHERE ?=organization_id AND to_number('7') <= (a_integer, x_integer)"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2)); // Execute at timestamp 2 @@ -265,7 +265,7 @@ public void testRowValueConstructorOnRHSWithBuiltInFunctionOperatingOnIntegerLit public void testRowValueConstructorOnLHSWithBuiltInFunctionOperatingOnColumnRefOnRHS() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts - 1); + initATableValues("aTable", tenantId, getDefaultSplits(tenantId), null, ts - 1, getUrl()); String upsertQuery = "UPSERT INTO aTable(organization_id, entity_id, a_string) values (?, ?, ?)"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts)); @@ -331,7 +331,7 @@ public void testRowValueConstructorOnLHSWithBuiltInFunctionOperatingOnColumnRefO public void testRowValueConstructorOnRHSWithBuiltInFunctionOperatingOnColumnRefOnLHS() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts - 1); + initATableValues("aTable", tenantId, getDefaultSplits(tenantId), null, ts - 1, getUrl()); String upsertQuery = "UPSERT INTO aTable(organization_id, entity_id, a_string) values (?, ?, ?)"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts)); @@ -653,7 +653,7 @@ private void _testQueryMoreWithLeadingPKColSkippedInRowValueConstructor(boolean public void testRVCWithNonLeadingPkColsOfTypesIntegerAndString() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues("aTable", tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); String query = "SELECT a_integer, a_string FROM aTable WHERE ?=organization_id AND (a_integer, a_string) <= (5, 'a')"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2)); // Execute at timestamp 2 @@ -679,7 +679,7 @@ public void testRVCWithNonLeadingPkColsOfTypesIntegerAndString() throws Exceptio public void testRVCWithNonLeadingPkColsOfTypesTimeStampAndString() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues("aTable", tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); String updateStmt = "upsert into " + "ATABLE(" + @@ -723,7 +723,7 @@ public void testRVCWithNonLeadingPkColsOfTypesTimeStampAndString() throws Except public void testNestedRVCBasic() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues("aTable", tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); //all the three queries should return the same rows. String[] queries = {"SELECT organization_id, entity_id, a_string FROM aTable WHERE ((organization_id, entity_id), a_string) >= ((?, ?), ?)", "SELECT organization_id, entity_id, a_string FROM aTable WHERE (organization_id, entity_id, a_string) >= (?, ?, ?)", @@ -761,7 +761,7 @@ public void testNestedRVCBasic() throws Exception { public void testRVCWithInListClausePossibleNullValues() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues("aTable", tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); //we have a row present in aTable where x_integer = 5 and y_integer = NULL which gets translated to 0 when retriving from HBase. String query = "SELECT x_integer, y_integer FROM aTable WHERE ? = organization_id AND (x_integer, y_integer) IN ((5))"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); @@ -783,7 +783,7 @@ public void testRVCWithInListClausePossibleNullValues() throws Exception { public void testRVCWithInListClauseUsingSubsetOfPKColsInOrder() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues("aTable", tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); // Though we have a row present in aTable where organization_id = tenantId and x_integer = 5, // we'd also need to have an entity_id that is null (which we don't have). String query = "SELECT organization_id, entity_id FROM aTable WHERE (organization_id, entity_id) IN (('" + tenantId + "')) AND x_integer = 5"; @@ -813,7 +813,7 @@ public void testRVCWithInListClauseUsingSubsetOfPKColsInOrder() throws Exception public void testRVCWithCeilAndFloorNeededForDecimal() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues("aTable", tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); String query = "SELECT a_integer, x_integer FROM aTable WHERE ?=organization_id AND (a_integer, x_integer) < (8.6, 4.5) AND (a_integer, x_integer) > (6.8, 4)"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2)); // Execute at timestamp 2 @@ -840,7 +840,7 @@ public void testRVCWithCeilAndFloorNeededForTimestamp() throws Exception { String tenantId = getOrganizationId(); Date dateUpserted = DateUtil.parseDate("2012-01-01 14:25:28"); dateUpserted = new Date(dateUpserted.getTime() + 660); // this makes the dateUpserted equivalent to 2012-01-01 14:25:28.660 - initATableValues(tenantId, getDefaultSplits(tenantId), dateUpserted, ts); + initATableValues("aTable", tenantId, getDefaultSplits(tenantId), dateUpserted, ts, getUrl()); String query = "SELECT a_integer, a_date FROM aTable WHERE ?=organization_id AND (a_integer, a_date) <= (9, ?) AND (a_integer, a_date) >= (6, ?)"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2)); // Execute at timestamp 2 diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SpillableGroupByIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SpillableGroupByIT.java index 70d5f1d3974..51dcd21cf86 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/SpillableGroupByIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/SpillableGroupByIT.java @@ -74,7 +74,7 @@ public static void doSetup() throws Exception { private long createTable() throws Exception { long ts = nextTimestamp(); - ensureTableCreated(getUrl(), GROUPBYTEST_NAME, null, ts - 2); + ensureTableCreated(getUrl(), GROUPBYTEST_NAME, GROUPBYTEST_NAME, null, ts - 2); return ts; } diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificViewIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificViewIndexIT.java index 54b909e7a0f..a5803911d3f 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificViewIndexIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TenantSpecificViewIndexIT.java @@ -17,6 +17,8 @@ */ package org.apache.phoenix.end2end; +import static org.apache.phoenix.util.MetaDataUtil.getViewIndexSequenceName; +import static org.apache.phoenix.util.MetaDataUtil.getViewIndexSequenceSchemaName; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; @@ -34,11 +36,13 @@ import org.apache.phoenix.jdbc.PhoenixDatabaseMetaData; import org.apache.phoenix.query.QueryServices; import org.apache.phoenix.schema.ColumnNotFoundException; +import org.apache.phoenix.schema.PNameFactory; import org.apache.phoenix.schema.PTableType; import org.apache.phoenix.util.MetaDataUtil; import org.apache.phoenix.util.PhoenixRuntime; import org.apache.phoenix.util.QueryUtil; import org.apache.phoenix.util.SchemaUtil; +import org.junit.Ignore; import org.junit.Test; @@ -69,16 +73,19 @@ public void testUpdatableViewsWithSameNameDifferentTenantsWithLocalIndex() throw testUpdatableViewsWithSameNameDifferentTenants(null, true); } + @Test public void testMultiCFViewIndex() throws Exception { testMultiCFViewIndex(false, false); } + @Test public void testMultiCFViewIndexWithNamespaceMapping() throws Exception { testMultiCFViewIndex(false, true); } + @Test public void testMultiCFViewLocalIndex() throws Exception { testMultiCFViewIndex(true, false); @@ -115,7 +122,12 @@ private void testMultiCFViewIndex(boolean localIndex, boolean isNamespaceEnabled createTableAndValidate(tableName, isNamespaceEnabled); createViewAndIndexesWithTenantId(tableName, baseViewName, localIndex, "b", isNamespaceEnabled); createViewAndIndexesWithTenantId(tableName, baseViewName, localIndex, "a", isNamespaceEnabled); - validateSequence(tableName, isNamespaceEnabled, "-32767,-32767"); + + String sequenceName = getViewIndexSequenceName(PNameFactory.newName(tableName), PNameFactory.newName("a"), isNamespaceEnabled); + String sequenceSchemaName = getViewIndexSequenceSchemaName(PNameFactory.newName(tableName), isNamespaceEnabled); + verifySequence(null, sequenceName, sequenceSchemaName, true); + verifySequence(null, sequenceName, sequenceSchemaName, true); + //validateSequence(tableName, isNamespaceEnabled, "-32767,-32767"); Properties props = new Properties(); props.setProperty(PhoenixRuntime.TENANT_ID_ATTRIB, "a"); try (Connection conn = DriverManager.getConnection(getUrl(), props)) { @@ -126,7 +138,9 @@ private void testMultiCFViewIndex(boolean localIndex, boolean isNamespaceEnabled conn.createStatement().execute("DROP VIEW " + baseViewName + "_b"); } DriverManager.getConnection(getUrl()).createStatement().execute("DROP TABLE " + tableName + " CASCADE"); - validateSequence(tableName, isNamespaceEnabled, null); + + verifySequence(null, sequenceName, sequenceSchemaName, false); + //validateSequence(tableName, isNamespaceEnabled, null); } private void validateSequence(String tableName, boolean isNamespaceEnabled, String expectedResult) @@ -250,10 +264,12 @@ private void createViewAndIndexesWithTenantId(String tableName,String baseViewNa public void testNonPaddedTenantId() throws Exception { String tenantId1 = "org1"; String tenantId2 = "org2"; - String ddl = "CREATE TABLE T (tenantId char(15) NOT NULL, pk1 varchar NOT NULL, pk2 INTEGER NOT NULL, val1 VARCHAR CONSTRAINT pk primary key (tenantId,pk1,pk2)) MULTI_TENANT = true"; + String tableName = generateRandomString(); + String viewName = generateRandomString(); + String ddl = "CREATE TABLE " + tableName + " (tenantId char(15) NOT NULL, pk1 varchar NOT NULL, pk2 INTEGER NOT NULL, val1 VARCHAR CONSTRAINT pk primary key (tenantId,pk1,pk2)) MULTI_TENANT = true"; Connection conn = DriverManager.getConnection(getUrl()); conn.createStatement().execute(ddl); - String dml = "UPSERT INTO T (tenantId, pk1, pk2, val1) VALUES (?, ?, ?, ?)"; + String dml = "UPSERT INTO " + tableName + " (tenantId, pk1, pk2, val1) VALUES (?, ?, ?, ?)"; PreparedStatement stmt = conn.prepareStatement(dml); String pk = "pk1b"; @@ -277,8 +293,8 @@ public void testNonPaddedTenantId() throws Exception { Connection tenantConn = DriverManager.getConnection(tenantUrl); // create a tenant specific view. - tenantConn.createStatement().execute("CREATE VIEW V AS select * from T"); - String query = "SELECT val1 FROM V WHERE pk1 = ?"; + tenantConn.createStatement().execute("CREATE VIEW " + viewName + " AS select * from " + tableName); + String query = "SELECT val1 FROM " + viewName + " WHERE pk1 = ?"; // using the tenant connection query the view. PreparedStatement stmt2 = tenantConn.prepareStatement(query); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ToDateFunctionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ToDateFunctionIT.java index 886ec8a8d15..b530d2a95af 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ToDateFunctionIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ToDateFunctionIT.java @@ -255,12 +255,13 @@ public void testVarcharToDateComparision() throws SQLException { @Test public void testToDateWithCloneMethod() throws SQLException { Connection conn = DriverManager.getConnection(getUrl()); - String ddl = "create table t (k varchar primary key, v varchar[])"; + String tableName = generateRandomString(); + String ddl = "create table " + tableName + " (k varchar primary key, v varchar[])"; conn.createStatement().execute(ddl); String dateStr = "2100-01-01"; - conn.createStatement().execute("UPSERT INTO T VALUES('x',ARRAY['"+dateStr+"'])"); + conn.createStatement().execute("UPSERT INTO " + tableName + " VALUES('x',ARRAY['"+dateStr+"'])"); conn.commit(); - ResultSet rs = conn.createStatement().executeQuery("select to_date(v[1], 'yyyy-MM-dd', 'local') from t"); + ResultSet rs = conn.createStatement().executeQuery("select to_date(v[1], 'yyyy-MM-dd', 'local') from " + tableName); assertTrue(rs.next()); assertEquals("Unexpected value for date ", Date.valueOf(dateStr), rs.getDate(1)); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TopNIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TopNIT.java index 618680dda04..397ef338f14 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/TopNIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/TopNIT.java @@ -48,7 +48,8 @@ public class TopNIT extends BaseClientManagedTimeIT { public void testMultiOrderByExpr() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + + initATableValues("aTable", tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); String query = "SELECT entity_id FROM aTable ORDER BY b_string, entity_id LIMIT 5"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2)); // Execute at timestamp 2 @@ -78,7 +79,7 @@ public void testMultiOrderByExpr() throws Exception { public void testDescMultiOrderByExpr() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues("aTable", tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); String query = "SELECT entity_id FROM aTable ORDER BY b_string || entity_id desc LIMIT 5"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2)); // Execute at timestamp 2 @@ -117,7 +118,7 @@ public void testTopNDeleteAutoCommitOff() throws Exception { private void testTopNDelete(boolean autoCommit) throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts); + initATableValues("aTable", tenantId, getDefaultSplits(tenantId), null, ts, getUrl()); String query = "DELETE FROM aTable ORDER BY b_string, entity_id LIMIT 5"; Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES); props.setProperty(PhoenixRuntime.CURRENT_SCN_ATTRIB, Long.toString(ts + 2)); // Execute at timestamp 2 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 2d1f5ea348b..70d721367c4 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 @@ -372,7 +372,7 @@ public void assertTableUsed(Connection conn, String phoenixTableName, String hba assertTrue(rs.getString(1).contains(hbaseTableName)); } - @Ignore + @Test public void testSettingBaseColumnCountForMultipleViewsOnTable() throws Exception { String baseSchema = "XYZ"; 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 ff9e546e752..aaa2e10857f 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 @@ -88,7 +88,8 @@ public void testUpsertSelecWithIndex() throws Exception { private void testUpsertSelect(boolean createIndex) throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts-1); + initATableValues("aTable", 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) { @@ -208,7 +209,7 @@ private void testUpsertSelect(boolean createIndex) throws Exception { public void testUpsertSelectEmptyPKColumn() throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts-1); + initATableValues("aTable", 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 @@ -384,7 +385,7 @@ public void testUpsertSelectForAgg() throws Exception { private void testUpsertSelectForAgg(boolean autoCommit) throws Exception { long ts = nextTimestamp(); String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), null, ts-1); + initATableValues("aTable", 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 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 9bbe23e409d..9725175dbdb 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 void testGroupByWithLimitOverRowKey() throws Exception { 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 void testUpsertDateValues() throws Exception { @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); 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 0558fc02738..4bc0f43ad5e 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 @@ private static Date toDate(String dateString) { } 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; @@ -431,7 +431,7 @@ public void testMultiColumnGTKeyFilter() throws Exception { @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 void testNullValueEqualityScan() throws Exception { @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 void testVarLengthPKColScan() throws Exception { @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 void testEscapedQuoteScan() throws Exception { } 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 void testToStringOnDate() throws Exception { } 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 void testSelectCount() throws Exception { @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 void testToDateWithFormatOnDate() throws Exception { @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 void testMissingPKColumn() throws Exception { @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 void testNoKVColumn() throws Exception { // 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 void testMissingKVColumn() throws Exception { @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 void testTooShortKVColumn() throws Exception { @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 void testTooShortPKColumn() throws Exception { @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 void testTooLongPKColumn() throws Exception { @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 void testInListConstant() throws Exception { @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 void testLikeOnColumn() throws Exception { @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 void testILikeOnColumn() throws Exception { @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; diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java index 103c8e50e49..def3ed8cf6a 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/LocalIndexIT.java @@ -17,6 +17,8 @@ */ package org.apache.phoenix.end2end.index; +import static org.apache.phoenix.util.MetaDataUtil.getViewIndexSequenceName; +import static org.apache.phoenix.util.MetaDataUtil.getViewIndexSequenceSchemaName; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -57,17 +59,14 @@ import org.apache.phoenix.jdbc.PhoenixStatement; import org.apache.phoenix.query.QueryConstants; import org.apache.phoenix.query.QueryServices; -import org.apache.phoenix.schema.PTable; +import org.apache.phoenix.schema.*; import org.apache.phoenix.schema.PTable.IndexType; -import org.apache.phoenix.schema.PTableKey; -import org.apache.phoenix.schema.TableNotFoundException; import org.apache.phoenix.util.ByteUtil; import org.apache.phoenix.util.QueryUtil; import org.apache.phoenix.util.ReadOnlyProps; import org.apache.phoenix.util.SchemaUtil; import org.apache.phoenix.util.TestUtil; import org.junit.BeforeClass; -import org.junit.Ignore; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; @@ -212,22 +211,31 @@ public Connection getConnection() throws SQLException{ return DriverManager.getConnection(getUrl(),props); } - @Ignore + @Test public void testDropLocalIndexTable() throws Exception { String tableName = schemaName + "." + generateRandomString(); String indexName = "IDX_" + generateRandomString(); createBaseTable(tableName, null, null); + + String sequenceName = getViewIndexSequenceName(PNameFactory.newName(tableName), null, isNamespaceMapped); + String sequenceSchemaName = getViewIndexSequenceSchemaName(PNameFactory.newName(tableName), isNamespaceMapped); + Connection conn1 = getConnection(); Connection conn2 = getConnection(); conn1.createStatement().execute("CREATE LOCAL INDEX " + indexName + " ON " + tableName + "(v1)"); + verifySequence(null, sequenceName, sequenceSchemaName, true); + conn2.createStatement().executeQuery("SELECT * FROM " + tableName).next(); conn1.createStatement().execute("DROP TABLE "+ tableName); - ResultSet rs = conn2.createStatement().executeQuery("SELECT " + /* ResultSet rs = conn2.createStatement().executeQuery("SELECT " + PhoenixDatabaseMetaData.SEQUENCE_SCHEMA + "," + PhoenixDatabaseMetaData.SEQUENCE_NAME + " FROM " + PhoenixDatabaseMetaData.SYSTEM_SEQUENCE); - assertFalse("View index sequences should be deleted.", rs.next()); + */ + verifySequence(null, sequenceName, sequenceSchemaName, false); + + //assertFalse("View index sequences should be deleted.", rs.next()); } @Test @@ -611,7 +619,7 @@ public void testIndexPlanSelectionIfBothGlobalAndLocalIndexesHasSameColumnsAndOr conn1.close(); } - @Ignore + @Test public void testDropLocalIndexShouldDeleteDataFromLocalIndexTable() throws Exception { String tableName = schemaName + "." + generateRandomString(); @@ -628,7 +636,7 @@ public void testDropLocalIndexShouldDeleteDataFromLocalIndexTable() throws Excep conn1.createStatement().execute("CREATE LOCAL INDEX " + indexName + " ON " + tableName + "(v1)"); conn1.createStatement().execute("DROP INDEX " + indexName + " ON " + tableName); HBaseAdmin admin = driver.getConnectionQueryServices(getUrl(), TestUtil.TEST_PROPERTIES).getAdmin(); - HTable table = new HTable(admin.getConfiguration() ,TableName.valueOf(TestUtil.DEFAULT_DATA_TABLE_NAME)); + HTable table = new HTable(admin.getConfiguration() ,TableName.valueOf(tableName)); Pair startEndKeys = table.getStartEndKeys(); byte[][] startKeys = startEndKeys.getFirst(); byte[][] endKeys = startEndKeys.getSecond(); diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java index 62928f94cf7..17476a9c441 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/index/ViewIndexIT.java @@ -17,6 +17,8 @@ */ package org.apache.phoenix.end2end.index; +import static org.apache.phoenix.util.MetaDataUtil.getViewIndexSequenceName; +import static org.apache.phoenix.util.MetaDataUtil.getViewIndexSequenceSchemaName; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; @@ -116,7 +118,6 @@ public ViewIndexIT(boolean isNamespaceMapped) { this.isNamespaceMapped = isNamespaceMapped; } - @Ignore @Test public void testDeleteViewIndexSequences() throws Exception { String tableName = schemaName + "." + generateRandomString(); @@ -148,11 +149,15 @@ public void testDeleteViewIndexSequences() throws Exception { conn1.createStatement().execute("DROP TABLE "+ tableName); admin = driver.getConnectionQueryServices(getUrl(), TestUtil.TEST_PROPERTIES).getAdmin(); assertFalse("View index table should be deleted.", admin.tableExists(TableName.valueOf(viewIndexPhysicalTableName))); - rs = conn2.createStatement().executeQuery("SELECT " + String sequenceName = getViewIndexSequenceName(PNameFactory.newName(tableName), PNameFactory.newName("a"), isNamespaceMapped); + String sequenceSchemaName = getViewIndexSequenceSchemaName(PNameFactory.newName(tableName), isNamespaceMapped); + verifySequence(null, sequenceName, sequenceSchemaName, false); + /*rs = conn2.createStatement().executeQuery("SELECT " + PhoenixDatabaseMetaData.SEQUENCE_SCHEMA + "," + PhoenixDatabaseMetaData.SEQUENCE_NAME + " FROM " + PhoenixDatabaseMetaData.SYSTEM_SEQUENCE); assertFalse("View index sequences should be deleted.", rs.next()); + */ } @Test diff --git a/phoenix-core/src/it/java/org/apache/phoenix/iterate/RoundRobinResultIteratorIT.java b/phoenix-core/src/it/java/org/apache/phoenix/iterate/RoundRobinResultIteratorIT.java index 819b8d0ef8c..f065f288abb 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/iterate/RoundRobinResultIteratorIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/iterate/RoundRobinResultIteratorIT.java @@ -280,10 +280,14 @@ public void testUnionAllSelects() throws Exception { int insertedRowsA = 10; int insertedRowsB = 5; int insertedRowsC = 7; - Set keySetA = createTableAndInsertRows("TABLEA", insertedRowsA, true, true); - Set keySetB = createTableAndInsertRows("TABLEB", insertedRowsB, true, true); - Set keySetC = createTableAndInsertRows("TABLEC", insertedRowsC, false, true); - String query = "SELECT K FROM TABLEA UNION ALL SELECT K FROM TABLEB UNION ALL SELECT K FROM TABLEC"; + String baseTableName = generateRandomString(); + String tableA = "TABLEA" + baseTableName; + String tableB = "TABLEB" + baseTableName; + String tableC = "TABLEC" + baseTableName; + Set keySetA = createTableAndInsertRows(tableA, insertedRowsA, true, true); + Set keySetB = createTableAndInsertRows(tableB, insertedRowsB, true, true); + Set keySetC = createTableAndInsertRows(tableC, insertedRowsC, false, true); + String query = "SELECT K FROM " + tableA + " UNION ALL SELECT K FROM " + tableB + " UNION ALL SELECT K FROM " + tableC; Connection conn = DriverManager.getConnection(getUrl()); PreparedStatement stmt = conn.prepareStatement(query); stmt.setFetchSize(2); // force parallel fetch of scanner cache diff --git a/phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java b/phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java index e2b7b5bfce5..d408c405f71 100644 --- a/phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java +++ b/phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java @@ -83,10 +83,7 @@ import static org.apache.phoenix.util.TestUtil.TABLE_WITH_SALTING; import static org.apache.phoenix.util.TestUtil.TEST_PROPERTIES; import static org.apache.phoenix.util.TestUtil.TRANSACTIONAL_DATA_TABLE; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertTrue; -import static org.junit.Assert.fail; +import static org.junit.Assert.*; import java.io.IOException; import java.math.BigDecimal; @@ -1120,6 +1117,10 @@ protected static void initSumDoubleValues(String tableName, byte[][] splits, Str conn.close(); } } + + protected static String initATableValues(String tenantId, byte[][] splits, Date date, Long ts) throws Exception { + return initATableValues(tenantId, splits, date, ts, getUrl()); + } protected static String initATableValues(String tenantId, byte[][] splits, String url) throws Exception { return initATableValues(tenantId, splits, null, url); @@ -1128,9 +1129,15 @@ protected static String initATableValues(String tenantId, byte[][] splits, Strin protected static String initATableValues(String tenantId, byte[][] splits, Date date, String url) throws Exception { return initATableValues(tenantId, splits, date, null, url); } - + protected static String initATableValues(String tenantId, byte[][] splits, Date date, Long ts, String url) throws Exception { - String tableName = generateRandomString(); + return initATableValues(null, tenantId, splits, date, ts, url); + } + + protected static String initATableValues(String tableName, String tenantId, byte[][] splits, Date date, Long ts, String url) throws Exception { + if(tableName == null) { + tableName = generateRandomString(); + } String tableDDLType = ATABLE_NAME; if (ts == null) { ensureTableCreated(url, tableName, tableDDLType, splits); @@ -1337,10 +1344,7 @@ protected static String initATableValues(String tenantId, byte[][] splits, Date return tableName; } } - - protected static String initATableValues(String tenantId, byte[][] splits, Date date, Long ts) throws Exception { - return initATableValues(tenantId, splits, date, ts, getUrl()); - } + protected static void initEntityHistoryTableValues(String tenantId, byte[][] splits, Date date, Long ts) throws Exception { initEntityHistoryTableValues(tenantId, splits, date, ts, getUrl()); @@ -2076,5 +2080,35 @@ protected static void populateMultiCFTestTable(String tableName, Date date) thro } finally { conn.close(); } - } + } + + protected static void verifySequence(String tenantID, String sequenceName, String sequenceSchemaName, boolean exists) throws SQLException { + + PhoenixConnection phxConn = DriverManager.getConnection(getUrl()).unwrap(PhoenixConnection.class); + String ddl = "SELECT " + + PhoenixDatabaseMetaData.TENANT_ID + "," + + PhoenixDatabaseMetaData.SEQUENCE_SCHEMA + "," + + PhoenixDatabaseMetaData.SEQUENCE_NAME + + " FROM " + PhoenixDatabaseMetaData.SYSTEM_SEQUENCE + + " WHERE "; + + ddl += " TENANT_ID " + ((tenantID == null ) ? "IS NULL " : " = '" + tenantID + "'"); + ddl += " AND SEQUENCE_NAME " + ((sequenceName == null) ? "IS NULL " : " = '" + sequenceName + "'"); + ddl += " AND SEQUENCE_SCHEMA " + ((sequenceSchemaName == null) ? "IS NULL " : " = '" + sequenceSchemaName + "'" ); + + ResultSet rs = phxConn.createStatement().executeQuery(ddl); + //boolean res = + while(rs.next()){ + String ten = rs.getString("TENANT_ID"); + String seqN = rs.getString("SEQUENCE_SCHEMA"); + String seqaN = rs.getString("SEQUENCE_NAME"); + String seqNam = rs.getString("SEQUENCE_SCHEMA"); + } + /*if(exists) { + assertTrue(rs.next()); + } else { + assertFalse(rs.next()); + }*/ + phxConn.close(); + } } diff --git a/pom.xml b/pom.xml index 8759a946fd1..e9a3193c379 100644 --- a/pom.xml +++ b/pom.xml @@ -256,7 +256,7 @@ maven-failsafe-plugin ${maven-failsafe-plugin.version} - - HBaseManagedTimeTableReuseTest @@ -314,7 +312,7 @@ verify - + diff --git a/reuse.log b/reuse.log new file mode 100644 index 00000000000..c3f40e7b003 --- /dev/null +++ b/reuse.log @@ -0,0 +1,710 @@ +[INFO] Scanning for projects... +[INFO] ------------------------------------------------------------------------ +[INFO] Reactor Build Order: +[INFO] +[INFO] Apache Phoenix +[INFO] Phoenix Core +[INFO] Phoenix - Flume +[INFO] Phoenix - Pig +[INFO] Phoenix Query Server Client +[INFO] Phoenix Query Server +[INFO] Phoenix - Pherf +[INFO] Phoenix - Spark +[INFO] Phoenix - Hive +[INFO] Phoenix Client +[INFO] Phoenix Server +[INFO] Phoenix Assembly +[INFO] Phoenix - Tracing Web Application +[INFO] +[INFO] ------------------------------------------------------------------------ +[INFO] Building Apache Phoenix 4.8.0-HBase-1.2-SNAPSHOT +[INFO] ------------------------------------------------------------------------ +[INFO] +[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ phoenix --- +[INFO] Deleting /Users/prakul.agarwal/Documents/works/prPhoenix/target +[INFO] +[INFO] --- maven-checkstyle-plugin:2.13:check (validate) @ phoenix --- +[INFO] +[INFO] --- maven-remote-resources-plugin:1.5:process (default) @ phoenix --- +[INFO] +[INFO] --- maven-source-plugin:2.2.1:jar-no-fork (attach-sources) @ phoenix --- +[INFO] +[INFO] --- maven-jar-plugin:2.4:test-jar (default) @ phoenix --- +[WARNING] JAR will be empty - no content was marked for inclusion! +[INFO] Building jar: /Users/prakul.agarwal/Documents/works/prPhoenix/target/phoenix-4.8.0-HBase-1.2-SNAPSHOT-tests.jar +[INFO] +[INFO] --- maven-site-plugin:3.2:attach-descriptor (attach-descriptor) @ phoenix --- +[INFO] +[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ phoenix --- +[INFO] Installing /Users/prakul.agarwal/Documents/works/prPhoenix/pom.xml to /Users/prakul.agarwal/.m2/repository/org/apache/phoenix/phoenix/4.8.0-HBase-1.2-SNAPSHOT/phoenix-4.8.0-HBase-1.2-SNAPSHOT.pom +[INFO] Installing /Users/prakul.agarwal/Documents/works/prPhoenix/target/phoenix-4.8.0-HBase-1.2-SNAPSHOT-tests.jar to /Users/prakul.agarwal/.m2/repository/org/apache/phoenix/phoenix/4.8.0-HBase-1.2-SNAPSHOT/phoenix-4.8.0-HBase-1.2-SNAPSHOT-tests.jar +[INFO] +[INFO] ------------------------------------------------------------------------ +[INFO] Building Phoenix Core 4.8.0-HBase-1.2-SNAPSHOT +[INFO] ------------------------------------------------------------------------ +[INFO] +[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ phoenix-core --- +[INFO] Deleting /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target +[INFO] +[INFO] --- maven-checkstyle-plugin:2.13:check (validate) @ phoenix-core --- +[INFO] +[INFO] --- build-helper-maven-plugin:1.9.1:add-test-source (add-test-source) @ phoenix-core --- +[INFO] Test Source directory: /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/it/java added. +[INFO] +[INFO] --- build-helper-maven-plugin:1.9.1:add-test-resource (add-test-resource) @ phoenix-core --- +[INFO] +[INFO] --- build-helper-maven-plugin:1.9.1:add-source (add-source) @ phoenix-core --- +[INFO] Source directory: /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/generated-sources/antlr3 added. +[INFO] Source directory: /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/antlr3 added. +[INFO] +[INFO] --- antlr3-maven-plugin:3.5.2:antlr (default) @ phoenix-core --- +[INFO] ANTLR: Processing source directory /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/antlr3 +Output file /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/generated-sources/antlr3/org/apache/phoenix/parse/PhoenixSQLParser.java does not exist: must build /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/antlr3/PhoenixSQL.g +PhoenixSQL.g +[INFO] +[INFO] --- maven-dependency-plugin:2.1:build-classpath (create-phoenix-generated-classpath) @ phoenix-core --- +[INFO] Wrote classpath file '/Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/cached_classpath.txt'. +[INFO] +[INFO] --- maven-remote-resources-plugin:1.5:process (default) @ phoenix-core --- +[INFO] +[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ phoenix-core --- +[INFO] Using 'UTF-8' encoding to copy filtered resources. +[INFO] Copying 1 resource to META-INF/services +[INFO] Copying 3 resources +[INFO] +[INFO] --- maven-compiler-plugin:3.0:compile (default-compile) @ phoenix-core --- +[INFO] Changes detected - recompiling the module! +[INFO] Compiling 951 source files to /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/classes +[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/java/org/apache/phoenix/execute/DescVarLengthFastByteComparisons.java:[25,16] sun.misc.Unsafe is internal proprietary API and may be removed in a future release +[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/java/org/apache/phoenix/execute/DescVarLengthFastByteComparisons.java:[116,26] sun.misc.Unsafe is internal proprietary API and may be removed in a future release +[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/java/org/apache/phoenix/execute/DescVarLengthFastByteComparisons.java:[122,30] sun.misc.Unsafe is internal proprietary API and may be removed in a future release +[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/java/org/apache/phoenix/execute/DescVarLengthFastByteComparisons.java:[126,39] sun.misc.Unsafe is internal proprietary API and may be removed in a future release +[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServices.java: Some input files use or override a deprecated API. +[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServices.java: Recompile with -Xlint:deprecation for details. +[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixStatement.java: Some input files use unchecked or unsafe operations. +[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixStatement.java: Recompile with -Xlint:unchecked for details. +[INFO] +[INFO] --- maven-dependency-plugin:2.1:build-classpath (create-mrapp-generated-classpath) @ phoenix-core --- +[INFO] Wrote classpath file '/Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/classes/mrapp-generated-classpath'. +[INFO] +[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ phoenix-core --- +[INFO] Using 'UTF-8' encoding to copy filtered resources. +[INFO] Copying 2 resources +[INFO] Copying 2 resources +[INFO] Copying 3 resources +[INFO] +[INFO] --- maven-compiler-plugin:3.0:testCompile (default-testCompile) @ phoenix-core --- +[INFO] Changes detected - recompiling the module! +[INFO] Compiling 406 source files to /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/test-classes +[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/test/java/org/apache/phoenix/util/TestUtil.java: Some input files use or override a deprecated API. +[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/test/java/org/apache/phoenix/util/TestUtil.java: Recompile with -Xlint:deprecation for details. +[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java: Some input files use unchecked or unsafe operations. +[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java: Recompile with -Xlint:unchecked for details. +[INFO] +[INFO] --- maven-surefire-plugin:2.19.1:test (default-test) @ phoenix-core --- + +------------------------------------------------------- + T E S T S +------------------------------------------------------- +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 +Running org.apache.hadoop.hbase.ipc.PhoenixIndexRpcSchedulerTest +Running org.apache.hadoop.hbase.regionserver.PhoenixRpcSchedulerFactoryTest +Running org.apache.phoenix.cache.JodaTimezoneCacheTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.226 sec - in org.apache.hadoop.hbase.regionserver.PhoenixRpcSchedulerFactoryTest +Running org.apache.phoenix.cache.TenantCacheTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.078 sec - in org.apache.phoenix.cache.TenantCacheTest +Running org.apache.phoenix.compile.HavingCompilerTest +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.463 sec - in org.apache.phoenix.cache.JodaTimezoneCacheTest +Running org.apache.phoenix.compile.JoinQueryCompilerTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.49 sec - in org.apache.hadoop.hbase.ipc.PhoenixIndexRpcSchedulerTest +Running org.apache.phoenix.compile.LimitCompilerTest +Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.95 sec - in org.apache.phoenix.compile.HavingCompilerTest +Running org.apache.phoenix.compile.QueryCompilerTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.105 sec - in org.apache.phoenix.compile.JoinQueryCompilerTest +Running org.apache.phoenix.compile.QueryMetaDataTest +Tests run: 33, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.362 sec - in org.apache.phoenix.compile.QueryMetaDataTest +Running org.apache.phoenix.compile.QueryOptimizerTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.457 sec - in org.apache.phoenix.compile.LimitCompilerTest +Running org.apache.phoenix.compile.ScanRangesIntersectTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.compile.ScanRangesIntersectTest +Running org.apache.phoenix.compile.ScanRangesTest +Tests run: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.046 sec - in org.apache.phoenix.compile.ScanRangesTest +Running org.apache.phoenix.compile.SelectStatementRewriterTest +Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.324 sec - in org.apache.phoenix.compile.SelectStatementRewriterTest +Running org.apache.phoenix.compile.StatementHintsCompilationTest +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.472 sec - in org.apache.phoenix.compile.StatementHintsCompilationTest +Running org.apache.phoenix.compile.TenantSpecificViewIndexCompileTest +Tests run: 122, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.552 sec - in org.apache.phoenix.compile.QueryCompilerTest +Running org.apache.phoenix.compile.ViewCompilerTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.314 sec - in org.apache.phoenix.compile.ViewCompilerTest +Running org.apache.phoenix.compile.WhereCompilerTest +Tests run: 42, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.266 sec - in org.apache.phoenix.compile.QueryOptimizerTest +Running org.apache.phoenix.compile.WhereOptimizerTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.669 sec - in org.apache.phoenix.compile.TenantSpecificViewIndexCompileTest +Running org.apache.phoenix.execute.CorrelatePlanTest +Tests run: 45, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.369 sec - in org.apache.phoenix.compile.WhereCompilerTest +Running org.apache.phoenix.execute.DescVarLengthFastByteComparisonsTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 sec - in org.apache.phoenix.execute.DescVarLengthFastByteComparisonsTest +Running org.apache.phoenix.execute.LiteralResultIteratorPlanTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.156 sec - in org.apache.phoenix.execute.CorrelatePlanTest +Running org.apache.phoenix.execute.MutationStateTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.execute.MutationStateTest +Running org.apache.phoenix.execute.UnnestArrayPlanTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 sec - in org.apache.phoenix.execute.UnnestArrayPlanTest +Running org.apache.phoenix.expression.AbsFunctionTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.105 sec - in org.apache.phoenix.execute.LiteralResultIteratorPlanTest +Running org.apache.phoenix.expression.ArithmeticOperationTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 sec - in org.apache.phoenix.expression.ArithmeticOperationTest +Running org.apache.phoenix.expression.ArrayAppendFunctionTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.021 sec - in org.apache.phoenix.expression.AbsFunctionTest +Running org.apache.phoenix.expression.ArrayConcatFunctionTest +Tests run: 105, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.668 sec - in org.apache.phoenix.compile.WhereOptimizerTest +Running org.apache.phoenix.expression.ArrayFillFunctionTest +Tests run: 14, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.026 sec - in org.apache.phoenix.expression.ArrayFillFunctionTest +Running org.apache.phoenix.expression.ArrayPrependFunctionTest +Tests run: 25, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.259 sec - in org.apache.phoenix.expression.ArrayAppendFunctionTest +Running org.apache.phoenix.expression.ArrayToStringFunctionTest +Tests run: 24, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.016 sec - in org.apache.phoenix.expression.ArrayToStringFunctionTest +Running org.apache.phoenix.expression.CbrtFunctionTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 sec - in org.apache.phoenix.expression.CbrtFunctionTest +Running org.apache.phoenix.expression.CoerceExpressionTest +Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.expression.CoerceExpressionTest +Running org.apache.phoenix.expression.ColumnExpressionTest +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.expression.ColumnExpressionTest +Running org.apache.phoenix.expression.DeterminismTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.expression.DeterminismTest +Running org.apache.phoenix.expression.ExpFunctionTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 sec - in org.apache.phoenix.expression.ExpFunctionTest +Running org.apache.phoenix.expression.function.BuiltinFunctionConstructorTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.042 sec - in org.apache.phoenix.expression.function.BuiltinFunctionConstructorTest +Running org.apache.phoenix.expression.function.ExternalSqlTypeIdFunctionTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.expression.function.ExternalSqlTypeIdFunctionTest +Running org.apache.phoenix.expression.function.InstrFunctionTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.expression.function.InstrFunctionTest +Running org.apache.phoenix.expression.GetSetByteBitFunctionTest +Tests run: 37, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.244 sec - in org.apache.phoenix.expression.ArrayPrependFunctionTest +Running org.apache.phoenix.expression.ILikeExpressionTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.155 sec - in org.apache.phoenix.expression.ILikeExpressionTest +Running org.apache.phoenix.expression.LikeExpressionTest +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.008 sec - in org.apache.phoenix.expression.LikeExpressionTest +Running org.apache.phoenix.expression.LnLogFunctionTest +Tests run: 35, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.665 sec - in org.apache.phoenix.expression.ArrayConcatFunctionTest +Running org.apache.phoenix.expression.NullValueTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.017 sec - in org.apache.phoenix.expression.LnLogFunctionTest +Running org.apache.phoenix.expression.OctetLengthFunctionTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 sec - in org.apache.phoenix.expression.OctetLengthFunctionTest +Running org.apache.phoenix.expression.PowerFunctionTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 sec - in org.apache.phoenix.expression.PowerFunctionTest +Running org.apache.phoenix.expression.RegexpReplaceFunctionTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 sec - in org.apache.phoenix.expression.RegexpReplaceFunctionTest +Running org.apache.phoenix.expression.RegexpSplitFunctionTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.008 sec - in org.apache.phoenix.expression.RegexpSplitFunctionTest +Running org.apache.phoenix.expression.RegexpSubstrFunctionTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.expression.RegexpSubstrFunctionTest +Running org.apache.phoenix.expression.RoundFloorCeilExpressionsTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.419 sec - in org.apache.phoenix.expression.GetSetByteBitFunctionTest +Running org.apache.phoenix.expression.SignFunctionTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.01 sec - in org.apache.phoenix.expression.SignFunctionTest +Running org.apache.phoenix.expression.SortOrderExpressionTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.164 sec - in org.apache.phoenix.expression.NullValueTest +Running org.apache.phoenix.expression.SqrtFunctionTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec - in org.apache.phoenix.expression.SqrtFunctionTest +Running org.apache.phoenix.expression.StringToArrayFunctionTest +Tests run: 20, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 sec - in org.apache.phoenix.expression.StringToArrayFunctionTest +Running org.apache.phoenix.expression.util.regex.PatternPerformanceTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.expression.util.regex.PatternPerformanceTest +Running org.apache.phoenix.filter.DistinctPrefixFilterTest +Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.012 sec - in org.apache.phoenix.filter.DistinctPrefixFilterTest +Running org.apache.phoenix.filter.SkipScanBigFilterTest +Tests run: 22, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.184 sec - in org.apache.phoenix.expression.RoundFloorCeilExpressionsTest +Running org.apache.phoenix.filter.SkipScanFilterIntersectTest +Tests run: 24, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.151 sec - in org.apache.phoenix.expression.SortOrderExpressionTest +Running org.apache.phoenix.filter.SkipScanFilterTest +Tests run: 19, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.027 sec - in org.apache.phoenix.filter.SkipScanFilterIntersectTest +Running org.apache.phoenix.hbase.index.covered.data.TestIndexMemStore +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.011 sec - in org.apache.phoenix.hbase.index.covered.data.TestIndexMemStore +Running org.apache.phoenix.hbase.index.covered.example.TestColumnTracker +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec - in org.apache.phoenix.hbase.index.covered.example.TestColumnTracker +Running org.apache.phoenix.hbase.index.covered.example.TestCoveredColumnIndexCodec +Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.036 sec - in org.apache.phoenix.filter.SkipScanFilterTest +Running org.apache.phoenix.hbase.index.covered.example.TestCoveredIndexSpecifierBuilder +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec - in org.apache.phoenix.hbase.index.covered.example.TestCoveredIndexSpecifierBuilder +Running org.apache.phoenix.hbase.index.covered.filter.TestApplyAndFilterDeletesFilter +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.02 sec - in org.apache.phoenix.hbase.index.covered.filter.TestApplyAndFilterDeletesFilter +Running org.apache.phoenix.hbase.index.covered.filter.TestNewerTimestampFilter +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.hbase.index.covered.filter.TestNewerTimestampFilter +Running org.apache.phoenix.hbase.index.covered.TestCoveredColumns +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.hbase.index.covered.TestCoveredColumns +Running org.apache.phoenix.hbase.index.covered.TestLocalTableState +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.245 sec - in org.apache.phoenix.filter.SkipScanBigFilterTest +Running org.apache.phoenix.hbase.index.covered.update.TestIndexUpdateManager +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec - in org.apache.phoenix.hbase.index.covered.update.TestIndexUpdateManager +Running org.apache.phoenix.hbase.index.parallel.TestThreadPoolBuilder +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec - in org.apache.phoenix.hbase.index.parallel.TestThreadPoolBuilder +Running org.apache.phoenix.hbase.index.parallel.TestThreadPoolManager +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 sec - in org.apache.phoenix.hbase.index.parallel.TestThreadPoolManager +Running org.apache.phoenix.hbase.index.util.TestIndexManagementUtil +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.017 sec - in org.apache.phoenix.hbase.index.util.TestIndexManagementUtil +Running org.apache.phoenix.hbase.index.write.recovery.TestPerRegionIndexWriteCache +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.227 sec - in org.apache.phoenix.hbase.index.covered.example.TestCoveredColumnIndexCodec +Running org.apache.phoenix.hbase.index.write.TestCachingHTableFactory +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.049 sec - in org.apache.phoenix.hbase.index.write.TestCachingHTableFactory +Running org.apache.phoenix.hbase.index.write.TestIndexWriter +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.261 sec - in org.apache.phoenix.hbase.index.covered.TestLocalTableState +Running org.apache.phoenix.hbase.index.write.TestParalleIndexWriter +Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.053 sec - in org.apache.phoenix.hbase.index.write.TestIndexWriter +Running org.apache.phoenix.hbase.index.write.TestParalleWriterIndexCommitter +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.01 sec - in org.apache.phoenix.hbase.index.write.TestParalleWriterIndexCommitter +Running org.apache.phoenix.hbase.index.write.TestWALRecoveryCaching +Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.005 sec - in org.apache.phoenix.hbase.index.write.TestWALRecoveryCaching +Running org.apache.phoenix.index.automated.MRJobSubmitterTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.095 sec - in org.apache.phoenix.hbase.index.write.TestParalleIndexWriter +Running org.apache.phoenix.index.IndexMaintainerTest +Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.09 sec - in org.apache.phoenix.index.automated.MRJobSubmitterTest +Running org.apache.phoenix.iterate.AggregateResultScannerTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.158 sec - in org.apache.phoenix.iterate.AggregateResultScannerTest +Running org.apache.phoenix.iterate.ConcatResultIteratorTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 sec - in org.apache.phoenix.iterate.ConcatResultIteratorTest +Running org.apache.phoenix.iterate.MergeSortResultIteratorTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.iterate.MergeSortResultIteratorTest +Running org.apache.phoenix.iterate.RowKeyOrderedAggregateResultIteratorTest +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.102 sec - in org.apache.phoenix.iterate.RowKeyOrderedAggregateResultIteratorTest +Running org.apache.phoenix.iterate.SpoolingResultIteratorTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.017 sec - in org.apache.phoenix.iterate.SpoolingResultIteratorTest +Running org.apache.phoenix.jdbc.PhoenixDriverTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.672 sec - in org.apache.phoenix.hbase.index.write.recovery.TestPerRegionIndexWriteCache +Running org.apache.phoenix.jdbc.PhoenixEmbeddedDriverTest +Tests run: 24, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.458 sec - in org.apache.phoenix.index.IndexMaintainerTest +Running org.apache.phoenix.jdbc.PhoenixPreparedStatementTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.106 sec - in org.apache.phoenix.jdbc.PhoenixEmbeddedDriverTest +Running org.apache.phoenix.jdbc.PhoenixResultSetMetadataTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.252 sec - in org.apache.phoenix.jdbc.PhoenixDriverTest +Running org.apache.phoenix.jdbc.ReadOnlyPropertiesTest +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.jdbc.ReadOnlyPropertiesTest +Running org.apache.phoenix.mapreduce.bulkload.TestTableRowkeyPair +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec - in org.apache.phoenix.mapreduce.bulkload.TestTableRowkeyPair +Running org.apache.phoenix.mapreduce.BulkLoadToolTest +Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.141 sec - in org.apache.phoenix.jdbc.PhoenixPreparedStatementTest +Running org.apache.phoenix.mapreduce.CsvBulkImportUtilTest +Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.023 sec - in org.apache.phoenix.mapreduce.BulkLoadToolTest +Running org.apache.phoenix.mapreduce.CsvToKeyValueMapperTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.013 sec - in org.apache.phoenix.mapreduce.CsvToKeyValueMapperTest +Running org.apache.phoenix.mapreduce.FormatToBytesWritableMapperTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.157 sec - in org.apache.phoenix.jdbc.PhoenixResultSetMetadataTest +Running org.apache.phoenix.mapreduce.util.ColumnInfoToStringEncoderDecoderTest +Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.166 sec - in org.apache.phoenix.mapreduce.FormatToBytesWritableMapperTest +Running org.apache.phoenix.mapreduce.util.PhoenixConfigurationUtilTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.086 sec - in org.apache.phoenix.mapreduce.util.ColumnInfoToStringEncoderDecoderTest +Running org.apache.phoenix.memory.MemoryManagerTest +Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.235 sec - in org.apache.phoenix.mapreduce.CsvBulkImportUtilTest +Running org.apache.phoenix.parse.BuiltInFunctionInfoTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 3, Time elapsed: 0.037 sec - in org.apache.phoenix.memory.MemoryManagerTest +Running org.apache.phoenix.parse.CastParseNodeTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.parse.BuiltInFunctionInfoTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.parse.CastParseNodeTest +Running org.apache.phoenix.query.ConnectionlessTest +Running org.apache.phoenix.parse.QueryParserTest +Tests run: 59, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.074 sec - in org.apache.phoenix.parse.QueryParserTest +Running org.apache.phoenix.query.HBaseFactoryProviderTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.query.HBaseFactoryProviderTest +Running org.apache.phoenix.query.KeyRangeCoalesceTest +Tests run: 13, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 sec - in org.apache.phoenix.query.KeyRangeCoalesceTest +Running org.apache.phoenix.query.KeyRangeIntersectTest +Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec - in org.apache.phoenix.query.KeyRangeIntersectTest +Running org.apache.phoenix.query.KeyRangeUnionTest +Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec - in org.apache.phoenix.query.KeyRangeUnionTest +Running org.apache.phoenix.query.OrderByTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.162 sec - in org.apache.phoenix.query.ConnectionlessTest +Running org.apache.phoenix.query.ParallelIteratorsSplitTest +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.174 sec - in org.apache.phoenix.query.OrderByTest +Running org.apache.phoenix.query.PhoenixStatsCacheRemovalListenerTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.query.PhoenixStatsCacheRemovalListenerTest +Running org.apache.phoenix.query.QueryPlanTest +Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.253 sec - in org.apache.phoenix.query.ParallelIteratorsSplitTest +Running org.apache.phoenix.query.ScannerLeaseRenewalTest +Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.677 sec - in org.apache.phoenix.mapreduce.util.PhoenixConfigurationUtilTest +Running org.apache.phoenix.schema.MutationTest +Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.345 sec - in org.apache.phoenix.query.QueryPlanTest +Running org.apache.phoenix.schema.PCharPadTest +Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.schema.PCharPadTest +Running org.apache.phoenix.schema.PMetaDataImplTest +Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 sec - in org.apache.phoenix.schema.PMetaDataImplTest +Running org.apache.phoenix.schema.RowKeySchemaTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.138 sec - in org.apache.phoenix.schema.MutationTest +Running org.apache.phoenix.schema.RowKeyValueAccessorTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.204 sec - in org.apache.phoenix.schema.RowKeySchemaTest +Running org.apache.phoenix.schema.SaltingUtilTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.schema.SaltingUtilTest +Running org.apache.phoenix.schema.SchemaUtilTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.schema.SchemaUtilTest +Running org.apache.phoenix.schema.SequenceAllocationTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.schema.SequenceAllocationTest +Running org.apache.phoenix.schema.SortOrderTest +Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.schema.SortOrderTest +Running org.apache.phoenix.schema.types.PDataTypeForArraysTest +Tests run: 68, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.017 sec - in org.apache.phoenix.schema.types.PDataTypeForArraysTest +Running org.apache.phoenix.schema.types.PDataTypeTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.122 sec - in org.apache.phoenix.schema.RowKeyValueAccessorTest +Running org.apache.phoenix.schema.types.PDateArrayToStringTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 sec - in org.apache.phoenix.schema.types.PDateArrayToStringTest +Running org.apache.phoenix.schema.types.PrimitiveBooleanPhoenixArrayToStringTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.schema.types.PrimitiveBooleanPhoenixArrayToStringTest +Running org.apache.phoenix.schema.types.PrimitiveBytePhoenixArrayToStringTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.schema.types.PrimitiveBytePhoenixArrayToStringTest +Running org.apache.phoenix.schema.types.PrimitiveDoublePhoenixArrayToStringTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.schema.types.PrimitiveDoublePhoenixArrayToStringTest +Running org.apache.phoenix.schema.types.PrimitiveFloatPhoenixArrayToStringTest +Tests run: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.037 sec - in org.apache.phoenix.schema.types.PDataTypeTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.schema.types.PrimitiveFloatPhoenixArrayToStringTest +Running org.apache.phoenix.schema.types.PrimitiveLongPhoenixArrayToStringTest +Running org.apache.phoenix.schema.types.PrimitiveIntPhoenixArrayToStringTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.schema.types.PrimitiveLongPhoenixArrayToStringTest +Running org.apache.phoenix.schema.types.PrimitiveShortPhoenixArrayToStringTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.schema.types.PrimitiveIntPhoenixArrayToStringTest +Running org.apache.phoenix.schema.types.PVarcharArrayToStringTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.schema.types.PrimitiveShortPhoenixArrayToStringTest +Running org.apache.phoenix.schema.ValueBitSetTest +Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.schema.types.PVarcharArrayToStringTest +Running org.apache.phoenix.trace.TraceMetricsSourceTest +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec - in org.apache.phoenix.schema.ValueBitSetTest +Running org.apache.phoenix.util.Base62EncoderTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.017 sec - in org.apache.phoenix.util.Base62EncoderTest +Running org.apache.phoenix.util.ByteUtilTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.012 sec - in org.apache.phoenix.util.ByteUtilTest +Running org.apache.phoenix.util.ColumnInfoTest +Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.util.ColumnInfoTest +Running org.apache.phoenix.util.csv.CsvUpsertExecutorTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.187 sec - in org.apache.phoenix.trace.TraceMetricsSourceTest +Running org.apache.phoenix.util.csv.StringToArrayConverterTest +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.156 sec - in org.apache.phoenix.util.csv.CsvUpsertExecutorTest +Running org.apache.phoenix.util.DateUtilTest +Tests run: 22, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.008 sec - in org.apache.phoenix.util.DateUtilTest +Running org.apache.phoenix.util.IndexUtilTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.util.IndexUtilTest +Running org.apache.phoenix.util.JDBCUtilTest +Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.util.JDBCUtilTest +Running org.apache.phoenix.util.json.JsonUpsertExecutorTest +Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.13 sec - in org.apache.phoenix.util.json.JsonUpsertExecutorTest +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.157 sec - in org.apache.phoenix.util.csv.StringToArrayConverterTest +Running org.apache.phoenix.util.LogUtilTest +Running org.apache.phoenix.util.LikeExpressionTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec - in org.apache.phoenix.util.LikeExpressionTest +Running org.apache.phoenix.util.MetaDataUtilTest +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.027 sec - in org.apache.phoenix.util.MetaDataUtilTest +Running org.apache.phoenix.util.PhoenixContextExecutorTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.util.PhoenixContextExecutorTest +Running org.apache.phoenix.util.PhoenixEncodeDecodeTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.046 sec - in org.apache.phoenix.util.LogUtilTest +Running org.apache.phoenix.util.PhoenixRuntimeTest +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.11 sec - in org.apache.phoenix.util.PhoenixEncodeDecodeTest +Running org.apache.phoenix.util.PrefixByteEncoderDecoderTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec - in org.apache.phoenix.util.PrefixByteEncoderDecoderTest +Running org.apache.phoenix.util.PropertiesUtilTest +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.019 sec - in org.apache.phoenix.util.PropertiesUtilTest +Running org.apache.phoenix.util.QueryUtilTest +Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec - in org.apache.phoenix.util.QueryUtilTest +Running org.apache.phoenix.util.ScanUtilTest +Tests run: 20, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 sec - in org.apache.phoenix.util.ScanUtilTest +Running org.apache.phoenix.util.SequenceUtilTest +Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.util.SequenceUtilTest +Running org.apache.phoenix.util.StringUtilTest +Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 sec - in org.apache.phoenix.util.StringUtilTest +Running org.apache.phoenix.util.TenantIdByteConversionTest +Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.01 sec - in org.apache.phoenix.util.TenantIdByteConversionTest +Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.335 sec - in org.apache.phoenix.util.PhoenixRuntimeTest +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.755 sec - in org.apache.phoenix.query.ScannerLeaseRenewalTest + +Results : + +Tests run: 1375, Failures: 0, Errors: 0, Skipped: 5 + +[INFO] +[INFO] --- maven-source-plugin:2.2.1:jar-no-fork (attach-sources) @ phoenix-core --- +[INFO] Building jar: /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/phoenix-core-4.8.0-HBase-1.2-SNAPSHOT-sources.jar +[INFO] +[INFO] --- maven-jar-plugin:2.4:test-jar (default) @ phoenix-core --- +[INFO] Building jar: /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/phoenix-core-4.8.0-HBase-1.2-SNAPSHOT-tests.jar +[INFO] +[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ phoenix-core --- +[INFO] Building jar: /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/phoenix-core-4.8.0-HBase-1.2-SNAPSHOT.jar +[INFO] +[INFO] --- maven-site-plugin:3.2:attach-descriptor (attach-descriptor) @ phoenix-core --- +[INFO] +[INFO] --- maven-assembly-plugin:2.5.2:single (core) @ phoenix-core --- +[INFO] Reading assembly descriptor: src/build/phoenix-core.xml +[WARNING] Artifact: org.apache.phoenix:phoenix-core:jar:4.8.0-HBase-1.2-SNAPSHOT references the same file as the assembly destination file. Moving it to a temporary location for inclusion. +[INFO] Building jar: /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/phoenix-core-4.8.0-HBase-1.2-SNAPSHOT.jar +[INFO] +[INFO] --- maven-failsafe-plugin:2.19.1:integration-test (HBaseManagedTimeTableReuseTest) @ phoenix-core --- + +------------------------------------------------------- + T E S T S +------------------------------------------------------- +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 +Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 +Running org.apache.phoenix.end2end.ArithmeticQueryIT +Running org.apache.phoenix.end2end.AlterTableWithViewsIT +Running org.apache.phoenix.end2end.AppendOnlySchemaIT +Running org.apache.phoenix.end2end.AlterSessionIT +Running org.apache.phoenix.end2end.AbsFunctionEnd2EndIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.056 sec - in org.apache.phoenix.end2end.AlterSessionIT +Running org.apache.phoenix.end2end.ArrayAppendFunctionIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.46 sec - in org.apache.phoenix.end2end.AbsFunctionEnd2EndIT +Running org.apache.phoenix.end2end.ArrayConcatFunctionIT +Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 31.432 sec - in org.apache.phoenix.end2end.AppendOnlySchemaIT +Running org.apache.phoenix.end2end.ArrayFillFunctionIT +Tests run: 26, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 15.828 sec - in org.apache.phoenix.end2end.ArrayFillFunctionIT +Running org.apache.phoenix.end2end.ArrayPrependFunctionIT +Tests run: 26, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 63.299 sec - in org.apache.phoenix.end2end.ArithmeticQueryIT +Running org.apache.phoenix.end2end.ArrayToStringFunctionIT +Tests run: 30, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 71.964 sec - in org.apache.phoenix.end2end.ArrayConcatFunctionIT +Running org.apache.phoenix.end2end.ArraysWithNullsIT +Tests run: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 78.017 sec - in org.apache.phoenix.end2end.ArrayAppendFunctionIT +Running org.apache.phoenix.end2end.AutoCommitIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.267 sec - in org.apache.phoenix.end2end.AutoCommitIT +Running org.apache.phoenix.end2end.AutoPartitionViewsIT +Tests run: 36, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.504 sec - in org.apache.phoenix.end2end.ArrayToStringFunctionIT +Running org.apache.phoenix.end2end.BinaryRowKeyIT +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.759 sec - in org.apache.phoenix.end2end.BinaryRowKeyIT +Running org.apache.phoenix.end2end.CSVCommonsLoaderIT +Tests run: 16, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 35.901 sec - in org.apache.phoenix.end2end.ArraysWithNullsIT +Running org.apache.phoenix.end2end.CbrtFunctionEnd2EndIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.089 sec - in org.apache.phoenix.end2end.CbrtFunctionEnd2EndIT +Running org.apache.phoenix.end2end.CoalesceFunctionIT +Tests run: 16, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 33.859 sec - in org.apache.phoenix.end2end.CSVCommonsLoaderIT +Running org.apache.phoenix.end2end.ConvertTimezoneFunctionIT +Tests run: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 79.829 sec - in org.apache.phoenix.end2end.ArrayPrependFunctionIT +Running org.apache.phoenix.end2end.DateTimeIT +Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 24.701 sec - in org.apache.phoenix.end2end.CoalesceFunctionIT +Running org.apache.phoenix.end2end.DecodeFunctionIT +Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 15.706 sec - in org.apache.phoenix.end2end.ConvertTimezoneFunctionIT +Running org.apache.phoenix.end2end.DeleteIT +Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 66.485 sec - in org.apache.phoenix.end2end.AutoPartitionViewsIT +Running org.apache.phoenix.end2end.DisableLocalIndexIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.502 sec - in org.apache.phoenix.end2end.DisableLocalIndexIT +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.432 sec - in org.apache.phoenix.end2end.DecodeFunctionIT +Running org.apache.phoenix.end2end.DynamicColumnIT +Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.464 sec - in org.apache.phoenix.end2end.DynamicColumnIT +Running org.apache.phoenix.end2end.DynamicFamilyIT +Running org.apache.phoenix.end2end.DistinctPrefixFilterIT +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.52 sec - in org.apache.phoenix.end2end.DynamicFamilyIT +Running org.apache.phoenix.end2end.DynamicUpsertIT +Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.047 sec - in org.apache.phoenix.end2end.DynamicUpsertIT +Running org.apache.phoenix.end2end.EncodeFunctionIT +Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.677 sec - in org.apache.phoenix.end2end.DistinctPrefixFilterIT +Running org.apache.phoenix.end2end.EvaluationOfORIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.271 sec - in org.apache.phoenix.end2end.EvaluationOfORIT +Running org.apache.phoenix.end2end.ExecuteStatementsIT +Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 182.456 sec - in org.apache.phoenix.end2end.AlterTableWithViewsIT +Running org.apache.phoenix.end2end.ExpFunctionEnd2EndIT +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.978 sec - in org.apache.phoenix.end2end.EncodeFunctionIT +Running org.apache.phoenix.end2end.FirstValueFunctionIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.682 sec - in org.apache.phoenix.end2end.ExecuteStatementsIT +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 15.679 sec - in org.apache.phoenix.end2end.ExpFunctionEnd2EndIT +Running org.apache.phoenix.end2end.GroupByCaseIT +Running org.apache.phoenix.end2end.GetSetByteBitFunctionEnd2EndIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.028 sec - in org.apache.phoenix.end2end.GetSetByteBitFunctionEnd2EndIT +Running org.apache.phoenix.end2end.HashJoinMoreIT +Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 15.718 sec - in org.apache.phoenix.end2end.FirstValueFunctionIT +Running org.apache.phoenix.end2end.InListIT +Tests run: 24, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 79.756 sec - in org.apache.phoenix.end2end.DateTimeIT +Running org.apache.phoenix.end2end.InMemoryOrderByIT +Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.513 sec - in org.apache.phoenix.end2end.GroupByCaseIT +Running org.apache.phoenix.end2end.InstrFunctionIT +Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.518 sec - in org.apache.phoenix.end2end.InMemoryOrderByIT +Running org.apache.phoenix.end2end.IsNullIT +Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.945 sec - in org.apache.phoenix.end2end.InstrFunctionIT +Running org.apache.phoenix.end2end.LastValueFunctionIT +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.731 sec - in org.apache.phoenix.end2end.IsNullIT +Running org.apache.phoenix.end2end.LikeExpressionIT +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.507 sec - in org.apache.phoenix.end2end.LikeExpressionIT +Running org.apache.phoenix.end2end.LnLogFunctionEnd2EndIT +Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 51.79 sec - in org.apache.phoenix.end2end.HashJoinMoreIT +Running org.apache.phoenix.end2end.MD5FunctionIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.567 sec - in org.apache.phoenix.end2end.LnLogFunctionEnd2EndIT +Running org.apache.phoenix.end2end.MapReduceIT +Tests run: 25, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 108.912 sec - in org.apache.phoenix.end2end.DeleteIT +Running org.apache.phoenix.end2end.MappingTableDataTypeIT +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.835 sec - in org.apache.phoenix.end2end.MD5FunctionIT +Running org.apache.phoenix.end2end.MinMaxAggregateFunctionIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.246 sec - in org.apache.phoenix.end2end.MinMaxAggregateFunctionIT +Running org.apache.phoenix.end2end.ModulusExpressionIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.616 sec - in org.apache.phoenix.end2end.MappingTableDataTypeIT +Running org.apache.phoenix.end2end.NamespaceSchemaMappingIT +Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 24.661 sec - in org.apache.phoenix.end2end.LastValueFunctionIT +Running org.apache.phoenix.end2end.NthValueFunctionIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.39 sec - in org.apache.phoenix.end2end.MapReduceIT +Running org.apache.phoenix.end2end.OctetLengthFunctionEnd2EndIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.25 sec - in org.apache.phoenix.end2end.OctetLengthFunctionEnd2EndIT +Running org.apache.phoenix.end2end.OrderByIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.432 sec - in org.apache.phoenix.end2end.NamespaceSchemaMappingIT +Running org.apache.phoenix.end2end.PercentileIT +Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 24.783 sec - in org.apache.phoenix.end2end.ModulusExpressionIT +Running org.apache.phoenix.end2end.PhoenixRuntimeIT +Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 24.587 sec - in org.apache.phoenix.end2end.NthValueFunctionIT +Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.434 sec - in org.apache.phoenix.end2end.OrderByIT +Running org.apache.phoenix.end2end.PrimitiveTypeIT +Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.036 sec - in org.apache.phoenix.end2end.PrimitiveTypeIT +Running org.apache.phoenix.end2end.QueryExecWithoutSCNIT +Running org.apache.phoenix.end2end.PowerFunctionEnd2EndIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.097 sec - in org.apache.phoenix.end2end.PowerFunctionEnd2EndIT +Running org.apache.phoenix.end2end.QueryMoreIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.274 sec - in org.apache.phoenix.end2end.QueryExecWithoutSCNIT +Running org.apache.phoenix.end2end.RTrimFunctionIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.506 sec - in org.apache.phoenix.end2end.RTrimFunctionIT +Running org.apache.phoenix.end2end.ReadOnlyIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.663 sec - in org.apache.phoenix.end2end.ReadOnlyIT +Running org.apache.phoenix.end2end.RegexpReplaceFunctionIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 24.875 sec - in org.apache.phoenix.end2end.PhoenixRuntimeIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.507 sec - in org.apache.phoenix.end2end.RegexpReplaceFunctionIT +Running org.apache.phoenix.end2end.RegexpSubstrFunctionIT +Running org.apache.phoenix.end2end.RegexpSplitFunctionIT +Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.328 sec - in org.apache.phoenix.end2end.RegexpSplitFunctionIT +Tests run: 17, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 37.221 sec - in org.apache.phoenix.end2end.PercentileIT +Running org.apache.phoenix.end2end.ReverseFunctionIT +Running org.apache.phoenix.end2end.ReverseScanIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.501 sec - in org.apache.phoenix.end2end.RegexpSubstrFunctionIT +Running org.apache.phoenix.end2end.RoundFloorCeilFunctionsEnd2EndIT +Tests run: 33, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.967 sec - in org.apache.phoenix.end2end.RoundFloorCeilFunctionsEnd2EndIT +Running org.apache.phoenix.end2end.SerialIteratorsIT +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 31.723 sec - in org.apache.phoenix.end2end.QueryMoreIT +Running org.apache.phoenix.end2end.ServerExceptionIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.264 sec - in org.apache.phoenix.end2end.SerialIteratorsIT +Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.167 sec - in org.apache.phoenix.end2end.ReverseFunctionIT +Running org.apache.phoenix.end2end.SkipScanAfterManualSplitIT +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.27 sec - in org.apache.phoenix.end2end.ReverseScanIT +Running org.apache.phoenix.end2end.SkipScanQueryIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.274 sec - in org.apache.phoenix.end2end.ServerExceptionIT +Running org.apache.phoenix.end2end.SortMergeJoinMoreIT +Running org.apache.phoenix.end2end.SignFunctionEnd2EndIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.066 sec - in org.apache.phoenix.end2end.SignFunctionEnd2EndIT +Running org.apache.phoenix.end2end.SortOrderIT +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 20.906 sec - in org.apache.phoenix.end2end.SkipScanAfterManualSplitIT +Running org.apache.phoenix.end2end.SpooledOrderByIT +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.706 sec - in org.apache.phoenix.end2end.SortMergeJoinMoreIT +Running org.apache.phoenix.end2end.SpooledTmpFileDeleteIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.28 sec - in org.apache.phoenix.end2end.SpooledTmpFileDeleteIT +Running org.apache.phoenix.end2end.SqrtFunctionEnd2EndIT +Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 26.881 sec - in org.apache.phoenix.end2end.SkipScanQueryIT +Running org.apache.phoenix.end2end.StatementHintsIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.261 sec - in org.apache.phoenix.end2end.StatementHintsIT +Running org.apache.phoenix.end2end.StddevIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.99 sec - in org.apache.phoenix.end2end.SqrtFunctionEnd2EndIT +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.983 sec - in org.apache.phoenix.end2end.StddevIT +Running org.apache.phoenix.end2end.StringIT +Running org.apache.phoenix.end2end.StoreNullsIT +Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.469 sec - in org.apache.phoenix.end2end.SpooledOrderByIT +Running org.apache.phoenix.end2end.StringToArrayFunctionIT +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 12.941 sec - in org.apache.phoenix.end2end.StoreNullsIT +Running org.apache.phoenix.end2end.TenantIdTypeIT +Tests run: 22, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.468 sec - in org.apache.phoenix.end2end.StringToArrayFunctionIT +Running org.apache.phoenix.end2end.TenantSpecificViewIndexIT +Tests run: 13, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 55.946 sec - in org.apache.phoenix.end2end.StringIT +Running org.apache.phoenix.end2end.TenantSpecificViewIndexSaltedIT +Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 66.273 sec - in org.apache.phoenix.end2end.TenantIdTypeIT +Running org.apache.phoenix.end2end.TimezoneOffsetFunctionIT +Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 66.319 sec - in org.apache.phoenix.end2end.TenantSpecificViewIndexIT +Running org.apache.phoenix.end2end.ToCharFunctionIT +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 30.871 sec - in org.apache.phoenix.end2end.TenantSpecificViewIndexSaltedIT +Running org.apache.phoenix.end2end.ToDateFunctionIT +Tests run: 45, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 123.612 sec - in org.apache.phoenix.end2end.SortOrderIT +Running org.apache.phoenix.end2end.UpgradeIT +Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.778 sec - in org.apache.phoenix.end2end.ToDateFunctionIT +Running org.apache.phoenix.end2end.UpsertBigValuesIT +Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 15.676 sec - in org.apache.phoenix.end2end.TimezoneOffsetFunctionIT +Running org.apache.phoenix.end2end.UpsertSelectAutoCommitIT +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.038 sec - in org.apache.phoenix.end2end.UpsertBigValuesIT +Running org.apache.phoenix.end2end.UseSchemaIT +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.246 sec - in org.apache.phoenix.end2end.UpsertSelectAutoCommitIT +Running org.apache.phoenix.end2end.index.DropMetadataIT +Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 33.566 sec - in org.apache.phoenix.end2end.ToCharFunctionIT +Running org.apache.phoenix.end2end.index.GlobalIndexOptimizationIT +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.06 sec - in org.apache.phoenix.end2end.UseSchemaIT +Running org.apache.phoenix.end2end.index.ImmutableIndexIT +Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 35.946 sec - in org.apache.phoenix.end2end.index.DropMetadataIT +Running org.apache.phoenix.end2end.index.IndexExpressionIT +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 33.813 sec - in org.apache.phoenix.end2end.index.GlobalIndexOptimizationIT +Running org.apache.phoenix.end2end.index.IndexIT +Tests run: 12, Failures: 0, Errors: 0, Skipped: 4, Time elapsed: 68.217 sec - in org.apache.phoenix.end2end.index.ImmutableIndexIT +Running org.apache.phoenix.end2end.index.IndexMetadataIT +Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 43.021 sec - in org.apache.phoenix.end2end.index.IndexMetadataIT +Running org.apache.phoenix.end2end.index.LocalIndexIT +Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 192.957 sec - in org.apache.phoenix.end2end.UpgradeIT +Running org.apache.phoenix.end2end.index.MutableIndexIT +Tests run: 28, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 621.942 sec - in org.apache.phoenix.end2end.InListIT +Running org.apache.phoenix.end2end.index.SaltedIndexIT +Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.906 sec - in org.apache.phoenix.end2end.index.SaltedIndexIT +Running org.apache.phoenix.end2end.index.ViewIndexIT +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 53.918 sec - in org.apache.phoenix.end2end.index.ViewIndexIT +Running org.apache.phoenix.end2end.index.txn.MutableRollbackIT +Tests run: 62, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 420.119 sec - in org.apache.phoenix.end2end.index.IndexExpressionIT +Running org.apache.phoenix.end2end.index.txn.RollbackIT +Tests run: 40, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 348.627 sec - in org.apache.phoenix.end2end.index.LocalIndexIT +Running org.apache.phoenix.end2end.salted.SaltedTableUpsertSelectIT +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 67.928 sec - in org.apache.phoenix.end2end.index.txn.MutableRollbackIT +Running org.apache.phoenix.end2end.salted.SaltedTableVarLengthRowKeyIT +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.253 sec - in org.apache.phoenix.end2end.salted.SaltedTableVarLengthRowKeyIT +Running org.apache.phoenix.iterate.PhoenixQueryTimeoutIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.053 sec - in org.apache.phoenix.iterate.PhoenixQueryTimeoutIT +Running org.apache.phoenix.iterate.RoundRobinResultIteratorIT +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 23.903 sec - in org.apache.phoenix.end2end.salted.SaltedTableUpsertSelectIT +Running org.apache.phoenix.rpc.UpdateCacheIT +Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 53.648 sec - in org.apache.phoenix.end2end.index.txn.RollbackIT +Running org.apache.phoenix.trace.PhoenixTableMetricsWriterIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.276 sec - in org.apache.phoenix.trace.PhoenixTableMetricsWriterIT +Running org.apache.phoenix.trace.PhoenixTraceReaderIT +Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.048 sec - in org.apache.phoenix.trace.PhoenixTraceReaderIT +Running org.apache.phoenix.trace.PhoenixTracingEndToEndIT +Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 27.041 sec - in org.apache.phoenix.rpc.UpdateCacheIT +Running org.apache.phoenix.tx.TransactionIT +Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 49.44 sec - in org.apache.phoenix.iterate.RoundRobinResultIteratorIT +Running org.apache.phoenix.tx.TxCheckpointIT +Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 81.382 sec - in org.apache.phoenix.trace.PhoenixTracingEndToEndIT +Tests run: 21, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 144.194 sec - in org.apache.phoenix.tx.TransactionIT +Tests run: 20, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 141.12 sec - in org.apache.phoenix.tx.TxCheckpointIT +Tests run: 40, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 539.189 sec - in org.apache.phoenix.end2end.index.MutableIndexIT + +Results : + +Tests run: 1068, Failures: 0, Errors: 0, Skipped: 5 + +[INFO] +[INFO] --- maven-failsafe-plugin:2.19.1:verify (HBaseManagedTimeTableReuseTest) @ phoenix-core --- +[INFO] ------------------------------------------------------------------------ +[INFO] Reactor Summary: +[INFO] +[INFO] Apache Phoenix ..................................... SUCCESS [ 1.275 s] +[INFO] Phoenix Core ....................................... FAILURE [20:56 min] +[INFO] Phoenix - Flume .................................... SKIPPED +[INFO] Phoenix - Pig ...................................... SKIPPED +[INFO] Phoenix Query Server Client ........................ SKIPPED +[INFO] Phoenix Query Server ............................... SKIPPED +[INFO] Phoenix - Pherf .................................... SKIPPED +[INFO] Phoenix - Spark .................................... SKIPPED +[INFO] Phoenix - Hive ..................................... SKIPPED +[INFO] Phoenix Client ..................................... SKIPPED +[INFO] Phoenix Server ..................................... SKIPPED +[INFO] Phoenix Assembly ................................... SKIPPED +[INFO] Phoenix - Tracing Web Application .................. SKIPPED +[INFO] ------------------------------------------------------------------------ +[INFO] BUILD FAILURE +[INFO] ------------------------------------------------------------------------ +[INFO] Total time: 20:58 min +[INFO] Finished at: 2016-08-02T13:32:09-07:00 +[INFO] Final Memory: 80M/1511M +[INFO] ------------------------------------------------------------------------ +[ERROR] Failed to execute goal org.apache.maven.plugins:maven-failsafe-plugin:2.19.1:verify (HBaseManagedTimeTableReuseTest) on project phoenix-core: There was a timeout or other error in the fork -> [Help 1] +[ERROR] +[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. +[ERROR] Re-run Maven using the -X switch to enable full debug logging. +[ERROR] +[ERROR] For more information about the errors and possible solutions, please read the following articles: +[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException +[ERROR] +[ERROR] After correcting the problems, you can resume the build with the command +[ERROR] mvn -rf :phoenix-core From 2abf3c64db4ab61d0e7c3ebc9f7109f4f3cdb963 Mon Sep 17 00:00:00 2001 From: prakul Date: Tue, 2 Aug 2016 16:44:47 -0700 Subject: [PATCH 15/17] Further fixes --- .../org/apache/phoenix/end2end/CountDistinctCompressionIT.java | 2 +- .../src/it/java/org/apache/phoenix/end2end/UpgradeIT.java | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/CountDistinctCompressionIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CountDistinctCompressionIT.java index b4c84b03304..5ef5c5e05a4 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/CountDistinctCompressionIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CountDistinctCompressionIT.java @@ -51,7 +51,7 @@ public static void doSetup() throws Exception { @Test public void testDistinctCountOnColumn() throws Exception { String tenantId = getOrganizationId(); - initATableValues(tenantId, getDefaultSplits(tenantId), (Date)null, getUrl()); + initATableValues("aTable", tenantId, getDefaultSplits(tenantId), (Date)null, null, getUrl()); String query = "SELECT count(DISTINCT A_STRING) FROM aTable"; 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 70d721367c4..097ed03216b 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 @@ -386,6 +386,7 @@ public void testSettingBaseColumnCountForMultipleViewsOnTable() throws Exception String tenantView2 = generateRandomString(); String tenantView3 = generateRandomString(); + for (int i = 1; i <=2; i++) { // Create views for tenants; String tenant = "tenant" + i; From 5f0d3d02ac9ee60a9f0322b37a8927b21ff7ca9f Mon Sep 17 00:00:00 2001 From: prakul Date: Tue, 2 Aug 2016 17:28:03 -0700 Subject: [PATCH 16/17] deleting .DS_Store file --- .DS_Store | Bin 8196 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 11e4d6ca75fdc3c30a4b2f06f2bc5efc29488f21..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8196 zcmeHM%We}f6g}=lX{r1VRBBkjjyxu5MA`{?k?!&td=d*j zfKT8r!nyVc`H@zL1&UO=8sFA)&%Ng!dpvOpKpoF}&wxV!C0=4HWp*2y+?Ok8JNd|C zT17mvZfBHr_*W(HjRR4Es6bR8Di9Tj3T%f0d}m85-SFNwcVizFhzi_E1!RAy@)BFm z?aElab+FS%0NMhFb>r{)!#{0R259TKT^Y*}Hf5l+2CDKShRV+l%D{QQp8KziHE<}M znQ`*WDnFs9{OF;o+8wHHZ0w@~QGrkaIlCw5V2G=ek#l~3#XC>dx@p)Rz2@{Ap@$k~ zSYqZOet3u?y2x;aK2ZbLSDkyl38SW1cwRp}uL8X?MxDBT5U$@Wt|i7=qK!+8$u|xB zg{kddz#BC25iK{aW@-EF;uI%%N#A#9q3L-GTid(L{0r89iZi^%bE-BXdtV8nk|QGb z*K77bk+IM4-sEvJfV@@7sT&S*1ALdLp^oRx zt|CtdyT1XOVS?1nDRZNi7Uz2buFsrvGWL;Dt&I#bUXbg;$LT6;M$uKVdViGzF?aF`L*rUKmm zFd&Pstf#|~F~(jju74+%zcy-&aT(05sPNrVVV99J`qlWfhTc-C?Y)O{?lmvaz+2iH z5j~F;pJ)%kCy=W}wB5Yl5TW;*a=zar^qrvV#g%GpCPl7ZQFy?(-p(L1og7&;>TN7` zTdzQ37#_;`zj^cb|65;2Bp4Nl3jDhQs?caPj)~9D)o=wJAE9d o)yHw#KmRb~?^U`Ark>lCu^eIh?_UJCpO@qNKfeF@~ From 867b5680b809c4f48f86dc12b393a4655f777e72 Mon Sep 17 00:00:00 2001 From: prakul Date: Tue, 2 Aug 2016 17:31:37 -0700 Subject: [PATCH 17/17] deleted log files --- mvnLOG3.log | 1094 --------------------------------------------------- reuse.log | 710 --------------------------------- 2 files changed, 1804 deletions(-) delete mode 100644 mvnLOG3.log delete mode 100644 reuse.log diff --git a/mvnLOG3.log b/mvnLOG3.log deleted file mode 100644 index 180254b27e9..00000000000 --- a/mvnLOG3.log +++ /dev/null @@ -1,1094 +0,0 @@ -[INFO] Scanning for projects... -[INFO] ------------------------------------------------------------------------ -[INFO] Reactor Build Order: -[INFO] -[INFO] Apache Phoenix -[INFO] Phoenix Core -[INFO] Phoenix - Flume -[INFO] Phoenix - Pig -[INFO] Phoenix Query Server Client -[INFO] Phoenix Query Server -[INFO] Phoenix - Pherf -[INFO] Phoenix - Spark -[INFO] Phoenix - Hive -[INFO] Phoenix Client -[INFO] Phoenix Server -[INFO] Phoenix Assembly -[INFO] Phoenix - Tracing Web Application -[INFO] -[INFO] ------------------------------------------------------------------------ -[INFO] Building Apache Phoenix 4.8.0-HBase-1.2-SNAPSHOT -[INFO] ------------------------------------------------------------------------ -[INFO] -[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ phoenix --- -[INFO] Deleting /Users/prakul.agarwal/Documents/works/prPhoenix/target -[INFO] -[INFO] --- maven-checkstyle-plugin:2.13:check (validate) @ phoenix --- -[INFO] -[INFO] --- maven-remote-resources-plugin:1.5:process (default) @ phoenix --- -[INFO] -[INFO] --- maven-source-plugin:2.2.1:jar-no-fork (attach-sources) @ phoenix --- -[INFO] -[INFO] --- maven-jar-plugin:2.4:test-jar (default) @ phoenix --- -[WARNING] JAR will be empty - no content was marked for inclusion! -[INFO] Building jar: /Users/prakul.agarwal/Documents/works/prPhoenix/target/phoenix-4.8.0-HBase-1.2-SNAPSHOT-tests.jar -[INFO] -[INFO] --- maven-site-plugin:3.2:attach-descriptor (attach-descriptor) @ phoenix --- -[INFO] -[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ phoenix --- -[INFO] Installing /Users/prakul.agarwal/Documents/works/prPhoenix/pom.xml to /Users/prakul.agarwal/.m2/repository/org/apache/phoenix/phoenix/4.8.0-HBase-1.2-SNAPSHOT/phoenix-4.8.0-HBase-1.2-SNAPSHOT.pom -[INFO] Installing /Users/prakul.agarwal/Documents/works/prPhoenix/target/phoenix-4.8.0-HBase-1.2-SNAPSHOT-tests.jar to /Users/prakul.agarwal/.m2/repository/org/apache/phoenix/phoenix/4.8.0-HBase-1.2-SNAPSHOT/phoenix-4.8.0-HBase-1.2-SNAPSHOT-tests.jar -[INFO] -[INFO] ------------------------------------------------------------------------ -[INFO] Building Phoenix Core 4.8.0-HBase-1.2-SNAPSHOT -[INFO] ------------------------------------------------------------------------ -[INFO] -[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ phoenix-core --- -[INFO] Deleting /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target -[INFO] -[INFO] --- maven-checkstyle-plugin:2.13:check (validate) @ phoenix-core --- -[INFO] -[INFO] --- build-helper-maven-plugin:1.9.1:add-test-source (add-test-source) @ phoenix-core --- -[INFO] Test Source directory: /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/it/java added. -[INFO] -[INFO] --- build-helper-maven-plugin:1.9.1:add-test-resource (add-test-resource) @ phoenix-core --- -[INFO] -[INFO] --- build-helper-maven-plugin:1.9.1:add-source (add-source) @ phoenix-core --- -[INFO] Source directory: /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/generated-sources/antlr3 added. -[INFO] Source directory: /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/antlr3 added. -[INFO] -[INFO] --- antlr3-maven-plugin:3.5.2:antlr (default) @ phoenix-core --- -[INFO] ANTLR: Processing source directory /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/antlr3 -Output file /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/generated-sources/antlr3/org/apache/phoenix/parse/PhoenixSQLParser.java does not exist: must build /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/antlr3/PhoenixSQL.g -PhoenixSQL.g -[INFO] -[INFO] --- maven-dependency-plugin:2.1:build-classpath (create-phoenix-generated-classpath) @ phoenix-core --- -[INFO] Wrote classpath file '/Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/cached_classpath.txt'. -[INFO] -[INFO] --- maven-remote-resources-plugin:1.5:process (default) @ phoenix-core --- -[INFO] -[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ phoenix-core --- -[INFO] Using 'UTF-8' encoding to copy filtered resources. -[INFO] Copying 1 resource to META-INF/services -[INFO] Copying 3 resources -[INFO] -[INFO] --- maven-compiler-plugin:3.0:compile (default-compile) @ phoenix-core --- -[INFO] Changes detected - recompiling the module! -[INFO] Compiling 951 source files to /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/classes -[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/java/org/apache/phoenix/execute/DescVarLengthFastByteComparisons.java:[25,16] sun.misc.Unsafe is internal proprietary API and may be removed in a future release -[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/java/org/apache/phoenix/execute/DescVarLengthFastByteComparisons.java:[116,26] sun.misc.Unsafe is internal proprietary API and may be removed in a future release -[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/java/org/apache/phoenix/execute/DescVarLengthFastByteComparisons.java:[122,30] sun.misc.Unsafe is internal proprietary API and may be removed in a future release -[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/java/org/apache/phoenix/execute/DescVarLengthFastByteComparisons.java:[126,39] sun.misc.Unsafe is internal proprietary API and may be removed in a future release -[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServices.java: Some input files use or override a deprecated API. -[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServices.java: Recompile with -Xlint:deprecation for details. -[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixStatement.java: Some input files use unchecked or unsafe operations. -[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixStatement.java: Recompile with -Xlint:unchecked for details. -[INFO] -[INFO] --- maven-dependency-plugin:2.1:build-classpath (create-mrapp-generated-classpath) @ phoenix-core --- -[INFO] Wrote classpath file '/Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/classes/mrapp-generated-classpath'. -[INFO] -[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ phoenix-core --- -[INFO] Using 'UTF-8' encoding to copy filtered resources. -[INFO] Copying 2 resources -[INFO] Copying 2 resources -[INFO] Copying 3 resources -[INFO] -[INFO] --- maven-compiler-plugin:3.0:testCompile (default-testCompile) @ phoenix-core --- -[INFO] Changes detected - recompiling the module! -[INFO] Compiling 406 source files to /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/test-classes -[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/test/java/org/apache/phoenix/util/TestUtil.java: Some input files use or override a deprecated API. -[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/test/java/org/apache/phoenix/util/TestUtil.java: Recompile with -Xlint:deprecation for details. -[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java: Some input files use unchecked or unsafe operations. -[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java: Recompile with -Xlint:unchecked for details. -[INFO] -[INFO] --- maven-surefire-plugin:2.19.1:test (default-test) @ phoenix-core --- - -------------------------------------------------------- - T E S T S -------------------------------------------------------- -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 -Running org.apache.hadoop.hbase.ipc.PhoenixIndexRpcSchedulerTest -Running org.apache.hadoop.hbase.regionserver.PhoenixRpcSchedulerFactoryTest -Running org.apache.phoenix.cache.JodaTimezoneCacheTest -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.241 sec - in org.apache.hadoop.hbase.regionserver.PhoenixRpcSchedulerFactoryTest -Running org.apache.phoenix.cache.TenantCacheTest -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.074 sec - in org.apache.phoenix.cache.TenantCacheTest -Running org.apache.phoenix.compile.HavingCompilerTest -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.452 sec - in org.apache.phoenix.cache.JodaTimezoneCacheTest -Running org.apache.phoenix.compile.JoinQueryCompilerTest -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.463 sec - in org.apache.hadoop.hbase.ipc.PhoenixIndexRpcSchedulerTest -Running org.apache.phoenix.compile.LimitCompilerTest -Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.23 sec - in org.apache.phoenix.compile.HavingCompilerTest -Running org.apache.phoenix.compile.QueryCompilerTest -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.254 sec - in org.apache.phoenix.compile.JoinQueryCompilerTest -Running org.apache.phoenix.compile.QueryMetaDataTest -Tests run: 33, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.453 sec - in org.apache.phoenix.compile.QueryMetaDataTest -Running org.apache.phoenix.compile.QueryOptimizerTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.727 sec - in org.apache.phoenix.compile.LimitCompilerTest -Running org.apache.phoenix.compile.ScanRangesIntersectTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.compile.ScanRangesIntersectTest -Running org.apache.phoenix.compile.ScanRangesTest -Tests run: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.047 sec - in org.apache.phoenix.compile.ScanRangesTest -Running org.apache.phoenix.compile.SelectStatementRewriterTest -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.33 sec - in org.apache.phoenix.compile.SelectStatementRewriterTest -Running org.apache.phoenix.compile.StatementHintsCompilationTest -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.504 sec - in org.apache.phoenix.compile.StatementHintsCompilationTest -Running org.apache.phoenix.compile.TenantSpecificViewIndexCompileTest -Tests run: 122, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.707 sec - in org.apache.phoenix.compile.QueryCompilerTest -Running org.apache.phoenix.compile.ViewCompilerTest -Tests run: 42, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.158 sec - in org.apache.phoenix.compile.QueryOptimizerTest -Running org.apache.phoenix.compile.WhereCompilerTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.297 sec - in org.apache.phoenix.compile.ViewCompilerTest -Running org.apache.phoenix.compile.WhereOptimizerTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.638 sec - in org.apache.phoenix.compile.TenantSpecificViewIndexCompileTest -Running org.apache.phoenix.execute.CorrelatePlanTest -Tests run: 45, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.427 sec - in org.apache.phoenix.compile.WhereCompilerTest -Running org.apache.phoenix.execute.DescVarLengthFastByteComparisonsTest -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 sec - in org.apache.phoenix.execute.DescVarLengthFastByteComparisonsTest -Running org.apache.phoenix.execute.LiteralResultIteratorPlanTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.086 sec - in org.apache.phoenix.execute.LiteralResultIteratorPlanTest -Running org.apache.phoenix.execute.MutationStateTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.execute.MutationStateTest -Running org.apache.phoenix.execute.UnnestArrayPlanTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.01 sec - in org.apache.phoenix.execute.UnnestArrayPlanTest -Running org.apache.phoenix.expression.AbsFunctionTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.157 sec - in org.apache.phoenix.execute.CorrelatePlanTest -Running org.apache.phoenix.expression.ArithmeticOperationTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.012 sec - in org.apache.phoenix.expression.AbsFunctionTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.012 sec - in org.apache.phoenix.expression.ArithmeticOperationTest -Running org.apache.phoenix.expression.ArrayAppendFunctionTest -Running org.apache.phoenix.expression.ArrayConcatFunctionTest -Tests run: 25, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.267 sec - in org.apache.phoenix.expression.ArrayAppendFunctionTest -Running org.apache.phoenix.expression.ArrayFillFunctionTest -Tests run: 14, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.008 sec - in org.apache.phoenix.expression.ArrayFillFunctionTest -Running org.apache.phoenix.expression.ArrayPrependFunctionTest -Tests run: 105, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.621 sec - in org.apache.phoenix.compile.WhereOptimizerTest -Running org.apache.phoenix.expression.ArrayToStringFunctionTest -Tests run: 24, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.02 sec - in org.apache.phoenix.expression.ArrayToStringFunctionTest -Running org.apache.phoenix.expression.CbrtFunctionTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 sec - in org.apache.phoenix.expression.CbrtFunctionTest -Running org.apache.phoenix.expression.CoerceExpressionTest -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.expression.CoerceExpressionTest -Running org.apache.phoenix.expression.ColumnExpressionTest -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.expression.ColumnExpressionTest -Running org.apache.phoenix.expression.DeterminismTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.expression.DeterminismTest -Running org.apache.phoenix.expression.ExpFunctionTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec - in org.apache.phoenix.expression.ExpFunctionTest -Running org.apache.phoenix.expression.function.BuiltinFunctionConstructorTest -Tests run: 37, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.111 sec - in org.apache.phoenix.expression.ArrayPrependFunctionTest -Running org.apache.phoenix.expression.function.ExternalSqlTypeIdFunctionTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.expression.function.ExternalSqlTypeIdFunctionTest -Running org.apache.phoenix.expression.function.InstrFunctionTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.expression.function.InstrFunctionTest -Running org.apache.phoenix.expression.GetSetByteBitFunctionTest -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.054 sec - in org.apache.phoenix.expression.function.BuiltinFunctionConstructorTest -Running org.apache.phoenix.expression.ILikeExpressionTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.203 sec - in org.apache.phoenix.expression.ILikeExpressionTest -Running org.apache.phoenix.expression.LikeExpressionTest -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.008 sec - in org.apache.phoenix.expression.LikeExpressionTest -Running org.apache.phoenix.expression.LnLogFunctionTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.014 sec - in org.apache.phoenix.expression.LnLogFunctionTest -Running org.apache.phoenix.expression.NullValueTest -Tests run: 35, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.756 sec - in org.apache.phoenix.expression.ArrayConcatFunctionTest -Running org.apache.phoenix.expression.OctetLengthFunctionTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 sec - in org.apache.phoenix.expression.OctetLengthFunctionTest -Running org.apache.phoenix.expression.PowerFunctionTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.142 sec - in org.apache.phoenix.expression.NullValueTest -Running org.apache.phoenix.expression.RegexpReplaceFunctionTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.013 sec - in org.apache.phoenix.expression.PowerFunctionTest -Running org.apache.phoenix.expression.RegexpSplitFunctionTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.008 sec - in org.apache.phoenix.expression.RegexpReplaceFunctionTest -Running org.apache.phoenix.expression.RegexpSubstrFunctionTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.expression.RegexpSubstrFunctionTest -Running org.apache.phoenix.expression.RoundFloorCeilExpressionsTest -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.477 sec - in org.apache.phoenix.expression.GetSetByteBitFunctionTest -Running org.apache.phoenix.expression.SignFunctionTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.008 sec - in org.apache.phoenix.expression.SignFunctionTest -Running org.apache.phoenix.expression.SortOrderExpressionTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.136 sec - in org.apache.phoenix.expression.RegexpSplitFunctionTest -Running org.apache.phoenix.expression.SqrtFunctionTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 sec - in org.apache.phoenix.expression.SqrtFunctionTest -Running org.apache.phoenix.expression.StringToArrayFunctionTest -Tests run: 20, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 sec - in org.apache.phoenix.expression.StringToArrayFunctionTest -Running org.apache.phoenix.expression.util.regex.PatternPerformanceTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.expression.util.regex.PatternPerformanceTest -Running org.apache.phoenix.filter.DistinctPrefixFilterTest -Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.012 sec - in org.apache.phoenix.filter.DistinctPrefixFilterTest -Running org.apache.phoenix.filter.SkipScanBigFilterTest -Tests run: 22, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.176 sec - in org.apache.phoenix.expression.RoundFloorCeilExpressionsTest -Running org.apache.phoenix.filter.SkipScanFilterIntersectTest -Tests run: 19, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.032 sec - in org.apache.phoenix.filter.SkipScanFilterIntersectTest -Running org.apache.phoenix.filter.SkipScanFilterTest -Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.028 sec - in org.apache.phoenix.filter.SkipScanFilterTest -Running org.apache.phoenix.hbase.index.covered.data.TestIndexMemStore -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.015 sec - in org.apache.phoenix.hbase.index.covered.data.TestIndexMemStore -Running org.apache.phoenix.hbase.index.covered.example.TestColumnTracker -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.hbase.index.covered.example.TestColumnTracker -Running org.apache.phoenix.hbase.index.covered.example.TestCoveredColumnIndexCodec -Tests run: 24, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.172 sec - in org.apache.phoenix.expression.SortOrderExpressionTest -Running org.apache.phoenix.hbase.index.covered.example.TestCoveredIndexSpecifierBuilder -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec - in org.apache.phoenix.hbase.index.covered.example.TestCoveredIndexSpecifierBuilder -Running org.apache.phoenix.hbase.index.covered.filter.TestApplyAndFilterDeletesFilter -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.013 sec - in org.apache.phoenix.hbase.index.covered.filter.TestApplyAndFilterDeletesFilter -Running org.apache.phoenix.hbase.index.covered.filter.TestNewerTimestampFilter -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.hbase.index.covered.filter.TestNewerTimestampFilter -Running org.apache.phoenix.hbase.index.covered.TestCoveredColumns -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.hbase.index.covered.TestCoveredColumns -Running org.apache.phoenix.hbase.index.covered.TestLocalTableState -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.204 sec - in org.apache.phoenix.filter.SkipScanBigFilterTest -Running org.apache.phoenix.hbase.index.covered.update.TestIndexUpdateManager -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec - in org.apache.phoenix.hbase.index.covered.update.TestIndexUpdateManager -Running org.apache.phoenix.hbase.index.parallel.TestThreadPoolBuilder -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec - in org.apache.phoenix.hbase.index.parallel.TestThreadPoolBuilder -Running org.apache.phoenix.hbase.index.parallel.TestThreadPoolManager -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.094 sec - in org.apache.phoenix.hbase.index.covered.TestLocalTableState -Running org.apache.phoenix.hbase.index.util.TestIndexManagementUtil -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.012 sec - in org.apache.phoenix.hbase.index.parallel.TestThreadPoolManager -Running org.apache.phoenix.hbase.index.write.recovery.TestPerRegionIndexWriteCache -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.012 sec - in org.apache.phoenix.hbase.index.util.TestIndexManagementUtil -Running org.apache.phoenix.hbase.index.write.TestCachingHTableFactory -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.034 sec - in org.apache.phoenix.hbase.index.write.TestCachingHTableFactory -Running org.apache.phoenix.hbase.index.write.TestIndexWriter -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.209 sec - in org.apache.phoenix.hbase.index.covered.example.TestCoveredColumnIndexCodec -Running org.apache.phoenix.hbase.index.write.TestParalleIndexWriter -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.05 sec - in org.apache.phoenix.hbase.index.write.TestIndexWriter -Running org.apache.phoenix.hbase.index.write.TestParalleWriterIndexCommitter -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 sec - in org.apache.phoenix.hbase.index.write.TestParalleWriterIndexCommitter -Running org.apache.phoenix.hbase.index.write.TestWALRecoveryCaching -Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.009 sec - in org.apache.phoenix.hbase.index.write.TestWALRecoveryCaching -Running org.apache.phoenix.index.automated.MRJobSubmitterTest -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.094 sec - in org.apache.phoenix.hbase.index.write.TestParalleIndexWriter -Running org.apache.phoenix.index.IndexMaintainerTest -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.124 sec - in org.apache.phoenix.index.automated.MRJobSubmitterTest -Running org.apache.phoenix.iterate.AggregateResultScannerTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.173 sec - in org.apache.phoenix.iterate.AggregateResultScannerTest -Running org.apache.phoenix.iterate.ConcatResultIteratorTest -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.iterate.ConcatResultIteratorTest -Running org.apache.phoenix.iterate.MergeSortResultIteratorTest -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.iterate.MergeSortResultIteratorTest -Running org.apache.phoenix.iterate.RowKeyOrderedAggregateResultIteratorTest -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.16 sec - in org.apache.phoenix.iterate.RowKeyOrderedAggregateResultIteratorTest -Running org.apache.phoenix.iterate.SpoolingResultIteratorTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.022 sec - in org.apache.phoenix.iterate.SpoolingResultIteratorTest -Running org.apache.phoenix.jdbc.PhoenixDriverTest -Tests run: 24, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.464 sec - in org.apache.phoenix.index.IndexMaintainerTest -Running org.apache.phoenix.jdbc.PhoenixEmbeddedDriverTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.075 sec - in org.apache.phoenix.jdbc.PhoenixEmbeddedDriverTest -Running org.apache.phoenix.jdbc.PhoenixPreparedStatementTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.804 sec - in org.apache.phoenix.hbase.index.write.recovery.TestPerRegionIndexWriteCache -Running org.apache.phoenix.jdbc.PhoenixResultSetMetadataTest -Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.166 sec - in org.apache.phoenix.jdbc.PhoenixPreparedStatementTest -Running org.apache.phoenix.jdbc.ReadOnlyPropertiesTest -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.jdbc.ReadOnlyPropertiesTest -Running org.apache.phoenix.mapreduce.bulkload.TestTableRowkeyPair -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec - in org.apache.phoenix.mapreduce.bulkload.TestTableRowkeyPair -Running org.apache.phoenix.mapreduce.BulkLoadToolTest -Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.018 sec - in org.apache.phoenix.mapreduce.BulkLoadToolTest -Running org.apache.phoenix.mapreduce.CsvBulkImportUtilTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.445 sec - in org.apache.phoenix.jdbc.PhoenixDriverTest -Running org.apache.phoenix.mapreduce.CsvToKeyValueMapperTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.248 sec - in org.apache.phoenix.jdbc.PhoenixResultSetMetadataTest -Running org.apache.phoenix.mapreduce.FormatToBytesWritableMapperTest -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.013 sec - in org.apache.phoenix.mapreduce.CsvToKeyValueMapperTest -Running org.apache.phoenix.mapreduce.util.ColumnInfoToStringEncoderDecoderTest -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.077 sec - in org.apache.phoenix.mapreduce.util.ColumnInfoToStringEncoderDecoderTest -Running org.apache.phoenix.mapreduce.util.PhoenixConfigurationUtilTest -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.34 sec - in org.apache.phoenix.mapreduce.CsvBulkImportUtilTest -Running org.apache.phoenix.memory.MemoryManagerTest -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.204 sec - in org.apache.phoenix.mapreduce.FormatToBytesWritableMapperTest -Running org.apache.phoenix.parse.BuiltInFunctionInfoTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.parse.BuiltInFunctionInfoTest -Running org.apache.phoenix.parse.CastParseNodeTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.parse.CastParseNodeTest -Running org.apache.phoenix.parse.QueryParserTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 3, Time elapsed: 0.033 sec - in org.apache.phoenix.memory.MemoryManagerTest -Running org.apache.phoenix.query.ConnectionlessTest -Tests run: 59, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.06 sec - in org.apache.phoenix.parse.QueryParserTest -Running org.apache.phoenix.query.HBaseFactoryProviderTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 sec - in org.apache.phoenix.query.HBaseFactoryProviderTest -Running org.apache.phoenix.query.KeyRangeCoalesceTest -Tests run: 13, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.038 sec - in org.apache.phoenix.query.KeyRangeCoalesceTest -Running org.apache.phoenix.query.KeyRangeIntersectTest -Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.008 sec - in org.apache.phoenix.query.KeyRangeIntersectTest -Running org.apache.phoenix.query.KeyRangeUnionTest -Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 sec - in org.apache.phoenix.query.KeyRangeUnionTest -Running org.apache.phoenix.query.OrderByTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.273 sec - in org.apache.phoenix.query.ConnectionlessTest -Running org.apache.phoenix.query.ParallelIteratorsSplitTest -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.22 sec - in org.apache.phoenix.query.OrderByTest -Running org.apache.phoenix.query.PhoenixStatsCacheRemovalListenerTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.query.PhoenixStatsCacheRemovalListenerTest -Running org.apache.phoenix.query.QueryPlanTest -Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.556 sec - in org.apache.phoenix.mapreduce.util.PhoenixConfigurationUtilTest -Running org.apache.phoenix.query.ScannerLeaseRenewalTest -Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.208 sec - in org.apache.phoenix.query.ParallelIteratorsSplitTest -Running org.apache.phoenix.schema.MutationTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.196 sec - in org.apache.phoenix.schema.MutationTest -Running org.apache.phoenix.schema.PCharPadTest -Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.schema.PCharPadTest -Running org.apache.phoenix.schema.PMetaDataImplTest -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 sec - in org.apache.phoenix.schema.PMetaDataImplTest -Running org.apache.phoenix.schema.RowKeySchemaTest -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.442 sec - in org.apache.phoenix.query.QueryPlanTest -Running org.apache.phoenix.schema.RowKeyValueAccessorTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.164 sec - in org.apache.phoenix.schema.RowKeySchemaTest -Running org.apache.phoenix.schema.SaltingUtilTest -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.schema.SaltingUtilTest -Running org.apache.phoenix.schema.SchemaUtilTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.schema.SchemaUtilTest -Running org.apache.phoenix.schema.SequenceAllocationTest -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.schema.SequenceAllocationTest -Running org.apache.phoenix.schema.SortOrderTest -Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.schema.SortOrderTest -Running org.apache.phoenix.schema.types.PDataTypeForArraysTest -Tests run: 68, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.017 sec - in org.apache.phoenix.schema.types.PDataTypeForArraysTest -Running org.apache.phoenix.schema.types.PDataTypeTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.165 sec - in org.apache.phoenix.schema.RowKeyValueAccessorTest -Running org.apache.phoenix.schema.types.PDateArrayToStringTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec - in org.apache.phoenix.schema.types.PDateArrayToStringTest -Running org.apache.phoenix.schema.types.PrimitiveBooleanPhoenixArrayToStringTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.schema.types.PrimitiveBooleanPhoenixArrayToStringTest -Running org.apache.phoenix.schema.types.PrimitiveBytePhoenixArrayToStringTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.schema.types.PrimitiveBytePhoenixArrayToStringTest -Running org.apache.phoenix.schema.types.PrimitiveDoublePhoenixArrayToStringTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.schema.types.PrimitiveDoublePhoenixArrayToStringTest -Running org.apache.phoenix.schema.types.PrimitiveFloatPhoenixArrayToStringTest -Tests run: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.056 sec - in org.apache.phoenix.schema.types.PDataTypeTest -Running org.apache.phoenix.schema.types.PrimitiveIntPhoenixArrayToStringTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.schema.types.PrimitiveFloatPhoenixArrayToStringTest -Running org.apache.phoenix.schema.types.PrimitiveLongPhoenixArrayToStringTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.schema.types.PrimitiveIntPhoenixArrayToStringTest -Running org.apache.phoenix.schema.types.PrimitiveShortPhoenixArrayToStringTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.schema.types.PrimitiveLongPhoenixArrayToStringTest -Running org.apache.phoenix.schema.types.PVarcharArrayToStringTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.schema.types.PrimitiveShortPhoenixArrayToStringTest -Running org.apache.phoenix.schema.ValueBitSetTest -Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.schema.types.PVarcharArrayToStringTest -Running org.apache.phoenix.trace.TraceMetricsSourceTest -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.schema.ValueBitSetTest -Running org.apache.phoenix.util.Base62EncoderTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.019 sec - in org.apache.phoenix.util.Base62EncoderTest -Running org.apache.phoenix.util.ByteUtilTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.012 sec - in org.apache.phoenix.util.ByteUtilTest -Running org.apache.phoenix.util.ColumnInfoTest -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec - in org.apache.phoenix.util.ColumnInfoTest -Running org.apache.phoenix.util.csv.CsvUpsertExecutorTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.2 sec - in org.apache.phoenix.util.csv.CsvUpsertExecutorTest -Running org.apache.phoenix.util.csv.StringToArrayConverterTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.342 sec - in org.apache.phoenix.trace.TraceMetricsSourceTest -Running org.apache.phoenix.util.DateUtilTest -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.1 sec - in org.apache.phoenix.util.csv.StringToArrayConverterTest -Running org.apache.phoenix.util.IndexUtilTest -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.util.IndexUtilTest -Running org.apache.phoenix.util.JDBCUtilTest -Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.util.JDBCUtilTest -Tests run: 22, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.015 sec - in org.apache.phoenix.util.DateUtilTest -Running org.apache.phoenix.util.LikeExpressionTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.util.LikeExpressionTest -Running org.apache.phoenix.util.LogUtilTest -Running org.apache.phoenix.util.json.JsonUpsertExecutorTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.052 sec - in org.apache.phoenix.util.LogUtilTest -Running org.apache.phoenix.util.MetaDataUtilTest -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.03 sec - in org.apache.phoenix.util.MetaDataUtilTest -Running org.apache.phoenix.util.PhoenixContextExecutorTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.util.PhoenixContextExecutorTest -Running org.apache.phoenix.util.PhoenixEncodeDecodeTest -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.116 sec - in org.apache.phoenix.util.json.JsonUpsertExecutorTest -Running org.apache.phoenix.util.PhoenixRuntimeTest -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.16 sec - in org.apache.phoenix.util.PhoenixEncodeDecodeTest -Running org.apache.phoenix.util.PrefixByteEncoderDecoderTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.util.PrefixByteEncoderDecoderTest -Running org.apache.phoenix.util.PropertiesUtilTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.024 sec - in org.apache.phoenix.util.PropertiesUtilTest -Running org.apache.phoenix.util.QueryUtilTest -Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec - in org.apache.phoenix.util.QueryUtilTest -Running org.apache.phoenix.util.ScanUtilTest -Tests run: 20, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.008 sec - in org.apache.phoenix.util.ScanUtilTest -Running org.apache.phoenix.util.SequenceUtilTest -Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec - in org.apache.phoenix.util.SequenceUtilTest -Running org.apache.phoenix.util.StringUtilTest -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.008 sec - in org.apache.phoenix.util.StringUtilTest -Running org.apache.phoenix.util.TenantIdByteConversionTest -Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.014 sec - in org.apache.phoenix.util.TenantIdByteConversionTest -Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.285 sec - in org.apache.phoenix.util.PhoenixRuntimeTest -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.489 sec - in org.apache.phoenix.query.ScannerLeaseRenewalTest - -Results : - -Tests run: 1375, Failures: 0, Errors: 0, Skipped: 5 - -[INFO] -[INFO] --- maven-source-plugin:2.2.1:jar-no-fork (attach-sources) @ phoenix-core --- -[INFO] Building jar: /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/phoenix-core-4.8.0-HBase-1.2-SNAPSHOT-sources.jar -[INFO] -[INFO] --- maven-jar-plugin:2.4:test-jar (default) @ phoenix-core --- -[INFO] Building jar: /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/phoenix-core-4.8.0-HBase-1.2-SNAPSHOT-tests.jar -[INFO] -[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ phoenix-core --- -[INFO] Building jar: /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/phoenix-core-4.8.0-HBase-1.2-SNAPSHOT.jar -[INFO] -[INFO] --- maven-site-plugin:3.2:attach-descriptor (attach-descriptor) @ phoenix-core --- -[INFO] -[INFO] --- maven-assembly-plugin:2.5.2:single (core) @ phoenix-core --- -[INFO] Reading assembly descriptor: src/build/phoenix-core.xml -[WARNING] Artifact: org.apache.phoenix:phoenix-core:jar:4.8.0-HBase-1.2-SNAPSHOT references the same file as the assembly destination file. Moving it to a temporary location for inclusion. -[INFO] Building jar: /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/phoenix-core-4.8.0-HBase-1.2-SNAPSHOT.jar -[INFO] -[INFO] --- maven-failsafe-plugin:2.19.1:integration-test (ClientManagedTimeTests) @ phoenix-core --- - -------------------------------------------------------- - T E S T S -------------------------------------------------------- -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 -Running org.apache.phoenix.end2end.AggregateQueryIT -Running org.apache.phoenix.end2end.ArrayIT -Running org.apache.phoenix.end2end.CastAndCoerceIT -Running org.apache.phoenix.end2end.CaseStatementIT -Running org.apache.phoenix.end2end.ClientTimeArithmeticQueryIT -Tests run: 49, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 41.869 sec - in org.apache.phoenix.end2end.CastAndCoerceIT -Running org.apache.phoenix.end2end.ColumnProjectionOptimizationIT -Tests run: 63, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 42.15 sec - in org.apache.phoenix.end2end.CaseStatementIT -Running org.apache.phoenix.end2end.CreateSchemaIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.125 sec - in org.apache.phoenix.end2end.CreateSchemaIT -Running org.apache.phoenix.end2end.CreateTableIT -Tests run: 42, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 55.682 sec - in org.apache.phoenix.end2end.AggregateQueryIT -Running org.apache.phoenix.end2end.CustomEntityDataIT -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.931 sec - in org.apache.phoenix.end2end.CustomEntityDataIT -Running org.apache.phoenix.end2end.DerivedTableIT -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 24.717 sec - in org.apache.phoenix.end2end.ColumnProjectionOptimizationIT -Running org.apache.phoenix.end2end.DistinctCountIT -Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.253 sec - in org.apache.phoenix.end2end.DerivedTableIT -Running org.apache.phoenix.end2end.DropSchemaIT -Tests run: 79, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 76.526 sec - in org.apache.phoenix.end2end.ArrayIT -Running org.apache.phoenix.end2end.ExtendedQueryExecIT -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.985 sec - in org.apache.phoenix.end2end.ExtendedQueryExecIT -Running org.apache.phoenix.end2end.FunkyNamesIT -Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 16.996 sec - in org.apache.phoenix.end2end.DistinctCountIT -Running org.apache.phoenix.end2end.GroupByIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.556 sec - in org.apache.phoenix.end2end.DropSchemaIT -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.878 sec - in org.apache.phoenix.end2end.FunkyNamesIT -Running org.apache.phoenix.end2end.NotQueryIT -Running org.apache.phoenix.end2end.NativeHBaseTypesIT -Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.009 sec <<< FAILURE! - in org.apache.phoenix.end2end.NativeHBaseTypesIT -org.apache.phoenix.end2end.NativeHBaseTypesIT Time elapsed: 0.009 sec <<< ERROR! -java.lang.NullPointerException - at org.apache.phoenix.end2end.NativeHBaseTypesIT.initTableValues(NativeHBaseTypesIT.java:154) - at org.apache.phoenix.end2end.NativeHBaseTypesIT.doBeforeTestSetup(NativeHBaseTypesIT.java:89) - -Running org.apache.phoenix.end2end.PointInTimeQueryIT -Tests run: 245, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 92.634 sec - in org.apache.phoenix.end2end.ClientTimeArithmeticQueryIT -Running org.apache.phoenix.end2end.ProductMetricsIT -Tests run: 61, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 21.441 sec - in org.apache.phoenix.end2end.ProductMetricsIT -Running org.apache.phoenix.end2end.QueryDatabaseMetaDataIT -Tests run: 14, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 33.124 sec - in org.apache.phoenix.end2end.PointInTimeQueryIT -Running org.apache.phoenix.end2end.QueryIT -Tests run: 77, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 41.844 sec - in org.apache.phoenix.end2end.NotQueryIT -Running org.apache.phoenix.end2end.ReadIsolationLevelIT -Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 91.573 sec - in org.apache.phoenix.end2end.CreateTableIT -Running org.apache.phoenix.end2end.RowValueConstructorIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.944 sec - in org.apache.phoenix.end2end.ReadIsolationLevelIT -Running org.apache.phoenix.end2end.ScanQueryIT -Tests run: 105, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 55.369 sec - in org.apache.phoenix.end2end.GroupByIT -Running org.apache.phoenix.end2end.SequenceBulkAllocationIT -Tests run: 56, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.255 sec - in org.apache.phoenix.end2end.SequenceBulkAllocationIT -Running org.apache.phoenix.end2end.SequenceIT -Tests run: 126, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 53.007 sec - in org.apache.phoenix.end2end.QueryIT -Running org.apache.phoenix.end2end.ToNumberFunctionIT -Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.843 sec - in org.apache.phoenix.end2end.ToNumberFunctionIT -Running org.apache.phoenix.end2end.TopNIT -Tests run: 119, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 55.862 sec - in org.apache.phoenix.end2end.ScanQueryIT -Running org.apache.phoenix.end2end.TruncateFunctionIT -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.243 sec - in org.apache.phoenix.end2end.TopNIT -Running org.apache.phoenix.end2end.UnnestArrayIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.001 sec - in org.apache.phoenix.end2end.UnnestArrayIT -Running org.apache.phoenix.end2end.UpsertSelectIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.867 sec - in org.apache.phoenix.end2end.TruncateFunctionIT -Running org.apache.phoenix.end2end.UpsertValuesIT -Tests run: 54, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 49.287 sec - in org.apache.phoenix.end2end.SequenceIT -Running org.apache.phoenix.end2end.VariableLengthPKIT -Tests run: 50, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 40.569 sec - in org.apache.phoenix.end2end.VariableLengthPKIT -Running org.apache.phoenix.end2end.salted.SaltedTableIT -Tests run: 46, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 116.827 sec - in org.apache.phoenix.end2end.RowValueConstructorIT -Running org.apache.phoenix.rpc.UpdateCacheWithScnIT -Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.502 sec - in org.apache.phoenix.end2end.salted.SaltedTableIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.983 sec - in org.apache.phoenix.rpc.UpdateCacheWithScnIT -Tests run: 19, Failures: 2, Errors: 4, Skipped: 0, Time elapsed: 145.348 sec <<< FAILURE! - in org.apache.phoenix.end2end.QueryDatabaseMetaDataIT -testAddKVColumnToNewFamily(org.apache.phoenix.end2end.QueryDatabaseMetaDataIT) Time elapsed: 2.444 sec <<< ERROR! -org.apache.phoenix.schema.TableNotFoundException: ERROR 1012 (42M03): Table undefined. tableName=ATABLE - at org.apache.phoenix.end2end.QueryDatabaseMetaDataIT.testAddKVColumnToNewFamily(QueryDatabaseMetaDataIT.java:1014) - -testDropPKColumn(org.apache.phoenix.end2end.QueryDatabaseMetaDataIT) Time elapsed: 2.394 sec <<< FAILURE! -java.lang.AssertionError: ERROR 1012 (42M03): Table undefined. tableName=ATABLE - at org.apache.phoenix.end2end.QueryDatabaseMetaDataIT.testDropPKColumn(QueryDatabaseMetaDataIT.java:1118) - -testDropKVColumn(org.apache.phoenix.end2end.QueryDatabaseMetaDataIT) Time elapsed: 3.266 sec <<< ERROR! -org.apache.phoenix.schema.TableNotFoundException: ERROR 1012 (42M03): Table undefined. tableName=ATABLE - at org.apache.phoenix.end2end.QueryDatabaseMetaDataIT.testDropKVColumn(QueryDatabaseMetaDataIT.java:1074) - -testAddPKColumn(org.apache.phoenix.end2end.QueryDatabaseMetaDataIT) Time elapsed: 2.493 sec <<< FAILURE! -java.lang.AssertionError: ERROR 1012 (42M03): Table undefined. tableName=ATABLE - at org.apache.phoenix.end2end.QueryDatabaseMetaDataIT.testAddPKColumn(QueryDatabaseMetaDataIT.java:1045) - -testAddKVColumnToExistingFamily(org.apache.phoenix.end2end.QueryDatabaseMetaDataIT) Time elapsed: 2.409 sec <<< ERROR! -org.apache.phoenix.schema.TableNotFoundException: ERROR 1012 (42M03): Table undefined. tableName=ATABLE - at org.apache.phoenix.end2end.QueryDatabaseMetaDataIT.testAddKVColumnToExistingFamily(QueryDatabaseMetaDataIT.java:987) - -testCreateDropTable(org.apache.phoenix.end2end.QueryDatabaseMetaDataIT) Time elapsed: 4.654 sec <<< ERROR! -org.apache.phoenix.schema.TableNotFoundException: ERROR 1012 (42M03): Table undefined. tableName=ATABLE - at org.apache.phoenix.end2end.QueryDatabaseMetaDataIT.testCreateDropTable(QueryDatabaseMetaDataIT.java:666) - -Tests run: 24, Failures: 0, Errors: 3, Skipped: 0, Time elapsed: 104.298 sec <<< FAILURE! - in org.apache.phoenix.end2end.UpsertValuesIT -testUpsertValuesWithExpression(org.apache.phoenix.end2end.UpsertValuesIT) Time elapsed: 0.102 sec <<< ERROR! -java.lang.NullPointerException - at org.apache.phoenix.end2end.UpsertValuesIT.testUpsertValuesWithExpression(UpsertValuesIT.java:117) - -testGroupByWithLimitOverRowKey(org.apache.phoenix.end2end.UpsertValuesIT) Time elapsed: 0.101 sec <<< ERROR! -java.lang.NullPointerException - at org.apache.phoenix.end2end.UpsertValuesIT.testGroupByWithLimitOverRowKey(UpsertValuesIT.java:55) - -testUpsertDateValues(org.apache.phoenix.end2end.UpsertValuesIT) Time elapsed: 0.105 sec <<< ERROR! -java.lang.NullPointerException - at org.apache.phoenix.end2end.UpsertValuesIT.testUpsertDateValues(UpsertValuesIT.java:88) - -Tests run: 20, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 133.736 sec - in org.apache.phoenix.end2end.UpsertSelectIT - -Results : - -Failed tests: - QueryDatabaseMetaDataIT.testAddPKColumn:1045 ERROR 1012 (42M03): Table undefined. tableName=ATABLE - QueryDatabaseMetaDataIT.testDropPKColumn:1118 ERROR 1012 (42M03): Table undefined. tableName=ATABLE -Tests in error: - NativeHBaseTypesIT.doBeforeTestSetup:89->initTableValues:154->BaseTest.ensureTableCreated:816->BaseTest.ensureTableCreated:821 » NullPointer - QueryDatabaseMetaDataIT.testAddKVColumnToExistingFamily:987 » TableNotFound ER... - QueryDatabaseMetaDataIT.testAddKVColumnToNewFamily:1014 » TableNotFound ERROR ... - QueryDatabaseMetaDataIT.testCreateDropTable:666 » TableNotFound ERROR 1012 (42... - QueryDatabaseMetaDataIT.testDropKVColumn:1074 » TableNotFound ERROR 1012 (42M0... - UpsertValuesIT.testGroupByWithLimitOverRowKey:55->BaseTest.ensureTableCreated:816->BaseTest.ensureTableCreated:821 » NullPointer - UpsertValuesIT.testUpsertDateValues:88->BaseTest.ensureTableCreated:816->BaseTest.ensureTableCreated:821 » NullPointer - UpsertValuesIT.testUpsertValuesWithExpression:117->BaseTest.ensureTableCreated:816->BaseTest.ensureTableCreated:821 » NullPointer - -Tests run: 1344, Failures: 2, Errors: 8, Skipped: 1 - -[INFO] -[INFO] --- maven-failsafe-plugin:2.19.1:integration-test (HBaseManagedTimeTests) @ phoenix-core --- - -------------------------------------------------------- - T E S T S -------------------------------------------------------- -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 -Running org.apache.phoenix.end2end.SubqueryIT -Running org.apache.phoenix.end2end.SortMergeJoinIT -Running org.apache.phoenix.end2end.HashJoinIT -Running org.apache.phoenix.end2end.SpooledSortMergeJoinIT -Running org.apache.phoenix.end2end.HashJoinLocalIndexIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 40.788 sec - in org.apache.phoenix.end2end.HashJoinLocalIndexIT -Running org.apache.phoenix.end2end.SubqueryUsingSortMergeJoinIT -Tests run: 21, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 86.034 sec - in org.apache.phoenix.end2end.SubqueryIT -Tests run: 99, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 111.513 sec - in org.apache.phoenix.end2end.HashJoinIT -Tests run: 102, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 114.677 sec - in org.apache.phoenix.end2end.SortMergeJoinIT -Tests run: 102, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 118.471 sec - in org.apache.phoenix.end2end.SpooledSortMergeJoinIT -Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 76.544 sec - in org.apache.phoenix.end2end.SubqueryUsingSortMergeJoinIT - -Results : - -Tests run: 340, Failures: 0, Errors: 0, Skipped: 0 - -[INFO] -[INFO] --- maven-failsafe-plugin:2.19.1:integration-test (HBaseManagedTimeTableReuseTest) @ phoenix-core --- - -------------------------------------------------------- - T E S T S -------------------------------------------------------- -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 -Running org.apache.phoenix.end2end.AlterSessionIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.252 sec - in org.apache.phoenix.end2end.AlterSessionIT -Running org.apache.phoenix.end2end.ArrayAppendFunctionIT -Running org.apache.phoenix.end2end.ArithmeticQueryIT -Running org.apache.phoenix.end2end.AbsFunctionEnd2EndIT -Running org.apache.phoenix.end2end.AppendOnlySchemaIT -Running org.apache.phoenix.end2end.AlterTableWithViewsIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.44 sec - in org.apache.phoenix.end2end.AbsFunctionEnd2EndIT -Running org.apache.phoenix.end2end.ArrayConcatFunctionIT -Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 32.008 sec - in org.apache.phoenix.end2end.AppendOnlySchemaIT -Running org.apache.phoenix.end2end.ArrayFillFunctionIT -Tests run: 26, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.847 sec - in org.apache.phoenix.end2end.ArrayFillFunctionIT -Running org.apache.phoenix.end2end.ArrayPrependFunctionIT -Tests run: 26, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 61.532 sec - in org.apache.phoenix.end2end.ArithmeticQueryIT -Running org.apache.phoenix.end2end.ArrayToStringFunctionIT -Tests run: 30, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 69.189 sec - in org.apache.phoenix.end2end.ArrayConcatFunctionIT -Running org.apache.phoenix.end2end.ArraysWithNullsIT -Tests run: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 76.246 sec - in org.apache.phoenix.end2end.ArrayAppendFunctionIT -Running org.apache.phoenix.end2end.AutoCommitIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.285 sec - in org.apache.phoenix.end2end.AutoCommitIT -Running org.apache.phoenix.end2end.AutoPartitionViewsIT -Tests run: 36, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 20.551 sec - in org.apache.phoenix.end2end.ArrayToStringFunctionIT -Running org.apache.phoenix.end2end.BinaryRowKeyIT -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.777 sec - in org.apache.phoenix.end2end.BinaryRowKeyIT -Running org.apache.phoenix.end2end.CSVCommonsLoaderIT -Tests run: 16, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 35.038 sec - in org.apache.phoenix.end2end.ArraysWithNullsIT -Running org.apache.phoenix.end2end.CbrtFunctionEnd2EndIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.092 sec - in org.apache.phoenix.end2end.CbrtFunctionEnd2EndIT -Running org.apache.phoenix.end2end.CoalesceFunctionIT -Tests run: 16, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 31.85 sec - in org.apache.phoenix.end2end.CSVCommonsLoaderIT -Running org.apache.phoenix.end2end.ConvertTimezoneFunctionIT -Tests run: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 78.006 sec - in org.apache.phoenix.end2end.ArrayPrependFunctionIT -Running org.apache.phoenix.end2end.DateTimeIT -Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 24.698 sec - in org.apache.phoenix.end2end.CoalesceFunctionIT -Running org.apache.phoenix.end2end.DecodeFunctionIT -Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 15.676 sec - in org.apache.phoenix.end2end.ConvertTimezoneFunctionIT -Running org.apache.phoenix.end2end.DeleteIT -Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 63.651 sec - in org.apache.phoenix.end2end.AutoPartitionViewsIT -Running org.apache.phoenix.end2end.DisableLocalIndexIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.51 sec - in org.apache.phoenix.end2end.DisableLocalIndexIT -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.416 sec - in org.apache.phoenix.end2end.DecodeFunctionIT -Running org.apache.phoenix.end2end.DynamicColumnIT -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.453 sec - in org.apache.phoenix.end2end.DynamicColumnIT -Running org.apache.phoenix.end2end.DynamicFamilyIT -Running org.apache.phoenix.end2end.DistinctPrefixFilterIT -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.519 sec - in org.apache.phoenix.end2end.DynamicFamilyIT -Running org.apache.phoenix.end2end.DynamicUpsertIT -Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.039 sec - in org.apache.phoenix.end2end.DynamicUpsertIT -Running org.apache.phoenix.end2end.EncodeFunctionIT -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.694 sec - in org.apache.phoenix.end2end.DistinctPrefixFilterIT -Running org.apache.phoenix.end2end.EvaluationOfORIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.263 sec - in org.apache.phoenix.end2end.EvaluationOfORIT -Running org.apache.phoenix.end2end.ExecuteStatementsIT -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.977 sec - in org.apache.phoenix.end2end.EncodeFunctionIT -Running org.apache.phoenix.end2end.ExpFunctionEnd2EndIT -Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 180.815 sec - in org.apache.phoenix.end2end.AlterTableWithViewsIT -Running org.apache.phoenix.end2end.FirstValueFunctionIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.657 sec - in org.apache.phoenix.end2end.ExecuteStatementsIT -Running org.apache.phoenix.end2end.GetSetByteBitFunctionEnd2EndIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.028 sec - in org.apache.phoenix.end2end.GetSetByteBitFunctionEnd2EndIT -Running org.apache.phoenix.end2end.GroupByCaseIT -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 15.66 sec - in org.apache.phoenix.end2end.ExpFunctionEnd2EndIT -Running org.apache.phoenix.end2end.HashJoinMoreIT -Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 15.703 sec - in org.apache.phoenix.end2end.FirstValueFunctionIT -Running org.apache.phoenix.end2end.InListIT -Tests run: 24, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 79.774 sec - in org.apache.phoenix.end2end.DateTimeIT -Running org.apache.phoenix.end2end.InMemoryOrderByIT -Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.472 sec - in org.apache.phoenix.end2end.GroupByCaseIT -Running org.apache.phoenix.end2end.InstrFunctionIT -Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.942 sec - in org.apache.phoenix.end2end.InstrFunctionIT -Running org.apache.phoenix.end2end.IsNullIT -Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.59 sec - in org.apache.phoenix.end2end.InMemoryOrderByIT -Running org.apache.phoenix.end2end.LastValueFunctionIT -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.736 sec - in org.apache.phoenix.end2end.IsNullIT -Running org.apache.phoenix.end2end.LikeExpressionIT -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.501 sec - in org.apache.phoenix.end2end.LikeExpressionIT -Running org.apache.phoenix.end2end.LnLogFunctionEnd2EndIT -Tests run: 25, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 108.226 sec - in org.apache.phoenix.end2end.DeleteIT -Running org.apache.phoenix.end2end.MD5FunctionIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.598 sec - in org.apache.phoenix.end2end.LnLogFunctionEnd2EndIT -Running org.apache.phoenix.end2end.MapReduceIT -Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 52.31 sec - in org.apache.phoenix.end2end.HashJoinMoreIT -Running org.apache.phoenix.end2end.MappingTableDataTypeIT -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.74 sec - in org.apache.phoenix.end2end.MD5FunctionIT -Running org.apache.phoenix.end2end.MinMaxAggregateFunctionIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.285 sec - in org.apache.phoenix.end2end.MinMaxAggregateFunctionIT -Running org.apache.phoenix.end2end.ModulusExpressionIT -Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 23.681 sec - in org.apache.phoenix.end2end.LastValueFunctionIT -Running org.apache.phoenix.end2end.NamespaceSchemaMappingIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.68 sec - in org.apache.phoenix.end2end.MappingTableDataTypeIT -Running org.apache.phoenix.end2end.NthValueFunctionIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.829 sec - in org.apache.phoenix.end2end.MapReduceIT -Running org.apache.phoenix.end2end.OctetLengthFunctionEnd2EndIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.26 sec - in org.apache.phoenix.end2end.OctetLengthFunctionEnd2EndIT -Running org.apache.phoenix.end2end.OrderByIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.485 sec - in org.apache.phoenix.end2end.NamespaceSchemaMappingIT -Running org.apache.phoenix.end2end.PercentileIT -Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 25.138 sec - in org.apache.phoenix.end2end.ModulusExpressionIT -Running org.apache.phoenix.end2end.PhoenixRuntimeIT -Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 20.461 sec - in org.apache.phoenix.end2end.OrderByIT -Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 23.66 sec - in org.apache.phoenix.end2end.NthValueFunctionIT -Running org.apache.phoenix.end2end.PrimitiveTypeIT -Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.038 sec - in org.apache.phoenix.end2end.PrimitiveTypeIT -Running org.apache.phoenix.end2end.QueryExecWithoutSCNIT -Running org.apache.phoenix.end2end.PowerFunctionEnd2EndIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.081 sec - in org.apache.phoenix.end2end.PowerFunctionEnd2EndIT -Running org.apache.phoenix.end2end.QueryMoreIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.269 sec - in org.apache.phoenix.end2end.QueryExecWithoutSCNIT -Running org.apache.phoenix.end2end.RTrimFunctionIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.5 sec - in org.apache.phoenix.end2end.RTrimFunctionIT -Running org.apache.phoenix.end2end.ReadOnlyIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.659 sec - in org.apache.phoenix.end2end.ReadOnlyIT -Running org.apache.phoenix.end2end.RegexpReplaceFunctionIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 25.734 sec - in org.apache.phoenix.end2end.PhoenixRuntimeIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.502 sec - in org.apache.phoenix.end2end.RegexpReplaceFunctionIT -Running org.apache.phoenix.end2end.RegexpSubstrFunctionIT -Tests run: 17, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 37.239 sec - in org.apache.phoenix.end2end.PercentileIT -Running org.apache.phoenix.end2end.ReverseFunctionIT -Running org.apache.phoenix.end2end.RegexpSplitFunctionIT -Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.56 sec - in org.apache.phoenix.end2end.RegexpSplitFunctionIT -Running org.apache.phoenix.end2end.ReverseScanIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.521 sec - in org.apache.phoenix.end2end.RegexpSubstrFunctionIT -Running org.apache.phoenix.end2end.RoundFloorCeilFunctionsEnd2EndIT -Tests run: 33, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.992 sec - in org.apache.phoenix.end2end.RoundFloorCeilFunctionsEnd2EndIT -Running org.apache.phoenix.end2end.SerialIteratorsIT -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.223 sec - in org.apache.phoenix.end2end.ReverseFunctionIT -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 30.421 sec - in org.apache.phoenix.end2end.QueryMoreIT -Running org.apache.phoenix.end2end.ServerExceptionIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.268 sec - in org.apache.phoenix.end2end.SerialIteratorsIT -Running org.apache.phoenix.end2end.SkipScanAfterManualSplitIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.312 sec - in org.apache.phoenix.end2end.ServerExceptionIT -Running org.apache.phoenix.end2end.SkipScanQueryIT -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.257 sec - in org.apache.phoenix.end2end.ReverseScanIT -Running org.apache.phoenix.end2end.SortMergeJoinMoreIT -Running org.apache.phoenix.end2end.SignFunctionEnd2EndIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.064 sec - in org.apache.phoenix.end2end.SignFunctionEnd2EndIT -Running org.apache.phoenix.end2end.SortOrderIT -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.89 sec - in org.apache.phoenix.end2end.SkipScanAfterManualSplitIT -Running org.apache.phoenix.end2end.SpooledOrderByIT -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.704 sec - in org.apache.phoenix.end2end.SortMergeJoinMoreIT -Running org.apache.phoenix.end2end.SpooledTmpFileDeleteIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.287 sec - in org.apache.phoenix.end2end.SpooledTmpFileDeleteIT -Running org.apache.phoenix.end2end.SqrtFunctionEnd2EndIT -Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 27.044 sec - in org.apache.phoenix.end2end.SkipScanQueryIT -Running org.apache.phoenix.end2end.StatementHintsIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.265 sec - in org.apache.phoenix.end2end.StatementHintsIT -Running org.apache.phoenix.end2end.StddevIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.986 sec - in org.apache.phoenix.end2end.SqrtFunctionEnd2EndIT -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.024 sec - in org.apache.phoenix.end2end.StddevIT -Running org.apache.phoenix.end2end.StringIT -Running org.apache.phoenix.end2end.StoreNullsIT -Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.546 sec - in org.apache.phoenix.end2end.SpooledOrderByIT -Running org.apache.phoenix.end2end.StringToArrayFunctionIT -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 12.877 sec - in org.apache.phoenix.end2end.StoreNullsIT -Running org.apache.phoenix.end2end.TenantIdTypeIT -Tests run: 22, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.419 sec - in org.apache.phoenix.end2end.StringToArrayFunctionIT -Running org.apache.phoenix.end2end.TenantSpecificViewIndexIT -Tests run: 13, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 54.587 sec - in org.apache.phoenix.end2end.StringIT -Running org.apache.phoenix.end2end.TenantSpecificViewIndexSaltedIT -Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 67.28 sec - in org.apache.phoenix.end2end.TenantIdTypeIT -Running org.apache.phoenix.end2end.TimezoneOffsetFunctionIT -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 31.105 sec - in org.apache.phoenix.end2end.TenantSpecificViewIndexSaltedIT -Running org.apache.phoenix.end2end.ToCharFunctionIT -Tests run: 45, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 123.443 sec - in org.apache.phoenix.end2end.SortOrderIT -Running org.apache.phoenix.end2end.ToDateFunctionIT -Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 66.56 sec - in org.apache.phoenix.end2end.TenantSpecificViewIndexIT -Running org.apache.phoenix.end2end.UpgradeIT -Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.825 sec - in org.apache.phoenix.end2end.ToDateFunctionIT -Running org.apache.phoenix.end2end.UpsertBigValuesIT -Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 16.687 sec - in org.apache.phoenix.end2end.TimezoneOffsetFunctionIT -Running org.apache.phoenix.end2end.UpsertSelectAutoCommitIT -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.019 sec - in org.apache.phoenix.end2end.UpsertBigValuesIT -Running org.apache.phoenix.end2end.UseSchemaIT -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.271 sec - in org.apache.phoenix.end2end.UpsertSelectAutoCommitIT -Running org.apache.phoenix.end2end.index.DropMetadataIT -Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 33.644 sec - in org.apache.phoenix.end2end.ToCharFunctionIT -Running org.apache.phoenix.end2end.index.GlobalIndexOptimizationIT -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 21.638 sec - in org.apache.phoenix.end2end.UseSchemaIT -Running org.apache.phoenix.end2end.index.ImmutableIndexIT -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 35.918 sec - in org.apache.phoenix.end2end.index.DropMetadataIT -Running org.apache.phoenix.end2end.index.IndexExpressionIT -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 32.92 sec - in org.apache.phoenix.end2end.index.GlobalIndexOptimizationIT -Running org.apache.phoenix.end2end.index.IndexIT -Tests run: 12, Failures: 0, Errors: 0, Skipped: 4, Time elapsed: 67.337 sec - in org.apache.phoenix.end2end.index.ImmutableIndexIT -Running org.apache.phoenix.end2end.index.IndexMetadataIT -Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 45.101 sec - in org.apache.phoenix.end2end.index.IndexMetadataIT -Running org.apache.phoenix.end2end.index.LocalIndexIT -Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 192.998 sec - in org.apache.phoenix.end2end.UpgradeIT -Running org.apache.phoenix.end2end.index.MutableIndexIT -Tests run: 28, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 620.952 sec - in org.apache.phoenix.end2end.InListIT -Running org.apache.phoenix.end2end.index.SaltedIndexIT -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.889 sec - in org.apache.phoenix.end2end.index.SaltedIndexIT -Running org.apache.phoenix.end2end.index.ViewIndexIT -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 53.018 sec - in org.apache.phoenix.end2end.index.ViewIndexIT -Running org.apache.phoenix.end2end.index.txn.MutableRollbackIT -Tests run: 62, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 421.244 sec - in org.apache.phoenix.end2end.index.IndexExpressionIT -Running org.apache.phoenix.end2end.index.txn.RollbackIT -Tests run: 40, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 346.744 sec - in org.apache.phoenix.end2end.index.LocalIndexIT -Running org.apache.phoenix.end2end.salted.SaltedTableUpsertSelectIT -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 66.779 sec - in org.apache.phoenix.end2end.index.txn.MutableRollbackIT -Running org.apache.phoenix.end2end.salted.SaltedTableVarLengthRowKeyIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.253 sec - in org.apache.phoenix.end2end.salted.SaltedTableVarLengthRowKeyIT -Running org.apache.phoenix.iterate.PhoenixQueryTimeoutIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.025 sec - in org.apache.phoenix.iterate.PhoenixQueryTimeoutIT -Running org.apache.phoenix.iterate.RoundRobinResultIteratorIT -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 24.791 sec - in org.apache.phoenix.end2end.salted.SaltedTableUpsertSelectIT -Running org.apache.phoenix.rpc.UpdateCacheIT -Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 52.604 sec - in org.apache.phoenix.end2end.index.txn.RollbackIT -Running org.apache.phoenix.trace.PhoenixTableMetricsWriterIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.271 sec - in org.apache.phoenix.trace.PhoenixTableMetricsWriterIT -Running org.apache.phoenix.trace.PhoenixTraceReaderIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.044 sec - in org.apache.phoenix.trace.PhoenixTraceReaderIT -Running org.apache.phoenix.trace.PhoenixTracingEndToEndIT -Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 26.044 sec - in org.apache.phoenix.rpc.UpdateCacheIT -Running org.apache.phoenix.tx.TransactionIT -Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 49.43 sec - in org.apache.phoenix.iterate.RoundRobinResultIteratorIT -Running org.apache.phoenix.tx.TxCheckpointIT -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 84.273 sec - in org.apache.phoenix.trace.PhoenixTracingEndToEndIT -Tests run: 21, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 146.597 sec - in org.apache.phoenix.tx.TransactionIT -Tests run: 20, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 137.854 sec - in org.apache.phoenix.tx.TxCheckpointIT -Tests run: 40, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 536.056 sec - in org.apache.phoenix.end2end.index.MutableIndexIT - -Results : - -Tests run: 1068, Failures: 0, Errors: 0, Skipped: 5 - -[INFO] -[INFO] --- maven-failsafe-plugin:2.19.1:integration-test (NeedTheirOwnClusterTests) @ phoenix-core --- - -------------------------------------------------------- - T E S T S -------------------------------------------------------- -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Running org.apache.hadoop.hbase.regionserver.wal.WALReplayWithIndexWritesAndUncompressedWALInHBase_094_9_IT -Running org.apache.hadoop.hbase.regionserver.wal.WALReplayWithIndexWritesAndCompressedWALIT -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Running org.apache.phoenix.coprocessor.StatisticsCollectionRunTrackerIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 33.5 sec - in org.apache.hadoop.hbase.regionserver.wal.WALReplayWithIndexWritesAndUncompressedWALInHBase_094_9_IT -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 34.125 sec - in org.apache.hadoop.hbase.regionserver.wal.WALReplayWithIndexWritesAndCompressedWALIT -Running org.apache.phoenix.end2end.AlterTableIT -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Running org.apache.phoenix.end2end.ConnectionUtilIT -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.436 sec - in org.apache.phoenix.coprocessor.StatisticsCollectionRunTrackerIT -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Running org.apache.phoenix.end2end.CountDistinctCompressionIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 28.438 sec - in org.apache.phoenix.end2end.ConnectionUtilIT -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 4.198 sec <<< FAILURE! - in org.apache.phoenix.end2end.CountDistinctCompressionIT -testDistinctCountOnColumn(org.apache.phoenix.end2end.CountDistinctCompressionIT) Time elapsed: 2.633 sec <<< ERROR! -org.apache.phoenix.schema.TableNotFoundException: ERROR 1012 (42M03): Table undefined. tableName=ATABLE - at org.apache.phoenix.end2end.CountDistinctCompressionIT.testDistinctCountOnColumn(CountDistinctCompressionIT.java:62) - -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Running org.apache.phoenix.end2end.ContextClassloaderIT -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.038 sec - in org.apache.phoenix.end2end.ContextClassloaderIT -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Running org.apache.phoenix.end2end.CsvBulkLoadToolIT -Running org.apache.phoenix.end2end.KeyOnlyIT -Running org.apache.phoenix.end2end.IndexToolIT -Tests run: 3, Failures: 0, Errors: 3, Skipped: 0, Time elapsed: 4.19 sec <<< FAILURE! - in org.apache.phoenix.end2end.KeyOnlyIT -testKeyOnly(org.apache.phoenix.end2end.KeyOnlyIT) Time elapsed: 0.287 sec <<< ERROR! -java.lang.NullPointerException - at org.apache.phoenix.end2end.KeyOnlyIT.testKeyOnly(KeyOnlyIT.java:63) - -testOr(org.apache.phoenix.end2end.KeyOnlyIT) Time elapsed: 0.081 sec <<< ERROR! -java.lang.NullPointerException - at org.apache.phoenix.end2end.KeyOnlyIT.testOr(KeyOnlyIT.java:142) - -testQueryWithLimitAndStats(org.apache.phoenix.end2end.KeyOnlyIT) Time elapsed: 0.075 sec <<< ERROR! -java.lang.NullPointerException - at org.apache.phoenix.end2end.KeyOnlyIT.testQueryWithLimitAndStats(KeyOnlyIT.java:167) - -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Running org.apache.phoenix.end2end.MultiCfQueryExecIT -Tests run: 9, Failures: 0, Errors: 7, Skipped: 0, Time elapsed: 13.321 sec <<< FAILURE! - in org.apache.phoenix.end2end.MultiCfQueryExecIT -testDefaultCFToDisambiguate(org.apache.phoenix.end2end.MultiCfQueryExecIT) Time elapsed: 0.28 sec <<< ERROR! -java.lang.NullPointerException - at org.apache.phoenix.end2end.MultiCfQueryExecIT.initTableValues(MultiCfQueryExecIT.java:60) - at org.apache.phoenix.end2end.MultiCfQueryExecIT.testDefaultCFToDisambiguate(MultiCfQueryExecIT.java:324) - -testConstantCount(org.apache.phoenix.end2end.MultiCfQueryExecIT) Time elapsed: 0.164 sec <<< ERROR! -java.lang.NullPointerException - at org.apache.phoenix.end2end.MultiCfQueryExecIT.initTableValues(MultiCfQueryExecIT.java:60) - at org.apache.phoenix.end2end.MultiCfQueryExecIT.testConstantCount(MultiCfQueryExecIT.java:104) - -testCFToDisambiguateInSelectOnly1(org.apache.phoenix.end2end.MultiCfQueryExecIT) Time elapsed: 0.071 sec <<< ERROR! -java.lang.NullPointerException - at org.apache.phoenix.end2end.MultiCfQueryExecIT.initTableValues(MultiCfQueryExecIT.java:60) - at org.apache.phoenix.end2end.MultiCfQueryExecIT.testCFToDisambiguateInSelectOnly1(MultiCfQueryExecIT.java:124) - -testCFToDisambiguateInSelectOnly2(org.apache.phoenix.end2end.MultiCfQueryExecIT) Time elapsed: 0.063 sec <<< ERROR! -java.lang.NullPointerException - at org.apache.phoenix.end2end.MultiCfQueryExecIT.initTableValues(MultiCfQueryExecIT.java:60) - at org.apache.phoenix.end2end.MultiCfQueryExecIT.testCFToDisambiguateInSelectOnly2(MultiCfQueryExecIT.java:145) - -testEssentialColumnFamilyForRowKeyFilter(org.apache.phoenix.end2end.MultiCfQueryExecIT) Time elapsed: 0.06 sec <<< ERROR! -java.lang.NullPointerException - at org.apache.phoenix.end2end.MultiCfQueryExecIT.initTableValues(MultiCfQueryExecIT.java:60) - at org.apache.phoenix.end2end.MultiCfQueryExecIT.testEssentialColumnFamilyForRowKeyFilter(MultiCfQueryExecIT.java:369) - -testCFToDisambiguate2(org.apache.phoenix.end2end.MultiCfQueryExecIT) Time elapsed: 0.054 sec <<< ERROR! -java.lang.NullPointerException - at org.apache.phoenix.end2end.MultiCfQueryExecIT.initTableValues(MultiCfQueryExecIT.java:60) - at org.apache.phoenix.end2end.MultiCfQueryExecIT.testCFToDisambiguate2(MultiCfQueryExecIT.java:308) - -testGuidePostsForMultiCFs(org.apache.phoenix.end2end.MultiCfQueryExecIT) Time elapsed: 0.061 sec <<< ERROR! -java.lang.NullPointerException - at org.apache.phoenix.end2end.MultiCfQueryExecIT.initTableValues(MultiCfQueryExecIT.java:60) - at org.apache.phoenix.end2end.MultiCfQueryExecIT.testGuidePostsForMultiCFs(MultiCfQueryExecIT.java:161) - -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Running org.apache.phoenix.end2end.ParallelIteratorsIT -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 33.364 sec - in org.apache.phoenix.end2end.ParallelIteratorsIT -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Running org.apache.phoenix.end2end.QueryTimeoutIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.44 sec - in org.apache.phoenix.end2end.QueryTimeoutIT -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Running org.apache.phoenix.end2end.QueryWithLimitIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 20.671 sec - in org.apache.phoenix.end2end.QueryWithLimitIT -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Running org.apache.phoenix.end2end.QueryWithOffsetIT -Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.507 sec - in org.apache.phoenix.end2end.QueryWithOffsetIT -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Running org.apache.phoenix.end2end.SaltedViewIT -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 33.661 sec - in org.apache.phoenix.end2end.SaltedViewIT -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Tests run: 56, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 382.893 sec - in org.apache.phoenix.end2end.AlterTableIT -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Running org.apache.phoenix.end2end.SpillableGroupByIT -Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 3.08 sec <<< FAILURE! - in org.apache.phoenix.end2end.SpillableGroupByIT -testScanUri(org.apache.phoenix.end2end.SpillableGroupByIT) Time elapsed: 0.144 sec <<< ERROR! -java.lang.NullPointerException - at org.apache.phoenix.end2end.SpillableGroupByIT.createTable(SpillableGroupByIT.java:77) - at org.apache.phoenix.end2end.SpillableGroupByIT.testScanUri(SpillableGroupByIT.java:112) - -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Running org.apache.phoenix.end2end.StatsCollectionDisabledIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 12.621 sec - in org.apache.phoenix.end2end.StatsCollectionDisabledIT -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Running org.apache.phoenix.end2end.StatsCollectorIT -Running org.apache.phoenix.end2end.StatsCollectorWithSplitsAndMultiCFIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.974 sec - in org.apache.phoenix.end2end.StatsCollectorWithSplitsAndMultiCFIT -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Tests run: 10, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 404.807 sec <<< FAILURE! - in org.apache.phoenix.end2end.CsvBulkLoadToolIT -testImportWithLocalIndex(org.apache.phoenix.end2end.CsvBulkLoadToolIT) Time elapsed: 62.224 sec <<< FAILURE! -java.lang.AssertionError: expected:<0> but was:<-1> - at org.apache.phoenix.end2end.CsvBulkLoadToolIT.testImportWithLocalIndex(CsvBulkLoadToolIT.java:273) - -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Running org.apache.phoenix.end2end.TenantSpecificTablesDDLIT -Running org.apache.phoenix.end2end.TenantSpecificTablesDMLIT -Tests run: 16, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 24.618 sec - in org.apache.phoenix.end2end.TenantSpecificTablesDMLIT -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0 diff --git a/reuse.log b/reuse.log deleted file mode 100644 index c3f40e7b003..00000000000 --- a/reuse.log +++ /dev/null @@ -1,710 +0,0 @@ -[INFO] Scanning for projects... -[INFO] ------------------------------------------------------------------------ -[INFO] Reactor Build Order: -[INFO] -[INFO] Apache Phoenix -[INFO] Phoenix Core -[INFO] Phoenix - Flume -[INFO] Phoenix - Pig -[INFO] Phoenix Query Server Client -[INFO] Phoenix Query Server -[INFO] Phoenix - Pherf -[INFO] Phoenix - Spark -[INFO] Phoenix - Hive -[INFO] Phoenix Client -[INFO] Phoenix Server -[INFO] Phoenix Assembly -[INFO] Phoenix - Tracing Web Application -[INFO] -[INFO] ------------------------------------------------------------------------ -[INFO] Building Apache Phoenix 4.8.0-HBase-1.2-SNAPSHOT -[INFO] ------------------------------------------------------------------------ -[INFO] -[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ phoenix --- -[INFO] Deleting /Users/prakul.agarwal/Documents/works/prPhoenix/target -[INFO] -[INFO] --- maven-checkstyle-plugin:2.13:check (validate) @ phoenix --- -[INFO] -[INFO] --- maven-remote-resources-plugin:1.5:process (default) @ phoenix --- -[INFO] -[INFO] --- maven-source-plugin:2.2.1:jar-no-fork (attach-sources) @ phoenix --- -[INFO] -[INFO] --- maven-jar-plugin:2.4:test-jar (default) @ phoenix --- -[WARNING] JAR will be empty - no content was marked for inclusion! -[INFO] Building jar: /Users/prakul.agarwal/Documents/works/prPhoenix/target/phoenix-4.8.0-HBase-1.2-SNAPSHOT-tests.jar -[INFO] -[INFO] --- maven-site-plugin:3.2:attach-descriptor (attach-descriptor) @ phoenix --- -[INFO] -[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ phoenix --- -[INFO] Installing /Users/prakul.agarwal/Documents/works/prPhoenix/pom.xml to /Users/prakul.agarwal/.m2/repository/org/apache/phoenix/phoenix/4.8.0-HBase-1.2-SNAPSHOT/phoenix-4.8.0-HBase-1.2-SNAPSHOT.pom -[INFO] Installing /Users/prakul.agarwal/Documents/works/prPhoenix/target/phoenix-4.8.0-HBase-1.2-SNAPSHOT-tests.jar to /Users/prakul.agarwal/.m2/repository/org/apache/phoenix/phoenix/4.8.0-HBase-1.2-SNAPSHOT/phoenix-4.8.0-HBase-1.2-SNAPSHOT-tests.jar -[INFO] -[INFO] ------------------------------------------------------------------------ -[INFO] Building Phoenix Core 4.8.0-HBase-1.2-SNAPSHOT -[INFO] ------------------------------------------------------------------------ -[INFO] -[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ phoenix-core --- -[INFO] Deleting /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target -[INFO] -[INFO] --- maven-checkstyle-plugin:2.13:check (validate) @ phoenix-core --- -[INFO] -[INFO] --- build-helper-maven-plugin:1.9.1:add-test-source (add-test-source) @ phoenix-core --- -[INFO] Test Source directory: /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/it/java added. -[INFO] -[INFO] --- build-helper-maven-plugin:1.9.1:add-test-resource (add-test-resource) @ phoenix-core --- -[INFO] -[INFO] --- build-helper-maven-plugin:1.9.1:add-source (add-source) @ phoenix-core --- -[INFO] Source directory: /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/generated-sources/antlr3 added. -[INFO] Source directory: /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/antlr3 added. -[INFO] -[INFO] --- antlr3-maven-plugin:3.5.2:antlr (default) @ phoenix-core --- -[INFO] ANTLR: Processing source directory /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/antlr3 -Output file /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/generated-sources/antlr3/org/apache/phoenix/parse/PhoenixSQLParser.java does not exist: must build /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/antlr3/PhoenixSQL.g -PhoenixSQL.g -[INFO] -[INFO] --- maven-dependency-plugin:2.1:build-classpath (create-phoenix-generated-classpath) @ phoenix-core --- -[INFO] Wrote classpath file '/Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/cached_classpath.txt'. -[INFO] -[INFO] --- maven-remote-resources-plugin:1.5:process (default) @ phoenix-core --- -[INFO] -[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ phoenix-core --- -[INFO] Using 'UTF-8' encoding to copy filtered resources. -[INFO] Copying 1 resource to META-INF/services -[INFO] Copying 3 resources -[INFO] -[INFO] --- maven-compiler-plugin:3.0:compile (default-compile) @ phoenix-core --- -[INFO] Changes detected - recompiling the module! -[INFO] Compiling 951 source files to /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/classes -[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/java/org/apache/phoenix/execute/DescVarLengthFastByteComparisons.java:[25,16] sun.misc.Unsafe is internal proprietary API and may be removed in a future release -[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/java/org/apache/phoenix/execute/DescVarLengthFastByteComparisons.java:[116,26] sun.misc.Unsafe is internal proprietary API and may be removed in a future release -[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/java/org/apache/phoenix/execute/DescVarLengthFastByteComparisons.java:[122,30] sun.misc.Unsafe is internal proprietary API and may be removed in a future release -[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/java/org/apache/phoenix/execute/DescVarLengthFastByteComparisons.java:[126,39] sun.misc.Unsafe is internal proprietary API and may be removed in a future release -[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServices.java: Some input files use or override a deprecated API. -[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServices.java: Recompile with -Xlint:deprecation for details. -[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixStatement.java: Some input files use unchecked or unsafe operations. -[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/main/java/org/apache/phoenix/jdbc/PhoenixStatement.java: Recompile with -Xlint:unchecked for details. -[INFO] -[INFO] --- maven-dependency-plugin:2.1:build-classpath (create-mrapp-generated-classpath) @ phoenix-core --- -[INFO] Wrote classpath file '/Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/classes/mrapp-generated-classpath'. -[INFO] -[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ phoenix-core --- -[INFO] Using 'UTF-8' encoding to copy filtered resources. -[INFO] Copying 2 resources -[INFO] Copying 2 resources -[INFO] Copying 3 resources -[INFO] -[INFO] --- maven-compiler-plugin:3.0:testCompile (default-testCompile) @ phoenix-core --- -[INFO] Changes detected - recompiling the module! -[INFO] Compiling 406 source files to /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/test-classes -[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/test/java/org/apache/phoenix/util/TestUtil.java: Some input files use or override a deprecated API. -[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/test/java/org/apache/phoenix/util/TestUtil.java: Recompile with -Xlint:deprecation for details. -[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java: Some input files use unchecked or unsafe operations. -[WARNING] /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/src/test/java/org/apache/phoenix/query/BaseTest.java: Recompile with -Xlint:unchecked for details. -[INFO] -[INFO] --- maven-surefire-plugin:2.19.1:test (default-test) @ phoenix-core --- - -------------------------------------------------------- - T E S T S -------------------------------------------------------- -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 -Running org.apache.hadoop.hbase.ipc.PhoenixIndexRpcSchedulerTest -Running org.apache.hadoop.hbase.regionserver.PhoenixRpcSchedulerFactoryTest -Running org.apache.phoenix.cache.JodaTimezoneCacheTest -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.226 sec - in org.apache.hadoop.hbase.regionserver.PhoenixRpcSchedulerFactoryTest -Running org.apache.phoenix.cache.TenantCacheTest -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.078 sec - in org.apache.phoenix.cache.TenantCacheTest -Running org.apache.phoenix.compile.HavingCompilerTest -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.463 sec - in org.apache.phoenix.cache.JodaTimezoneCacheTest -Running org.apache.phoenix.compile.JoinQueryCompilerTest -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.49 sec - in org.apache.hadoop.hbase.ipc.PhoenixIndexRpcSchedulerTest -Running org.apache.phoenix.compile.LimitCompilerTest -Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.95 sec - in org.apache.phoenix.compile.HavingCompilerTest -Running org.apache.phoenix.compile.QueryCompilerTest -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.105 sec - in org.apache.phoenix.compile.JoinQueryCompilerTest -Running org.apache.phoenix.compile.QueryMetaDataTest -Tests run: 33, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.362 sec - in org.apache.phoenix.compile.QueryMetaDataTest -Running org.apache.phoenix.compile.QueryOptimizerTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.457 sec - in org.apache.phoenix.compile.LimitCompilerTest -Running org.apache.phoenix.compile.ScanRangesIntersectTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.compile.ScanRangesIntersectTest -Running org.apache.phoenix.compile.ScanRangesTest -Tests run: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.046 sec - in org.apache.phoenix.compile.ScanRangesTest -Running org.apache.phoenix.compile.SelectStatementRewriterTest -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.324 sec - in org.apache.phoenix.compile.SelectStatementRewriterTest -Running org.apache.phoenix.compile.StatementHintsCompilationTest -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.472 sec - in org.apache.phoenix.compile.StatementHintsCompilationTest -Running org.apache.phoenix.compile.TenantSpecificViewIndexCompileTest -Tests run: 122, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.552 sec - in org.apache.phoenix.compile.QueryCompilerTest -Running org.apache.phoenix.compile.ViewCompilerTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.314 sec - in org.apache.phoenix.compile.ViewCompilerTest -Running org.apache.phoenix.compile.WhereCompilerTest -Tests run: 42, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.266 sec - in org.apache.phoenix.compile.QueryOptimizerTest -Running org.apache.phoenix.compile.WhereOptimizerTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.669 sec - in org.apache.phoenix.compile.TenantSpecificViewIndexCompileTest -Running org.apache.phoenix.execute.CorrelatePlanTest -Tests run: 45, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.369 sec - in org.apache.phoenix.compile.WhereCompilerTest -Running org.apache.phoenix.execute.DescVarLengthFastByteComparisonsTest -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 sec - in org.apache.phoenix.execute.DescVarLengthFastByteComparisonsTest -Running org.apache.phoenix.execute.LiteralResultIteratorPlanTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.156 sec - in org.apache.phoenix.execute.CorrelatePlanTest -Running org.apache.phoenix.execute.MutationStateTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.execute.MutationStateTest -Running org.apache.phoenix.execute.UnnestArrayPlanTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 sec - in org.apache.phoenix.execute.UnnestArrayPlanTest -Running org.apache.phoenix.expression.AbsFunctionTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.105 sec - in org.apache.phoenix.execute.LiteralResultIteratorPlanTest -Running org.apache.phoenix.expression.ArithmeticOperationTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 sec - in org.apache.phoenix.expression.ArithmeticOperationTest -Running org.apache.phoenix.expression.ArrayAppendFunctionTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.021 sec - in org.apache.phoenix.expression.AbsFunctionTest -Running org.apache.phoenix.expression.ArrayConcatFunctionTest -Tests run: 105, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.668 sec - in org.apache.phoenix.compile.WhereOptimizerTest -Running org.apache.phoenix.expression.ArrayFillFunctionTest -Tests run: 14, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.026 sec - in org.apache.phoenix.expression.ArrayFillFunctionTest -Running org.apache.phoenix.expression.ArrayPrependFunctionTest -Tests run: 25, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.259 sec - in org.apache.phoenix.expression.ArrayAppendFunctionTest -Running org.apache.phoenix.expression.ArrayToStringFunctionTest -Tests run: 24, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.016 sec - in org.apache.phoenix.expression.ArrayToStringFunctionTest -Running org.apache.phoenix.expression.CbrtFunctionTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 sec - in org.apache.phoenix.expression.CbrtFunctionTest -Running org.apache.phoenix.expression.CoerceExpressionTest -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.expression.CoerceExpressionTest -Running org.apache.phoenix.expression.ColumnExpressionTest -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.expression.ColumnExpressionTest -Running org.apache.phoenix.expression.DeterminismTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.expression.DeterminismTest -Running org.apache.phoenix.expression.ExpFunctionTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 sec - in org.apache.phoenix.expression.ExpFunctionTest -Running org.apache.phoenix.expression.function.BuiltinFunctionConstructorTest -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.042 sec - in org.apache.phoenix.expression.function.BuiltinFunctionConstructorTest -Running org.apache.phoenix.expression.function.ExternalSqlTypeIdFunctionTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.expression.function.ExternalSqlTypeIdFunctionTest -Running org.apache.phoenix.expression.function.InstrFunctionTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.expression.function.InstrFunctionTest -Running org.apache.phoenix.expression.GetSetByteBitFunctionTest -Tests run: 37, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.244 sec - in org.apache.phoenix.expression.ArrayPrependFunctionTest -Running org.apache.phoenix.expression.ILikeExpressionTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.155 sec - in org.apache.phoenix.expression.ILikeExpressionTest -Running org.apache.phoenix.expression.LikeExpressionTest -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.008 sec - in org.apache.phoenix.expression.LikeExpressionTest -Running org.apache.phoenix.expression.LnLogFunctionTest -Tests run: 35, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.665 sec - in org.apache.phoenix.expression.ArrayConcatFunctionTest -Running org.apache.phoenix.expression.NullValueTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.017 sec - in org.apache.phoenix.expression.LnLogFunctionTest -Running org.apache.phoenix.expression.OctetLengthFunctionTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 sec - in org.apache.phoenix.expression.OctetLengthFunctionTest -Running org.apache.phoenix.expression.PowerFunctionTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 sec - in org.apache.phoenix.expression.PowerFunctionTest -Running org.apache.phoenix.expression.RegexpReplaceFunctionTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 sec - in org.apache.phoenix.expression.RegexpReplaceFunctionTest -Running org.apache.phoenix.expression.RegexpSplitFunctionTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.008 sec - in org.apache.phoenix.expression.RegexpSplitFunctionTest -Running org.apache.phoenix.expression.RegexpSubstrFunctionTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.expression.RegexpSubstrFunctionTest -Running org.apache.phoenix.expression.RoundFloorCeilExpressionsTest -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.419 sec - in org.apache.phoenix.expression.GetSetByteBitFunctionTest -Running org.apache.phoenix.expression.SignFunctionTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.01 sec - in org.apache.phoenix.expression.SignFunctionTest -Running org.apache.phoenix.expression.SortOrderExpressionTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.164 sec - in org.apache.phoenix.expression.NullValueTest -Running org.apache.phoenix.expression.SqrtFunctionTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec - in org.apache.phoenix.expression.SqrtFunctionTest -Running org.apache.phoenix.expression.StringToArrayFunctionTest -Tests run: 20, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 sec - in org.apache.phoenix.expression.StringToArrayFunctionTest -Running org.apache.phoenix.expression.util.regex.PatternPerformanceTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.expression.util.regex.PatternPerformanceTest -Running org.apache.phoenix.filter.DistinctPrefixFilterTest -Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.012 sec - in org.apache.phoenix.filter.DistinctPrefixFilterTest -Running org.apache.phoenix.filter.SkipScanBigFilterTest -Tests run: 22, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.184 sec - in org.apache.phoenix.expression.RoundFloorCeilExpressionsTest -Running org.apache.phoenix.filter.SkipScanFilterIntersectTest -Tests run: 24, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.151 sec - in org.apache.phoenix.expression.SortOrderExpressionTest -Running org.apache.phoenix.filter.SkipScanFilterTest -Tests run: 19, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.027 sec - in org.apache.phoenix.filter.SkipScanFilterIntersectTest -Running org.apache.phoenix.hbase.index.covered.data.TestIndexMemStore -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.011 sec - in org.apache.phoenix.hbase.index.covered.data.TestIndexMemStore -Running org.apache.phoenix.hbase.index.covered.example.TestColumnTracker -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec - in org.apache.phoenix.hbase.index.covered.example.TestColumnTracker -Running org.apache.phoenix.hbase.index.covered.example.TestCoveredColumnIndexCodec -Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.036 sec - in org.apache.phoenix.filter.SkipScanFilterTest -Running org.apache.phoenix.hbase.index.covered.example.TestCoveredIndexSpecifierBuilder -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec - in org.apache.phoenix.hbase.index.covered.example.TestCoveredIndexSpecifierBuilder -Running org.apache.phoenix.hbase.index.covered.filter.TestApplyAndFilterDeletesFilter -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.02 sec - in org.apache.phoenix.hbase.index.covered.filter.TestApplyAndFilterDeletesFilter -Running org.apache.phoenix.hbase.index.covered.filter.TestNewerTimestampFilter -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.hbase.index.covered.filter.TestNewerTimestampFilter -Running org.apache.phoenix.hbase.index.covered.TestCoveredColumns -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.hbase.index.covered.TestCoveredColumns -Running org.apache.phoenix.hbase.index.covered.TestLocalTableState -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.245 sec - in org.apache.phoenix.filter.SkipScanBigFilterTest -Running org.apache.phoenix.hbase.index.covered.update.TestIndexUpdateManager -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec - in org.apache.phoenix.hbase.index.covered.update.TestIndexUpdateManager -Running org.apache.phoenix.hbase.index.parallel.TestThreadPoolBuilder -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec - in org.apache.phoenix.hbase.index.parallel.TestThreadPoolBuilder -Running org.apache.phoenix.hbase.index.parallel.TestThreadPoolManager -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 sec - in org.apache.phoenix.hbase.index.parallel.TestThreadPoolManager -Running org.apache.phoenix.hbase.index.util.TestIndexManagementUtil -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.017 sec - in org.apache.phoenix.hbase.index.util.TestIndexManagementUtil -Running org.apache.phoenix.hbase.index.write.recovery.TestPerRegionIndexWriteCache -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.227 sec - in org.apache.phoenix.hbase.index.covered.example.TestCoveredColumnIndexCodec -Running org.apache.phoenix.hbase.index.write.TestCachingHTableFactory -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.049 sec - in org.apache.phoenix.hbase.index.write.TestCachingHTableFactory -Running org.apache.phoenix.hbase.index.write.TestIndexWriter -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.261 sec - in org.apache.phoenix.hbase.index.covered.TestLocalTableState -Running org.apache.phoenix.hbase.index.write.TestParalleIndexWriter -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.053 sec - in org.apache.phoenix.hbase.index.write.TestIndexWriter -Running org.apache.phoenix.hbase.index.write.TestParalleWriterIndexCommitter -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.01 sec - in org.apache.phoenix.hbase.index.write.TestParalleWriterIndexCommitter -Running org.apache.phoenix.hbase.index.write.TestWALRecoveryCaching -Tests run: 1, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 0.005 sec - in org.apache.phoenix.hbase.index.write.TestWALRecoveryCaching -Running org.apache.phoenix.index.automated.MRJobSubmitterTest -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.095 sec - in org.apache.phoenix.hbase.index.write.TestParalleIndexWriter -Running org.apache.phoenix.index.IndexMaintainerTest -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.09 sec - in org.apache.phoenix.index.automated.MRJobSubmitterTest -Running org.apache.phoenix.iterate.AggregateResultScannerTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.158 sec - in org.apache.phoenix.iterate.AggregateResultScannerTest -Running org.apache.phoenix.iterate.ConcatResultIteratorTest -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 sec - in org.apache.phoenix.iterate.ConcatResultIteratorTest -Running org.apache.phoenix.iterate.MergeSortResultIteratorTest -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.iterate.MergeSortResultIteratorTest -Running org.apache.phoenix.iterate.RowKeyOrderedAggregateResultIteratorTest -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.102 sec - in org.apache.phoenix.iterate.RowKeyOrderedAggregateResultIteratorTest -Running org.apache.phoenix.iterate.SpoolingResultIteratorTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.017 sec - in org.apache.phoenix.iterate.SpoolingResultIteratorTest -Running org.apache.phoenix.jdbc.PhoenixDriverTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.672 sec - in org.apache.phoenix.hbase.index.write.recovery.TestPerRegionIndexWriteCache -Running org.apache.phoenix.jdbc.PhoenixEmbeddedDriverTest -Tests run: 24, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.458 sec - in org.apache.phoenix.index.IndexMaintainerTest -Running org.apache.phoenix.jdbc.PhoenixPreparedStatementTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.106 sec - in org.apache.phoenix.jdbc.PhoenixEmbeddedDriverTest -Running org.apache.phoenix.jdbc.PhoenixResultSetMetadataTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.252 sec - in org.apache.phoenix.jdbc.PhoenixDriverTest -Running org.apache.phoenix.jdbc.ReadOnlyPropertiesTest -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.jdbc.ReadOnlyPropertiesTest -Running org.apache.phoenix.mapreduce.bulkload.TestTableRowkeyPair -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec - in org.apache.phoenix.mapreduce.bulkload.TestTableRowkeyPair -Running org.apache.phoenix.mapreduce.BulkLoadToolTest -Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.141 sec - in org.apache.phoenix.jdbc.PhoenixPreparedStatementTest -Running org.apache.phoenix.mapreduce.CsvBulkImportUtilTest -Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.023 sec - in org.apache.phoenix.mapreduce.BulkLoadToolTest -Running org.apache.phoenix.mapreduce.CsvToKeyValueMapperTest -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.013 sec - in org.apache.phoenix.mapreduce.CsvToKeyValueMapperTest -Running org.apache.phoenix.mapreduce.FormatToBytesWritableMapperTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.157 sec - in org.apache.phoenix.jdbc.PhoenixResultSetMetadataTest -Running org.apache.phoenix.mapreduce.util.ColumnInfoToStringEncoderDecoderTest -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.166 sec - in org.apache.phoenix.mapreduce.FormatToBytesWritableMapperTest -Running org.apache.phoenix.mapreduce.util.PhoenixConfigurationUtilTest -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.086 sec - in org.apache.phoenix.mapreduce.util.ColumnInfoToStringEncoderDecoderTest -Running org.apache.phoenix.memory.MemoryManagerTest -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.235 sec - in org.apache.phoenix.mapreduce.CsvBulkImportUtilTest -Running org.apache.phoenix.parse.BuiltInFunctionInfoTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 3, Time elapsed: 0.037 sec - in org.apache.phoenix.memory.MemoryManagerTest -Running org.apache.phoenix.parse.CastParseNodeTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.parse.BuiltInFunctionInfoTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.parse.CastParseNodeTest -Running org.apache.phoenix.query.ConnectionlessTest -Running org.apache.phoenix.parse.QueryParserTest -Tests run: 59, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.074 sec - in org.apache.phoenix.parse.QueryParserTest -Running org.apache.phoenix.query.HBaseFactoryProviderTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.query.HBaseFactoryProviderTest -Running org.apache.phoenix.query.KeyRangeCoalesceTest -Tests run: 13, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 sec - in org.apache.phoenix.query.KeyRangeCoalesceTest -Running org.apache.phoenix.query.KeyRangeIntersectTest -Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec - in org.apache.phoenix.query.KeyRangeIntersectTest -Running org.apache.phoenix.query.KeyRangeUnionTest -Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec - in org.apache.phoenix.query.KeyRangeUnionTest -Running org.apache.phoenix.query.OrderByTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.162 sec - in org.apache.phoenix.query.ConnectionlessTest -Running org.apache.phoenix.query.ParallelIteratorsSplitTest -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.174 sec - in org.apache.phoenix.query.OrderByTest -Running org.apache.phoenix.query.PhoenixStatsCacheRemovalListenerTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.query.PhoenixStatsCacheRemovalListenerTest -Running org.apache.phoenix.query.QueryPlanTest -Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.253 sec - in org.apache.phoenix.query.ParallelIteratorsSplitTest -Running org.apache.phoenix.query.ScannerLeaseRenewalTest -Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.677 sec - in org.apache.phoenix.mapreduce.util.PhoenixConfigurationUtilTest -Running org.apache.phoenix.schema.MutationTest -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.345 sec - in org.apache.phoenix.query.QueryPlanTest -Running org.apache.phoenix.schema.PCharPadTest -Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.schema.PCharPadTest -Running org.apache.phoenix.schema.PMetaDataImplTest -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 sec - in org.apache.phoenix.schema.PMetaDataImplTest -Running org.apache.phoenix.schema.RowKeySchemaTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.138 sec - in org.apache.phoenix.schema.MutationTest -Running org.apache.phoenix.schema.RowKeyValueAccessorTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.204 sec - in org.apache.phoenix.schema.RowKeySchemaTest -Running org.apache.phoenix.schema.SaltingUtilTest -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.schema.SaltingUtilTest -Running org.apache.phoenix.schema.SchemaUtilTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.schema.SchemaUtilTest -Running org.apache.phoenix.schema.SequenceAllocationTest -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.schema.SequenceAllocationTest -Running org.apache.phoenix.schema.SortOrderTest -Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.schema.SortOrderTest -Running org.apache.phoenix.schema.types.PDataTypeForArraysTest -Tests run: 68, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.017 sec - in org.apache.phoenix.schema.types.PDataTypeForArraysTest -Running org.apache.phoenix.schema.types.PDataTypeTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.122 sec - in org.apache.phoenix.schema.RowKeyValueAccessorTest -Running org.apache.phoenix.schema.types.PDateArrayToStringTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 sec - in org.apache.phoenix.schema.types.PDateArrayToStringTest -Running org.apache.phoenix.schema.types.PrimitiveBooleanPhoenixArrayToStringTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.schema.types.PrimitiveBooleanPhoenixArrayToStringTest -Running org.apache.phoenix.schema.types.PrimitiveBytePhoenixArrayToStringTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.schema.types.PrimitiveBytePhoenixArrayToStringTest -Running org.apache.phoenix.schema.types.PrimitiveDoublePhoenixArrayToStringTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.schema.types.PrimitiveDoublePhoenixArrayToStringTest -Running org.apache.phoenix.schema.types.PrimitiveFloatPhoenixArrayToStringTest -Tests run: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.037 sec - in org.apache.phoenix.schema.types.PDataTypeTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.schema.types.PrimitiveFloatPhoenixArrayToStringTest -Running org.apache.phoenix.schema.types.PrimitiveLongPhoenixArrayToStringTest -Running org.apache.phoenix.schema.types.PrimitiveIntPhoenixArrayToStringTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.schema.types.PrimitiveLongPhoenixArrayToStringTest -Running org.apache.phoenix.schema.types.PrimitiveShortPhoenixArrayToStringTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.schema.types.PrimitiveIntPhoenixArrayToStringTest -Running org.apache.phoenix.schema.types.PVarcharArrayToStringTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.schema.types.PrimitiveShortPhoenixArrayToStringTest -Running org.apache.phoenix.schema.ValueBitSetTest -Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.schema.types.PVarcharArrayToStringTest -Running org.apache.phoenix.trace.TraceMetricsSourceTest -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.005 sec - in org.apache.phoenix.schema.ValueBitSetTest -Running org.apache.phoenix.util.Base62EncoderTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.017 sec - in org.apache.phoenix.util.Base62EncoderTest -Running org.apache.phoenix.util.ByteUtilTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.012 sec - in org.apache.phoenix.util.ByteUtilTest -Running org.apache.phoenix.util.ColumnInfoTest -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.util.ColumnInfoTest -Running org.apache.phoenix.util.csv.CsvUpsertExecutorTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.187 sec - in org.apache.phoenix.trace.TraceMetricsSourceTest -Running org.apache.phoenix.util.csv.StringToArrayConverterTest -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.156 sec - in org.apache.phoenix.util.csv.CsvUpsertExecutorTest -Running org.apache.phoenix.util.DateUtilTest -Tests run: 22, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.008 sec - in org.apache.phoenix.util.DateUtilTest -Running org.apache.phoenix.util.IndexUtilTest -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.001 sec - in org.apache.phoenix.util.IndexUtilTest -Running org.apache.phoenix.util.JDBCUtilTest -Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.002 sec - in org.apache.phoenix.util.JDBCUtilTest -Running org.apache.phoenix.util.json.JsonUpsertExecutorTest -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.13 sec - in org.apache.phoenix.util.json.JsonUpsertExecutorTest -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.157 sec - in org.apache.phoenix.util.csv.StringToArrayConverterTest -Running org.apache.phoenix.util.LogUtilTest -Running org.apache.phoenix.util.LikeExpressionTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0 sec - in org.apache.phoenix.util.LikeExpressionTest -Running org.apache.phoenix.util.MetaDataUtilTest -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.027 sec - in org.apache.phoenix.util.MetaDataUtilTest -Running org.apache.phoenix.util.PhoenixContextExecutorTest -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.util.PhoenixContextExecutorTest -Running org.apache.phoenix.util.PhoenixEncodeDecodeTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.046 sec - in org.apache.phoenix.util.LogUtilTest -Running org.apache.phoenix.util.PhoenixRuntimeTest -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.11 sec - in org.apache.phoenix.util.PhoenixEncodeDecodeTest -Running org.apache.phoenix.util.PrefixByteEncoderDecoderTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec - in org.apache.phoenix.util.PrefixByteEncoderDecoderTest -Running org.apache.phoenix.util.PropertiesUtilTest -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.019 sec - in org.apache.phoenix.util.PropertiesUtilTest -Running org.apache.phoenix.util.QueryUtilTest -Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.004 sec - in org.apache.phoenix.util.QueryUtilTest -Running org.apache.phoenix.util.ScanUtilTest -Tests run: 20, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 sec - in org.apache.phoenix.util.ScanUtilTest -Running org.apache.phoenix.util.SequenceUtilTest -Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.003 sec - in org.apache.phoenix.util.SequenceUtilTest -Running org.apache.phoenix.util.StringUtilTest -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 sec - in org.apache.phoenix.util.StringUtilTest -Running org.apache.phoenix.util.TenantIdByteConversionTest -Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.01 sec - in org.apache.phoenix.util.TenantIdByteConversionTest -Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.335 sec - in org.apache.phoenix.util.PhoenixRuntimeTest -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.755 sec - in org.apache.phoenix.query.ScannerLeaseRenewalTest - -Results : - -Tests run: 1375, Failures: 0, Errors: 0, Skipped: 5 - -[INFO] -[INFO] --- maven-source-plugin:2.2.1:jar-no-fork (attach-sources) @ phoenix-core --- -[INFO] Building jar: /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/phoenix-core-4.8.0-HBase-1.2-SNAPSHOT-sources.jar -[INFO] -[INFO] --- maven-jar-plugin:2.4:test-jar (default) @ phoenix-core --- -[INFO] Building jar: /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/phoenix-core-4.8.0-HBase-1.2-SNAPSHOT-tests.jar -[INFO] -[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ phoenix-core --- -[INFO] Building jar: /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/phoenix-core-4.8.0-HBase-1.2-SNAPSHOT.jar -[INFO] -[INFO] --- maven-site-plugin:3.2:attach-descriptor (attach-descriptor) @ phoenix-core --- -[INFO] -[INFO] --- maven-assembly-plugin:2.5.2:single (core) @ phoenix-core --- -[INFO] Reading assembly descriptor: src/build/phoenix-core.xml -[WARNING] Artifact: org.apache.phoenix:phoenix-core:jar:4.8.0-HBase-1.2-SNAPSHOT references the same file as the assembly destination file. Moving it to a temporary location for inclusion. -[INFO] Building jar: /Users/prakul.agarwal/Documents/works/prPhoenix/phoenix-core/target/phoenix-core-4.8.0-HBase-1.2-SNAPSHOT.jar -[INFO] -[INFO] --- maven-failsafe-plugin:2.19.1:integration-test (HBaseManagedTimeTableReuseTest) @ phoenix-core --- - -------------------------------------------------------- - T E S T S -------------------------------------------------------- -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 -Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; support was removed in 8.0 -Running org.apache.phoenix.end2end.ArithmeticQueryIT -Running org.apache.phoenix.end2end.AlterTableWithViewsIT -Running org.apache.phoenix.end2end.AppendOnlySchemaIT -Running org.apache.phoenix.end2end.AlterSessionIT -Running org.apache.phoenix.end2end.AbsFunctionEnd2EndIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.056 sec - in org.apache.phoenix.end2end.AlterSessionIT -Running org.apache.phoenix.end2end.ArrayAppendFunctionIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.46 sec - in org.apache.phoenix.end2end.AbsFunctionEnd2EndIT -Running org.apache.phoenix.end2end.ArrayConcatFunctionIT -Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 31.432 sec - in org.apache.phoenix.end2end.AppendOnlySchemaIT -Running org.apache.phoenix.end2end.ArrayFillFunctionIT -Tests run: 26, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 15.828 sec - in org.apache.phoenix.end2end.ArrayFillFunctionIT -Running org.apache.phoenix.end2end.ArrayPrependFunctionIT -Tests run: 26, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 63.299 sec - in org.apache.phoenix.end2end.ArithmeticQueryIT -Running org.apache.phoenix.end2end.ArrayToStringFunctionIT -Tests run: 30, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 71.964 sec - in org.apache.phoenix.end2end.ArrayConcatFunctionIT -Running org.apache.phoenix.end2end.ArraysWithNullsIT -Tests run: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 78.017 sec - in org.apache.phoenix.end2end.ArrayAppendFunctionIT -Running org.apache.phoenix.end2end.AutoCommitIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.267 sec - in org.apache.phoenix.end2end.AutoCommitIT -Running org.apache.phoenix.end2end.AutoPartitionViewsIT -Tests run: 36, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.504 sec - in org.apache.phoenix.end2end.ArrayToStringFunctionIT -Running org.apache.phoenix.end2end.BinaryRowKeyIT -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.759 sec - in org.apache.phoenix.end2end.BinaryRowKeyIT -Running org.apache.phoenix.end2end.CSVCommonsLoaderIT -Tests run: 16, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 35.901 sec - in org.apache.phoenix.end2end.ArraysWithNullsIT -Running org.apache.phoenix.end2end.CbrtFunctionEnd2EndIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.089 sec - in org.apache.phoenix.end2end.CbrtFunctionEnd2EndIT -Running org.apache.phoenix.end2end.CoalesceFunctionIT -Tests run: 16, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 33.859 sec - in org.apache.phoenix.end2end.CSVCommonsLoaderIT -Running org.apache.phoenix.end2end.ConvertTimezoneFunctionIT -Tests run: 34, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 79.829 sec - in org.apache.phoenix.end2end.ArrayPrependFunctionIT -Running org.apache.phoenix.end2end.DateTimeIT -Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 24.701 sec - in org.apache.phoenix.end2end.CoalesceFunctionIT -Running org.apache.phoenix.end2end.DecodeFunctionIT -Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 15.706 sec - in org.apache.phoenix.end2end.ConvertTimezoneFunctionIT -Running org.apache.phoenix.end2end.DeleteIT -Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 66.485 sec - in org.apache.phoenix.end2end.AutoPartitionViewsIT -Running org.apache.phoenix.end2end.DisableLocalIndexIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.502 sec - in org.apache.phoenix.end2end.DisableLocalIndexIT -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.432 sec - in org.apache.phoenix.end2end.DecodeFunctionIT -Running org.apache.phoenix.end2end.DynamicColumnIT -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.464 sec - in org.apache.phoenix.end2end.DynamicColumnIT -Running org.apache.phoenix.end2end.DynamicFamilyIT -Running org.apache.phoenix.end2end.DistinctPrefixFilterIT -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.52 sec - in org.apache.phoenix.end2end.DynamicFamilyIT -Running org.apache.phoenix.end2end.DynamicUpsertIT -Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.047 sec - in org.apache.phoenix.end2end.DynamicUpsertIT -Running org.apache.phoenix.end2end.EncodeFunctionIT -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.677 sec - in org.apache.phoenix.end2end.DistinctPrefixFilterIT -Running org.apache.phoenix.end2end.EvaluationOfORIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.271 sec - in org.apache.phoenix.end2end.EvaluationOfORIT -Running org.apache.phoenix.end2end.ExecuteStatementsIT -Tests run: 18, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 182.456 sec - in org.apache.phoenix.end2end.AlterTableWithViewsIT -Running org.apache.phoenix.end2end.ExpFunctionEnd2EndIT -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.978 sec - in org.apache.phoenix.end2end.EncodeFunctionIT -Running org.apache.phoenix.end2end.FirstValueFunctionIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.682 sec - in org.apache.phoenix.end2end.ExecuteStatementsIT -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 15.679 sec - in org.apache.phoenix.end2end.ExpFunctionEnd2EndIT -Running org.apache.phoenix.end2end.GroupByCaseIT -Running org.apache.phoenix.end2end.GetSetByteBitFunctionEnd2EndIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.028 sec - in org.apache.phoenix.end2end.GetSetByteBitFunctionEnd2EndIT -Running org.apache.phoenix.end2end.HashJoinMoreIT -Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 15.718 sec - in org.apache.phoenix.end2end.FirstValueFunctionIT -Running org.apache.phoenix.end2end.InListIT -Tests run: 24, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 79.756 sec - in org.apache.phoenix.end2end.DateTimeIT -Running org.apache.phoenix.end2end.InMemoryOrderByIT -Tests run: 10, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.513 sec - in org.apache.phoenix.end2end.GroupByCaseIT -Running org.apache.phoenix.end2end.InstrFunctionIT -Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.518 sec - in org.apache.phoenix.end2end.InMemoryOrderByIT -Running org.apache.phoenix.end2end.IsNullIT -Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.945 sec - in org.apache.phoenix.end2end.InstrFunctionIT -Running org.apache.phoenix.end2end.LastValueFunctionIT -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.731 sec - in org.apache.phoenix.end2end.IsNullIT -Running org.apache.phoenix.end2end.LikeExpressionIT -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.507 sec - in org.apache.phoenix.end2end.LikeExpressionIT -Running org.apache.phoenix.end2end.LnLogFunctionEnd2EndIT -Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 51.79 sec - in org.apache.phoenix.end2end.HashJoinMoreIT -Running org.apache.phoenix.end2end.MD5FunctionIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.567 sec - in org.apache.phoenix.end2end.LnLogFunctionEnd2EndIT -Running org.apache.phoenix.end2end.MapReduceIT -Tests run: 25, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 108.912 sec - in org.apache.phoenix.end2end.DeleteIT -Running org.apache.phoenix.end2end.MappingTableDataTypeIT -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.835 sec - in org.apache.phoenix.end2end.MD5FunctionIT -Running org.apache.phoenix.end2end.MinMaxAggregateFunctionIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.246 sec - in org.apache.phoenix.end2end.MinMaxAggregateFunctionIT -Running org.apache.phoenix.end2end.ModulusExpressionIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.616 sec - in org.apache.phoenix.end2end.MappingTableDataTypeIT -Running org.apache.phoenix.end2end.NamespaceSchemaMappingIT -Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 24.661 sec - in org.apache.phoenix.end2end.LastValueFunctionIT -Running org.apache.phoenix.end2end.NthValueFunctionIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.39 sec - in org.apache.phoenix.end2end.MapReduceIT -Running org.apache.phoenix.end2end.OctetLengthFunctionEnd2EndIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.25 sec - in org.apache.phoenix.end2end.OctetLengthFunctionEnd2EndIT -Running org.apache.phoenix.end2end.OrderByIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 14.432 sec - in org.apache.phoenix.end2end.NamespaceSchemaMappingIT -Running org.apache.phoenix.end2end.PercentileIT -Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 24.783 sec - in org.apache.phoenix.end2end.ModulusExpressionIT -Running org.apache.phoenix.end2end.PhoenixRuntimeIT -Tests run: 11, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 24.587 sec - in org.apache.phoenix.end2end.NthValueFunctionIT -Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.434 sec - in org.apache.phoenix.end2end.OrderByIT -Running org.apache.phoenix.end2end.PrimitiveTypeIT -Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.036 sec - in org.apache.phoenix.end2end.PrimitiveTypeIT -Running org.apache.phoenix.end2end.QueryExecWithoutSCNIT -Running org.apache.phoenix.end2end.PowerFunctionEnd2EndIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.097 sec - in org.apache.phoenix.end2end.PowerFunctionEnd2EndIT -Running org.apache.phoenix.end2end.QueryMoreIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.274 sec - in org.apache.phoenix.end2end.QueryExecWithoutSCNIT -Running org.apache.phoenix.end2end.RTrimFunctionIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.506 sec - in org.apache.phoenix.end2end.RTrimFunctionIT -Running org.apache.phoenix.end2end.ReadOnlyIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.663 sec - in org.apache.phoenix.end2end.ReadOnlyIT -Running org.apache.phoenix.end2end.RegexpReplaceFunctionIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 24.875 sec - in org.apache.phoenix.end2end.PhoenixRuntimeIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.507 sec - in org.apache.phoenix.end2end.RegexpReplaceFunctionIT -Running org.apache.phoenix.end2end.RegexpSubstrFunctionIT -Running org.apache.phoenix.end2end.RegexpSplitFunctionIT -Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.328 sec - in org.apache.phoenix.end2end.RegexpSplitFunctionIT -Tests run: 17, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 37.221 sec - in org.apache.phoenix.end2end.PercentileIT -Running org.apache.phoenix.end2end.ReverseFunctionIT -Running org.apache.phoenix.end2end.ReverseScanIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 4.501 sec - in org.apache.phoenix.end2end.RegexpSubstrFunctionIT -Running org.apache.phoenix.end2end.RoundFloorCeilFunctionsEnd2EndIT -Tests run: 33, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.967 sec - in org.apache.phoenix.end2end.RoundFloorCeilFunctionsEnd2EndIT -Running org.apache.phoenix.end2end.SerialIteratorsIT -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 31.723 sec - in org.apache.phoenix.end2end.QueryMoreIT -Running org.apache.phoenix.end2end.ServerExceptionIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.264 sec - in org.apache.phoenix.end2end.SerialIteratorsIT -Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.167 sec - in org.apache.phoenix.end2end.ReverseFunctionIT -Running org.apache.phoenix.end2end.SkipScanAfterManualSplitIT -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.27 sec - in org.apache.phoenix.end2end.ReverseScanIT -Running org.apache.phoenix.end2end.SkipScanQueryIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.274 sec - in org.apache.phoenix.end2end.ServerExceptionIT -Running org.apache.phoenix.end2end.SortMergeJoinMoreIT -Running org.apache.phoenix.end2end.SignFunctionEnd2EndIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.066 sec - in org.apache.phoenix.end2end.SignFunctionEnd2EndIT -Running org.apache.phoenix.end2end.SortOrderIT -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 20.906 sec - in org.apache.phoenix.end2end.SkipScanAfterManualSplitIT -Running org.apache.phoenix.end2end.SpooledOrderByIT -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.706 sec - in org.apache.phoenix.end2end.SortMergeJoinMoreIT -Running org.apache.phoenix.end2end.SpooledTmpFileDeleteIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.28 sec - in org.apache.phoenix.end2end.SpooledTmpFileDeleteIT -Running org.apache.phoenix.end2end.SqrtFunctionEnd2EndIT -Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 26.881 sec - in org.apache.phoenix.end2end.SkipScanQueryIT -Running org.apache.phoenix.end2end.StatementHintsIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.261 sec - in org.apache.phoenix.end2end.StatementHintsIT -Running org.apache.phoenix.end2end.StddevIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.99 sec - in org.apache.phoenix.end2end.SqrtFunctionEnd2EndIT -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 8.983 sec - in org.apache.phoenix.end2end.StddevIT -Running org.apache.phoenix.end2end.StringIT -Running org.apache.phoenix.end2end.StoreNullsIT -Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.469 sec - in org.apache.phoenix.end2end.SpooledOrderByIT -Running org.apache.phoenix.end2end.StringToArrayFunctionIT -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 12.941 sec - in org.apache.phoenix.end2end.StoreNullsIT -Running org.apache.phoenix.end2end.TenantIdTypeIT -Tests run: 22, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.468 sec - in org.apache.phoenix.end2end.StringToArrayFunctionIT -Running org.apache.phoenix.end2end.TenantSpecificViewIndexIT -Tests run: 13, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 55.946 sec - in org.apache.phoenix.end2end.StringIT -Running org.apache.phoenix.end2end.TenantSpecificViewIndexSaltedIT -Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 66.273 sec - in org.apache.phoenix.end2end.TenantIdTypeIT -Running org.apache.phoenix.end2end.TimezoneOffsetFunctionIT -Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 66.319 sec - in org.apache.phoenix.end2end.TenantSpecificViewIndexIT -Running org.apache.phoenix.end2end.ToCharFunctionIT -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 30.871 sec - in org.apache.phoenix.end2end.TenantSpecificViewIndexSaltedIT -Running org.apache.phoenix.end2end.ToDateFunctionIT -Tests run: 45, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 123.612 sec - in org.apache.phoenix.end2end.SortOrderIT -Running org.apache.phoenix.end2end.UpgradeIT -Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 6.778 sec - in org.apache.phoenix.end2end.ToDateFunctionIT -Running org.apache.phoenix.end2end.UpsertBigValuesIT -Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 15.676 sec - in org.apache.phoenix.end2end.TimezoneOffsetFunctionIT -Running org.apache.phoenix.end2end.UpsertSelectAutoCommitIT -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 9.038 sec - in org.apache.phoenix.end2end.UpsertBigValuesIT -Running org.apache.phoenix.end2end.UseSchemaIT -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 11.246 sec - in org.apache.phoenix.end2end.UpsertSelectAutoCommitIT -Running org.apache.phoenix.end2end.index.DropMetadataIT -Tests run: 12, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 33.566 sec - in org.apache.phoenix.end2end.ToCharFunctionIT -Running org.apache.phoenix.end2end.index.GlobalIndexOptimizationIT -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 22.06 sec - in org.apache.phoenix.end2end.UseSchemaIT -Running org.apache.phoenix.end2end.index.ImmutableIndexIT -Tests run: 4, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 35.946 sec - in org.apache.phoenix.end2end.index.DropMetadataIT -Running org.apache.phoenix.end2end.index.IndexExpressionIT -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 33.813 sec - in org.apache.phoenix.end2end.index.GlobalIndexOptimizationIT -Running org.apache.phoenix.end2end.index.IndexIT -Tests run: 12, Failures: 0, Errors: 0, Skipped: 4, Time elapsed: 68.217 sec - in org.apache.phoenix.end2end.index.ImmutableIndexIT -Running org.apache.phoenix.end2end.index.IndexMetadataIT -Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 43.021 sec - in org.apache.phoenix.end2end.index.IndexMetadataIT -Running org.apache.phoenix.end2end.index.LocalIndexIT -Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 192.957 sec - in org.apache.phoenix.end2end.UpgradeIT -Running org.apache.phoenix.end2end.index.MutableIndexIT -Tests run: 28, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 621.942 sec - in org.apache.phoenix.end2end.InListIT -Running org.apache.phoenix.end2end.index.SaltedIndexIT -Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 13.906 sec - in org.apache.phoenix.end2end.index.SaltedIndexIT -Running org.apache.phoenix.end2end.index.ViewIndexIT -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 53.918 sec - in org.apache.phoenix.end2end.index.ViewIndexIT -Running org.apache.phoenix.end2end.index.txn.MutableRollbackIT -Tests run: 62, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 420.119 sec - in org.apache.phoenix.end2end.index.IndexExpressionIT -Running org.apache.phoenix.end2end.index.txn.RollbackIT -Tests run: 40, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 348.627 sec - in org.apache.phoenix.end2end.index.LocalIndexIT -Running org.apache.phoenix.end2end.salted.SaltedTableUpsertSelectIT -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 67.928 sec - in org.apache.phoenix.end2end.index.txn.MutableRollbackIT -Running org.apache.phoenix.end2end.salted.SaltedTableVarLengthRowKeyIT -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2.253 sec - in org.apache.phoenix.end2end.salted.SaltedTableVarLengthRowKeyIT -Running org.apache.phoenix.iterate.PhoenixQueryTimeoutIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.053 sec - in org.apache.phoenix.iterate.PhoenixQueryTimeoutIT -Running org.apache.phoenix.iterate.RoundRobinResultIteratorIT -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 23.903 sec - in org.apache.phoenix.end2end.salted.SaltedTableUpsertSelectIT -Running org.apache.phoenix.rpc.UpdateCacheIT -Tests run: 8, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 53.648 sec - in org.apache.phoenix.end2end.index.txn.RollbackIT -Running org.apache.phoenix.trace.PhoenixTableMetricsWriterIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.276 sec - in org.apache.phoenix.trace.PhoenixTableMetricsWriterIT -Running org.apache.phoenix.trace.PhoenixTraceReaderIT -Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.048 sec - in org.apache.phoenix.trace.PhoenixTraceReaderIT -Running org.apache.phoenix.trace.PhoenixTracingEndToEndIT -Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 27.041 sec - in org.apache.phoenix.rpc.UpdateCacheIT -Running org.apache.phoenix.tx.TransactionIT -Tests run: 9, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 49.44 sec - in org.apache.phoenix.iterate.RoundRobinResultIteratorIT -Running org.apache.phoenix.tx.TxCheckpointIT -Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 81.382 sec - in org.apache.phoenix.trace.PhoenixTracingEndToEndIT -Tests run: 21, Failures: 0, Errors: 0, Skipped: 1, Time elapsed: 144.194 sec - in org.apache.phoenix.tx.TransactionIT -Tests run: 20, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 141.12 sec - in org.apache.phoenix.tx.TxCheckpointIT -Tests run: 40, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 539.189 sec - in org.apache.phoenix.end2end.index.MutableIndexIT - -Results : - -Tests run: 1068, Failures: 0, Errors: 0, Skipped: 5 - -[INFO] -[INFO] --- maven-failsafe-plugin:2.19.1:verify (HBaseManagedTimeTableReuseTest) @ phoenix-core --- -[INFO] ------------------------------------------------------------------------ -[INFO] Reactor Summary: -[INFO] -[INFO] Apache Phoenix ..................................... SUCCESS [ 1.275 s] -[INFO] Phoenix Core ....................................... FAILURE [20:56 min] -[INFO] Phoenix - Flume .................................... SKIPPED -[INFO] Phoenix - Pig ...................................... SKIPPED -[INFO] Phoenix Query Server Client ........................ SKIPPED -[INFO] Phoenix Query Server ............................... SKIPPED -[INFO] Phoenix - Pherf .................................... SKIPPED -[INFO] Phoenix - Spark .................................... SKIPPED -[INFO] Phoenix - Hive ..................................... SKIPPED -[INFO] Phoenix Client ..................................... SKIPPED -[INFO] Phoenix Server ..................................... SKIPPED -[INFO] Phoenix Assembly ................................... SKIPPED -[INFO] Phoenix - Tracing Web Application .................. SKIPPED -[INFO] ------------------------------------------------------------------------ -[INFO] BUILD FAILURE -[INFO] ------------------------------------------------------------------------ -[INFO] Total time: 20:58 min -[INFO] Finished at: 2016-08-02T13:32:09-07:00 -[INFO] Final Memory: 80M/1511M -[INFO] ------------------------------------------------------------------------ -[ERROR] Failed to execute goal org.apache.maven.plugins:maven-failsafe-plugin:2.19.1:verify (HBaseManagedTimeTableReuseTest) on project phoenix-core: There was a timeout or other error in the fork -> [Help 1] -[ERROR] -[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. -[ERROR] Re-run Maven using the -X switch to enable full debug logging. -[ERROR] -[ERROR] For more information about the errors and possible solutions, please read the following articles: -[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException -[ERROR] -[ERROR] After correcting the problems, you can resume the build with the command -[ERROR] mvn -rf :phoenix-core