mirror of https://gitee.com/bigwinds/arangodb
Merged fuxes for QueryStats
This commit is contained in:
parent
a01a1605b1
commit
93861779b4
|
@ -740,17 +740,13 @@ void RestAqlHandler::handleUseQuery(std::string const& operation, Query* query,
|
||||||
if (items.get() == nullptr) {
|
if (items.get() == nullptr) {
|
||||||
answerBuilder.add("exhausted", VPackValue(true));
|
answerBuilder.add("exhausted", VPackValue(true));
|
||||||
answerBuilder.add("error", VPackValue(false));
|
answerBuilder.add("error", VPackValue(false));
|
||||||
#warning query->getStats has to be VPackified
|
|
||||||
answerBuilder.add(VPackValue("stats"));
|
answerBuilder.add(VPackValue("stats"));
|
||||||
// DO not care for result. This is removed soon!
|
query->getStats(answerBuilder);
|
||||||
JsonHelper::toVelocyPack(query->getStats().json(), answerBuilder);
|
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
items->toVelocyPack(query->trx(), answerBuilder);
|
items->toVelocyPack(query->trx(), answerBuilder);
|
||||||
#warning query->getStats has to be VPackified
|
|
||||||
answerBuilder.add(VPackValue("stats"));
|
answerBuilder.add(VPackValue("stats"));
|
||||||
// DO not care for result. This is removed soon!
|
query->getStats(answerBuilder);
|
||||||
JsonHelper::toVelocyPack(query->getStats().json(), answerBuilder);
|
|
||||||
} catch (...) {
|
} catch (...) {
|
||||||
LOG(ERR) << "cannot transform AqlItemBlock to VelocyPack";
|
LOG(ERR) << "cannot transform AqlItemBlock to VelocyPack";
|
||||||
generateError(HttpResponse::SERVER_ERROR, TRI_ERROR_HTTP_SERVER_ERROR,
|
generateError(HttpResponse::SERVER_ERROR, TRI_ERROR_HTTP_SERVER_ERROR,
|
||||||
|
@ -783,10 +779,8 @@ void RestAqlHandler::handleUseQuery(std::string const& operation, Query* query,
|
||||||
}
|
}
|
||||||
answerBuilder.add("skipped", VPackValue(static_cast<double>(skipped)));
|
answerBuilder.add("skipped", VPackValue(static_cast<double>(skipped)));
|
||||||
answerBuilder.add("error", VPackValue(false));
|
answerBuilder.add("error", VPackValue(false));
|
||||||
#warning query->getStats has to be VPackified
|
|
||||||
answerBuilder.add(VPackValue("stats"));
|
answerBuilder.add(VPackValue("stats"));
|
||||||
// DO not care for result. This is removed soon!
|
query->getStats(answerBuilder);
|
||||||
JsonHelper::toVelocyPack(query->getStats().json(), answerBuilder);
|
|
||||||
} else if (operation == "skip") {
|
} else if (operation == "skip") {
|
||||||
auto number =
|
auto number =
|
||||||
VelocyPackHelper::getNumericValue<size_t>(querySlice, "number", 1);
|
VelocyPackHelper::getNumericValue<size_t>(querySlice, "number", 1);
|
||||||
|
@ -804,10 +798,8 @@ void RestAqlHandler::handleUseQuery(std::string const& operation, Query* query,
|
||||||
}
|
}
|
||||||
answerBuilder.add("exhausted", VPackValue(exhausted));
|
answerBuilder.add("exhausted", VPackValue(exhausted));
|
||||||
answerBuilder.add("error", VPackValue(false));
|
answerBuilder.add("error", VPackValue(false));
|
||||||
#warning query->getStats has to be VPackified
|
|
||||||
answerBuilder.add(VPackValue("stats"));
|
answerBuilder.add(VPackValue("stats"));
|
||||||
// DO not care for result. This is removed soon!
|
query->getStats(answerBuilder);
|
||||||
JsonHelper::toVelocyPack(query->getStats().json(), answerBuilder);
|
|
||||||
} catch (...) {
|
} catch (...) {
|
||||||
LOG(ERR) << "skip lead to an exception";
|
LOG(ERR) << "skip lead to an exception";
|
||||||
generateError(HttpResponse::SERVER_ERROR, TRI_ERROR_HTTP_SERVER_ERROR,
|
generateError(HttpResponse::SERVER_ERROR, TRI_ERROR_HTTP_SERVER_ERROR,
|
||||||
|
@ -834,10 +826,8 @@ void RestAqlHandler::handleUseQuery(std::string const& operation, Query* query,
|
||||||
}
|
}
|
||||||
answerBuilder.add("error", VPackValue(res != TRI_ERROR_NO_ERROR));
|
answerBuilder.add("error", VPackValue(res != TRI_ERROR_NO_ERROR));
|
||||||
answerBuilder.add("code", VPackValue(static_cast<double>(res)));
|
answerBuilder.add("code", VPackValue(static_cast<double>(res)));
|
||||||
#warning query->getStats has to be VPackified
|
|
||||||
answerBuilder.add(VPackValue("stats"));
|
answerBuilder.add(VPackValue("stats"));
|
||||||
// DO not care for result. This is removed soon!
|
query->getStats(answerBuilder);
|
||||||
JsonHelper::toVelocyPack(query->getStats().json(), answerBuilder);
|
|
||||||
} else if (operation == "shutdown") {
|
} else if (operation == "shutdown") {
|
||||||
int res = TRI_ERROR_INTERNAL;
|
int res = TRI_ERROR_INTERNAL;
|
||||||
int errorCode = VelocyPackHelper::getNumericValue<int>(
|
int errorCode = VelocyPackHelper::getNumericValue<int>(
|
||||||
|
@ -846,12 +836,9 @@ void RestAqlHandler::handleUseQuery(std::string const& operation, Query* query,
|
||||||
res =
|
res =
|
||||||
query->engine()->shutdown(errorCode); // pass errorCode to shutdown
|
query->engine()->shutdown(errorCode); // pass errorCode to shutdown
|
||||||
|
|
||||||
// return statistics
|
// return statistics
|
||||||
#warning query->getStats has to be VPackified
|
|
||||||
answerBuilder.add(VPackValue("stats"));
|
answerBuilder.add(VPackValue("stats"));
|
||||||
// DO not care for result. This is removed soon!
|
query->getStats(answerBuilder);
|
||||||
JsonHelper::toVelocyPack(query->getStats().json(), answerBuilder);
|
|
||||||
query->warningsToVelocyPack(answerBuilder);
|
|
||||||
|
|
||||||
// return warnings if present
|
// return warnings if present
|
||||||
query->warningsToVelocyPack(answerBuilder);
|
query->warningsToVelocyPack(answerBuilder);
|
||||||
|
|
Loading…
Reference in New Issue