You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Julian Hyde (Jira)" <ji...@apache.org> on 2022/06/02 22:58:00 UTC

[jira] [Created] (CALCITE-5178) Scalar subquery in scalar subquery generates plan that will not compile

Julian Hyde created CALCITE-5178:
------------------------------------

             Summary: Scalar subquery in scalar subquery generates plan that will not compile
                 Key: CALCITE-5178
                 URL: https://issues.apache.org/jira/browse/CALCITE-5178
             Project: Calcite
          Issue Type: Bug
            Reporter: Julian Hyde


Scalar subquery in scalar subquery generates plan that will not compile. Example:
{code:java}
> select (select (1, 2));
Error: Error while executing SQL "select (select (1, 2))": Error while compiling generated Java code:
  ...

  public static class Record2_3 implements java.io.Serializable {
    public boolean f0;
    public Object[] f1;
    ...
  }

    java.util.List accumulatorAdders = new java.util.LinkedList();
    accumulatorAdders.add(new org.apache.calcite.linq4j.function.Function2() {
                            public Record2_3 apply(Record2_3 acc, Record2_1 in) {
                              if (acc.f0) {
                                throw new IllegalStateException(
                                    "more than one value in agg SINGLE_VALUE");
                              }
                              acc.f0 = true;
                              acc.f1 = in;
                              return acc;
                            }
                            public Record2_3 apply(Object acc, Object in) {
                              return apply(
                                  (Record2_3) acc,
                                  (Record2_1) in);
                            }
                          }
    );
    ...
{code}

Note the line {{acc.f1 = in;}} is attempting to assign a {{Record2_1}} value to a {{Object[]}} field.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)