Re: Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Crear una RULE con SELECT e INSERT ?¿

From: Gunnar Wolf <gwolf(at)gwolf(dot)org>
To: juanramirez <juanramirez(at)cajazacate(dot)com(dot)sv>
Cc: Jaime Casanova <jaime(at)2ndquadrant(dot)com>, pgsql-es-ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Crear una RULE con SELECT e INSERT ?¿
Date: 2011-01-21 00:30:48
Message-ID: 20110121003048.GD12512@gwolf.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Gunnar Wolf dijo [Thu, Jan 20, 2011 at 06:23:26PM -0600]:
> Desconozco las sutilezas de las reglas, pero... ¿Qué pasa si..
>
> • Abro una transacción
> • Hago un select
> • Hago rollback
>
> ..?
>
> ¿Se registra o no?

Ok, acá me encontré la respuesta:
+------------------------------------------------------------
| http://www.mail-archive.com/pgsql-general(at)postgresql(dot)org/msg74280.html
+------------------------------------------------------------
| > But is nowhere stated if (multiple) commands inside a rule are
| > treated
| > as an implicit transaction as a whole.
|
| If you don't specifically open a transaction at the top level (i.e. in
| 'psql' or SQL from your application's code), PG will encapsulate every
| query you execute within its own transaction. The statements in any
| rules called will execute in the context of that transaction, along
| with any other operations such as trigger calls, table updates,
| whatever. If something in that implicit transaction fails, it will be
| rolled back; otherwise, it will be committed once the statement is
| finished.
|
| Also, you need to think of rules as 'query rewrites' rather than
| 'code that executes', because that's what they are.
|
| I hope that helps.
|
| -Doug
+------------------------------------------------------------

En pocas palabras: Una regla reescribe las solicitudes, por lo cual
todo lo que dispares desde una regla queda inscripto en la misma
transacción en la que estabas.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Gaston Rider 2011-01-21 02:10:24 RE: Error al crear lenguaje
Previous Message Gunnar Wolf 2011-01-21 00:23:26 Re: Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Crear una RULE con SELECT e INSERT ?¿