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

eliminate ValuDataType static field

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