From: | Dave Cramer <davecramer(at)postgres(dot)rocks> |
---|---|
To: | Robert Haas <robertmhaas(at)gmail(dot)com> |
Cc: | "Haumacher, Bernhard" <haui(at)haumacher(dot)de>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Error on failed COMMIT |
Date: | 2020-02-14 19:08:20 |
Message-ID: | CADK3HHK00cxGOXzgQfnjkRzg7tSdwp72oRaEqfjhgxLiKtVF8Q@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Fri, 14 Feb 2020 at 13:29, Robert Haas <robertmhaas(at)gmail(dot)com> wrote:
> On Fri, Feb 14, 2020 at 1:04 PM Dave Cramer <davecramer(at)postgres(dot)rocks>
> wrote:
> > Thing is that con.commit() DOESN'T return a status code, nor does it
> throw an exception as we silently ROLLBACK here.
>
> Why not? There's nothing keeping the driver from doing either of those
> things, is there? I mean, if using libpq, you can use PQcmdStatus() to
> get the command tag, and find out whether it's COMMIT or ROLLBACK. If
> you're implementing the wire protocol directly, you can do something
> similar.
>
>
> https://www.postgresql.org/docs/current/libpq-exec.html#LIBPQ-EXEC-NONSELECT
Well now you are asking the driver to re-interpret the results in a
different way than the server which is not what we tend to do.
The server throws an error we throw an error. We really aren't in the
business of re-interpreting the servers responses.
Dave Cramer
www.postgres.rocks
From | Date | Subject | |
---|---|---|---|
Next Message | Robert Haas | 2020-02-14 19:36:53 | Re: Error on failed COMMIT |
Previous Message | Tom Lane | 2020-02-14 19:00:56 | Re: assert pg_class.relnatts is consistent |