Skip to content
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

CQL Vector type #1014

Open
pkolaczk opened this issue Jun 19, 2024 · 5 comments · May be fixed by #1022
Open

CQL Vector type #1014

pkolaczk opened this issue Jun 19, 2024 · 5 comments · May be fixed by #1022
Labels
cassandra-compat Some feature supported by Cassandra is not supported by the driver good first issue Good for newcomers

Comments

@pkolaczk
Copy link

pkolaczk commented Jun 19, 2024

https://cassandra.apache.org/doc/latest/cassandra/reference/vector-data-type.html

I noticed that any attempt to perform a query on a table that contains a vector column fails, because the schema is rejected.

Any hints where I should modify the code to add support for this type?

@mykaul
Copy link
Contributor

mykaul commented Jun 19, 2024

ScyllaDB doesn't yet support Vector types.

@wprzytula wprzytula closed this as not planned Won't fix, can't repro, duplicate, stale Jun 19, 2024
@wprzytula
Copy link
Collaborator

Reopening as support for CQL Vector is part of Cassandra compatibility, which we strive towards. Contributions are welcome that would add support for it.

@wprzytula wprzytula reopened this Jun 19, 2024
@wprzytula wprzytula added cassandra-compat Some feature supported by Cassandra is not supported by the driver good first issue Good for newcomers labels Jun 19, 2024
@wprzytula
Copy link
Collaborator

Any hints where I should modify the code to add support for this type?

For adding CqlVector type, see frame/value.rs (e.g. similarly to CqlTime).
Also, add a variant to CqlValue and implement FromCqlVal.

Then, the ser/de capabilities should be added by implementing {De,S}erializeValue in serialize/value.rs and deserialize/value.rs.

@mykaul
Copy link
Contributor

mykaul commented Jun 19, 2024

Any hints where I should modify the code to add support for this type?

For adding CqlVector type, see frame/value.rs (e.g. similarly to CqlTime). Also, add a variant to CqlValue and implement FromCqlVal.

Then, the ser/de capabilities should be added by implementing {De,S}erializeValue in serialize/value.rs and deserialize/value.rs.

And relevant tests in the test suite against Cassandra in CI please.

rukai added a commit to rukai/scylla-rust-driver that referenced this issue Jun 24, 2024
makes progress towards: scylladb#1014

This fields are introduced by the currently in beta cassandra 5.
Scylla does not support vector types and so the tests are setup to only
compile/run with a new cassandra_tests config.

This commit does not add support for retrieving the data via a SELECT.
That was omitted to reduce scope and will be implemented in follow up
work.
rukai added a commit to rukai/scylla-rust-driver that referenced this issue Jun 24, 2024
makes progress towards: scylladb#1014

The vector type is introduced by the currently in beta cassandra 5.
See: https://cassandra.apache.org/doc/latest/cassandra/reference/vector-data-type.html
Scylla does not support vector types and so the tests are setup to only
compile/run with a new cassandra_tests config.

This commit does not add support for retrieving the data via a SELECT.
That was omitted to reduce scope and will be implemented in follow up
work.
rukai added a commit to rukai/scylla-rust-driver that referenced this issue Jun 25, 2024
makes progress towards: scylladb#1014

The vector type is introduced by the currently in beta cassandra 5.
See: https://cassandra.apache.org/doc/latest/cassandra/reference/vector-data-type.html
Scylla does not support vector types and so the tests are setup to only
compile/run with a new cassandra_tests config.

This commit does not add support for retrieving the data via a SELECT.
That was omitted to reduce scope and will be implemented in follow up
work.
rukai added a commit to rukai/scylla-rust-driver that referenced this issue Jun 25, 2024
makes progress towards: scylladb#1014

The vector type is introduced by the currently in beta cassandra 5.
See: https://cassandra.apache.org/doc/latest/cassandra/reference/vector-data-type.html
Scylla does not support vector types and so the tests are setup to only
compile/run with a new cassandra_tests config.

This commit does not add support for retrieving the data via a SELECT.
That was omitted to reduce scope and will be implemented in follow up
work.
rukai added a commit to rukai/scylla-rust-driver that referenced this issue Jun 25, 2024
makes progress towards: scylladb#1014

The vector type is introduced by the currently in beta cassandra 5.
See: https://cassandra.apache.org/doc/latest/cassandra/reference/vector-data-type.html
Scylla does not support vector types and so the tests are setup to only
compile/run with a new cassandra_tests config.

This commit does not add support for retrieving the data via a SELECT.
That was omitted to reduce scope and will be implemented in follow up
work.
rukai added a commit to rukai/scylla-rust-driver that referenced this issue Jun 25, 2024
makes progress towards: scylladb#1014

The vector type is introduced by the currently in beta cassandra 5
See: https://cassandra.apache.org/doc/latest/cassandra/reference/vector-data-type.html
Scylla does not support vector types and so the tests are setup to only
compile/run with a new cassandra_tests config.

This commit does not add support for retrieving the data via a SELECT.
That was omitted to reduce scope and will be implemented in follow up
work.
@pkolaczk
Copy link
Author

pkolaczk commented Jun 26, 2024

Oh, interesting, looks like we've been working on this in parallel
#1022

I still need to add tests, but overall this seems to be working in latte nicely.
Serializing / deserializing vectors works.

@pkolaczk pkolaczk linked a pull request Jun 26, 2024 that will close this issue
8 tasks
rukai added a commit to rukai/scylla-rust-driver that referenced this issue Jun 26, 2024
makes progress towards: scylladb#1014

The vector type is introduced by the currently in beta cassandra 5
See: https://cassandra.apache.org/doc/latest/cassandra/reference/vector-data-type.html
Scylla does not support vector types and so the tests are setup to only
compile/run with a new cassandra_tests config.

This commit does not add support for retrieving the data via a SELECT.
That was omitted to reduce scope and will be implemented in follow up
work.
rukai added a commit to rukai/scylla-rust-driver that referenced this issue Jun 26, 2024
makes progress towards: scylladb#1014

The vector type is introduced by the currently in beta cassandra 5
See: https://cassandra.apache.org/doc/latest/cassandra/reference/vector-data-type.html
Scylla does not support vector types and so the tests are setup to only
compile/run with a new cassandra_tests config.

This commit does not add support for retrieving the data via a SELECT.
That was omitted to reduce scope and will be implemented in follow up
work.
rukai added a commit to rukai/scylla-rust-driver that referenced this issue Jun 26, 2024
makes progress towards: scylladb#1014

The vector type is introduced by the currently in beta cassandra 5.
See: https://cassandra.apache.org/doc/latest/cassandra/reference/vector-data-type.html
Scylla does not support vector types and so the tests are setup to only
compile/run with a new cassandra_tests config.

This commit does not add support for retrieving the data via a SELECT.
That was omitted to reduce scope and will be implemented in follow up
work.
rukai added a commit to rukai/scylla-rust-driver that referenced this issue Jun 27, 2024
makes progress towards: scylladb#1014

The vector type is introduced by the currently in beta cassandra 5.
See: https://cassandra.apache.org/doc/latest/cassandra/reference/vector-data-type.html
Scylla does not support vector types and so the tests are setup to only
compile/run with a new cassandra_tests config.

This commit does not add support for retrieving the data via a SELECT.
That was omitted to reduce scope and will be implemented in follow up
work.
rukai added a commit to rukai/scylla-rust-driver that referenced this issue Jun 27, 2024
makes progress towards: scylladb#1014

The vector type is introduced by the currently in beta cassandra 5.
See: https://cassandra.apache.org/doc/latest/cassandra/reference/vector-data-type.html
Scylla does not support vector types and so the tests are setup to only
compile/run with a new cassandra_tests config.

This commit does not add support for retrieving the data via a SELECT.
That was omitted to reduce scope and will be implemented in follow up
work.
rukai added a commit to rukai/scylla-rust-driver that referenced this issue Jul 15, 2024
makes progress towards: scylladb#1014

The vector type is introduced by the currently in beta cassandra 5.
See: https://cassandra.apache.org/doc/latest/cassandra/reference/vector-data-type.html
Scylla does not support vector types and so the tests are setup to only
compile/run with a new cassandra_tests config.

This commit does not add support for retrieving the data via a SELECT.
That was omitted to reduce scope and will be implemented in follow up
work.
rukai added a commit to rukai/scylla-rust-driver that referenced this issue Oct 14, 2024
makes progress towards: scylladb#1014

The vector type is introduced by the currently in beta cassandra 5.
See: https://cassandra.apache.org/doc/latest/cassandra/reference/vector-data-type.html
Scylla does not support vector types and so the tests are setup to only
compile/run with a new cassandra_tests config.

This commit does not add support for retrieving the data via a SELECT.
That was omitted to reduce scope and will be implemented in follow up
work.
rukai added a commit to rukai/scylla-rust-driver that referenced this issue Oct 14, 2024
makes progress towards: scylladb#1014

The vector type is introduced by the currently in beta cassandra 5.
See: https://cassandra.apache.org/doc/latest/cassandra/reference/vector-data-type.html
Scylla does not support vector types and so the tests are setup to only
compile/run with a new cassandra_tests config.

This commit does not add support for retrieving the data via a SELECT.
That was omitted to reduce scope and will be implemented in follow up
work.
rukai added a commit to rukai/scylla-rust-driver that referenced this issue Oct 14, 2024
makes progress towards: scylladb#1014

The vector type is introduced by the currently in beta cassandra 5.
See: https://cassandra.apache.org/doc/latest/cassandra/reference/vector-data-type.html
Scylla does not support vector types and so the tests are setup to only
compile/run with a new cassandra_tests config.

This commit does not add support for retrieving the data via a SELECT.
That was omitted to reduce scope and will be implemented in follow up
work.
rukai added a commit to rukai/scylla-rust-driver that referenced this issue Oct 14, 2024
makes progress towards: scylladb#1014

The vector type is introduced by the currently in beta cassandra 5.
See: https://cassandra.apache.org/doc/latest/cassandra/reference/vector-data-type.html
Scylla does not support vector types and so the tests are setup to only
compile/run with a new cassandra_tests config.

This commit does not add support for retrieving the data via a SELECT.
That was omitted to reduce scope and will be implemented in follow up
work.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cassandra-compat Some feature supported by Cassandra is not supported by the driver good first issue Good for newcomers
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants