Tanner,

I made a comment in the Jira case that I hoped that TIMESTAMP_ADD would map 
onto the TIMESTAMPADD function (basically just be a synonym for it) as the 
DATEADD function already does. TIMESTAMPADD already handles custom time frames 
[1]. Did you try that strategy?

It’s a bit confusing that Calcite’s existing TIMESTAMPADD function maps to the 
field TIMESTAMP_ADD (with an underscore) in SqlStdOperatorTable. But I think 
it’s unavoidable.

Julian

[1] 
https://github.com/apache/calcite/blob/dc56fcc912261a09021a74f13de35b426f3d0d8b/core/src/main/java/org/apache/calcite/sql/fun/SqlTimestampAddFunction.java#L116


> On Nov 21, 2022, at 9:19 AM, Tanner Clary <[email protected]> 
> wrote:
> 
> Hello,
> 
> Apologies if this is not the correct medium for this question, I am a new
> contributor to Calcite. I am currently working on
> https://issues.apache.org/jira/browse/CALCITE-5360 and am running into some
> issues getting the function to accept time units outside of second, minute,
> hour, day, month, and year. I believe this is due to the way the call is
> parsed, as the newly implemented TimeUnitOrName() which covers a wider
> array of time units including custom timeframes, is not invoked in the
> generic function call. One solution I was attempting involved creating a
> custom function call for BQ's timestamp_add that did utilize the
> TimeUnitOrName() but I was thinking there may be a better solution
> (potentially modifying the generic function call) in case this issue arises
> in the future for other function implementations. I suppose my question is
> asking if there are any glaring issues with either of these approaches or
> if there is another better alternative. Apologies again if this is the
> wrong forum. Thank you!
> 
> Best,
> Tanner Clary

Reply via email to