[ https://issues.apache.org/jira/browse/IGNITE-10307?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vladimir Ozerov reassigned IGNITE-10307: ---------------------------------------- Assignee: Vladimir Ozerov > SQL: Extract partition info from JOINs > -------------------------------------- > > Key: IGNITE-10307 > URL: https://issues.apache.org/jira/browse/IGNITE-10307 > Project: Ignite > Issue Type: Task > Components: sql > Reporter: Vladimir Ozerov > Assignee: Vladimir Ozerov > Priority: Major > Labels: iep-24 > Fix For: 2.8 > > > Currently we do not extract partitions when JOINs are involved. Let's > implement it. We may start with relatively simple rules: > # No subqueries > # No GROUP BY > Then walk through JOINed tables and extract partitions from AND clauses. > There are some tricky things to consider: > # Resulting model (tree) must be craefted carefully so that we can reuse it > later in thin clients for efficient co-location. > # Resulting model may affect how we group tables during push-down phase. > Probably this would be huuuge thing, so may be it is better to implement it > in separate ticket > # When JOIN is performed partition info might be "transferred" between > tables. E.g.: > {code} > a INNER JOIN b ON a.id = b.affinity_id WHERE a.id = :1 > {code} > In this case if tables are co-located (we may infer it automatically in some > cases), then {{a.id=:1}} partition rule can be "transferred" to > {{b.affinity_id=:1}}. > Very good test coverage would be needed here. -- This message was sent by Atlassian JIRA (v7.6.3#76005)