Hello, Sam.
Thanks for the answer.
> This behavior seems to be what libpq exposes by default:
>
> http://www.postgresql.org/docs/current/static/libpq-exec.html
The driver I was talking about isn't written in C and doesn't use
libpq behind the scene like interfaces for Perl/Python/Tcl do, so what
I see is more likely refers to how PostgreSQL itself executes queries.
I haven't found a good explanation of this behaviour yet.
> I always tend to bracket things in an explicit BEGIN+COMMIT, why
> wouldn't you do this?
Probably that is what I will end up with. But anyway I would like to
know for sure what causes queries to be executed in "almost
transactional" context.
I should rejig my question: is this normal for a query made up from
several commands to be completely discarded if an error occurs? If the
answer is "no, it seems unusual" - I should write a bug report to the
author of the driver.
--
Sergey Samokhin