Re: review: psql: edit function, show function commands patch
От | Pavel Stehule |
---|---|
Тема | Re: review: psql: edit function, show function commands patch |
Дата | |
Msg-id | AANLkTinXhZeVu1JwuSAS=SXpLFfYY=e5Vj6WxsaezSFk@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: review: psql: edit function, show function commands patch (Robert Haas <robertmhaas@gmail.com>) |
Ответы |
Re: review: psql: edit function, show function commands
patch
|
Список | pgsql-hackers |
2010/8/1 Robert Haas <robertmhaas@gmail.com>: > On Sun, Jul 25, 2010 at 11:42 AM, Pavel Stehule <pavel.stehule@gmail.com> wrote: >>> I'm setting this as ready for committer. >> >> Thank you very much > > I took a look at this tonight and am a bit mystified by the following bit: > > + /* > + * PL doesn't calculate first row of function's body > + * when first row is empty. So checks first row, and > + * correct lineno when it is necessary. > + */ > > Is that true of any PL, or just some particular PL? Is the behavior > described here a bug that we should fix, or is it, for some reason, > considered correct? Is it documented in our documentation? it is primary plpgsql issue. > > The implementation of first_row_is_empty() looks pretty kludgey, too. > It seems to me that it will fail completely if the text of the > function definition happens to contain $function$. > > CREATE OR REPLACE FUNCTION boom() RETURNS text LANGUAGE plpgsql AS $$ > BEGIN SELECT '$function$'; END $$; > I can enhance algorithm on client side - but it will not be a pretty code - it better do it on server side - for example pg_get_formated_functiondef ... CREATE OR REPLACE FUNCTION pg_get_formated_function_def(in oid, linenum bool:= false, OUT funcdef text, OUT first_line_isignored bool) this can remove any ugly code Regards Pavel > -- > Robert Haas > EnterpriseDB: http://www.enterprisedb.com > The Enterprise Postgres Company >
В списке pgsql-hackers по дате отправления: