Konstantin Orlov created IGNITE-24210: -----------------------------------------
Summary: Sql. Add support for disjunctive predicates in IgniteMultiJoinOptimizeBushyRule Key: IGNITE-24210 URL: https://issues.apache.org/jira/browse/IGNITE-24210 Project: Ignite Issue Type: Bug Components: sql Reporter: Konstantin Orlov The \{{IgniteMultiJoinOptimizeBushyRule}} introduced in IGNITE-24167 excludes disjunctive predicates from consideration. The main reason is to get better plan for query #7 from TPC-H suite. The cause of the problem resulting in a worse plan – underestimation of a result set returned by join node. Algorithm introduced in IGNITE-24167 takes an advantage of row count estimation improved in IGNITE-23968. But the latter lacks a handling of correlation in big join tries. For instance, in case of join {{{}a JOIN (b JOIN c ON (b.foo = 1 AND c.foo = 2 OR b.foo = 2 AND c.foo = 1)) ON a.bar = b.bar{}}}, percentage used for computing final result set must be similar to percentage of relation `b`, instead of `percentage(b) * percentage(c)`. We need to find better approach to handle such case. -- This message was sent by Atlassian Jira (v8.20.10#820010)