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/

Attachment: v1-0001-Remove-unneccessary-memory-initialization-in-plan.patch
Description: Binary data

Reply via email to