diff options
| author | Peter Eisentraut | 2022-11-12 19:31:27 +0000 |
|---|---|---|
| committer | Peter Eisentraut | 2022-11-12 19:34:44 +0000 |
| commit | b4b7ce8061d34cea2b4915c41403b2a74d5fde0e (patch) | |
| tree | 127e3012c81c377513fc234f0b8af27f16cf0c31 /src/backend/optimizer/util | |
| parent | 30d98e14a88930c6d9658525fd5e6722e70a02e6 (diff) | |
Add repalloc0 and repalloc0_array
These zero out the space added by repalloc. This is a common pattern
that is quite hairy to code by hand.
Reviewed-by: Tom Lane <[email protected]>
Discussion: https://www.postgresql.org/message-id/[email protected]
Diffstat (limited to 'src/backend/optimizer/util')
| -rw-r--r-- | src/backend/optimizer/util/placeholder.c | 13 | ||||
| -rw-r--r-- | src/backend/optimizer/util/relnode.c | 29 |
2 files changed, 12 insertions, 30 deletions
diff --git a/src/backend/optimizer/util/placeholder.c b/src/backend/optimizer/util/placeholder.c index c7bfa293c9f..c55027377fe 100644 --- a/src/backend/optimizer/util/placeholder.c +++ b/src/backend/optimizer/util/placeholder.c @@ -133,16 +133,11 @@ find_placeholder_info(PlannerInfo *root, PlaceHolderVar *phv) while (phinfo->phid >= new_size) new_size *= 2; if (root->placeholder_array) - { - root->placeholder_array = (PlaceHolderInfo **) - repalloc(root->placeholder_array, - sizeof(PlaceHolderInfo *) * new_size); - MemSet(root->placeholder_array + root->placeholder_array_size, 0, - sizeof(PlaceHolderInfo *) * (new_size - root->placeholder_array_size)); - } + root->placeholder_array = + repalloc0_array(root->placeholder_array, PlaceHolderInfo *, root->placeholder_array_size, new_size); else - root->placeholder_array = (PlaceHolderInfo **) - palloc0(new_size * sizeof(PlaceHolderInfo *)); + root->placeholder_array = + palloc0_array(PlaceHolderInfo *, new_size); root->placeholder_array_size = new_size; } root->placeholder_array[phinfo->phid] = phinfo; diff --git a/src/backend/optimizer/util/relnode.c b/src/backend/optimizer/util/relnode.c index 1786a3daddc..d7b4434e7f4 100644 --- a/src/backend/optimizer/util/relnode.c +++ b/src/backend/optimizer/util/relnode.c @@ -157,31 +157,18 @@ expand_planner_arrays(PlannerInfo *root, int add_size) new_size = root->simple_rel_array_size + add_size; - root->simple_rel_array = (RelOptInfo **) - repalloc(root->simple_rel_array, - sizeof(RelOptInfo *) * new_size); - MemSet(root->simple_rel_array + root->simple_rel_array_size, - 0, sizeof(RelOptInfo *) * add_size); + root->simple_rel_array = + repalloc0_array(root->simple_rel_array, RelOptInfo *, root->simple_rel_array_size, new_size); - root->simple_rte_array = (RangeTblEntry **) - repalloc(root->simple_rte_array, - sizeof(RangeTblEntry *) * new_size); - MemSet(root->simple_rte_array + root->simple_rel_array_size, - 0, sizeof(RangeTblEntry *) * add_size); + root->simple_rte_array = + repalloc0_array(root->simple_rte_array, RangeTblEntry *, root->simple_rel_array_size, new_size); if (root->append_rel_array) - { - root->append_rel_array = (AppendRelInfo **) - repalloc(root->append_rel_array, - sizeof(AppendRelInfo *) * new_size); - MemSet(root->append_rel_array + root->simple_rel_array_size, - 0, sizeof(AppendRelInfo *) * add_size); - } + root->append_rel_array = + repalloc0_array(root->append_rel_array, AppendRelInfo *, root->simple_rel_array_size, new_size); else - { - root->append_rel_array = (AppendRelInfo **) - palloc0(sizeof(AppendRelInfo *) * new_size); - } + root->append_rel_array = + palloc0_array(AppendRelInfo *, new_size); root->simple_rel_array_size = new_size; } |
