Re: [pgsql-es-ayuda] saber si estoy en una transacción

From: Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>
To: Raul Andres Duque <ra_duque(at)yahoo(dot)com(dot)mx>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: [pgsql-es-ayuda] saber si estoy en una transacción
Date: 2009-02-04 22:25:15
Message-ID: 3073cc9b0902041425n7ffa9702jfbcff29b13c9965c@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Wed, Feb 4, 2009 at 3:29 PM, Raul Andres Duque <ra_duque(at)yahoo(dot)com(dot)mx> wrote:
> Cordial Saludo.
>
> Cómo puedo saber si estoy dentro de una transacción en la conezión activa?
>
> Algo así como el '@@TRANCOUNT > 0' de mssql.
>

sinceramente la unica solucion que se me ocurre es llamar dos veces a
txid_current() y comparar ambos resultados si son iguales estas en una
transaccion explicita...
algo como:
select txid_current() into txid1;
select txid_current() into txid2;
if txid1 = txid2 then
en transaccion

pros:
- hace lo que quieres

cons:
- si lo haces dentro de una funcion no te vale de nada porque mientras
dura la funcion estas en la misma transaccion
- debes ejecutar en sentencias separadas y almacenar el valor cada vez
porque mientras se ejecuta una sentencia estas en la misma transaccion

sinceramente, la unica utilidad que le veo es si lo ejecutas del lado
del cliente a traves del ODBC, pero si es asi... no deberias saber si
existe una transaccion activa (despues de todo debiste haber ejecutado
un BEGIN) y si ha ocurrido algun error te debe haber enviado el
mensaje de error... claro a menos que uses una de esas facilidades de
algunos lenguajes para hacerse inmantenibles que suprimen los mensajes
de error

--
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Asesoría y desarrollo de sistemas
Guayaquil - Ecuador
Cel. +59387171157

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Carlos Bazán 2009-02-05 00:23:18 Guardar imágenes en base de datos
Previous Message Edenar Edenar 2009-02-04 22:08:39 Ayuda JAVA+Postgres