Uploaded image for project: 'Phoenix'
  1. Phoenix
  2. PHOENIX-2593

Ensure all built-ins have required constructors

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 4.7.0
    • None
    • None

    Description

      Here's how to repro:

      0: jdbc:phoenix:localhost> create table a1 (k varchar primary key, v varchar[]);
      No rows affected (2.722 seconds)
      0: jdbc:phoenix:localhost> select to_date(v[1]) from a1;
      java.lang.RuntimeException: java.lang.NoSuchMethodException: org.apache.phoenix.expression.function.ToDateFunction.<init>(java.util.List)
      	at org.apache.phoenix.expression.function.ScalarFunction.clone(ScalarFunction.java:44)
      	at org.apache.phoenix.expression.visitor.CloneExpressionVisitor.visitLeave(CloneExpressionVisitor.java:106)
      	at org.apache.phoenix.expression.visitor.ReplaceArrayFunctionExpressionVisitor.visitLeave(ReplaceArrayFunctionExpressionVisitor.java:44)
      	at org.apache.phoenix.expression.visitor.ReplaceArrayFunctionExpressionVisitor.visitLeave(ReplaceArrayFunctionExpressionVisitor.java:26)
      	at org.apache.phoenix.expression.function.ScalarFunction.accept(ScalarFunction.java:58)
      	at org.apache.phoenix.compile.ProjectionCompiler.compile(ProjectionCompiler.java:462)
      	at org.apache.phoenix.compile.QueryCompiler.compileSingleFlatQuery(QueryCompiler.java:545)
      	at org.apache.phoenix.compile.QueryCompiler.compileSingleQuery(QueryCompiler.java:495)
      	at org.apache.phoenix.compile.QueryCompiler.compileSelect(QueryCompiler.java:201)
      	at org.apache.phoenix.compile.QueryCompiler.compile(QueryCompiler.java:158)
      	at org.apache.phoenix.jdbc.PhoenixStatement$ExecutableSelectStatement.compilePlan(PhoenixStatement.java:399)
      	at org.apache.phoenix.jdbc.PhoenixStatement$ExecutableSelectStatement.compilePlan(PhoenixStatement.java:373)
      	at org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:266)
      	at org.apache.phoenix.jdbc.PhoenixStatement$1.call(PhoenixStatement.java:261)
      	at org.apache.phoenix.call.CallRunner.run(CallRunner.java:53)
      	at org.apache.phoenix.jdbc.PhoenixStatement.executeQuery(PhoenixStatement.java:260)
      	at org.apache.phoenix.jdbc.PhoenixStatement.execute(PhoenixStatement.java:1349)
      	at sqlline.Commands.execute(Commands.java:822)
      	at sqlline.Commands.sql(Commands.java:732)
      	at sqlline.SqlLine.dispatch(SqlLine.java:808)
      	at sqlline.SqlLine.begin(SqlLine.java:681)
      	at sqlline.SqlLine.start(SqlLine.java:398)
      	at sqlline.SqlLine.main(SqlLine.java:292)
      Caused by: java.lang.NoSuchMethodException: org.apache.phoenix.expression.function.ToDateFunction.<init>(java.util.List)
      	at java.lang.Class.getConstructor0(Class.java:2892)
      	at java.lang.Class.getConstructor(Class.java:1723)
      	at org.apache.phoenix.expression.function.ScalarFunction.clone(ScalarFunction.java:42)
      	... 22 more
      

      Attachments

        1. PHOENIX-2593_unit_test.patch
          2 kB
          Dumindu Buddhika
        2. PHOENIX-2593.patch
          3 kB
          Dumindu Buddhika
        3. PHOENIX-2593-v2.patch
          17 kB
          Dumindu Buddhika
        4. PHOENIX-2593-v3.patch
          10 kB
          Dumindu Buddhika

        Issue Links

          Activity

            People

              Dumindux Dumindu Buddhika
              jamestaylor James R. Taylor
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: