mirror of
https://github.com/postgres/postgres.git
synced 2025-07-15 19:21:59 +03:00
Fix possible crash in partition-wise join.
The previous code assumed that we'd always succeed in creating child-joins for a joinrel for which partition-wise join was considered, but that's not guaranteed, at least in the case where dummy rels are involved. Ashutosh Bapat, with some wordsmithing by me. Discussion: http://postgr.es/m/CAFjFpRf8=uyMYYfeTBjWDMs1tR5t--FgOe2vKZPULxxdYQ4RNw@mail.gmail.com
This commit is contained in:
@ -1662,11 +1662,14 @@ build_joinrel_partition_info(RelOptInfo *joinrel, RelOptInfo *outer_rel,
|
||||
*/
|
||||
joinrel->part_scheme = part_scheme;
|
||||
joinrel->boundinfo = outer_rel->boundinfo;
|
||||
joinrel->nparts = outer_rel->nparts;
|
||||
partnatts = joinrel->part_scheme->partnatts;
|
||||
joinrel->partexprs = (List **) palloc0(sizeof(List *) * partnatts);
|
||||
joinrel->nullable_partexprs =
|
||||
(List **) palloc0(sizeof(List *) * partnatts);
|
||||
joinrel->nparts = outer_rel->nparts;
|
||||
joinrel->part_rels =
|
||||
(RelOptInfo **) palloc0(sizeof(RelOptInfo *) * joinrel->nparts);
|
||||
|
||||
|
||||
/*
|
||||
* Construct partition keys for the join.
|
||||
|
Reference in New Issue
Block a user