sschulzdialpad opened a new issue, #12187: URL: https://github.com/apache/pinot/issues/12187
Hi folks, it appears like the Multi-Stage Engine on Apache Pinot 1.0.0 is enforcing a different ruleset for valid patterns for the FROMDATETIME function when applied as a filter. ``` WHERE BETWEEN(date_created, FROMDATETIME('2022-11-20T00:00:00 UTC','YYYY-MM-dd''''T''''HH:mm:ss ZZZ'), FROMDATETIME('2022-11-30T00:00:00 UTC','YYYY-MM-dd''''T''''HH:mm:ss ZZZ')) ``` Results in: ``` Caused by: org.apache.pinot.sql.parsers.SqlCompilationException: Caught exception while invoking method: public static long org.apache.pinot.common.function.scalar.DateTimeFunctions.fromDateTime(java.lang.String,java.lang.String) with arguments: [2022-11-20T00:00:00 UTC, YYYY-MM-dd''T''HH:mm:ss ZZZ] at org.apache.calcite.rel.rules.PinotEvaluateLiteralRule.evaluateLiteralOnlyFunction(PinotEvaluateLiteralRule.java:164) at org.apache.calcite.rel.rules.PinotEvaluateLiteralRule$EvaluateLiteralShuttle.visitCall(PinotEvaluateLiteralRule.java:131) at org.apache.calcite.rel.rules.PinotEvaluateLiteralRule$EvaluateLiteralShuttle.visitCall(PinotEvaluateLiteralRule.java:119) at org.apache.calcite.rex.RexCall.accept(RexCall.java:189) ... Caused by: java.lang.IllegalStateException: Caught exception while invoking method: public static long org.apache.pinot.common.function.scalar.DateTimeFunctions.fromDateTime(java.lang.String,java.lang.String) with arguments: [2022-11-20T00:00:00 UTC, YYYY-MM-dd''T''HH:mm:ss ZZZ] at org.apache.pinot.common.function.FunctionInvoker.invoke(FunctionInvoker.java:142) at org.apache.calcite.rel.rules.PinotEvaluateLiteralRule.evaluateLiteralOnlyFunction(PinotEvaluateLiteralRule.java:161) ... 63 more Caused by: java.lang.reflect.InvocationTargetException at jdk.internal.reflect.GeneratedMethodAccessor177.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.apache.pinot.common.function.FunctionInvoker.invoke(FunctionInvoker.java:139) ... Caused by: java.lang.IllegalArgumentException: Illegal pattern component: T at org.joda.time.format.DateTimeFormat.parsePatternTo(DateTimeFormat.java:566) at org.joda.time.format.DateTimeFormat.createFormatterForPattern(DateTimeFormat.java:687) at org.joda.time.format.DateTimeFormat.forPattern(DateTimeFormat.java:177) at org.apache.pinot.common.function.DateTimePatternHandler.getDateTimeFormatter(DateTimePatternHandler.java:68)) ``` whereas the same query works when using the non Multi-Stage query engine. Background on the date_created column: ``` { "name": "date_created", "dataType": "LONG", "format": "1:MILLISECONDS:EPOCH", "granularity": "1:HOURS" } ``` and it is also used as a timeColumnName on segmentsConfig. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For additional commands, e-mail: commits-h...@pinot.apache.org