-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add extensive information about the driver in README #81
Conversation
README.md
Outdated
# ScyllaDB Cpp-Rust Driver | ||
___ | ||
Wrapper around ScyllaDB's rust-driver compatible with Datastax cpp-driver. | ||
As opposed to C/C++ driver, it works with the Cassandra Query Language v4 (CQL4). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What do you mean by Cassandra Query Language v4? It looks like C/C++ driver works with CASS_PROTOCOL_VERSION_V4
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was mentioned in the C++ driver description:
This driver works exclusively with the Cassandra Query Language v3 (CQL3) and Cassandra's native protocol.
Perhaps, it is outdated information.
Please also add a section about limitations. Additionally, we should clean up the GitHub Issues that were opened - closing the ones that are now implemented. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actually, the limitations section mentiond by @avelanarius is important - please write it before merging.
Sure, I am working on it. I have updated the issues marking functions that are implemented and functions that are still in progress. I will base the limitations section on those issues unless you have another opinion. |
V2: Added a separate section about the limitations of some features. |
I'd like for the limitations section to include a note that the section itself may be incomplete - unless you are sure that the list is fairly complete? One thing I'm not sure about: cpp-rust-driver/scylla-rust-wrapper/src/binding.rs Lines 53 to 56 in 5c009e8
This I think is used for all binding - and you only noted that we are not checking types for cass_collection_append_* - is that correct?
|
Sure, I will add a note that the list is incomplete. For now, I have included the main functions which are not implemented or are implemented with some limitations. Functions that are relatively easy to implement (that do not require some implementation in the Rust driver, or maybe even in ScyllaDB) are just noted as
What do you mean by |
Are you sure that prepared statements are not checked? I did a quick experiment: https://gist.github.com/Lorak-mmk/dbce7e0484b69000f8523df4ad963531 And for me it prints:
Which would mean that they are checked. After reading abstract_data.hh it also seems that the types should be checked for prepared statement. |
Yeah, I guess you are right. The Edit: The Rust driver, too, does not validate the types passed to queries here, however, we can add the validation of types independently from the Rust driver. |
There is already a placeholder function for that, it's just not implemented yet - always returns true. |
Pre-review checklist
.github/workflows/build.yml
ingtest_filter
..github/workflows/cassandra.yml
ingtest_filter
.