On Tue, Dec 9, 2025, at 1:30 PM, Alvaro Herrera wrote:
> BTW another thing I realized while looking this over, is that we quite
> uselessly transform the integer backend type to a string, pass it as a
> string using the --forkchild= argument to the child process, then parse
> the string back to an int to use as an array index. It would be much
> easier to just use the integer value everywhere, as the attached shows.
>
It is a good simplification. There is just one oversight.
+ child_type = (BackendType) atoi(child_kind);
+ if (child_type <= B_INVALID || child_type > BACKEND_NUM_TYPES)
elog(ERROR, "unknown child kind %s", child_kind);
It should be BACKEND_NUM_TYPES - 1.
--
Euler Taveira
EDB https://www.enterprisedb.com/