Skip to content

Conversation

@sobychacko
Copy link
Contributor

…onverter.doValue

Fixes: 3160

#3160

When using a filter expression with IN operator on a collection field in CassandraVectorStore.similaritySearch, a ClassCastException was thrown because the code attempted to format individual collection elements using the collection's codec instead of the element type's codec.

This fix modifies doValue to detect when we are formatting elements inside a collection type and use the appropriate element type codec. While Cassandra does not support using the IN operator directly on collection columns, this fix ensures we generate syntactically correct CQL rather than throwing a Java exception.

The change specifically addresses ListType collections by using the element type codec for individual elements within the list.

…lterExpressionConverter.doValue

Fixes: 3160

spring-projects#3160

When using a filter expression with IN operator on a collection field in
CassandraVectorStore.similaritySearch, a ClassCastException was thrown because
the code attempted to format individual collection elements using the collection's
codec instead of the element type's codec.

This fix modifies doValue to detect when we are formatting elements inside a
collection type and use the appropriate element type codec. While Cassandra
does not support using the IN operator directly on collection columns, this fix
ensures we generate syntactically correct CQL rather than throwing a Java
exception.

The change specifically addresses ListType collections by using the element type
codec for individual elements within the list.

Signed-off-by: Soby Chacko <[email protected]>
@ilayaperumalg
Copy link
Member

Rebased and merged as fa8f246

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working cassandra

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants