mirror of https://gitee.com/bigwinds/arangodb
backport: address issue with inverted check for isCoordinator
This commit is contained in:
parent
b8245f9be7
commit
aece5f4e4d
|
@ -355,313 +355,174 @@ RocksDBIndexFactory::RocksDBIndexFactory() {
|
||||||
return std::make_shared<RocksDBSkiplistIndex>(id, collection, definition);
|
return std::make_shared<RocksDBSkiplistIndex>(id, collection, definition);
|
||||||
});
|
});
|
||||||
|
|
||||||
if (ServerState::instance()->isCoordinator()) {
|
|
||||||
emplaceNormalizer("edge", [](
|
|
||||||
velocypack::Builder& normalized,
|
|
||||||
velocypack::Slice definition,
|
|
||||||
bool isCreation
|
|
||||||
)->arangodb::Result {
|
|
||||||
if (isCreation) {
|
|
||||||
// creating these indexes yourself is forbidden
|
|
||||||
return TRI_ERROR_FORBIDDEN;
|
|
||||||
}
|
|
||||||
|
|
||||||
TRI_ASSERT(normalized.isOpenObject());
|
emplaceNormalizer("edge", [](
|
||||||
normalized.add("type", VPackValue(Index::oldtypeName(Index::TRI_IDX_TYPE_EDGE_INDEX)));
|
velocypack::Builder& normalized,
|
||||||
|
velocypack::Slice definition,
|
||||||
|
bool isCreation
|
||||||
|
)->arangodb::Result {
|
||||||
|
if (isCreation) {
|
||||||
|
// creating these indexes yourself is forbidden
|
||||||
|
return TRI_ERROR_FORBIDDEN;
|
||||||
|
}
|
||||||
|
|
||||||
if (isCreation && !definition.hasKey("objectId")) {
|
TRI_ASSERT(normalized.isOpenObject());
|
||||||
normalized.add("objectId", velocypack::Value(std::to_string(TRI_NewTickServer())));
|
normalized.add("type", VPackValue(Index::oldtypeName(Index::TRI_IDX_TYPE_EDGE_INDEX)));
|
||||||
}
|
|
||||||
|
|
||||||
return TRI_ERROR_INTERNAL;
|
if (isCreation && !ServerState::instance()->isCoordinator() && !definition.hasKey("objectId")) {
|
||||||
});
|
normalized.add("objectId", velocypack::Value(std::to_string(TRI_NewTickServer())));
|
||||||
} else {
|
}
|
||||||
emplaceNormalizer("edge", [](
|
|
||||||
velocypack::Builder& normalized,
|
|
||||||
velocypack::Slice definition,
|
|
||||||
bool isCreation
|
|
||||||
)->arangodb::Result {
|
|
||||||
if (isCreation) {
|
|
||||||
// creating these indexes yourself is forbidden
|
|
||||||
return TRI_ERROR_FORBIDDEN;
|
|
||||||
}
|
|
||||||
|
|
||||||
TRI_ASSERT(normalized.isOpenObject());
|
return TRI_ERROR_INTERNAL;
|
||||||
normalized.add("type", VPackValue(Index::oldtypeName(Index::TRI_IDX_TYPE_EDGE_INDEX)));
|
});
|
||||||
|
|
||||||
return TRI_ERROR_INTERNAL;
|
emplaceNormalizer("fulltext", [](
|
||||||
});
|
velocypack::Builder& normalized,
|
||||||
}
|
velocypack::Slice definition,
|
||||||
|
bool isCreation
|
||||||
|
)->arangodb::Result {
|
||||||
|
TRI_ASSERT(normalized.isOpenObject());
|
||||||
|
normalized.add("type", VPackValue(Index::oldtypeName(Index::TRI_IDX_TYPE_FULLTEXT_INDEX)));
|
||||||
|
|
||||||
if (ServerState::instance()->isCoordinator()) {
|
if (isCreation && !ServerState::instance()->isCoordinator() && !definition.hasKey("objectId")) {
|
||||||
emplaceNormalizer("fulltext", [](
|
normalized.add("objectId", velocypack::Value(std::to_string(TRI_NewTickServer())));
|
||||||
velocypack::Builder& normalized,
|
}
|
||||||
velocypack::Slice definition,
|
|
||||||
bool isCreation
|
|
||||||
)->arangodb::Result {
|
|
||||||
TRI_ASSERT(normalized.isOpenObject());
|
|
||||||
normalized.add("type", VPackValue(Index::oldtypeName(Index::TRI_IDX_TYPE_FULLTEXT_INDEX)));
|
|
||||||
|
|
||||||
if (isCreation && !definition.hasKey("objectId")) {
|
return EnhanceJsonIndexFulltext(definition, normalized, isCreation);
|
||||||
normalized.add("objectId", velocypack::Value(std::to_string(TRI_NewTickServer())));
|
});
|
||||||
}
|
|
||||||
|
|
||||||
return EnhanceJsonIndexFulltext(definition, normalized, isCreation);
|
emplaceNormalizer("geo", [](
|
||||||
});
|
velocypack::Builder& normalized,
|
||||||
} else {
|
velocypack::Slice definition,
|
||||||
emplaceNormalizer("fulltext", [](
|
bool isCreation
|
||||||
velocypack::Builder& normalized,
|
)->arangodb::Result {
|
||||||
velocypack::Slice definition,
|
auto current = definition.get("fields");
|
||||||
bool isCreation
|
TRI_ASSERT(normalized.isOpenObject());
|
||||||
)->arangodb::Result {
|
|
||||||
TRI_ASSERT(normalized.isOpenObject());
|
|
||||||
normalized.add("type", VPackValue(Index::oldtypeName(Index::TRI_IDX_TYPE_FULLTEXT_INDEX)));
|
|
||||||
|
|
||||||
return EnhanceJsonIndexFulltext(definition, normalized, isCreation);
|
if (isCreation && !ServerState::instance()->isCoordinator() && !definition.hasKey("objectId")) {
|
||||||
});
|
normalized.add("objectId", velocypack::Value(std::to_string(TRI_NewTickServer())));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ServerState::instance()->isCoordinator()) {
|
if (current.isArray() && current.length() == 2) {
|
||||||
emplaceNormalizer("geo", [](
|
|
||||||
velocypack::Builder& normalized,
|
|
||||||
velocypack::Slice definition,
|
|
||||||
bool isCreation
|
|
||||||
)->arangodb::Result {
|
|
||||||
auto current = definition.get("fields");
|
|
||||||
TRI_ASSERT(normalized.isOpenObject());
|
|
||||||
|
|
||||||
if (isCreation && !definition.hasKey("objectId")) {
|
|
||||||
normalized.add("objectId", velocypack::Value(std::to_string(TRI_NewTickServer())));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (current.isArray() && current.length() == 2) {
|
|
||||||
normalized.add("type", VPackValue(Index::oldtypeName(Index::TRI_IDX_TYPE_GEO2_INDEX)));
|
|
||||||
|
|
||||||
return EnhanceJsonIndexGeo2(definition, normalized, isCreation);
|
|
||||||
}
|
|
||||||
|
|
||||||
normalized.add("type", VPackValue(Index::oldtypeName(Index::TRI_IDX_TYPE_GEO1_INDEX)));
|
|
||||||
|
|
||||||
return EnhanceJsonIndexGeo1(definition, normalized, isCreation);
|
|
||||||
});
|
|
||||||
emplaceNormalizer("geo1", [](
|
|
||||||
velocypack::Builder& normalized,
|
|
||||||
velocypack::Slice definition,
|
|
||||||
bool isCreation
|
|
||||||
)->arangodb::Result {
|
|
||||||
TRI_ASSERT(normalized.isOpenObject());
|
|
||||||
normalized.add("type", VPackValue(Index::oldtypeName(Index::TRI_IDX_TYPE_GEO1_INDEX)));
|
|
||||||
|
|
||||||
if (isCreation && !definition.hasKey("objectId")) {
|
|
||||||
normalized.add("objectId", velocypack::Value(std::to_string(TRI_NewTickServer())));
|
|
||||||
}
|
|
||||||
|
|
||||||
return EnhanceJsonIndexGeo1(definition, normalized, isCreation);
|
|
||||||
});
|
|
||||||
emplaceNormalizer("geo2", [](
|
|
||||||
velocypack::Builder& normalized,
|
|
||||||
velocypack::Slice definition,
|
|
||||||
bool isCreation
|
|
||||||
)->arangodb::Result {
|
|
||||||
TRI_ASSERT(normalized.isOpenObject());
|
|
||||||
normalized.add("type", VPackValue(Index::oldtypeName(Index::TRI_IDX_TYPE_GEO2_INDEX)));
|
|
||||||
|
|
||||||
if (isCreation && !definition.hasKey("objectId")) {
|
|
||||||
normalized.add("objectId", velocypack::Value(std::to_string(TRI_NewTickServer())));
|
|
||||||
}
|
|
||||||
|
|
||||||
return EnhanceJsonIndexGeo2(definition, normalized, isCreation);
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
emplaceNormalizer("geo", [](
|
|
||||||
velocypack::Builder& normalized,
|
|
||||||
velocypack::Slice definition,
|
|
||||||
bool isCreation
|
|
||||||
)->arangodb::Result {
|
|
||||||
auto current = definition.get("fields");
|
|
||||||
TRI_ASSERT(normalized.isOpenObject());
|
|
||||||
|
|
||||||
if (current.isArray() && current.length() == 2) {
|
|
||||||
normalized.add("type", VPackValue(Index::oldtypeName(Index::TRI_IDX_TYPE_GEO2_INDEX)));
|
|
||||||
|
|
||||||
return EnhanceJsonIndexGeo2(definition, normalized, isCreation);
|
|
||||||
}
|
|
||||||
|
|
||||||
normalized.add("type", VPackValue(Index::oldtypeName(Index::TRI_IDX_TYPE_GEO1_INDEX)));
|
|
||||||
|
|
||||||
return EnhanceJsonIndexGeo1(definition, normalized, isCreation);
|
|
||||||
});
|
|
||||||
emplaceNormalizer("geo1", [](
|
|
||||||
velocypack::Builder& normalized,
|
|
||||||
velocypack::Slice definition,
|
|
||||||
bool isCreation
|
|
||||||
)->arangodb::Result {
|
|
||||||
TRI_ASSERT(normalized.isOpenObject());
|
|
||||||
normalized.add("type", VPackValue(Index::oldtypeName(Index::TRI_IDX_TYPE_GEO1_INDEX)));
|
|
||||||
|
|
||||||
return EnhanceJsonIndexGeo1(definition, normalized, isCreation);
|
|
||||||
});
|
|
||||||
emplaceNormalizer("geo2", [](
|
|
||||||
velocypack::Builder& normalized,
|
|
||||||
velocypack::Slice definition,
|
|
||||||
bool isCreation
|
|
||||||
)->arangodb::Result {
|
|
||||||
TRI_ASSERT(normalized.isOpenObject());
|
|
||||||
normalized.add("type", VPackValue(Index::oldtypeName(Index::TRI_IDX_TYPE_GEO2_INDEX)));
|
normalized.add("type", VPackValue(Index::oldtypeName(Index::TRI_IDX_TYPE_GEO2_INDEX)));
|
||||||
|
|
||||||
return EnhanceJsonIndexGeo2(definition, normalized, isCreation);
|
return EnhanceJsonIndexGeo2(definition, normalized, isCreation);
|
||||||
});
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (ServerState::instance()->isCoordinator()) {
|
normalized.add("type", VPackValue(Index::oldtypeName(Index::TRI_IDX_TYPE_GEO1_INDEX)));
|
||||||
emplaceNormalizer("hash", [](
|
|
||||||
velocypack::Builder& normalized,
|
|
||||||
velocypack::Slice definition,
|
|
||||||
bool isCreation
|
|
||||||
)->arangodb::Result {
|
|
||||||
TRI_ASSERT(normalized.isOpenObject());
|
|
||||||
normalized.add("type", VPackValue(Index::oldtypeName(Index::TRI_IDX_TYPE_HASH_INDEX)));
|
|
||||||
|
|
||||||
if (isCreation && !definition.hasKey("objectId")) {
|
return EnhanceJsonIndexGeo1(definition, normalized, isCreation);
|
||||||
normalized.add("objectId", velocypack::Value(std::to_string(TRI_NewTickServer())));
|
});
|
||||||
}
|
|
||||||
|
|
||||||
return EnhanceJsonIndexHash(definition, normalized, isCreation);
|
emplaceNormalizer("geo1", [](
|
||||||
});
|
velocypack::Builder& normalized,
|
||||||
} else {
|
velocypack::Slice definition,
|
||||||
emplaceNormalizer("hash", [](
|
bool isCreation
|
||||||
velocypack::Builder& normalized,
|
)->arangodb::Result {
|
||||||
velocypack::Slice definition,
|
TRI_ASSERT(normalized.isOpenObject());
|
||||||
bool isCreation
|
normalized.add("type", VPackValue(Index::oldtypeName(Index::TRI_IDX_TYPE_GEO1_INDEX)));
|
||||||
)->arangodb::Result {
|
|
||||||
TRI_ASSERT(normalized.isOpenObject());
|
|
||||||
normalized.add("type", VPackValue(Index::oldtypeName(Index::TRI_IDX_TYPE_HASH_INDEX)));
|
|
||||||
|
|
||||||
return EnhanceJsonIndexHash(definition, normalized, isCreation);
|
if (isCreation && !ServerState::instance()->isCoordinator() && !definition.hasKey("objectId")) {
|
||||||
});
|
normalized.add("objectId", velocypack::Value(std::to_string(TRI_NewTickServer())));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ServerState::instance()->isCoordinator()) {
|
return EnhanceJsonIndexGeo1(definition, normalized, isCreation);
|
||||||
emplaceNormalizer("primary", [](
|
});
|
||||||
velocypack::Builder& normalized,
|
|
||||||
velocypack::Slice definition,
|
|
||||||
bool isCreation
|
|
||||||
)->arangodb::Result {
|
|
||||||
if (isCreation) {
|
|
||||||
// creating these indexes yourself is forbidden
|
|
||||||
return TRI_ERROR_FORBIDDEN;
|
|
||||||
}
|
|
||||||
|
|
||||||
TRI_ASSERT(normalized.isOpenObject());
|
emplaceNormalizer("geo2", [](
|
||||||
normalized.add("type", VPackValue(Index::oldtypeName(Index::TRI_IDX_TYPE_PRIMARY_INDEX)));
|
velocypack::Builder& normalized,
|
||||||
|
velocypack::Slice definition,
|
||||||
|
bool isCreation
|
||||||
|
)->arangodb::Result {
|
||||||
|
TRI_ASSERT(normalized.isOpenObject());
|
||||||
|
normalized.add("type", VPackValue(Index::oldtypeName(Index::TRI_IDX_TYPE_GEO2_INDEX)));
|
||||||
|
|
||||||
if (isCreation && !definition.hasKey("objectId")) {
|
if (isCreation && !ServerState::instance()->isCoordinator() && !definition.hasKey("objectId")) {
|
||||||
normalized.add("objectId", velocypack::Value(std::to_string(TRI_NewTickServer())));
|
normalized.add("objectId", velocypack::Value(std::to_string(TRI_NewTickServer())));
|
||||||
}
|
}
|
||||||
|
|
||||||
return TRI_ERROR_INTERNAL;
|
return EnhanceJsonIndexGeo2(definition, normalized, isCreation);
|
||||||
});
|
});
|
||||||
} else {
|
|
||||||
emplaceNormalizer("primary", [](
|
|
||||||
velocypack::Builder& normalized,
|
|
||||||
velocypack::Slice definition,
|
|
||||||
bool isCreation
|
|
||||||
)->arangodb::Result {
|
|
||||||
if (isCreation) {
|
|
||||||
// creating these indexes yourself is forbidden
|
|
||||||
return TRI_ERROR_FORBIDDEN;
|
|
||||||
}
|
|
||||||
|
|
||||||
TRI_ASSERT(normalized.isOpenObject());
|
emplaceNormalizer("hash", [](
|
||||||
normalized.add("type", VPackValue(Index::oldtypeName(Index::TRI_IDX_TYPE_PRIMARY_INDEX)));
|
velocypack::Builder& normalized,
|
||||||
|
velocypack::Slice definition,
|
||||||
|
bool isCreation
|
||||||
|
)->arangodb::Result {
|
||||||
|
TRI_ASSERT(normalized.isOpenObject());
|
||||||
|
normalized.add("type", VPackValue(Index::oldtypeName(Index::TRI_IDX_TYPE_HASH_INDEX)));
|
||||||
|
|
||||||
return TRI_ERROR_INTERNAL;
|
if (isCreation && !ServerState::instance()->isCoordinator() && !definition.hasKey("objectId")) {
|
||||||
});
|
normalized.add("objectId", velocypack::Value(std::to_string(TRI_NewTickServer())));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ServerState::instance()->isCoordinator()) {
|
return EnhanceJsonIndexHash(definition, normalized, isCreation);
|
||||||
emplaceNormalizer("persistent", [](
|
});
|
||||||
velocypack::Builder& normalized,
|
|
||||||
velocypack::Slice definition,
|
|
||||||
bool isCreation
|
|
||||||
)->arangodb::Result {
|
|
||||||
TRI_ASSERT(normalized.isOpenObject());
|
|
||||||
normalized.add("type", VPackValue(Index::oldtypeName(Index::TRI_IDX_TYPE_PERSISTENT_INDEX)));
|
|
||||||
|
|
||||||
if (isCreation && !definition.hasKey("objectId")) {
|
emplaceNormalizer("primary", [](
|
||||||
normalized.add("objectId", velocypack::Value(std::to_string(TRI_NewTickServer())));
|
velocypack::Builder& normalized,
|
||||||
}
|
velocypack::Slice definition,
|
||||||
|
bool isCreation
|
||||||
|
)->arangodb::Result {
|
||||||
|
if (isCreation) {
|
||||||
|
// creating these indexes yourself is forbidden
|
||||||
|
return TRI_ERROR_FORBIDDEN;
|
||||||
|
}
|
||||||
|
|
||||||
return EnhanceJsonIndexPersistent(definition, normalized, isCreation);
|
TRI_ASSERT(normalized.isOpenObject());
|
||||||
});
|
normalized.add("type", VPackValue(Index::oldtypeName(Index::TRI_IDX_TYPE_PRIMARY_INDEX)));
|
||||||
} else {
|
|
||||||
emplaceNormalizer("persistent", [](
|
|
||||||
velocypack::Builder& normalized,
|
|
||||||
velocypack::Slice definition,
|
|
||||||
bool isCreation
|
|
||||||
)->arangodb::Result {
|
|
||||||
TRI_ASSERT(normalized.isOpenObject());
|
|
||||||
normalized.add("type", VPackValue(Index::oldtypeName(Index::TRI_IDX_TYPE_PERSISTENT_INDEX)));
|
|
||||||
|
|
||||||
return EnhanceJsonIndexPersistent(definition, normalized, isCreation);
|
if (isCreation && !ServerState::instance()->isCoordinator() && !definition.hasKey("objectId")) {
|
||||||
});
|
normalized.add("objectId", velocypack::Value(std::to_string(TRI_NewTickServer())));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ServerState::instance()->isCoordinator()) {
|
return TRI_ERROR_INTERNAL;
|
||||||
emplaceNormalizer("rocksdb", [](
|
});
|
||||||
velocypack::Builder& normalized,
|
|
||||||
velocypack::Slice definition,
|
|
||||||
bool isCreation
|
|
||||||
)->arangodb::Result {
|
|
||||||
TRI_ASSERT(normalized.isOpenObject());
|
|
||||||
normalized.add("type", VPackValue(Index::oldtypeName(Index::TRI_IDX_TYPE_PERSISTENT_INDEX)));
|
|
||||||
|
|
||||||
if (isCreation && !definition.hasKey("objectId")) {
|
emplaceNormalizer("persistent", [](
|
||||||
normalized.add("objectId", velocypack::Value(std::to_string(TRI_NewTickServer())));
|
velocypack::Builder& normalized,
|
||||||
}
|
velocypack::Slice definition,
|
||||||
|
bool isCreation
|
||||||
|
)->arangodb::Result {
|
||||||
|
TRI_ASSERT(normalized.isOpenObject());
|
||||||
|
normalized.add("type", VPackValue(Index::oldtypeName(Index::TRI_IDX_TYPE_PERSISTENT_INDEX)));
|
||||||
|
|
||||||
return EnhanceJsonIndexPersistent(definition, normalized, isCreation);
|
if (isCreation && !ServerState::instance()->isCoordinator() && !definition.hasKey("objectId")) {
|
||||||
});
|
normalized.add("objectId", velocypack::Value(std::to_string(TRI_NewTickServer())));
|
||||||
} else {
|
}
|
||||||
emplaceNormalizer("rocksdb", [](
|
|
||||||
velocypack::Builder& normalized,
|
|
||||||
velocypack::Slice definition,
|
|
||||||
bool isCreation
|
|
||||||
)->arangodb::Result {
|
|
||||||
TRI_ASSERT(normalized.isOpenObject());
|
|
||||||
normalized.add("type", VPackValue(Index::oldtypeName(Index::TRI_IDX_TYPE_PERSISTENT_INDEX)));
|
|
||||||
|
|
||||||
return EnhanceJsonIndexPersistent(definition, normalized, isCreation);
|
return EnhanceJsonIndexPersistent(definition, normalized, isCreation);
|
||||||
});
|
});
|
||||||
}
|
|
||||||
|
|
||||||
if (ServerState::instance()->isCoordinator()) {
|
emplaceNormalizer("rocksdb", [](
|
||||||
emplaceNormalizer("skiplist", [](
|
velocypack::Builder& normalized,
|
||||||
velocypack::Builder& normalized,
|
velocypack::Slice definition,
|
||||||
velocypack::Slice definition,
|
bool isCreation
|
||||||
bool isCreation
|
)->arangodb::Result {
|
||||||
)->arangodb::Result {
|
TRI_ASSERT(normalized.isOpenObject());
|
||||||
TRI_ASSERT(normalized.isOpenObject());
|
normalized.add("type", VPackValue(Index::oldtypeName(Index::TRI_IDX_TYPE_PERSISTENT_INDEX)));
|
||||||
normalized.add("type", VPackValue(Index::oldtypeName(Index::TRI_IDX_TYPE_SKIPLIST_INDEX)));
|
|
||||||
|
|
||||||
if (isCreation && !definition.hasKey("objectId")) {
|
if (isCreation && !ServerState::instance()->isCoordinator() && !definition.hasKey("objectId")) {
|
||||||
normalized.add("objectId", velocypack::Value(std::to_string(TRI_NewTickServer())));
|
normalized.add("objectId", velocypack::Value(std::to_string(TRI_NewTickServer())));
|
||||||
}
|
}
|
||||||
|
|
||||||
return EnhanceJsonIndexSkiplist(definition, normalized, isCreation);
|
return EnhanceJsonIndexPersistent(definition, normalized, isCreation);
|
||||||
});
|
});
|
||||||
} else {
|
|
||||||
emplaceNormalizer("skiplist", [](
|
|
||||||
velocypack::Builder& normalized,
|
|
||||||
velocypack::Slice definition,
|
|
||||||
bool isCreation
|
|
||||||
)->arangodb::Result {
|
|
||||||
TRI_ASSERT(normalized.isOpenObject());
|
|
||||||
normalized.add("type", VPackValue(Index::oldtypeName(Index::TRI_IDX_TYPE_SKIPLIST_INDEX)));
|
|
||||||
|
|
||||||
return EnhanceJsonIndexSkiplist(definition, normalized, isCreation);
|
emplaceNormalizer("skiplist", [](
|
||||||
});
|
velocypack::Builder& normalized,
|
||||||
}
|
velocypack::Slice definition,
|
||||||
|
bool isCreation
|
||||||
|
)->arangodb::Result {
|
||||||
|
TRI_ASSERT(normalized.isOpenObject());
|
||||||
|
normalized.add("type", VPackValue(Index::oldtypeName(Index::TRI_IDX_TYPE_SKIPLIST_INDEX)));
|
||||||
|
|
||||||
|
if (isCreation && !ServerState::instance()->isCoordinator() && !definition.hasKey("objectId")) {
|
||||||
|
normalized.add("objectId", velocypack::Value(std::to_string(TRI_NewTickServer())));
|
||||||
|
}
|
||||||
|
|
||||||
|
return EnhanceJsonIndexSkiplist(definition, normalized, isCreation);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
void RocksDBIndexFactory::fillSystemIndexes(
|
void RocksDBIndexFactory::fillSystemIndexes(
|
||||||
|
|
Loading…
Reference in New Issue