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 2019/08/04 04:18:00 UTC
[jira] [Resolved] (CALCITE-3218) Syntax error while parsing DATEADD
function (which is valid on Redshift)
[ https://issues.apache.org/jira/browse/CALCITE-3218?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Julian Hyde resolved CALCITE-3218.
----------------------------------
Resolution: Fixed
Fixed in [22817fb|https://github.com/apache/calcite/commit/22817fb34ab0921e6ab6567a9c65819ebd11b9c5]; thanks for the PR, [~lindseycat]!
> Syntax error while parsing DATEADD function (which is valid on Redshift)
> ------------------------------------------------------------------------
>
> Key: CALCITE-3218
> URL: https://issues.apache.org/jira/browse/CALCITE-3218
> Project: Calcite
> Issue Type: Bug
> Reporter: Lindsey Meyer
> Assignee: Julian Hyde
> Priority: Major
> Labels: pull-request-available
> Fix For: 1.21.0
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> Syntax error while parsing the {{DATEADD}} function:
> {code:java}
> SELECT
> DATE(CONVERT_TIMEZONE('UTC', 'America/Los_Angeles', events.event_date )) AS "events.event_date",
> COALESCE(SUM(events.daily_user_count ), 0) AS "events.daily_active_users",
> COALESCE(SUM(events.monthly_user_count ), 0) AS "events.monthly_active_users"
> FROM public.events_proto AS events
> WHERE
> (((events.event_date ) >= ((CONVERT_TIMEZONE('America/Los_Angeles', 'UTC', DATEADD(day,-364, DATE_TRUNC('day',CONVERT_TIMEZONE('UTC', 'America/Los_Angeles', GETDATE())) )))) AND (events.event_date ) < ((CONVERT_TIMEZONE('America/Los_Angeles', 'UTC', DATEADD(day,365, DATEADD(day,-364, DATE_TRUNC('day',CONVERT_TIMEZONE('UTC', 'America/Los_Angeles', GETDATE())) ) ))))))
> GROUP BY 1
> HAVING
> NOT (COALESCE(SUM(events.monthly_user_count ), 0) = 0)
> ORDER BY 1 DESC
> LIMIT 500{code}
> throwsÂ
> {noformat}
> `Column 'year' not found in any table`
> `DATEADD(year,1,...`
> {noformat}
> This query is valid on Redshift. Redshift's parser understands that the first argument ({{DAY}}) is intended to be a time unit, not an identifier.
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)