Remove unneccessary memory initialization in planner.c
Chao Li <li.evan.chao@gmail.com>
From: Chao Li <li.evan.chao@gmail.com>
To: Postgres hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-12-08T11:10:58Z
Lists: pgsql-hackers
Attachments
- v1-0001-Remove-unneccessary-memory-initialization-in-plan.patch (application/octet-stream) patch v1-0001
Hi Hackers,
In this code piece:
```
static grouping_sets_data *
preprocess_grouping_sets(PlannerInfo *root)
{
...
grouping_sets_data *gd = palloc0(sizeof(grouping_sets_data));
...
gd->any_hashable = false;
gd->unhashable_refs = NULL;
gd->unsortable_refs = NULL;
gd->unsortable_sets = NIL;
...
```
"gd" is allocated by palloc0, so all members have been zero initialized,
thus explicitly assigning NULL to the 4 members is unnecessary. I don't
think that has much runtime impact, but from a readability perspective, a
potential question is that, "gd" has more fields, why only set 0 to these 4
members redundantly?
To avoid the potential confusion, I think we'd better delete these
initializations.
Begards,
Chao Li (Evan)
---------------------
HighGo Software Co., Ltd.
https://www.highgo.com/