Details
-
Bug
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
None
-
Normal
Description
We are unable to create a function with an argument of type inet using 3.0.
This works in 2.2, but fails in 3.0
CREATE OR REPLACE FUNCTION test.f2 (p1 inet) CALLED ON NULL INPUT RETURNS int LANGUAGE java AS 'return 2;';
From cqlsh:
05:14 PM:~/projects/cassandra-3.0$ ./bin/cqlsh Connected to Test Cluster at 127.0.0.1:9042. [cqlsh 5.0.1 | Cassandra 3.0.0-SNAPSHOT | CQL spec 3.3.1 | Native protocol v4] Use HELP for help. cqlsh> CREATE OR REPLACE FUNCTION test.f2 (p1 inet) ... CALLED ON NULL INPUT RETURNS int LANGUAGE java AS 'return 2;'; InvalidRequest: code=2200 [Invalid query] message="Could not compile function 'test.f2' from Java source: org.apache.cassandra.exceptions.InvalidRequestException: Java source compilation failed: GENERATED SOURCE ERROR: line 20 (in generated source): java.net.InetAddress cannot be resolved to a type GENERATED SOURCE ERROR: line 25 (in generated source): java.net.InetAddress cannot be resolved to a type generated source: package org.apache.cassandra.cql3.udf.gen.ptest2ef2_4746343_7; import java.nio.ByteBuffer; import java.util.List; import org.apache.cassandra.cql3.functions.JavaUDF; import com.datastax.driver.core.DataType; public final class Ctest2ef2_12216880_8 extends JavaUDF { public Ctest2ef2_12216880_8(DataType returnDataType, DataType[] argDataTypes) { super(returnDataType, argDataTypes); } protected ByteBuffer executeImpl(int protocolVersion, List<ByteBuffer> params) { Integer result = xtest2ef2_16165915_9( (java.net.InetAddress) super.compose(protocolVersion, 0, params.get(0)) ); return super.decompose(protocolVersion, result); } private Integer xtest2ef2_16165915_9(java.net.InetAddress p1) { return 2; } } "