[ 
https://issues.apache.org/jira/browse/FLINK-32899?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Krutik updated FLINK-32899:
---------------------------
    Summary: Can not access inner/nested objects in MATCH_RECOGNIZE DEFINE 
clause and in Aggregate function  (was: Can not access inner/nested objects in 
MATCH_RECOGNIZE DFINE clause and in Aggregate function)

> Can not access inner/nested objects in MATCH_RECOGNIZE DEFINE clause and in 
> Aggregate function
> ----------------------------------------------------------------------------------------------
>
>                 Key: FLINK-32899
>                 URL: https://issues.apache.org/jira/browse/FLINK-32899
>             Project: Flink
>          Issue Type: Bug
>          Components: Library / CEP
>    Affects Versions: 1.17.1
>         Environment: Implemented everything in java maven project on a 
> Windows 11
>            Reporter: Krutik
>            Priority: Major
>
> Note: we are implementing everything in java.
> example event
>  
>  
> {code:java}
> {
>   "config": "conf1",
>   "id": 1,
>   "action": "login",
>   "size": 10,
>   "message": {
>     "action": "login",
>     "size": 10,
>     "event": {
>        "action": "login", "size": 10,
>        "event": {
>     }
>   }
> }{code}
> we are tried to run query, it does not works and gives bellow exception
> {code:java}
> SELECT * FROM Log
> MATCH_RECOGNIZE (
>   PARTITION BY config
>   ORDER BY time_ltz
>   MEASURES
>     A.id AS aID,
>     COUNT(B.id) AS cnt
>   AFTER MATCH SKIP PAST LAST ROW
>   PATTERN (A B+ C)
>   DEFINE
>     A AS A.message.event.action = 'login'
>     B AS B.message.event.action = 'data' AND SUM(B.message.event.size) >= 20"
> );{code}
>  
> {code:java}
> Exception in thread "main" org.apache.flink.table.api.ValidationException: 
> SQL validation failed. From line 11, column 22 to line 11, column 26: Table 
> 'event' not found
>     at 
> org.apache.flink.table.planner.calcite.FlinkPlannerImpl.org$apache$flink$table$planner$calcite$FlinkPlannerImpl$$validate(FlinkPlannerImpl.scala:187)
>     at 
> org.apache.flink.table.planner.calcite.FlinkPlannerImpl.validate(FlinkPlannerImpl.scala:113)
>     at 
> org.apache.flink.table.planner.operations.SqlToOperationConverter.convert(SqlToOperationConverter.java:281)
>     at 
> org.apache.flink.table.planner.delegation.ParserImpl.parse(ParserImpl.java:106)
>     at 
> org.apache.flink.table.api.internal.TableEnvironmentImpl.sqlQuery(TableEnvironmentImpl.java:738)
>     at org.abs.security.StaticRuleEvaluator.main(StaticRuleEvaluator.java:151)
> Caused by: org.apache.calcite.runtime.CalciteContextException: From line 11, 
> column 22 to line 11, column 26: Table 'event' not found
>     at 
> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>  Method)
>     at 
> java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>     at 
> java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>     at 
> java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
>     at 
> org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:505)
>     at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:932)
>     at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:917)
>     at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:5163)
>     at 
> org.apache.calcite.sql.validate.DelegatingScope.fullyQualify(DelegatingScope.java:344)
>   {code}
> The problem here is that if I try to run the same query replacing 
> *A.message.event.action* with *A.message.action* without Aggregate function 
> it works with Aggregate function it does not works and if I replace 
> *A.message.event.action* with *A.action* with Aggregate function it works 
> fine.
>  
> without Aggregate function:
>  * A.action (/)
>  * A.message.action(/)
>  * A.message.event.action (x)
> with Aggregate function:
>  * A.action (/)
>  * A.message.action (x)
>  * A.message.event.action (x)
>  
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to