提交 93eab95c authored 作者: Andrei Tokar's avatar Andrei Tokar

force SYS_ID.ID index always to be a MVDelegateIndex

上级 006fe1b0
......@@ -506,12 +506,15 @@ public class MVTable extends TableBase {
int mainIndexColumn = primaryIndex.getMainIndexColumn() != SearchRow.ROWID_INDEX
? SearchRow.ROWID_INDEX : getMainIndexColumn(indexType, cols);
if (database.isStarting()) {
if (transactionStore.hasMap("index." + indexId)) {
// if this is not "SYS_ID" table and index does exists as a separate map
if (indexId != 0 && transactionStore.hasMap("index." + indexId)) {
// we can not reuse primary index
mainIndexColumn = SearchRow.ROWID_INDEX;
}
} else if (primaryIndex.getRowCountMax() != 0) {
mainIndexColumn = SearchRow.ROWID_INDEX;
}
if (mainIndexColumn != SearchRow.ROWID_INDEX) {
primaryIndex.setMainIndexColumn(mainIndexColumn);
index = new MVDelegateIndex(this, indexId, indexName, primaryIndex,
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论