ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (IGNITE-10307) SQL: Extract partition info from JOINs
Date Sat, 29 Dec 2018 13:10:00 GMT

    [ https://issues.apache.org/jira/browse/IGNITE-10307?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16730683#comment-16730683
] 

ASF GitHub Bot commented on IGNITE-10307:
-----------------------------------------

GitHub user devozerov opened a pull request:

    https://github.com/apache/ignite/pull/5774

    IGNITE-10307

    

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/gridgain/apache-ignite ignite-10307

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/ignite/pull/5774.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #5774
    
----
commit 967a4b3d5237ebd1e3d72af497a7d8e8bb8cb129
Author: devozerov <vozerov@...>
Date:   2018-12-10T12:25:27Z

    Experimenting.

commit 1420cf54e81b6450b7fa5929d96f75093b9652e9
Author: devozerov <vozerov@...>
Date:   2018-12-11T12:18:51Z

    Initial modelling.

commit bffb5888ec7cf99d52b0319cd887b4d03ccafde8
Author: devozerov <vozerov@...>
Date:   2018-12-11T13:36:44Z

    WIP.

commit 6d51a1813539f5a030ae97f1340e363ecf944ba9
Author: devozerov <vozerov@...>
Date:   2018-12-11T13:37:16Z

    Merge branch 'master' into prune-joins

commit a510d5efdb1a87014359ed71d72300b7d01c6781
Author: devozerov <vozerov@...>
Date:   2018-12-11T13:39:45Z

    Merge branch 'query-rewrite' into prune-joins

commit 0b016d2054364d0fc254fbe6f9390851339610bc
Author: devozerov <vozerov@...>
Date:   2018-12-11T15:03:10Z

    WIP.

commit dfcf0fccccff4c8e1818203cddf124d9a3fd04f4
Author: devozerov <vozerov@...>
Date:   2018-12-12T09:50:59Z

    Merge branch 'master' into ignite-10307

commit ddb32af91b3eb9dfa9b3d1e12f270c7f2313d98a
Author: devozerov <vozerov@...>
Date:   2018-12-12T13:09:21Z

    Merge branch 'master' into ignite-10307

commit e4f769a4f43da05123ca6ad1ca003a64dbb10ace
Author: devozerov <vozerov@...>
Date:   2018-12-18T08:11:21Z

    Merge branch 'master' into ignite-10307
    
    # Conflicts:
    #	modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/affinity/PartitionExtractor.java

commit e78ed0c5ce24220874bed476d5613da1057f077f
Author: devozerov <vozerov@...>
Date:   2018-12-18T08:12:12Z

    Merged with master.

commit 456f3440ab3de251ff912533f6c3f1734d392b64
Author: devozerov <vozerov@...>
Date:   2018-12-18T09:06:46Z

    Implemented strict and non-strict partition extraction logic.

commit ca318d4e6f28fa121705fc8289e263a3a5ac2472
Author: devozerov <vozerov@...>
Date:   2018-12-18T09:16:33Z

    Affinity column name resolution for model.

commit 2fa20fb1c876ecfaf6059ffd292a912db5c69b71
Author: devozerov <vozerov@...>
Date:   2018-12-18T10:30:17Z

    Affinity descriptor.

commit e1ccb5af84f938f9f609724a7c7131f0a2f24e77
Author: devozerov <vozerov@...>
Date:   2018-12-18T12:02:29Z

    Join model for single table.

commit 0945c74fe71bea5cefb8678fce1ee2b59c575250
Author: devozerov <vozerov@...>
Date:   2018-12-18T12:39:40Z

    WIP.

commit 6b630f25bda2a1e1c6317a65a73d3666d7d15476
Author: devozerov <vozerov@...>
Date:   2018-12-18T14:55:26Z

    WIP.

commit 5a2c38b69e832ebf4175a36c6b7c5af9d97c5ddf
Author: devozerov <vozerov@...>
Date:   2018-12-20T05:00:52Z

    Merge branch 'master' into ignite-10307

commit babf609f0c2f0205fca83a0abe79dc2385b30782
Author: devozerov <vozerov@...>
Date:   2018-12-20T05:26:07Z

    Table model class.

commit 608ae1b6f75cae8ed8402c6e0c1755d3b3abf573
Author: devozerov <vozerov@...>
Date:   2018-12-20T06:03:04Z

    Preparing table model.

commit 6e40856de0dd4124b6b6a04395df901ebaa96fba
Author: devozerov <vozerov@...>
Date:   2018-12-20T09:06:46Z

    WIP.

commit 04a5f5eaabda51ba53f6495090709a945b532a33
Author: devozerov <vozerov@...>
Date:   2018-12-20T09:08:26Z

    WIP.

commit 276b4afd153307a7940ef4947fd7eb0aa2ed1914
Author: devozerov <vozerov@...>
Date:   2018-12-20T16:31:37Z

    Recursive disjunction.

commit 0172b894dd6e16b66fce1ea74149a4b4a35b57e5
Author: devozerov <vozerov@...>
Date:   2018-12-20T16:36:37Z

    Pass table model recursively.

commit 7a4ce2b9b21c6fafd40eac1805ee39cca8f3d5b3
Author: devozerov <vozerov@...>
Date:   2018-12-20T16:44:52Z

    Add join conditions to the model.

commit 24ea3232c44cf6f733fd8e9574203028b0400c32
Author: devozerov <vozerov@...>
Date:   2018-12-20T17:47:40Z

    Added join groups to nodes.

commit 9f489363aad5118bdcc53cbae924fba27f300139
Author: devozerov <vozerov@...>
Date:   2018-12-20T17:50:03Z

    Minors.

commit c5b7a5c8ee2ec7c637e9d929f70e07c260f70c72
Author: devozerov <vozerov@...>
Date:   2018-12-20T18:02:28Z

    Group processing.

commit 3571bdb03f4492f762f32fd26298976f4f2b8a89
Author: devozerov <vozerov@...>
Date:   2018-12-20T18:10:43Z

    Removed table descriptor.

commit afff3fdfdf95687f243d3984a3d0df85906b2350
Author: devozerov <vozerov@...>
Date:   2018-12-20T18:11:34Z

    Removing unnecessary code.

commit bb2287dd5a0c4e0adbd1838470759572015a6e57
Author: devozerov <vozerov@...>
Date:   2018-12-20T18:14:06Z

    Removing unnecessary code (PartitionResult).

----


> 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)

Mime
View raw message