Re: Can the backend return more than one error message per PQexec? - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Can the backend return more than one error message per PQexec?
Date
Msg-id 24024.991840710@sss.pgh.pa.us
Whole thread Raw
In response to Re: Can the backend return more than one error message per PQexec?  (Peter Eisentraut <peter_e@gmx.net>)
Responses Re: Can the backend return more than one error message per PQexec?  (Peter Eisentraut <peter_e@gmx.net>)
List pgsql-hackers
Peter Eisentraut <peter_e@gmx.net> writes:
>> It'd be better to allow ErrorResponse to carry multiple fields.

> That's the idea.  But I can hardly concatenate the error codes, can I?  I
> looks as though we need an API where all the messages (errors + notices)
> from each query cycle are collected and can be cycled through after
> completion.

One way to do this that wouldn't involve breaking the protocol is
to assign significance to linebreaks in an 'E' message's payload.
I think someone proposed this already:
ERROR: blah blahCODE: 12345LOCATION: some/file.c line NNN

ie, lines starting with agreed-on keywords would be taken as conveying
specific fields.  An arrangement like this could still work with plain
concatenation of multiple errors.  Also, it would work tolerably well
when fed to an old application that knows nothing of the convention and
just prints out the error string.  I'm leery of defining a whole new API
that must be used before one gets to see any of the added error
information --- that would mean that a lot of people never will see it.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Jan Wieck
Date:
Subject: Re: place for newbie postgresql hackers to work
Next
From: Tom Lane
Date:
Subject: Re: Strange error, probably WAL-related