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;