[ 
https://issues.apache.org/jira/browse/CALCITE-4675?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stamatis Zampetakis resolved CALCITE-4675.
------------------------------------------
    Resolution: Fixed

Fixed in 
[4066a34b12d1619c1dcb9199988f758a6fc08082|https://github.com/apache/calcite/commit/4066a34b12d1619c1dcb9199988f758a6fc08082].
 Thanks for the reviews [~rubenql], [~nobigo]!

> Error executing query with SUM and multiplication via JdbcAdapter
> -----------------------------------------------------------------
>
>                 Key: CALCITE-4675
>                 URL: https://issues.apache.org/jira/browse/CALCITE-4675
>             Project: Calcite
>          Issue Type: Bug
>    Affects Versions: 1.27.0
>            Reporter: Stamatis Zampetakis
>            Assignee: Stamatis Zampetakis
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.28.0
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> {code:sql}
> SELECT s."customer_id", sum(s."store_sales" * s."store_cost")
> FROM "sales_fact_1997" AS s
> JOIN "customer" AS c ON s."customer_id" = c."customer_id"
> GROUP BY s."customer_id"
> {code}
> The query above using a custom ruleset and the standard JdbcRules generates 
> the following SQL (e.g., RedShift dialect):
> {code:sql}
> SELECT "t"."customer_id", SUM("t"."*")
> FROM
>   (SELECT "customer_id", "store_sales" * "store_cost" AS "*"
>    FROM "foodmart"."sales_fact_1997") AS "t"
> INNER JOIN
>   (SELECT "customer_id"
>    FROM "foodmart"."customer") AS "t0" ON "t"."customer_id" = 
> "t0"."customer_id"
> GROUP BY "t"."customer_id"
> {code}
> and raises exceptions when executed over some DBMS which cannot handle STAR 
> symbol (\*) properly. 
> In RedShift, the query above will raise the following error:
> {noformat}
> Caused by: com.amazon.redshift.util.RedshiftException: ERROR: function 
> sum(record) does not exist
>   Hint: No function matches the given name and argument types. You may need 
> to add explicit type casts.
>         at 
> com.amazon.redshift.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2579)
>         at 
> com.amazon.redshift.core.v3.QueryExecutorImpl.processResultsOnThread(QueryExecutorImpl.java:2253)
>         at 
> com.amazon.redshift.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1880)
>         at 
> com.amazon.redshift.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1872)
>         at 
> com.amazon.redshift.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:368)
>         at 
> com.amazon.redshift.jdbc.RedshiftStatementImpl.executeInternal(RedshiftStatementImpl.java:514)
>         at 
> com.amazon.redshift.jdbc.RedshiftStatementImpl.execute(RedshiftStatementImpl.java:435)
>         at 
> com.amazon.redshift.jdbc.RedshiftPreparedStatement.executeWithFlags(RedshiftPreparedStatement.java:200)
>         at 
> com.amazon.redshift.jdbc.RedshiftPreparedStatement.executeQuery(RedshiftPreparedStatement.java:115)
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to