From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
Cc: | Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: parallel workers and client encoding |
Date: | 2016-06-09 17:47:34 |
Message-ID: | 7230.1465494454@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Robert Haas <robertmhaas(at)gmail(dot)com> writes:
> On Thu, Jun 9, 2016 at 1:14 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> The current code results in failures if any non-latin1 data has to be
>> transmitted from worker to leader, even though the query might not have
>> ever sent that data to the client, and therefore would work fine in
>> non-parallel mode.
> So, I don't think this is true. First, to be clear, there's no
> encoding conversion going on when tuples are sent from worker to
> leader, so that case has no problem of this type at all. This is
> limited to non-tuple protocol messages: errors, notices, and possibly
> notifies.
Okay ...
> Second, if you can't convert an error or notice message (or possibly a
> notify message) from the server encoding to the client coding, you are
> definitely going to fail, with or without parallel query, because that
> conversion has to be done at some stage anyway.
Only if the message gets sent to the client, which it might never be;
for example because the query is inside a plpgsql exception block that
traps the error.
You do have a bug here; please don't argue you don't.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2016-06-09 17:48:32 | Re: Parallel safety tagging of extension functions |
Previous Message | Tom Lane | 2016-06-09 17:44:44 | Re: [COMMITTERS] pgsql: Don't generate parallel paths for rels with parallel-restricted |