From 1dec024bc8d8e8d46aa90b88371c544493074c22 Mon Sep 17 00:00:00 2001 From: Mislav Bradac Date: Sat, 19 Aug 2017 12:42:58 +0200 Subject: [PATCH] Return fields in BEGIN, ROLLBACK, COMMIT Reviewers: buda Reviewed By: buda Subscribers: pullbot Differential Revision: https://phabricator.memgraph.io/D683 --- src/communication/bolt/v1/states/idle_result.hpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/communication/bolt/v1/states/idle_result.hpp b/src/communication/bolt/v1/states/idle_result.hpp index bfeb7cd47..bb501f66b 100644 --- a/src/communication/bolt/v1/states/idle_result.hpp +++ b/src/communication/bolt/v1/states/idle_result.hpp @@ -15,6 +15,9 @@ namespace communication::bolt { template State HandleRun(Session &session, State state, Marker marker) { + const std::map kEmptyFields = { + {"fields", std::vector{}}}; + 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() == "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() == "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() == "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;