File tree Expand file tree Collapse file tree 1 file changed +11
-6
lines changed Expand file tree Collapse file tree 1 file changed +11
-6
lines changed Original file line number Diff line number Diff line change @@ -645,12 +645,17 @@ void Client::Impl::SendQuery(const Query& query) {
645
645
}
646
646
}
647
647
648
- // / Per query settings.
649
- assert (server_info_.revision >= DBMS_MIN_REVISION_WITH_SETTINGS_SERIALIZED_AS_STRINGS);
650
- for (const auto & [name, field] : query.GetQuerySettings ()) {
651
- WireFormat::WriteString (*output_, name);
652
- WireFormat::WriteVarint64 (*output_, field.flags );
653
- WireFormat::WriteString (*output_, field.value );
648
+ // / Per query settings
649
+ if (server_info_.revision >= DBMS_MIN_REVISION_WITH_SETTINGS_SERIALIZED_AS_STRINGS) {
650
+ for (const auto & [name, field] : query.GetQuerySettings ()) {
651
+ WireFormat::WriteString (*output_, name);
652
+ WireFormat::WriteVarint64 (*output_, field.flags );
653
+ WireFormat::WriteString (*output_, field.value );
654
+ }
655
+ }
656
+ else if (query.GetQuerySettings ().size () > 0 ) {
657
+ // Current implementation works only for server version >= v20.1.2.4-stable, since we do not implement binary settings serialization.
658
+ throw UnimplementedError (std::string (" Can't send query settings to a server, server version is too old" ));
654
659
}
655
660
// Empty string signals end of serialized settings
656
661
WireFormat::WriteString (*output_, std::string ());
You can’t perform that action at this time.
0 commit comments