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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]