second "begin transaction" emits a warning - Mailing list pgsql-hackers

From Jaime Casanova
Subject second "begin transaction" emits a warning
Date
Msg-id c2d9e70e0512161436s57f1e04exb2a21da7d6878c86@mail.gmail.com
Whole thread Raw
Responses Re: second "begin transaction" emits a warning  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: second "begin transaction" emits a warning  (Robert Treat <xzilla@users.sourceforge.net>)
List pgsql-hackers
Hi,

recently someone show us this code in the spanish list...

> BEGIN WORK;
> INSERT INTO mitabla VALUES (1);
>    BEGIN TRANSACTION;
>     INSERT INTO mitabla VALUES (2);
>     INSERT INTO mitabla VALUES (3);
>    COMMIT TRANSACTION;
> INSERT INTO mitabla VALUES (4);
> ROLLBACK WORK;

this is clearly bad you can't use a begin transaction inside a
transaction... but the user was expecting other results and because he
receives no error (actually was a warning but he is sending the
commands via an external application)...

he was expecting an empty table but instead he gets this:

mitabla
========
1
2
3
(3 rows)

so, why BeginTransactionBlock emits just a warning and not an error?
this is not the same as in the case of the one who was closing and
already closed cursor?

--
regards,
Jaime Casanova
(DBA: DataBase Aniquilator ;)


pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: Self-modifying code
Next
From: Robert Treat
Date:
Subject: reducing bloat in pg_statistic