Re: pg_proc probin misuse - Mailing list pgsql-hackers

From Tom Lane
Subject Re: pg_proc probin misuse
Date
Msg-id 19552.1148700092@sss.pgh.pa.us
Whole thread Raw
In response to pg_proc probin misuse  (James William Pye <pgsql@jwp.name>)
Responses Re: pg_proc probin misuse  (James William Pye <pgsql@jwp.name>)
List pgsql-hackers
James William Pye <pgsql@jwp.name> writes:
> In PL/Py, I had the bright idea of storing bytecode in the probin field of the
> function's pg_proc row. However, this idea has lately become rather dim as I
> have recently rediscovered(thanks Adrian) that this breaks dumps; pg_dump outputs
> a PL/Py function as "CREATE FUNCTION x() RETURNS y LANGUAGE python AS
> '<bytecode>', '<source>'". Of course, when loading this, it fails:
> 'ERROR:  only one AS item needed for language "python"'.

> So is this "fix your broken PL" or "pg_dump should only be doing that for C
> language functions"?

Offhand it seems to me that pg_dump is behaving reasonably: it's storing
probin if it sees something there to be stored.  The asymmetry is in the
backend, specifically functioncmds.c's interpret_AS_clause(): it has a
hardwired assumption that probin is only relevant to C functions.

Feel free to propose a saner definition.  AFAICS the current coding
makes probin useless for all except C functions, so I think it could
be improved.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Updatable views/with check option parsing
Next
From: Hannu Krosing
Date:
Subject: Re: Updatable views/with check option parsing