Re: Partition-wise join for join between (declaratively) partitioned tables
Robert Haas <robertmhaas@gmail.com>
On Mon, Jul 31, 2017 at 9:07 AM, Ashutosh Bapat <ashutosh.bapat@enterprisedb.com> wrote: > Forgot the patch set. Here it is. The commit message for 0005 isn't really accurate given that it follows 0004. I think you could just flatten 0005 and 0006 into one patch. Reviewing those together: - Existing code does partdesc = RelationGetPartitionDesc(relation) but this has got it as part_desc. Seems better to be consistent. Likewise existing variables for PartitionKey are key or partkey, not part_key. - get_relation_partition_info has a useless trailing return. - Instead of adding nparts, boundinfo, and part_oids to RelOptInfo, how about just adding partdesc? Seems cleaner. - pkexprs seems like a potentially confusing name, since PK is widely used to mean "primary key" but here you mean "partition key". Maybe partkeyexprs. - build_simple_rel's matching algorithm is O(n^2). We may have talked about this problem before... - This patch introduces some bits that are not yet used, like nullable_pkexprs, or even the code to set the partition scheme for joinrels. I think perhaps some of that logic should be moved from 0008 to here - e.g. the initial portion of build_joinrel_partition_info. There may be more, but I've run out of energy for tonight. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
Commits
-
Basic partition-wise join functionality.
- f49842d1ee31 11.0 landed
-
Assorted preparatory refactoring for partition-wise join.
- e139f1953f29 11.0 landed
-
Teach adjust_appendrel_attrs(_multilevel) to do multiple translations.
- 480f1f4329f1 11.0 landed
-
Stamp 10beta2.
- 42171e2cd23c 10.0 cited
-
Eat XIDs more efficiently in recovery TAP test.
- 08aed6604de2 10.0 cited
-
Abstract logic to allow for multiple kinds of child rels.
- 7a39b5e4d112 10.0 landed
-
Implement SortSupport for macaddr data type
- f90d23d0c518 10.0 cited
-
Attempt to stabilize grouping sets regression test plans.
- de4da168d57d 10.0 cited
-
Teach xlogreader to follow timeline switches
- 1148e22a82ed 10.0 cited
-
Don't scan partitioned tables.
- d3cc37f1d801 10.0 cited
-
Fix grammar.
- b4ff8609dbad 10.0 cited
-
postgres_fdw: Push down FULL JOINs with restriction clauses.
- b30fb56b07a8 10.0 cited
-
Some preliminary refactoring towards partitionwise join.
- c44c47a773bd 10.0 landed
-
contrib/amcheck needs RecentGlobalXmin to be PGDLLIMPORT'ified.
- 56018bf26eec 10.0 cited
-
Print test parameters like "foo: 123", and results like "foo = 123".
- 2a7f4f76434d 10.0 cited