PHOENIX-4623 Inconsistent physical view index name
Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/034d9867 Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/034d9867 Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/034d9867 Branch: refs/heads/4.x-cdh5.13 Commit: 034d9867ad0a2dd1c94b26d9108f39aba1dbc024 Parents: de4c348 Author: James Taylor <jtay...@salesforce.com> Authored: Tue May 8 16:29:41 2018 -0700 Committer: James Taylor <jtay...@salesforce.com> Committed: Wed May 9 13:29:40 2018 -0700 ---------------------------------------------------------------------- .../org/apache/phoenix/end2end/BaseViewIT.java | 7 +++---- .../java/org/apache/phoenix/end2end/ViewIT.java | 2 +- .../phoenix/schema/stats/StatsCollectorIT.java | 3 +-- .../org/apache/phoenix/util/MetaDataUtil.java | 18 +++++------------- .../java/org/apache/phoenix/util/UpgradeUtil.java | 2 +- 5 files changed, 11 insertions(+), 21 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/phoenix/blob/034d9867/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseViewIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseViewIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseViewIT.java index 478b234..5728a20 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseViewIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseViewIT.java @@ -46,7 +46,6 @@ import org.apache.phoenix.util.MetaDataUtil; import org.apache.phoenix.util.QueryUtil; import org.apache.phoenix.util.ScanUtil; import org.apache.phoenix.util.SchemaUtil; -import org.apache.phoenix.util.TestUtil; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameters; @@ -66,7 +65,7 @@ public abstract class BaseViewIT extends ParallelStatsEnabledIT { if (transactional) { optionBuilder.append(" TRANSACTIONAL=true "); } - this.schemaName = TestUtil.DEFAULT_SCHEMA_NAME; + this.schemaName = "S_" + generateUniqueName(); this.tableDDLOptions = optionBuilder.toString(); this.tableName = "T_" + generateUniqueName(); this.fullTableName = SchemaUtil.getTableName(schemaName, tableName); @@ -166,7 +165,7 @@ public abstract class BaseViewIT extends ParallelStatsEnabledIT { ResultSet rs; Connection conn = DriverManager.getConnection(getUrl()); String viewIndexName1 = "I_" + generateUniqueName(); - String viewIndexPhysicalName = MetaDataUtil.getViewIndexName(schemaName, tableName); + String viewIndexPhysicalName = MetaDataUtil.getViewIndexPhysicalName(fullTableName); if (localIndex) { conn.createStatement().execute("CREATE LOCAL INDEX " + viewIndexName1 + " on " + viewName + "(k3)"); } else { @@ -231,7 +230,7 @@ public abstract class BaseViewIT extends ParallelStatsEnabledIT { rs = conn.createStatement().executeQuery("EXPLAIN " + query); String physicalTableName; if (localIndex) { - physicalTableName = tableName; + physicalTableName = fullTableName; assertEquals("CLIENT PARALLEL "+ (saltBuckets == null ? 1 : saltBuckets) +"-WAY RANGE SCAN OVER " + fullTableName +" [" + (2) + ",'foo']\n" + " SERVER FILTER BY FIRST KEY ONLY\n" + "CLIENT MERGE SORT",QueryUtil.getExplainPlan(rs)); http://git-wip-us.apache.org/repos/asf/phoenix/blob/034d9867/phoenix-core/src/it/java/org/apache/phoenix/end2end/ViewIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ViewIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ViewIT.java index 279bbd7..34292ba 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/ViewIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/ViewIT.java @@ -69,7 +69,7 @@ public class ViewIT extends BaseViewIT { String ddl = "CREATE TABLE " + fullTableName + " (k INTEGER NOT NULL PRIMARY KEY, v1 DATE) "+ tableDDLOptions; conn.createStatement().execute(ddl); String fullParentViewName = "V_" + generateUniqueName(); - ddl = "CREATE VIEW " + fullParentViewName + " (v2 VARCHAR) AS SELECT * FROM " + tableName + " WHERE k > 5"; + ddl = "CREATE VIEW " + fullParentViewName + " (v2 VARCHAR) AS SELECT * FROM " + fullTableName + " WHERE k > 5"; conn.createStatement().execute(ddl); try { conn.createStatement().execute("UPSERT INTO " + fullParentViewName + " VALUES(1)"); http://git-wip-us.apache.org/repos/asf/phoenix/blob/034d9867/phoenix-core/src/it/java/org/apache/phoenix/schema/stats/StatsCollectorIT.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/it/java/org/apache/phoenix/schema/stats/StatsCollectorIT.java b/phoenix-core/src/it/java/org/apache/phoenix/schema/stats/StatsCollectorIT.java index c424f45..09d28f8 100644 --- a/phoenix-core/src/it/java/org/apache/phoenix/schema/stats/StatsCollectorIT.java +++ b/phoenix-core/src/it/java/org/apache/phoenix/schema/stats/StatsCollectorIT.java @@ -48,7 +48,6 @@ import org.apache.hadoop.hbase.client.ResultScanner; import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment; import org.apache.hadoop.hbase.util.Bytes; -import org.apache.phoenix.coprocessor.MetaDataRegionObserver; import org.apache.phoenix.coprocessor.UngroupedAggregateRegionObserver; import org.apache.phoenix.end2end.BaseUniqueNamesOwnClusterIT; import org.apache.phoenix.jdbc.PhoenixConnection; @@ -785,7 +784,7 @@ public abstract class StatsCollectorIT extends BaseUniqueNamesOwnClusterIT { String viewIndex = "VI_" + generateUniqueName(); ddl = "CREATE INDEX " + viewIndex + " ON " + view + " (b)"; conn.createStatement().execute(ddl); - String viewIndexTableName = MetaDataUtil.getViewIndexTableName(baseTable); + String viewIndexTableName = MetaDataUtil.getViewIndexPhysicalName(baseTable); statsCollector = getDefaultStatsCollectorForTable(viewIndexTableName); statsCollector.init(); assertEquals(defaultGuidePostWidth, statsCollector.getGuidePostDepth()); http://git-wip-us.apache.org/repos/asf/phoenix/blob/034d9867/phoenix-core/src/main/java/org/apache/phoenix/util/MetaDataUtil.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/util/MetaDataUtil.java b/phoenix-core/src/main/java/org/apache/phoenix/util/MetaDataUtil.java index 2a0c8f0..1dda818 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/util/MetaDataUtil.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/util/MetaDataUtil.java @@ -356,23 +356,15 @@ public class MetaDataUtil { return getIndexPhysicalName(physicalTableName, VIEW_INDEX_TABLE_PREFIX); } - public static String getViewIndexTableName(String tableName) { - return VIEW_INDEX_TABLE_PREFIX + tableName; - } - - public static String getViewIndexSchemaName(String schemaName) { - return schemaName; - } - - public static String getViewIndexName(String schemaName, String tableName) { - return SchemaUtil.getTableName(getViewIndexSchemaName(schemaName), getViewIndexTableName(tableName)); + public static String getViewIndexPhysicalName(String physicalTableName) { + return getIndexPhysicalName(physicalTableName, VIEW_INDEX_TABLE_PREFIX); } - public static byte[] getIndexPhysicalName(byte[] physicalTableName, String indexPrefix) { - return getIndexPhysicalName(Bytes.toString(physicalTableName), indexPrefix).getBytes(); + private static byte[] getIndexPhysicalName(byte[] physicalTableName, String indexPrefix) { + return Bytes.toBytes(getIndexPhysicalName(Bytes.toString(physicalTableName), indexPrefix)); } - public static String getIndexPhysicalName(String physicalTableName, String indexPrefix) { + private static String getIndexPhysicalName(String physicalTableName, String indexPrefix) { if (physicalTableName.contains(QueryConstants.NAMESPACE_SEPARATOR)) { String schemaName = SchemaUtil.getSchemaNameFromFullName(physicalTableName, QueryConstants.NAMESPACE_SEPARATOR); http://git-wip-us.apache.org/repos/asf/phoenix/blob/034d9867/phoenix-core/src/main/java/org/apache/phoenix/util/UpgradeUtil.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/util/UpgradeUtil.java b/phoenix-core/src/main/java/org/apache/phoenix/util/UpgradeUtil.java index 63f2183..b127408 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/util/UpgradeUtil.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/util/UpgradeUtil.java @@ -600,7 +600,7 @@ public class UpgradeUtil { viewPTable = PhoenixRuntime.getTable(globalConnection, fullViewName); globalConnection.createStatement().execute(String.format(disableIndexDDL, indexName, fullViewName)); } - String indexPhysicalTableName = MetaDataUtil.getViewIndexTableName(viewPTable.getPhysicalName().getString()); + String indexPhysicalTableName = MetaDataUtil.getViewIndexPhysicalName(viewPTable.getPhysicalName().getString()); if (physicalTables.add(indexPhysicalTableName)) { final TableName tableName = TableName.valueOf(indexPhysicalTableName); if(admin.tableExists(tableName)) {