[
https://issues.apache.org/jira/browse/CALCITE-5135?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17540417#comment-17540417
]
Mitsunori Komatsu commented on CALCITE-5135:
--------------------------------------------
[~julianhyde] This problem doesn't happen with Babel parser. But Babel parser
has the issue https://issues.apache.org/jira/browse/CALCITE-5143 it fails to
parse "SELECT DATEADD(S, 0, NOW())". (It's a bit confusing I originally created
CALCITE-5143 for a different problem, though.) So once CALCITE-5143 is fixed, I
can move to Babel from core parser.
> Planner#parse can't parse DAY() function
> ----------------------------------------
>
> Key: CALCITE-5135
> URL: https://issues.apache.org/jira/browse/CALCITE-5135
> Project: Calcite
> Issue Type: Bug
> Components: core
> Affects Versions: 1.30.0
> Reporter: Mitsunori Komatsu
> Assignee: Jiajun Xie
> Priority: Major
> Labels: pull-request-available
> Time Spent: 20m
> Remaining Estimate: 0h
>
> Hi team,
> I might be missing something, but `Planner#parse` can't parse `DAY()`
> function while it can parse other YEAR(), MONTH(), HOUR() and so on.
>
> {code:java}
> import org.apache.calcite.sql.parser.SqlParseException;
> import org.apache.calcite.sql.validate.SqlValidator;
> import org.apache.calcite.tools.FrameworkConfig;
> import org.apache.calcite.tools.Frameworks;
> import org.apache.calcite.tools.Planner;
> public class Main {
> public static void main(String[] args) throws SqlParseException {
> FrameworkConfig config = Frameworks.newConfigBuilder().build();
> {
> Planner planner = Frameworks.getPlanner(config);
> System.out.println(planner.parse("select months(t) from tbl"));
> }
> {
> Planner planner = Frameworks.getPlanner(config);
> System.out.println(planner.parse("select month(t) from tbl"));
> }
> {
> Planner planner = Frameworks.getPlanner(config);
> System.out.println(planner.parse("select hours(t) from tbl"));
> }
> {
> Planner planner = Frameworks.getPlanner(config);
> System.out.println(planner.parse("select hour(t) from tbl"));
> }
> {
> Planner planner = Frameworks.getPlanner(config);
> System.out.println(planner.parse("select days(t) from tbl"));
> }
> {
> Planner planner = Frameworks.getPlanner(config);
> // This throws `org.apache.calcite.sql.parser.SqlParseException:
> Encountered "day" ...`
> System.out.println(planner.parse("select day(t) from tbl"));
> }
> }
> }
> {code}
> Is this a bug? Is there any way to parse DAY() function? Thanks.
--
This message was sent by Atlassian Jira
(v8.20.7#820007)