On Fri, Mar 18, 2011 at 10:17 AM, Jeff Davis <pgsql@j-davis.com> wrote:
> On Fri, 2011-03-18 at 08:27 -0400, Robert Haas wrote:
>> On Thu, Mar 17, 2011 at 6:00 PM, Jeff Davis <pgsql@j-davis.com> wrote:
>> > On Wed, 2011-03-16 at 13:35 -0400, Robert Haas wrote:
>> >> 2. If a query cancel interrupt is received (pg_cancel_backend or ^C),
>> >> then cancel the sync rep wait and issue a warning before acknowledging
>> >> the commit.
>> >
>> > When I saw this commit, I noticed that the WARNING doesn't have an
>> > errcode(). It seems like it should -- this is the kind of thing that the
>> > client is likely to care about, and may want to handle specially.
>>
>> Should I invent ERRCODE_WARNING_TRANSACTION_NOT_REPLICATED?
>
> I think it's reasonable to invent a new code here. Perhaps use the word
> "synchronous" rather than "replicated", though?
I think we have to, because it's definitely not the same situation
that someone would expect after ERRCODE_QUERY_CANCELLED.
But ERRCODE_WARNING_TRANSACTION_NOT_SYNCHRONOUS, which is what I read
you reply as suggesting, seems pretty wonky. I wouldn't know what
that meant. Another option might be:
ERRCODE_(WARNING_?)REPLICATION_WAIT_CANCELLED
...which might have something to recommend it.
Other thoughts?
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company