Skip to content

Commit 7154375

Browse files
committed
Test improvements
1 parent 9adc731 commit 7154375

File tree

2 files changed

+118
-12
lines changed

2 files changed

+118
-12
lines changed

phoenix-core/src/it/java/org/apache/phoenix/end2end/BaseRowKeyMatcherTestIT.java

+69-1
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@
9090
import java.sql.Date;
9191
import java.sql.DriverManager;
9292
import java.sql.PreparedStatement;
93+
import java.sql.ResultSet;
9394
import java.sql.SQLException;
9495
import java.sql.Statement;
9596
import java.sql.Timestamp;
@@ -108,6 +109,8 @@
108109
import static org.apache.phoenix.util.ByteUtil.EMPTY_BYTE_ARRAY;
109110
import static org.apache.phoenix.util.PhoenixRuntime.TENANT_ID_ATTRIB;
110111
import static org.junit.Assert.assertEquals;
112+
import static org.junit.Assert.assertFalse;
113+
import static org.junit.Assert.assertNotNull;
111114
import static org.junit.Assert.assertTrue;
112115
import static org.junit.Assert.fail;
113116

@@ -504,7 +507,42 @@ private Pair<String, byte[]> getRowKeyMatchersFromView(PhoenixConnection connect
504507

505508
}
506509

507-
// Helper to get rowKeyMatcher from Metadata.
510+
byte[] getRowKeyMatcherFromSyscatIndex(String tenantId, String schemaName,
511+
String tableName, boolean useIndexTable) throws SQLException {
512+
513+
final String
514+
SYS_CATALOG_ROW_KEY_MATCHER_HEADER_SQL =
515+
"SELECT ROW_KEY_MATCHER FROM SYSTEM.CATALOG " + "WHERE %s AND TABLE_SCHEM <> 'SYSTEM' AND TABLE_NAME = '%s' AND ROW_KEY_MATCHER IS NOT NULL";
516+
final String SYS_CATALOG_IDX_ROW_KEY_MATCHER_HEADER_SQL = "SELECT \"0:ROW_KEY_MATCHER\" FROM SYSTEM.SYS_ROW_KEY_MATCHER_IDX " + "WHERE %s AND \":TABLE_SCHEM\" = '%s' AND \":TABLE_NAME\" = '%s'";
517+
518+
try (Connection connection = DriverManager.getConnection(getUrl())) {
519+
Statement stmt = connection.createStatement();
520+
String
521+
tenantClause = useIndexTable ?
522+
(tenantId == null || tenantId.isEmpty() ?
523+
"\":TENANT_ID\" IS NULL" :
524+
String.format("\":TENANT_ID\" = '%s'", tenantId)) :
525+
(tenantId == null || tenantId.isEmpty() ?
526+
"TENANT_ID IS NULL" :
527+
String.format("TENANT_ID = '%s'", tenantId));
528+
String
529+
sql = useIndexTable ?
530+
String.format(SYS_CATALOG_IDX_ROW_KEY_MATCHER_HEADER_SQL, tenantClause, schemaName,
531+
tableName) :
532+
String.format(SYS_CATALOG_ROW_KEY_MATCHER_HEADER_SQL, tenantClause,
533+
tableName);
534+
stmt.execute(sql);
535+
ResultSet rs = stmt.getResultSet();
536+
byte[] matcherBytes = rs.next() ? rs.getBytes(1) : EMPTY_BYTE_ARRAY;
537+
LOGGER.info("Row key matcher SQL: {}", sql);
538+
LOGGER.info("Row key matcher: {}, {}",
539+
Bytes.toStringBinary(matcherBytes),
540+
Bytes.toStringBinary(PVarbinaryEncoded.INSTANCE.toBytes(matcherBytes)));
541+
return PVarbinaryEncoded.INSTANCE.toBytes(matcherBytes);
542+
}
543+
}
544+
545+
// Helper to get rowKeyMatcher from Metadata.
508546
private Pair<String, byte[]> getRowKeyMatchersFromView(PhoenixConnection connection,
509547
PTable view) throws SQLException {
510548
return getRowKeyMatchersFromView(connection, view.getName().getString());
@@ -560,6 +598,12 @@ private byte[] assertRowKeyMatcherForView(PhoenixConnection connection, PTable v
560598
PVarbinaryEncoded.INSTANCE.toBytes(
561599
WhereOptimizer.getRowKeyMatcher(connection, tableName, viewStatementTable,
562600
viewColumnConstantsToBe, isViewColumnReferencedToBe));
601+
byte[]
602+
rowKeyMatcher3 = getRowKeyMatcherFromSyscatIndex(view.getTenantId() != null ? view.getTenantId().getString() : null, view.getSchemaName().getString(), view.getTableName().getString(), false);
603+
604+
byte[]
605+
rowKeyMatcher4 = getRowKeyMatcherFromSyscatIndex(view.getTenantId() != null ? view.getTenantId().getString() : null, view.getSchemaName().getString(), view.getTableName().getString(), true);
606+
563607
LOGGER.debug(String.format(
564608
"target-view-name = %s, physical = %s, stmt-table = %s\n, " +
565609
"row-matcher-0 = %s (syscat)\n, row-matcher-1 = %s\n, row-matcher-2 = %s\n",
@@ -571,6 +615,10 @@ private byte[] assertRowKeyMatcherForView(PhoenixConnection connection, PTable v
571615
Bytes.compareTo(rowKeyInfo.getSecond(), rowKeyMatcher1) == 0);
572616
assertTrue("RowKey matcher patterns do not match",
573617
Bytes.compareTo(rowKeyInfo.getSecond(), rowKeyMatcher2) == 0);
618+
assertTrue("RowKey matcher patterns do not match",
619+
Bytes.compareTo(rowKeyInfo.getSecond(), rowKeyMatcher3) == 0);
620+
assertTrue("RowKey matcher patterns do not match",
621+
Bytes.compareTo(rowKeyInfo.getSecond(), rowKeyMatcher4) == 0);
574622
return rowKeyMatcher1;
575623
}
576624

@@ -808,6 +856,15 @@ public void testViewsWithExtendedPK() {
808856
List<PDataType[]> testCases = getTestCases();
809857
SortOrder[][] sortOrders = getSortOrders();
810858

859+
try (Connection conn = DriverManager.getConnection(getUrl());
860+
Statement stmt = conn.createStatement()) {
861+
//TestUtil.dumpTable(conn, TableName.valueOf(PhoenixDatabaseMetaData.SYSTEM_CATALOG_NAME_BYTES));
862+
stmt.execute("CREATE INDEX IF NOT EXISTS SYS_VIEW_HDR_IDX ON SYSTEM.CATALOG(TENANT_ID, TABLE_SCHEM, TABLE_NAME, COLUMN_NAME, COLUMN_FAMILY) INCLUDE (TABLE_TYPE, VIEW_STATEMENT, TTL, ROW_KEY_MATCHER) WHERE TABLE_SCHEM <> 'SYSTEM' AND TABLE_TYPE = 'v'");
863+
stmt.execute("CREATE INDEX IF NOT EXISTS SYS_ROW_KEY_MATCHER_IDX ON SYSTEM.CATALOG(ROW_KEY_MATCHER, TTL, TABLE_TYPE, TENANT_ID, TABLE_SCHEM, TABLE_NAME) WHERE TABLE_SCHEM <> 'SYSTEM' AND ROW_KEY_MATCHER IS NOT NULL");
864+
stmt.execute("CREATE INDEX IF NOT EXISTS SYS_VIEW_INDEX_HDR_IDX ON SYSTEM.CATALOG(DECODE_VIEW_INDEX_ID(VIEW_INDEX_ID, VIEW_INDEX_ID_DATA_TYPE), TENANT_ID, TABLE_SCHEM, TABLE_NAME) INCLUDE(TABLE_TYPE, LINK_TYPE, VIEW_INDEX_ID, VIEW_INDEX_ID_DATA_TYPE) WHERE TABLE_SCHEM <> 'SYSTEM' AND TABLE_TYPE = 'i' AND LINK_TYPE IS NULL AND VIEW_INDEX_ID IS NOT NULL");
865+
conn.commit();
866+
}
867+
811868
String tableName = "";
812869
tableName = createViewHierarchy(
813870
testCases, sortOrders, 500, 5000, 3,
@@ -879,9 +936,20 @@ public void testViewsWithVariousTenantIdTypes() {
879936
@Test
880937
public void testViewsWithoutExtendedPK() {
881938
try {
939+
882940
List<PDataType[]> testCases = getTestCases();
883941
SortOrder[][] sortOrders = getSortOrders();
884942
String tableName = "";
943+
944+
try (Connection conn = DriverManager.getConnection(getUrl());
945+
Statement stmt = conn.createStatement()) {
946+
//TestUtil.dumpTable(conn, TableName.valueOf(PhoenixDatabaseMetaData.SYSTEM_CATALOG_NAME_BYTES));
947+
stmt.execute("CREATE INDEX IF NOT EXISTS SYS_VIEW_HDR_IDX ON SYSTEM.CATALOG(TENANT_ID, TABLE_SCHEM, TABLE_NAME, COLUMN_NAME, COLUMN_FAMILY) INCLUDE (TABLE_TYPE, VIEW_STATEMENT, TTL, ROW_KEY_MATCHER) WHERE TABLE_SCHEM <> 'SYSTEM' AND TABLE_TYPE = 'v'");
948+
stmt.execute("CREATE INDEX IF NOT EXISTS SYS_ROW_KEY_MATCHER_IDX ON SYSTEM.CATALOG(ROW_KEY_MATCHER, TTL, TABLE_TYPE, TENANT_ID, TABLE_SCHEM, TABLE_NAME, COLUMN_NAME, COLUMN_FAMILY) WHERE TABLE_SCHEM <> 'SYSTEM' AND TABLE_TYPE IS NOT NULL AND LINK_TYPE IS NULL AND ROW_KEY_MATCHER IS NOT NULL");
949+
stmt.execute("CREATE INDEX IF NOT EXISTS SYS_VIEW_INDEX_HDR_IDX ON SYSTEM.CATALOG(DECODE_VIEW_INDEX_ID(VIEW_INDEX_ID, VIEW_INDEX_ID_DATA_TYPE), TENANT_ID, TABLE_SCHEM, TABLE_NAME) INCLUDE(TABLE_TYPE, LINK_TYPE, VIEW_INDEX_ID, VIEW_INDEX_ID_DATA_TYPE) WHERE TABLE_SCHEM <> 'SYSTEM' AND TABLE_TYPE = 'i' AND LINK_TYPE IS NULL AND VIEW_INDEX_ID IS NOT NULL");
950+
conn.commit();
951+
}
952+
885953
tableName =
886954
createViewHierarchy(
887955
testCases, sortOrders, 100, 1000, 3,

phoenix-core/src/it/java/org/apache/phoenix/end2end/index/PartialSystemCatalogIndexIT.java

+49-11
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,10 @@
1313
import org.apache.phoenix.query.QueryServices;
1414
import org.apache.phoenix.query.QueryServicesOptions;
1515
import org.apache.phoenix.schema.PTable;
16-
import org.apache.phoenix.schema.PTableType;
1716
import org.apache.phoenix.thirdparty.com.google.common.collect.Lists;
1817
import org.apache.phoenix.util.ReadOnlyProps;
1918
import org.apache.phoenix.util.SchemaUtil;
2019
import org.apache.phoenix.util.TableViewFinderResult;
21-
import org.apache.phoenix.util.TestUtil;
2220
import org.apache.phoenix.util.ViewUtil;
2321
import org.junit.BeforeClass;
2422
import org.junit.Test;
@@ -52,7 +50,10 @@ public class PartialSystemCatalogIndexIT extends ParallelStatsDisabledIT {
5250
static final int VIEW_TTL_300_SECS = 300;
5351
static final int VIEW_TTL_120_SECS = 120;
5452

55-
static final String SYS_CATALOG_VIEW_HEADER_SQL = "SELECT TTL FROM SYSTEM.CATALOG "
53+
static final String SYS_CATALOG_ROW_KEY_MATCHER_HEADER_SQL = "SELECT ROW_KEY_MATCHER FROM SYSTEM.CATALOG "
54+
+ "WHERE %s AND TABLE_SCHEM <> 'SYSTEM' AND TABLE_NAME = '%s' AND " + "ROW_KEY_MATCHER IS NOT NULL";
55+
56+
static final String SYS_CATALOG_VIEW_TTL_HEADER_SQL = "SELECT TTL FROM SYSTEM.CATALOG "
5657
+ "WHERE %s AND TABLE_SCHEM = '%s' AND TABLE_NAME = '%s' AND TABLE_TYPE = 'v'";
5758

5859
static final String SYS_CATALOG_VIEW_INDEX_HEADER_SQL = "SELECT VIEW_INDEX_ID FROM SYSTEM.CATALOG "
@@ -74,7 +75,7 @@ public class PartialSystemCatalogIndexIT extends ParallelStatsDisabledIT {
7475
static final String SYS_CATALOG_IDX_VIEW_INDEX_HEADER_SQL = "SELECT \": DECODE_VIEW_INDEX_ID(VIEW_INDEX_ID,VIEW_INDEX_ID_DATA_TYPE)\" FROM %s " +
7576
"WHERE %s AND \":TABLE_SCHEM\" = '%s' AND \":TABLE_NAME\" = '%s'" ;
7677

77-
private static RegionCoprocessorEnvironment TaskRegionEnvironment;
78+
private static RegionCoprocessorEnvironment taskRegionEnvironment;
7879

7980
@BeforeClass
8081
public static void doSetup() throws Exception {
@@ -96,7 +97,7 @@ public static void doSetup() throws Exception {
9697
setUpTestDriver(new ReadOnlyProps(ReadOnlyProps.EMPTY_PROPS,
9798
DEFAULT_PROPERTIES.entrySet().iterator()));
9899

99-
TaskRegionEnvironment =
100+
taskRegionEnvironment =
100101
getUtility()
101102
.getRSForFirstRegionInTable(
102103
PhoenixDatabaseMetaData.SYSTEM_TASK_HBASE_TABLE_NAME)
@@ -105,7 +106,6 @@ public static void doSetup() throws Exception {
105106
.findCoprocessorEnvironment(TaskRegionObserver.class.getName());
106107

107108

108-
109109
}
110110

111111

@@ -161,7 +161,7 @@ void assertSystemCatalogHasViewHeaderRelatedColumns(String tenantId, String sche
161161
"TENANT_ID IS NULL" :
162162
String.format("TENANT_ID = '%s'", tenantId);
163163
String sql = String
164-
.format(SYS_CATALOG_VIEW_HEADER_SQL, tenantClause, schemaName, tableName);
164+
.format(SYS_CATALOG_VIEW_TTL_HEADER_SQL, tenantClause, schemaName, tableName);
165165
stmt.execute(sql);
166166
ResultSet rs = stmt.getResultSet();
167167
if (exists) {
@@ -177,6 +177,30 @@ void assertSystemCatalogHasViewHeaderRelatedColumns(String tenantId, String sche
177177
}
178178
}
179179

180+
void assertSystemCatalogHasRowKeyMatcherRelatedColumns(String tenantId, String schemaName,
181+
String tableName, boolean exists) throws SQLException {
182+
183+
try (Connection connection = DriverManager.getConnection(getUrl())) {
184+
Statement stmt = connection.createStatement();
185+
String tenantClause = tenantId == null || tenantId.isEmpty() ?
186+
"TENANT_ID IS NULL" :
187+
String.format("TENANT_ID = '%s'", tenantId);
188+
String sql = String
189+
.format(SYS_CATALOG_ROW_KEY_MATCHER_HEADER_SQL, tenantClause, tableName);
190+
stmt.execute(sql);
191+
ResultSet rs = stmt.getResultSet();
192+
if (exists) {
193+
byte[] matcherBytes = rs.next() ? rs.getBytes(1) : null;
194+
assertNotNull(String.format("Expected rows do not match for schema = %s, table = %s",
195+
schemaName, tableName), matcherBytes);
196+
} else {
197+
assertFalse(String.format("Rows do exists for schema = %s, table = %s",
198+
schemaName, tableName), rs.next());
199+
200+
}
201+
}
202+
}
203+
180204
String stripQuotes(String name) {
181205
return name.replace("\"", "");
182206
}
@@ -291,9 +315,10 @@ void dropTableWithChildViews(String baseTable, int numTaskRuns) throws Exception
291315
// Run DropChildViewsTask to complete the tasks for dropping child views. The depth of the view tree is 2,
292316
// so we expect that this will be done in two task handling runs as each non-root level will be processed
293317
// in one run
318+
294319
TaskRegionObserver.SelfHealingTask task =
295320
new TaskRegionObserver.SelfHealingTask(
296-
TaskRegionEnvironment, QueryServicesOptions.DEFAULT_TASK_HANDLING_MAX_INTERVAL_MS);
321+
taskRegionEnvironment, QueryServicesOptions.DEFAULT_TASK_HANDLING_MAX_INTERVAL_MS);
297322
for (int i = 0; i < numTaskRuns; i++) {
298323
task.run();
299324
}
@@ -542,12 +567,15 @@ public void testIndexesOfViewAndIndexHeadersCondition() throws Exception {
542567
// Assert index header rows (link_type IS NULL AND TABLE_TYPE = 'i') exists in SYSTEM. CATALOG
543568
assertSystemCatalogHasViewIndexHeaderRelatedColumns(tenantId, schemaName, indexOnTenantViewName,true);
544569

570+
assertSystemCatalogHasRowKeyMatcherRelatedColumns(tenantId, schemaName, tenantViewName,true);
545571

546572
try (Connection conn = DriverManager.getConnection(getUrl());
547573
Statement stmt = conn.createStatement()) {
548574
//TestUtil.dumpTable(conn, TableName.valueOf(PhoenixDatabaseMetaData.SYSTEM_CATALOG_NAME_BYTES));
549575
stmt.execute("CREATE INDEX IF NOT EXISTS SYS_VIEW_HDR_IDX ON SYSTEM.CATALOG(TENANT_ID, TABLE_SCHEM, TABLE_NAME, COLUMN_NAME, COLUMN_FAMILY) INCLUDE (TABLE_TYPE, VIEW_STATEMENT, TTL, ROW_KEY_MATCHER) WHERE TABLE_SCHEM <> 'SYSTEM' AND TABLE_TYPE = 'v'");
576+
stmt.execute("CREATE INDEX IF NOT EXISTS SYS_ROW_KEY_MATCHER_IDX ON SYSTEM.CATALOG(ROW_KEY_MATCHER, TTL, TABLE_TYPE, TENANT_ID, TABLE_SCHEM, TABLE_NAME) INCLUDE (VIEW_STATEMENT) WHERE TABLE_SCHEM <> 'SYSTEM' AND TABLE_TYPE = 'v' AND ROW_KEY_MATCHER IS NOT NULL");
550577
stmt.execute("CREATE INDEX IF NOT EXISTS SYS_VIEW_INDEX_HDR_IDX ON SYSTEM.CATALOG(DECODE_VIEW_INDEX_ID(VIEW_INDEX_ID, VIEW_INDEX_ID_DATA_TYPE), TENANT_ID, TABLE_SCHEM, TABLE_NAME) INCLUDE(TABLE_TYPE, LINK_TYPE, VIEW_INDEX_ID, VIEW_INDEX_ID_DATA_TYPE) WHERE TABLE_SCHEM <> 'SYSTEM' AND TABLE_TYPE = 'i' AND LINK_TYPE IS NULL AND VIEW_INDEX_ID IS NOT NULL");
578+
551579
conn.commit();
552580
}
553581

@@ -558,40 +586,50 @@ public void testIndexesOfViewAndIndexHeadersCondition() throws Exception {
558586
// Assert System Catalog index table has been created
559587
assertSystemCatalogIndexTable("SYS_VIEW_HDR_IDX", true);
560588
assertSystemCatalogIndexTable("SYS_VIEW_INDEX_HDR_IDX", true);
589+
assertSystemCatalogIndexTable("SYS_ROW_KEY_MATCHER_IDX", true);
561590
// Assert appropriate rows are inserted in the SYSTEM.CATALOG index tables
562591
assertSystemCatalogIndexHaveViewHeaders("SYSTEM.SYS_VIEW_HDR_IDX", tenantId, schemaName, tenantViewName, true);
592+
assertSystemCatalogIndexHaveViewHeaders("SYSTEM.SYS_ROW_KEY_MATCHER_IDX", tenantId, schemaName, tenantViewName, true);
563593
assertSystemCatalogIndexHaveViewIndexHeaders("SYSTEM.SYS_VIEW_INDEX_HDR_IDX", tenantId, schemaName, indexOnTenantViewName, true);
564594

565595
/**
566596
* Testing explain plans
567597
*/
568598

569-
List<String> plans = getExplain("select TENANT_ID, TABLE_SCHEM, TABLE_NAME, COLUMN_NAME, COLUMN_FAMILY, TABLE_TYPE FROM SYSTEM.CATALOG WHERE TABLE_SCHEM <> 'SYSTEM' AND TABLE_TYPE = 'v'", new Properties());
599+
List<String> plans = getExplain("select TENANT_ID, TABLE_SCHEM, TABLE_NAME, COLUMN_NAME, COLUMN_FAMILY, TABLE_TYPE FROM SYSTEM.CATALOG WHERE TABLE_SCHEM <> 'SYSTEM' AND TABLE_TYPE = 'v' ", new Properties());
570600
assertEquals("CLIENT PARALLEL 1-WAY FULL SCAN OVER SYSTEM.SYS_VIEW_HDR_IDX", plans.get(0));
571601

572-
plans = getExplain("select VIEW_INDEX_ID, VIEW_INDEX_ID_DATA_TYPE FROM SYSTEM.CATALOG WHERE TABLE_SCHEM <> 'SYSTEM' AND TABLE_TYPE = 'i' AND LINK_TYPE IS NULL AND VIEW_INDEX_ID IS NOT NULL", new Properties());
602+
plans = getExplain("select VIEW_INDEX_ID, VIEW_INDEX_ID_DATA_TYPE FROM SYSTEM.CATALOG WHERE TABLE_TYPE = 'i' AND LINK_TYPE IS NULL AND VIEW_INDEX_ID IS NOT NULL", new Properties());
573603
assertEquals("CLIENT PARALLEL 1-WAY FULL SCAN OVER SYSTEM.SYS_VIEW_INDEX_HDR_IDX", plans.get(0));
574604

605+
plans = getExplain("select ROW_KEY_MATCHER, TTL, TABLE_NAME FROM SYSTEM.CATALOG WHERE TABLE_SCHEM <> 'SYSTEM' AND ROW_KEY_MATCHER IS NOT NULL", new Properties());
606+
assertEquals("CLIENT PARALLEL 1-WAY RANGE SCAN OVER SYSTEM.SYS_ROW_KEY_MATCHER_IDX [not null]", plans.get(0));
607+
575608
/**
576609
* Testing cleanup of SYS_INDEX rows after dropping tables and views
577610
*/
578611
LOGGER.info("Dropping base table " + fullBaseTableName);
579612
dropTableWithChildViews(fullBaseTableName, 1);
580-
// Assert view header rows (link_type IS NULL AND TABLE_TYPE = 'v') does not exists in SYSTEM.CATALOG
613+
// Assert view header rows (link_type IS NULL AND TABLE_TYPE = 'v') does not exist in SYSTEM.CATALOG
581614
assertSystemCatalogHasViewHeaderRelatedColumns(tenantId, schemaName, tenantViewName,
582615
false, VIEW_TTL_120_SECS);
616+
// Assert view header rows (ROW_KEY_MATCHER IS NOT NULL does not exist in SYSTEM.CATALOG
617+
assertSystemCatalogHasRowKeyMatcherRelatedColumns(tenantId, schemaName, tenantViewName,false);
583618
// Assert index header rows (link_type IS NULL AND TABLE_TYPE = 'i') does not exists in SYSTEM.CATALOG
584619
assertSystemCatalogHasViewIndexHeaderRelatedColumns(tenantId, schemaName, tenantViewName,false);
585620

586621
// Assert appropriate rows are dropped/deleted in the SYSTEM.CATALOG index tables
587622
assertSystemCatalogIndexHaveViewHeaders("SYSTEM.SYS_VIEW_HDR_IDX", tenantId, schemaName, tenantViewName, false);
623+
assertSystemCatalogIndexHaveViewHeaders("SYSTEM.SYS_ROW_KEY_MATCHER_IDX", tenantId, schemaName, tenantViewName, false);
588624
assertSystemCatalogIndexHaveViewIndexHeaders("SYSTEM.SYS_VIEW_INDEX_HDR_IDX", tenantId, schemaName, tenantViewName, false);
589625

590626
dropSystemCatalogIndex("SYS_VIEW_HDR_IDX");
627+
dropSystemCatalogIndex("SYS_ROW_KEY_MATCHER_IDX");
591628
dropSystemCatalogIndex("SYS_VIEW_INDEX_HDR_IDX");
592629

593630
// Assert System Catalog index table dropped
594631
assertSystemCatalogIndexTable("SYSTEM.SYS_VIEW_HDR_IDX", false);
632+
assertSystemCatalogIndexTable("SYSTEM.SYS_ROW_KEY_MATCHER_IDX", false);
595633
assertSystemCatalogIndexTable("SYSTEM.SYS_VIEW_INDEX_HDR_IDX", false);
596634
}
597635

0 commit comments

Comments
 (0)