Re: pg_get_functiondef forgets about most GUC_LIST_INPUT GUCs
Pavel Stehule <pavel.stehule@gmail.com>
From: Pavel Stehule <pavel.stehule@gmail.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Arthur Zakirov <a.zakirov@postgrespro.ru>,
Michael Paquier <michael.paquier@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>, Postgres hackers <pgsql-hackers@postgresql.org>
Date: 2018-03-06T06:14:00Z
Lists: pgsql-hackers
2018-03-06 2:32 GMT+01:00 Michael Paquier <michael@paquier.xyz>: > On Mon, Mar 05, 2018 at 09:25:09PM +0100, Pavel Stehule wrote: > > I afraid so there is not good solution. Is possible to store options in > > original form? When the function will be displayed, then the original > value > > will be displayed. The current patch (with known extensions) can be used > as > > bug fix and back patched. In new version we store original value with > > quotes. > > You mean storing the values in pg_proc.proconfig at the creation time of > the function? That would basically work, except for the case of a > function using a parameter which is not from the same PL. The function > creation would fail because it cannot find the parameter it is looking > for as we need to look at loaded parameters to know it uses a list or > not :( > yes. It can fails on execution time, but it is something like runtime error. just dump should to produce same form like was input. So if on input we got quotes, then we should to use quotes on output. Without querying somewhere. The possible quotes can be removed in function compile time. Pavel > -- > Michael >
Commits
-
Prevent extensions from creating custom GUCs that are GUC_LIST_QUOTE.
- 846b5a525746 11.0 landed
-
Fix mishandling of quoted-list GUC values in pg_dump and ruleutils.c.
- be677bb5aa79 9.3.23 landed
- a35d72923165 9.5.13 landed
- 8132f0f3856d 9.6.9 landed
- 742869946f4f 11.0 landed
- 67e02cde7373 9.4.18 landed
- 66e92878aaec 10.4 landed