Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-10741

Unable to create a function with argument of type Inet

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Normal
    • Resolution: Fixed
    • 3.0.1, 3.1
    • Legacy/CQL
    • 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;
          }
      }
      "
      

      Attachments

        Activity

          People

            snazy Robert Stupp
            djatnieks dan jatnieks
            Robert Stupp
            T Jake Luciani
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: