Re: Partition-wise join for join between (declaratively) partitioned tables
Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>
Attachments
- pg_dp_join_patches_v34.tar.gz (application/x-gzip)
On Thu, Sep 21, 2017 at 9:12 AM, Robert Haas <robertmhaas@gmail.com> wrote: > On Tue, Sep 19, 2017 at 5:47 AM, Ashutosh Bapat > <ashutosh.bapat@enterprisedb.com> wrote: >> Done. > > Committed 0001 with extensive editorialization. I did not think it > was a good idea to include a partition.h a file in src/include/nodes, > so I worked around that. The include of pg_inherits_fn.h was > unneeded. I rewrote a lot of the comments and made some other style > tweaks. Thanks a lot Robert. Thanks for changing comments to be more precise and crisp. Here's set of rebased patches. The patch with extra tests is not for committing. All other patches, except the last one, will need to be committed together. The last patch may be committed along with other patches or as a separate patch. About your earlier comment of making build_joinrel_partition_info() simpler. Right now, the code assumes that partexprs or nullable_partexpr can be NULL when either of them is not populated. That may be saves a sizeof(pointer) * (number of keys) byes of memory. Saving that much memory may not be worth the complexity of code. So, we may always allocate memory for those arrays and fill it with NIL values when there are no key expressions to populate those. That will simplify the code. I haven't done that change in this patchset. I was busy debugging the Q7 regression. Let me know your comments about that. -- Best Wishes, Ashutosh Bapat EnterpriseDB Corporation The Postgres Database Company
Commits
-
Add test for partitionwise join involving default partition.
- 4513d3a4be0b 12.0 landed
-
Rewrite the code that applies scan/join targets to paths.
- 11cf92f6e2e1 11.0 cited
-
Fix code related to partitioning schemes for dropped columns.
- cf7ab13bfb45 11.0 landed
-
Copy information from the relcache instead of pointing to it.
- 45866c75507f 11.0 landed
-
Basic partition-wise join functionality.
- f49842d1ee31 11.0 landed
-
Associate partitioning information with each RelOptInfo.
- 9140cf8269b0 11.0 landed
-
Expand partitioned table RTEs level by level, without flattening.
- 0a480502b092 11.0 landed
-
Set partitioned_rels appropriately when UNION ALL is used.
- 448aa36e8b96 10.0 landed
- 1555566d9ee1 11.0 landed
-
Remove dedicated B-tree root-split record types.
- 0c504a80cf2e 11.0 cited
-
Assorted preparatory refactoring for partition-wise join.
- e139f1953f29 11.0 cited
-
Teach adjust_appendrel_attrs(_multilevel) to do multiple translations.
- 480f1f4329f1 11.0 cited
-
Avoid unnecessary single-child Append nodes.
- d57929afc706 11.0 cited
-
Revisit handling of UNION ALL subqueries with non-Var output columns.
- dd4134ea56cb 9.2.0 cited