Bruce Momjian wrote:
>
> OK, I have a patch to fix this bug. The basic problem is that when a
> multi-query string is passed to the backend, it is treated as a single
> transaction _unless_ a transaction or GUC command appears in the string.
> When they appear, a transaction is forced, but the normal transaction
> state machine has been bypassed, meaning in:
>
> SET autocommit TO off; SELECT 1; COMMIT;
>
> when the COMMIT arrives, the transaction state machines hasn't seen the
> SELECT because the mechanism is bypassing the state machine to try and
> get everything into the same transaction.
>
> This patch removes that "stuff all queries into a single transaction"
> behavior and makes them function just like queries arriving separately.
> This does BREAK BACKWARD COMPATIBILITY. However, if they want the old
> behavior, they just need to wrap BEGIN/COMMIT around the query string.
Does the change worth the trouble ?
Please don't break BACKWARD COMPATIBILITY easily.
regards,
Hiroshi Inouehttp://www.geocities.jp/inocchichichi/psqlodbc/