1
0
Fork 0

Try to fix createView in cluster.

This commit is contained in:
Max Neunhoeffer 2018-03-26 12:57:30 +02:00
parent 2d05cc51ae
commit fd6fef6b9b
No known key found for this signature in database
GPG Key ID: 89A912AD5E343E1E
2 changed files with 17 additions and 4 deletions

View File

@ -1047,7 +1047,7 @@ std::shared_ptr<LogicalView> ClusterInfo::getView(
loadPlan();
}
THROW_ARANGO_EXCEPTION_MESSAGE(
TRI_ERROR_ARANGO_VIEW_NOT_FOUND,
TRI_ERROR_ARANGO_DATA_SOURCE_NOT_FOUND,
"View not found: " + viewID + " in database " + databaseID);
}

View File

@ -1660,10 +1660,23 @@ std::shared_ptr<arangodb::LogicalView> TRI_vocbase_t::createView(
VPackBuilder builder;
{ VPackObjectBuilder guard(&builder);
builder.add("id", VPackValue(viewId));
for (auto const& p : VPackObjectIterator(parameters)) {
builder.add(p.key);
builder.add(p.value);
builder.add(VPackValue("properties"));
std::string name;
{ VPackObjectBuilder guard(&builder);
for (auto const& p : VPackObjectIterator(parameters)) {
if (p.key.copyString() == "name" && p.value.isString()) {
name = p.value.copyString();
}
builder.add(p.key);
builder.add(p.value);
}
}
if (name.empty()) {
LOG_TOPIC(ERR, arangodb::Logger::CLUSTER)
<< "Could not create view in agency, error: no name given.";
return nullptr;
}
builder.add("name", VPackValue(name));
builder.add(VPackValue("collections"));
{ VPackArrayBuilder guard2(&builder);
}