Thread
Commits
-
initdb: Refactor PG_CMD_PUTS loops
- 1bd47d0dca9f 16.0 landed
-
initdb: Refactor PG_CMD_PUTS loops
Peter Eisentraut <peter.eisentraut@enterprisedb.com> — 2022-12-01T10:02:33Z
Keeping the SQL commands that initdb runs in string arrays before feeding them to PG_CMD_PUTS() seems unnecessarily verbose and inflexible. In some cases, the array only has one member. In other cases, one might want to use PG_CMD_PRINTF() instead, to parametrize a command, but that would require breaking up the loop or using workarounds like replace_token(). This patch unwinds all that; it's much simpler that way.
-
Re: initdb: Refactor PG_CMD_PUTS loops
John Naylor <john.naylor@enterprisedb.com> — 2022-12-02T07:03:40Z
On Thu, Dec 1, 2022 at 5:02 PM Peter Eisentraut < peter.eisentraut@enterprisedb.com> wrote: > > Keeping the SQL commands that initdb runs in string arrays before > feeding them to PG_CMD_PUTS() seems unnecessarily verbose and > inflexible. In some cases, the array only has one member. In other > cases, one might want to use PG_CMD_PRINTF() instead, to parametrize a > command, but that would require breaking up the loop or using > workarounds like replace_token(). This patch unwinds all that; it's > much simpler that way. +1, I can't think of a reason to keep the current coding -- John Naylor EDB: http://www.enterprisedb.com
-
Re: initdb: Refactor PG_CMD_PUTS loops
Andrew Dunstan <andrew@dunslane.net> — 2022-12-02T14:07:54Z
On 2022-12-01 Th 05:02, Peter Eisentraut wrote: > Keeping the SQL commands that initdb runs in string arrays before > feeding them to PG_CMD_PUTS() seems unnecessarily verbose and > inflexible. In some cases, the array only has one member. In other > cases, one might want to use PG_CMD_PRINTF() instead, to parametrize a > command, but that would require breaking up the loop or using > workarounds like replace_token(). This patch unwinds all that; it's > much simpler that way. Looks reasonable. (Most of this dates back to 2003/2004, the very early days of initdb.c.) cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com
-
Re: initdb: Refactor PG_CMD_PUTS loops
Peter Eisentraut <peter.eisentraut@enterprisedb.com> — 2022-12-05T22:40:54Z
On 02.12.22 15:07, Andrew Dunstan wrote: > On 2022-12-01 Th 05:02, Peter Eisentraut wrote: >> Keeping the SQL commands that initdb runs in string arrays before >> feeding them to PG_CMD_PUTS() seems unnecessarily verbose and >> inflexible. In some cases, the array only has one member. In other >> cases, one might want to use PG_CMD_PRINTF() instead, to parametrize a >> command, but that would require breaking up the loop or using >> workarounds like replace_token(). This patch unwinds all that; it's >> much simpler that way. > > Looks reasonable. (Most of this dates back to 2003/2004, the very early > days of initdb.c.) committed