Re: Better error reporting from extension scripts (Was: Extend ALTER OPERATOR)

Pavel Stehule <pavel.stehule@gmail.com>

From: Pavel Stehule <pavel.stehule@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Christoph Berg <myon@debian.org>, Michael Banck <mbanck@gmx.net>, Tommy Pavlicek <tommypav122@gmail.com>, Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>, pgsql-hackers@lists.postgresql.org, jian.universality@gmail.com
Date: 2024-10-11T17:39:37Z
Lists: pgsql-hackers
pá 11. 10. 2024 v 18:08 odesílatel Tom Lane <tgl@sss.pgh.pa.us> napsal:

> Pavel Stehule <pavel.stehule@gmail.com> writes:
> > I tested it and it is working nicely.  I tested it against Orafce and I
> > found an interesting point. The body of plpgsql functions is not checked.
> > Do you know the reason?
>
> In execute_extension_script():
>
>     /*
>      * Similarly disable check_function_bodies, to ensure that SQL
> functions
>      * won't be parsed during creation.
>      */
>     if (check_function_bodies)
>         (void) set_config_option("check_function_bodies", "off",
>                                  PGC_USERSET, PGC_S_SESSION,
>                                  GUC_ACTION_SAVE, true, 0, false);
>
> I wondered if we should reconsider that, but I'm afraid we'd be more
> likely to break working extensions than to do anything helpful.
> An extension author who wants that can do what I did in the patch's
> test cases: manually turn check_function_bodies on in the extension
> script.
>

ok,

Pavel

>
>                         regards, tom lane
>

Commits

  1. Strip Windows newlines from extension script files manually.

  2. Read extension script files in text not binary mode.

  3. Improve reporting of errors in extension script files.

  4. Improve parser's reporting of statement start locations.

  5. Extend ALTER OPERATOR to allow setting more optimization attributes.

  6. Core support for "extensions", which are packages of SQL objects.