Re: Partition-wise join for join between (declaratively) partitioned tables
Robert Haas <robertmhaas@gmail.com>
On Mon, Feb 6, 2017 at 3:34 PM, Ashutosh Bapat <ashutosh.bapat@enterprisedb.com> wrote: > PartitionScheme is shared across multiple relations, join or base, > partitioned similarly. Obviously it can't and does not need to point > partition bound informations (which should all be same) of all those > base relations. O the the face of it, it looks weird that it points to > only one of them, mostly the one which it encounters first. But, since > it's going to be the same partition bound information, it doesn't > matter which one. So, I think, we can point of any one of those. Do > you agree? Yes. >> The fact that set_append_rel_size needs to reopen the relation to >> extract a few more bits of information is not desirable. You need to >> fish this information through in some other way; for example, you >> could have get_relation_info() stash the needed bits in the >> RelOptInfo. > > I considered this option and discarded it, since not all partitioned > relations will have OIDs for partitions e.g. partitioned joins will > not have OIDs for their partitions. But now that I think of it, we > should probably store those OIDs just for the base relation and leave > them unused for non-base relations just like other base relation > specific fields in RelOptInfo. Right. >> FRACTION_PARTS_TO_PLAN seems like it should be a GUC. > > +1. Will take care of this. Does "representative_partitions_fraction" > or "sample_partition_fraction" look like a good GUC name? Any other > suggestions? I like the second one. -- 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