本文整理汇总了Java中org.hsqldb.Table.getIndexRootsArray方法的典型用法代码示例。如果您正苦于以下问题:Java Table.getIndexRootsArray方法的具体用法?Java Table.getIndexRootsArray怎么用?Java Table.getIndexRootsArray使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.hsqldb.Table
的用法示例。
在下文中一共展示了Table.getIndexRootsArray方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: writeTableToDataFile
import org.hsqldb.Table; //导入方法依赖的package包/类
long[] writeTableToDataFile(Table table) {
RowStoreAVLDisk store =
(RowStoreAVLDisk) table.database.persistentStoreCollection
.getStore(table);
long[] rootsArray = table.getIndexRootsArray();
pointerLookup.clear();
database.logger.logDetailEvent("lookup begins " + table.getName().name
+ " " + stopw.elapsedTime());
store.moveDataToSpace(dataFileOut, pointerLookup);
for (int i = 0; i < table.getIndexCount(); i++) {
if (rootsArray[i] == -1) {
continue;
}
long pos = pointerLookup.lookup(rootsArray[i], -1);
if (pos == -1) {
throw Error.error(ErrorCode.DATA_FILE_ERROR);
}
rootsArray[i] = pos;
}
// log any discrepency in row count
long count = store.elementCount();
if (count != pointerLookup.size()) {
database.logger.logSevereEvent("discrepency in row count "
+ table.getName().name + " "
+ count + " "
+ pointerLookup.size(), null);
}
database.logger.logDetailEvent("table written "
+ table.getName().name);
return rootsArray;
}
示例2: writeTableToDataFile
import org.hsqldb.Table; //导入方法依赖的package包/类
long[] writeTableToDataFile(Table table) {
RowStoreAVLDisk store =
(RowStoreAVLDisk) table.database.persistentStoreCollection.getStore(
table);
long[] rootsArray = table.getIndexRootsArray();
pointerLookup.clear();
database.logger.logDetailEvent("lookup begins " + table.getName().name
+ " " + stopw.elapsedTime());
store.moveDataToSpace(dataFileOut, pointerLookup);
for (int i = 0; i < table.getIndexCount(); i++) {
if (rootsArray[i] == -1) {
continue;
}
long pos = pointerLookup.lookup(rootsArray[i], -1);
if (pos == -1) {
throw Error.error(ErrorCode.DATA_FILE_ERROR);
}
rootsArray[i] = pos;
}
// log any discrepency in row count
long count = rootsArray[table.getIndexCount() * 2];
if (count != pointerLookup.size()) {
database.logger.logSevereEvent("discrepency in row count "
+ table.getName().name + " "
+ count + " "
+ pointerLookup.size(), null);
}
rootsArray[table.getIndexCount()] = 0;
rootsArray[table.getIndexCount() * 2] = pointerLookup.size();
database.logger.logDetailEvent("table written "
+ table.getName().name);
return rootsArray;
}