Robert Haas <robertmhaas@gmail.com> writes:
> On Fri, Aug 15, 2014 at 9:54 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> Au contraire: it will break any piece of code that is expecting a COMMIT
>> command tag to look like exactly "COMMIT" and not "COMMIT something".
> Well, I remember debating this with you once before, when we were
> deciding whether to make SELECT INTO and CREATE TABLE AS return row
> counts in the command tag. That change went into 9.0 and, while I
> think we may have gotten maybe one complaint about it, on the whole I
> believe it went pretty smoothly.
I think it's a serious, serious mistake to equate the number of clients
that deal with COMMIT specially with the number that have special logic
for (or even use at all) SELECT INTO/CREATE TABLE AS. So I don't find
that argument to have any merit.
The precedent that seems more relevant to me is our disastrous attempt to
put in server-side autocommit behavior, back in 7.3. We thought that that
wouldn't break too much client code; we were wrong. And IMO a large part
of the reason we were wrong was that we exposed the switch as a GUC,
whereby anybody could twiddle it regardless of whether the relevant
client-side layer(s) would cope.
> All that having been said, I'm not convinced that we should do this at
> all unless we've got a libpq implementation of client-side failover so
> that people can actually use this without having to put all of the
> logic in their application.
There's that, too. The whole proposal is a solution in search of a
problem at the moment, or maybe better to say that it's 1% of a solution
with no clear path to getting the other 99% done.
regards, tom lane