mirror of
https://github.com/scylladb/scylladb.git
synced 2026-04-22 01:20:39 +00:00
This patch set adds a few new features in order to fix issue The list of changes is briefly as follows: - Add a new `LWT` flag to `cql3::prepared_metadata`, which allows clients to clearly distinguish betwen lwt and non-lwt statements without need to execute some custom parsing logic (e.g. parsing the prepared query with regular expressions), which is obviously quite fragile. - Introduce the negotiation procedure for cql protocol extensions. This is done via `cql_protocol_extension` enum and is expected to have an appropriate mirroring implementation on the client driver side in order to work properly. - Implmenent a `LWT_ADD_METADATA_MARK` cql feature on top of the aforementioned algorithm to make the feature negotiable and use it conditionally (iff both server and client agrees with each other on the set of cql extensions). The feature is meant to be further utilized by client drivers to use primary replicas consistently when dealing with conditional statements. * git@github.com:ManManson/scylla feature/lwt_prepared_meta_flag_2: lwt: introduce "LWT" flag in prepared statement metadata transport: introduce `cql_protocol_extension` enum and cql protocol extensions negotiation