prepared: enable cached result metadata optimization by default #210
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We already cache the metadata on cpp-rust-driver side (see CassPrepared::result_metadata field), thus we can enable the optimization on rust-driver side as well. This will prevent the server from sending redundant bytes representing a result metadata during EXECUTE.
NOTE: We are aware that it makes cached metadata immutable. It is expected, though - there is an integration test for this for CQL protocol v4 (AlterDoesntUpdateColumnCount). This issue is addressed in CQL protocol v5, but Scylla doesn't support it yet, and probably won't support it in the near future.
Pre-review checklist
[ ] I have implemented Rust unit tests for the features/changes introduced.[ ] I have enabled appropriate tests in.github/workflows/build.yml
ingtest_filter
.[ ] I have enabled appropriate tests in.github/workflows/cassandra.yml
ingtest_filter
.