mirror of
https://github.com/postgres/postgres.git
synced 2025-07-05 07:21:24 +03:00
Assorted preparatory refactoring for partition-wise join.
Instead of duplicating the logic to search for a matching ParamPathInfo in multiple places, factor it out into a separate function. Pass only the relevant bits of the PartitionKey to partition_bounds_equal instead of the whole thing, because partition-wise join will want to call this without having a PartitionKey available. Adjust allow_star_schema_join and calc_nestloop_required_outer to take relevant Relids rather than the entire Path, because partition-wise join will want to call it with the top-parent relids to determine whether a child join is allowable. Ashutosh Bapat. Review and testing of the larger patch set of which this is a part by Amit Langote, Rajkumar Raghuwanshi, Rafia Sabih, Thomas Munro, Dilip Kumar, and me. Discussion: http://postgr.es/m/CA+TgmobQK80vtXjAsPZWWXd7c8u13G86gmuLupN+uUJjA+i4nA@mail.gmail.com
This commit is contained in:
4
src/backend/utils/cache/relcache.c
vendored
4
src/backend/utils/cache/relcache.c
vendored
@ -1208,7 +1208,9 @@ equalPartitionDescs(PartitionKey key, PartitionDesc partdesc1,
|
||||
if (partdesc2->boundinfo == NULL)
|
||||
return false;
|
||||
|
||||
if (!partition_bounds_equal(key, partdesc1->boundinfo,
|
||||
if (!partition_bounds_equal(key->partnatts, key->parttyplen,
|
||||
key->parttypbyval,
|
||||
partdesc1->boundinfo,
|
||||
partdesc2->boundinfo))
|
||||
return false;
|
||||
}
|
||||
|
Reference in New Issue
Block a user