提交 75d9996d authored 作者: Andrei Tokar's avatar Andrei Tokar

eliminate ValuDataType static field

上级 2bf1ccd1
......@@ -51,7 +51,7 @@ public class MVPrimaryIndex extends BaseIndex {
for (int i = 0; i < columns.length; i++) {
sortTypes[i] = SortOrder.ASCENDING;
}
ValueDataType keyType = ValueDataType.INSTANCE;
ValueDataType keyType = new ValueDataType();
ValueDataType valueType = new ValueDataType(db, sortTypes);
mapName = "table." + getId();
Transaction t = mvTable.getTransactionBegin();
......
......@@ -63,7 +63,7 @@ public final class MVSecondaryIndex extends BaseIndex implements MVIndex {
}
sortTypes[keyColumns - 1] = SortOrder.ASCENDING;
ValueDataType keyType = new ValueDataType(db, sortTypes);
ValueDataType valueType = ValueDataType.INSTANCE;
ValueDataType valueType = new ValueDataType();
Transaction t = mvTable.getTransactionBegin();
dataMap = t.openMap(mapName, keyType, valueType);
dataMap.map.setVolatile(!indexType.isPersistent());
......@@ -162,7 +162,7 @@ public final class MVSecondaryIndex extends BaseIndex implements MVIndex {
}
sortTypes[keyColumns - 1] = SortOrder.ASCENDING;
ValueDataType keyType = new ValueDataType(database, sortTypes);
ValueDataType valueType = ValueDataType.INSTANCE;
ValueDataType valueType = new ValueDataType();
MVMap.Builder<ValueArray, Value> builder =
new MVMap.Builder<ValueArray, Value>()
.singleWriter()
......
......@@ -81,8 +81,9 @@ public class ValueDataType implements DataType {
final int[] sortTypes;
SpatialDataType spatialType;
public static ValueDataType INSTANCE =
new ValueDataType(CompareMode.getInstance(null, 0), Mode.getRegular(), null, null);
public ValueDataType() {
this(CompareMode.getInstance(null, 0), Mode.getRegular(), null, null);
}
public ValueDataType(Database database, int[] sortTypes) {
this(database.getCompareMode(), database.getMode(), database, sortTypes);
......
......@@ -616,14 +616,14 @@ public class Recover extends Tool implements DataHandler {
}
try {
// extract the metadata so we can dump the settings
ValueDataType type = new ValueDataType();
for (String mapName : mv.getMapNames()) {
if (!mapName.startsWith("table.")) {
continue;
}
String tableId = mapName.substring("table.".length());
if (Integer.parseInt(tableId) == 0) {
TransactionMap<Value, Value> dataMap = store.begin().openMap(
mapName, ValueDataType.INSTANCE, ValueDataType.INSTANCE);
TransactionMap<Value, Value> dataMap = store.begin().openMap(mapName, type, type);
Iterator<Value> dataIt = dataMap.keyIterator(null);
while (dataIt.hasNext()) {
Value rowId = dataIt.next();
......@@ -656,8 +656,7 @@ public class Recover extends Tool implements DataHandler {
if (Integer.parseInt(tableId) == 0) {
continue;
}
TransactionMap<Value, Value> dataMap = store.begin().openMap(
mapName, ValueDataType.INSTANCE, ValueDataType.INSTANCE);
TransactionMap<Value, Value> dataMap = store.begin().openMap(mapName, type, type);
Iterator<Value> dataIt = dataMap.keyIterator(null);
boolean init = false;
while (dataIt.hasNext()) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论