second "begin transaction" emits a warning

From: Jaime Casanova <systemguards(at)gmail(dot)com>
To: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: second "begin transaction" emits a warning
Date: 2005-12-16 22:36:14
Message-ID: c2d9e70e0512161436s57f1e04exb2a21da7d6878c86@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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 ;)

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Treat 2005-12-16 22:56:24 reducing bloat in pg_statistic
Previous Message Alvaro Herrera 2005-12-16 22:00:48 Re: Self-modifying code