Re: funciones y ROLLBACK

From: "Jaime Casanova" <systemguards(at)gmail(dot)com>
To: "Victor Lopez" <d01m01a2000(at)gmail(dot)com>
Cc: Postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: funciones y ROLLBACK
Date: 2007-05-06 03:59:30
Message-ID: c2d9e70e0705052059k64acd47aq6427bcbc91de289a@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On 5/5/07, Victor Lopez <d01m01a2000(at)gmail(dot)com> wrote:
> Una función puede que no sea igual a una transacción.
>
> Pero si el BEGIN de una función genera el BEGIN de una transacción, y
> el END; de una función genera el END; de una transacción ...
>
> Como decían en otro sitio ...
>
> Si dice 'cuac', tiene plumas de pato,patas de pato, pico de pato, etc ...
> Aunque no sea un pato ...
>

veamos, en http://www.postgresql.org/docs/8.2/static/sql-begin.html dice:

BEGIN [ WORK | TRANSACTION ] [ transaction_mode [, ...] ]

y tambien dice:

BEGIN is a PostgreSQL language extension. It is equivalent to the
SQL-standard command START TRANSACTION, which see for additional
compatibility information.

es decir que puedo escribir BEGIN o BEGIN WORK o BEGIN TRANSACTION o
START TRANSACTION en sql para iniciar una transaccion. Te reto a que
uses BEGIN WORK (o alguna de las otras variantes) en vez del BEGIN al
inicio de la funcion para ver que pasa.

No es que el BEGIN de la funcion inicie una transaccion. PostgreSQL
inicia una transaccion al ejecutar cualquier sentencia si esa
sentencia no esta dentro de una transaccion explicita, eso lo hace
para que si ocurre un error se deshaga (rollback) automaticamente lo
que se haya hecho...

volviendo al ejemplo anterior, si ejecuto:

LOCK TABLE tablita;

es lo mismo que ejecutar:

BEGIN;
LOCK TABLE tablita;
COMMIT;

asi que... LOCK TABLE debe ser una transaccion!!!

--
Atentamente,
Jaime Casanova

"Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs and the universe trying
to produce bigger and better idiots.
So far, the universe is winning."
Richard Cook

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2007-05-06 04:06:09 Re: funciones y ROLLBACK
Previous Message Gunnar Wolf 2007-05-06 00:23:58 Re: desencriptar un password