mirror of
https://github.com/postgres/postgres.git
synced 2025-11-21 00:42:43 +03:00
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 <tgl@sss.pgh.pa.us> Discussion: https://www.postgresql.org/message-id/b66dfc89-9365-cb57-4e1f-b7d31813eeec@enterprisedb.com
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user