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.
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 ?¿ |