Return fields in BEGIN, ROLLBACK, COMMIT
Reviewers: buda Reviewed By: buda Subscribers: pullbot Differential Revision: https://phabricator.memgraph.io/D683
This commit is contained in:
parent
5a69f46f1f
commit
1dec024bc8
@ -15,6 +15,9 @@ namespace communication::bolt {
|
||||
|
||||
template <typename Session>
|
||||
State HandleRun(Session &session, State state, Marker marker) {
|
||||
const std::map<std::string, query::TypedValue> kEmptyFields = {
|
||||
{"fields", std::vector<query::TypedValue>{}}};
|
||||
|
||||
if (marker != Marker::TinyStruct2) {
|
||||
DLOG(WARNING) << fmt::format(
|
||||
"Expected TinyStruct2 marker, but received 0x{:02X}!",
|
||||
@ -38,7 +41,7 @@ State HandleRun(Session &session, State state, Marker marker) {
|
||||
if (query.Value<std::string>() == "ROLLBACK") {
|
||||
session.Abort();
|
||||
// One MessageSuccess for RUN command should be flushed.
|
||||
session.encoder_.MessageSuccess();
|
||||
session.encoder_.MessageSuccess(kEmptyFields);
|
||||
// One for PULL_ALL should be chunked.
|
||||
session.encoder_.MessageSuccess({}, false);
|
||||
return State::Result;
|
||||
@ -84,7 +87,7 @@ State HandleRun(Session &session, State state, Marker marker) {
|
||||
// Same goes for "ROLLBACK" and "COMMIT".
|
||||
//
|
||||
// One MessageSuccess for RUN command should be flushed.
|
||||
session.encoder_.MessageSuccess();
|
||||
session.encoder_.MessageSuccess(kEmptyFields);
|
||||
// One for PULL_ALL should be chunked.
|
||||
session.encoder_.MessageSuccess({}, false);
|
||||
return State::Result;
|
||||
@ -94,14 +97,14 @@ State HandleRun(Session &session, State state, Marker marker) {
|
||||
if (query.Value<std::string>() == "COMMIT") {
|
||||
session.Commit();
|
||||
// One MessageSuccess for RUN command should be flushed.
|
||||
session.encoder_.MessageSuccess();
|
||||
session.encoder_.MessageSuccess(kEmptyFields);
|
||||
// One for PULL_ALL should be chunked.
|
||||
session.encoder_.MessageSuccess({}, false);
|
||||
return State::Result;
|
||||
} else if (query.Value<std::string>() == "ROLLBACK") {
|
||||
session.Abort();
|
||||
// One MessageSuccess for RUN command should be flushed.
|
||||
session.encoder_.MessageSuccess();
|
||||
session.encoder_.MessageSuccess(kEmptyFields);
|
||||
// One for PULL_ALL should be chunked.
|
||||
session.encoder_.MessageSuccess({}, false);
|
||||
return State::Result;
|
||||
|
Loading…
Reference in New Issue
Block a user