mirror of https://gitee.com/bigwinds/arangodb
Another snapshot.
This commit is contained in:
parent
60df924ac1
commit
10ff104236
|
@ -1008,11 +1008,11 @@ static void insertIntoShardMap (ClusterInfo* ci,
|
|||
else {
|
||||
// Sorry we do not know the responsible shard yet
|
||||
// Ask all of them
|
||||
std::map<std::string, std::string> shardIds = collinfo->shardIds();
|
||||
for (auto shard : shardIds) {
|
||||
auto it = shardMap.find(shard.first);
|
||||
auto shardList = ci->getShardList(collid);
|
||||
for (auto const& shard : *shardList) {
|
||||
auto it = shardMap.find(shard);
|
||||
if (it == shardMap.end()) {
|
||||
shardMap.emplace(shard.first, std::vector<std::string>({splitId[1]}));
|
||||
shardMap.emplace(shard, std::vector<std::string>({splitId[1]}));
|
||||
}
|
||||
else {
|
||||
it->second.push_back(splitId[1]);
|
||||
|
@ -1261,8 +1261,7 @@ int getFilteredEdgesOnCoordinator (
|
|||
|
||||
ClusterCommResult* res;
|
||||
|
||||
map<ShardID, ServerID> shards = collinfo->shardIds();
|
||||
map<ShardID, ServerID>::iterator it;
|
||||
auto shards = collinfo->shardIds();
|
||||
CoordTransactionID coordTransactionID = TRI_NewTickServer();
|
||||
std::string queryParameters = "?vertex=" + StringUtils::urlEncode(vertex);
|
||||
if (direction == TRI_EDGE_IN) {
|
||||
|
@ -1281,11 +1280,11 @@ int getFilteredEdgesOnCoordinator (
|
|||
}
|
||||
reqBodyString->append(body.toString());
|
||||
}
|
||||
for (it = shards.begin(); it != shards.end(); ++it) {
|
||||
for (auto const& p : *shards) {
|
||||
map<string, string>* headers = new map<string, string>;
|
||||
res = cc->asyncRequest("", coordTransactionID, "shard:" + it->first,
|
||||
res = cc->asyncRequest("", coordTransactionID, "shard:" + p.first,
|
||||
triagens::rest::HttpRequest::HTTP_REQUEST_PUT,
|
||||
"/_db/" + StringUtils::urlEncode(dbname) + "/_api/edges/" + it->first + queryParameters,
|
||||
"/_db/" + StringUtils::urlEncode(dbname) + "/_api/edges/" + p.first + queryParameters,
|
||||
reqBodyString, headers, nullptr, 3600.0);
|
||||
delete res;
|
||||
}
|
||||
|
@ -1298,7 +1297,7 @@ int getFilteredEdgesOnCoordinator (
|
|||
|
||||
triagens::basics::Json documents(triagens::basics::Json::Array);
|
||||
|
||||
for (count = (int) shards.size(); count > 0; count--) {
|
||||
for (count = (int) shards->size(); count > 0; count--) {
|
||||
res = cc->wait( "", coordTransactionID, 0, "", 0.0);
|
||||
if (res->status == CL_COMM_TIMEOUT) {
|
||||
delete res;
|
||||
|
|
|
@ -1097,8 +1097,6 @@ static void CreateCollectionCoordinator (const v8::FunctionCallbackInfo<v8::Valu
|
|||
}
|
||||
|
||||
velocy("indexes", Value(ValueType::Array));
|
||||
velocy.close();
|
||||
velocy.close();
|
||||
|
||||
// create a dummy primary index
|
||||
TRI_document_collection_t* doc = nullptr;
|
||||
|
@ -1107,12 +1105,11 @@ static void CreateCollectionCoordinator (const v8::FunctionCallbackInfo<v8::Valu
|
|||
|
||||
auto idxJson = primaryIndex->toJson(TRI_UNKNOWN_MEM_ZONE, false);
|
||||
|
||||
TRI_json_t* index = idxJson.json();
|
||||
|
||||
TRI_json_t* indexes;
|
||||
TRI_json_t* json;
|
||||
|
||||
TRI_PushBack3ArrayJson(TRI_UNKNOWN_MEM_ZONE, indexes, TRI_CopyJson(TRI_UNKNOWN_MEM_ZONE, idxJson.json()));
|
||||
|
||||
|
||||
if (collectionType == TRI_COL_TYPE_EDGE) {
|
||||
// create a dummy edge index
|
||||
std::unique_ptr<triagens::arango::EdgeIndex> edgeIndex(new triagens::arango::EdgeIndex(id, nullptr));
|
||||
|
|
|
@ -299,8 +299,25 @@ namespace triagens {
|
|||
catch (...) {
|
||||
return std::shared_ptr<arangodb::velocypack::Builder>();
|
||||
}
|
||||
return std::shared_ptr<arangodb::velocypack::Builder>();
|
||||
// FIXME: activate return parser.steal();
|
||||
return parser.steal();
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/// @brief TRI_json_t to VelocyPack, writing into an existing Builder
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
static int toVelocyPack (
|
||||
TRI_json_t const* json,
|
||||
std::shared_ptr<arangodb::velocypack::Builder> builder) {
|
||||
std::string tmp = toString(json);
|
||||
arangodb::velocypack::Parser parser(builder);
|
||||
try {
|
||||
parser.parse(tmp);
|
||||
}
|
||||
catch (...) {
|
||||
return TRI_ERROR_INTERNAL;
|
||||
}
|
||||
return TRI_ERROR_NO_ERROR;
|
||||
}
|
||||
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue