[
https://issues.apache.org/jira/browse/CASSANDRA-19167?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17799604#comment-17799604
]
Ekaterina Dimitrova commented on CASSANDRA-19167:
-------------------------------------------------
The cases that fail are:
{code:java}
// identitiy function with nested type
f = createFunction(KEYSPACE,
"",
"CREATE FUNCTION %s (x list<vector<int, 2>>) " +
"CALLED ON NULL INPUT " +
"RETURNS list<vector<int, 2>> " +
"LANGUAGE java " +
"AS 'return x;'");
assertRows(execute(format("SELECT %s([value]) FROM %%s", f)),
row(list(vector)));{code}
{code:java}
// function accessing vector argument elements
f = createFunction(KEYSPACE,
"",
"CREATE FUNCTION %s (x vector<int, 2>, i int) " +
"CALLED ON NULL INPUT " +
"RETURNS int " +
"LANGUAGE java " +
"AS 'return x == null ? null : x.get(i);'");
assertRows(execute(format("SELECT %s(value, 0), %<s(value, 1) FROM %%s", f)),
row(1, 2));{code}
{code:java}
// function accessing vector argument dimensions
f = createFunction(KEYSPACE,
"",
"CREATE FUNCTION %s (x vector<int, 2>) " +
"CALLED ON NULL INPUT " +
"RETURNS int " +
"LANGUAGE java " +
"AS 'return x == null ? 0 : x.size();'");
assertRows(execute(format("SELECT %s(value) FROM %%s", f)), row(2));{code}
{code:java}
// concat vectors, just to put it all together
f = createFunction(KEYSPACE,
"",
"CREATE FUNCTION %s (x vector<int, 2>, y vector<int, 2>) " +
"CALLED ON NULL INPUT " +
"RETURNS vector<int, 4> " +
"LANGUAGE java " +
"AS '" +
"if (x == null || y == null) return null;" +
"List<Integer> l = new ArrayList<Integer>(x); " +
"l.addAll(y); " +
"return l;'");
assertRows(execute(format("SELECT %s(value, [3, 4]) FROM %%s", f)),
row(vector(1, 2, 3, 4)));
assertRows(execute(format("SELECT %s([2, 3], value) FROM %%s", f)),
row(vector(2, 3, 1, 2)));{code}
> Test failure: CQLVectorTest fails with heap_buffers
> ---------------------------------------------------
>
> Key: CASSANDRA-19167
> URL: https://issues.apache.org/jira/browse/CASSANDRA-19167
> Project: Cassandra
> Issue Type: Bug
> Components: Feature/Vector Search
> Reporter: Branimir Lambov
> Priority: Normal
> Fix For: 5.0-rc, 5.x
>
>
> When {{memtable_allocation_type}} is set to {{heap_buffers}}, the {{udf}}
> test fails with
> {code}
> org.apache.cassandra.cql3.functions.types.exceptions.InvalidTypeException:
> Invalid 32-bits integer value, expecting 4 bytes but got 6
> at
> org.apache.cassandra.cql3.functions.types.TypeCodec$IntCodec.deserializeNoBoxing(TypeCodec.java:1695)
> at
> org.apache.cassandra.cql3.functions.types.TypeCodec$PrimitiveIntCodec.deserialize(TypeCodec.java:842)
> at
> org.apache.cassandra.cql3.functions.types.TypeCodec$PrimitiveIntCodec.deserialize(TypeCodec.java:819)
> at
> org.apache.cassandra.cql3.functions.types.VectorCodec$FixedLength.deserialize(VectorCodec.java:135)
> at
> org.apache.cassandra.cql3.functions.types.VectorCodec$FixedLength.deserialize(VectorCodec.java:83)
> at
> org.apache.cassandra.cql3.functions.types.TypeCodec$AbstractCollectionCodec.deserialize(TypeCodec.java:2141)
> at
> org.apache.cassandra.cql3.functions.types.TypeCodec$AbstractCollectionCodec.deserialize(TypeCodec.java:2082)
> at
> org.apache.cassandra.cql3.functions.UDFDataType.compose(UDFDataType.java:180)
> at
> org.apache.cassandra.cql3.functions.FunctionArguments.set(FunctionArguments.java:142)
> at
> org.apache.cassandra.cql3.selection.AbstractFunctionSelector.setArg(AbstractFunctionSelector.java:277)
> at
> org.apache.cassandra.cql3.selection.ScalarFunctionSelector.getOutput(ScalarFunctionSelector.java:58)
> at
> org.apache.cassandra.cql3.selection.Selection$SelectionWithProcessing$1.getOutputRow(Selection.java:605)
> at
> org.apache.cassandra.cql3.selection.ResultSetBuilder.getOutputRow(ResultSetBuilder.java:175)
> at
> org.apache.cassandra.cql3.selection.ResultSetBuilder.build(ResultSetBuilder.java:162)
> at
> org.apache.cassandra.cql3.statements.SelectStatement.process(SelectStatement.java:999)
> at
> org.apache.cassandra.cql3.statements.SelectStatement.processResults(SelectStatement.java:564)
> at
> org.apache.cassandra.cql3.statements.SelectStatement.executeInternal(SelectStatement.java:600)
> at
> org.apache.cassandra.cql3.statements.SelectStatement.executeLocally(SelectStatement.java:570)
> at
> org.apache.cassandra.cql3.statements.SelectStatement.executeLocally(SelectStatement.java:108)
> at
> org.apache.cassandra.cql3.QueryProcessor.executeInternal(QueryProcessor.java:445)
> at
> org.apache.cassandra.cql3.CQLTester.executeFormattedQuery(CQLTester.java:1597)
> at org.apache.cassandra.cql3.CQLTester.execute(CQLTester.java:1576)
> at
> org.apache.cassandra.cql3.validation.operations.CQLVectorTest.udf(CQLVectorTest.java:427)
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]