Re: HELP: what's wrong with my PL/PSQL function??
От | Tom Lane |
---|---|
Тема | Re: HELP: what's wrong with my PL/PSQL function?? |
Дата | |
Msg-id | 25030.990454605@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: HELP: what's wrong with my PL/PSQL function?? (Jan Wieck <JanWieck@Yahoo.com>) |
Список | pgsql-sql |
Jan Wieck <JanWieck@yahoo.com> writes: > Tom Lane wrote: >> I am not sure why this precious info is so deeply buried. I know why >> it's not part of the ERROR itself: our elog mechanism doesn't support >> that. But seems like it could at least be made a NOTICE rather than a >> DEBUG message. > Because at the time the NOTICE will be sent, the client > already received the ERROR and doesn't read from the > connection until the next command. So at least you'd have to > send an empty query to get it. Au contraire. To test this, I changed elog(DEBUG)s to elog(NOTICE)s in pl_exec.c, and now I get: regression=# select zz(); NOTICE: Last error occured while executing PL/pgSQL function zz NOTICE: line 2 at SQL statement ERROR: parser: parse error at or near "x" regression=# The reason is that libpq doesn't report query done until it gets the trailing 'Z' (ReadyForQuery) message, and the notices will come out before that. You might need to reword the notices a bit because they will appear before the error itself, but this still seems to me a lot better than having to go digging in the postmaster log (if there is one). regards, tom lane
В списке pgsql-sql по дате отправления: