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

Sergey Nuyanzin updated FLINK-38692:
------------------------------------
    Description: 
In case of query with a number of {{OR}} operators it might be an issue
here it is an example of query which works ok, however it might be noticed 
already for that query that condition is exploading
{code:sql}
SELECT * FROM T WHERE (f1 < 1 AND TRIM(f2) = '' OR f1 < 3 AND TRY_CAST(TRIM(f2) 
AS INTEGER) > 1) OR (f1 > 0 AND f2 IS NOT NULL OR f1 > 10 AND TRIM(f2) <> '')
 UNION SELECT * FROM T WHERE (f1 < 1 AND TRIM(f2) = '' OR f1 < 3 AND 
TRY_CAST(TRIM(f2) AS INTEGER) > 1) OR (f1 > 0 AND f2 IS NOT NULL OR f1 > 10 AND 
TRIM(f2) <> '')
 INTERSECT SELECT * FROM T WHERE (f1 < 1 AND TRIM(f2) = '' OR f1 < 3 AND 
TRY_CAST(TRIM(f2) AS INTEGER) > 1) OR (f1 > 0 AND f2 IS NOT NULL OR f1 > 10 AND 
TRIM(f2) <> ''
{code}

should be executed in way like it is done at 
PushCalcPastChangelogNormalizeRuleTest.java

> CNF in ChangelogNormalizeRule might lead to OOM
> -----------------------------------------------
>
>                 Key: FLINK-38692
>                 URL: https://issues.apache.org/jira/browse/FLINK-38692
>             Project: Flink
>          Issue Type: Bug
>            Reporter: Sergey Nuyanzin
>            Assignee: Sergey Nuyanzin
>            Priority: Major
>
> In case of query with a number of {{OR}} operators it might be an issue
> here it is an example of query which works ok, however it might be noticed 
> already for that query that condition is exploading
> {code:sql}
> SELECT * FROM T WHERE (f1 < 1 AND TRIM(f2) = '' OR f1 < 3 AND 
> TRY_CAST(TRIM(f2) AS INTEGER) > 1) OR (f1 > 0 AND f2 IS NOT NULL OR f1 > 10 
> AND TRIM(f2) <> '')
>  UNION SELECT * FROM T WHERE (f1 < 1 AND TRIM(f2) = '' OR f1 < 3 AND 
> TRY_CAST(TRIM(f2) AS INTEGER) > 1) OR (f1 > 0 AND f2 IS NOT NULL OR f1 > 10 
> AND TRIM(f2) <> '')
>  INTERSECT SELECT * FROM T WHERE (f1 < 1 AND TRIM(f2) = '' OR f1 < 3 AND 
> TRY_CAST(TRIM(f2) AS INTEGER) > 1) OR (f1 > 0 AND f2 IS NOT NULL OR f1 > 10 
> AND TRIM(f2) <> ''
> {code}
> should be executed in way like it is done at 
> PushCalcPastChangelogNormalizeRuleTest.java



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

Reply via email to