pg_proc.probin should become text?

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pg_proc.probin should become text?
Дата
Msg-id 27119.1249351391@sss.pgh.pa.us
обсуждение исходный текст
Ответы Re: pg_proc.probin should become text?  (Robert Haas <robertmhaas@gmail.com>)
Re: pg_proc.probin should become text?  (David Fetter <david@fetter.org>)
Re: pg_proc.probin should become text?  (Pavel Stehule <pavel.stehule@gmail.com>)
Список pgsql-hackers
pg_proc.probin is currently declared as being type bytea.  Perhaps that
had some real utility once upon a time, but no currently defined
procedural language stores binary data there.  In fact, the only
thing that gets stored there is the shared-library file name for
C functions.  To make things even more fun, none of the code touching
probin is doing anything to honor the special escaping conventions for
bytea.  This was pretty broken already, and might perhaps explain some
of the weirder error reports we've gotten.  It is now obvious to me
that no shlib file name containing non-ASCII characters will correctly
survive a dump/reload, in any existing PG release.  Backslashes
accidentally fail to fail, at least for some values of
standard_conforming_strings.

However, with the hex bytea output patch in place, it's *completely*
broken.  I offer the following pg_dump output:

CREATE FUNCTION interpt_pp(path, path) RETURNS point   LANGUAGE c   AS
'\\x2f686f6d652f706f7374677265732f706773716c2f7372632f746573742f726567726573732f726567726573732e736c','interpt_pp';
 

which should of course have looked like this:

CREATE FUNCTION interpt_pp(path, path) RETURNS point   LANGUAGE c   AS
'/home/postgres/testversion/src/test/regress/regress.sl','interpt_pp';
 

I think that the least painful solution might be to change
pg_proc.probin to be declared as text.  Otherwise we're going to need
version-specific klugery in pg_dump and who knows where else.

Comments?
        regards, tom lane


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Joe Conway
Дата:
Сообщение: Re: async notification patch for dblink
Следующее
От: Brendan Jurd
Дата:
Сообщение: Re: WIP: to_char, support for EEEE format