Re: [HACKERS] advanced partition matching algorithm for partition-wise join
Dmitry Dolgov <9erthalion6@gmail.com>
From: Dmitry Dolgov <9erthalion6@gmail.com>
To: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>,
Antonin Houska <ah@cybertec.at>, Robert Haas <robertmhaas@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Cc: ashutosh.bapat.oss@gmail.com
Date: 2018-11-25T20:04:29Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Suppress unused-variable warning.
- 401418ca6a68 13.0 landed
-
Allow partitionwise joins in more cases.
- c8434d64ce03 13.0 landed
-
Avoid crash in partitionwise join planning under GEQO.
- 7ad6498fd5a6 12.0 cited
- d70c147fa217 11.3 cited
-
Disable support for partitionwise joins in problematic cases.
- 7cfdc77023ad 12.0 cited
-
Add plan_cache_mode setting
- f7cb2842bf47 12.0 cited
-
Add test for partitionwise join involving default partition.
- 4513d3a4be0b 12.0 cited
-
Revise API for partition_rbound_cmp/partition_rbound_datum_cmp.
- b0229235564f 11.0 landed
Attachments
- 0001-Hash-partition-bound-equality-refactoring-v13.patch (application/octet-stream) patch v13-0001
- 0002-Targetlist-of-a-child-join-is-produced-by-translating-v13.patch (application/octet-stream) patch v13-0002
- 0003-Partition-wise-join-for-1-1-1-0-0-1-partition-matching-v13.patch (application/octet-stream) patch v13-0003
- 0004-Tests-for-0-1-1-1-and-1-0-partition-matching-v13.patch (application/octet-stream) patch v13-0004
> On Thu, Oct 25, 2018 at 11:19 PM Dmitry Dolgov <9erthalion6@gmail.com> wrote: > > Since most of my complaints about the patch were related to code readability, > I modified it a bit to show more clearly what I have in mind. I haven't changed > anything about the functionality, just adjusted some parts of it: > > * removed some unused arguments (looks like they were added for consistency in > all higher level branches, but not all of them were actually in use) > > * replaced representation for partition mapping (instead of int arrays there is > a structure, that allows to replace 0/1 with more meaningful from/to) > > * tried to make naming a bit more consistent - so, if a function doesn't > explicitely say anything about outer/inner, we have partmap1/partmap2, > otherwise outermap/innermap. I don't really like this style with > partmap1/partmap2 or index1/index2, but it seems consistent with the rest of > the code in partbounds.c > > * removed some state representation flags, e.g. merged - instead, if there is a > situation when we can't merge, functions will return NULL right away > > * removed questionable debugging statement I've noticed, that this patch set is outdated, so here is the rebased version.