Обсуждение: Preferred use of macro GetPGProcByNumber

Поиск
Список
Период
Сортировка

Preferred use of macro GetPGProcByNumber

От
"Maksim.Melnikov"
Дата:
Hello hackers,
I've noticed some places where elements of ProcGlobal->allProcs are 
addressed directly via arr index.
But in proc.h macros GetPGProcByNumber exist, that was added to get proc 
objects by index,
so I suggest minor refactoring 'ProcGlobal->allProcs[index]' -> 
'GetPGProcByNumber(index)'.
Please, see attached patch, branched from rev 6ede13d1b5f.

Best regards
Melnikov Maksim

Вложения

Re: Preferred use of macro GetPGProcByNumber

От
Chao Li
Дата:


On Sep 12, 2025, at 20:39, Maksim.Melnikov <m.melnikov@postgrespro.ru> wrote:

Hello hackers,
I've noticed some places where elements of ProcGlobal->allProcs are addressed directly via arr index.
But in proc.h macros GetPGProcByNumber exist, that was added to get proc objects by index,
so I suggest minor refactoring 'ProcGlobal->allProcs[index]' -> 'GetPGProcByNumber(index)'.
Please, see attached patch, branched from rev 6ede13d1b5f.

Best regards
Melnikov Maksim
<v1-0001-Preferred-use-of-macro-GetPGProcByNumber.patch>

For the replacements in procarray.c, there may have slight performance difference. The current version stores dereferenced “allProcs” in a local static variable, which is faster than using the macro because the macro need to dereference “allProcs” from the “ProcGlobal” every time when it is called.

In other files, they are just simple direct replacements, so they should be fine.

Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/




Re: Preferred use of macro GetPGProcByNumber

От
"Maksim.Melnikov"
Дата:
Thanks for your comment,  I've attached patch version without
procarray.c changes.


Best regards

Melnikov Maksim

Вложения

Re: Preferred use of macro GetPGProcByNumber

От
Chao Li
Дата:


On Sep 16, 2025, at 16:05, Maksim.Melnikov <m.melnikov@postgrespro.ru> wrote:

Thanks for your comment,  I've attached patch version without procarray.c changes.


Best regards

Melnikov Maksim
<v2-0001-Preferred-use-of-macro-GetPGProcByNumber.patch>

V2 LGMT.

Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/