Re: Nueva pregunta transaccion

From: Mariano Lauría <mlauria2004(at)hotmail(dot)com>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Nueva pregunta transaccion
Date: 2006-06-08 20:25:19
Message-ID: BAY23-F25B8751C45A241DED7E2DFA68B0@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Buenisima tu aclaración : sabia lo de los savepoint y EXCEPTION, hasta eso
asumia el error, pero lo del Explain no sabía. Que tema !!.

Cuando hablas de usar tablas temporales, se me ocurre que tendré que saber
de alguna manera si el trigger que se disparo (por ejemplo con un insert)
se corresponde con algun otro trigger que se haya disparado anteriormente.

Como saber si un comando entrante es o no de la misma transaccion ?

Creo que sigo con el mismo problema, de alguna manera tengo que confiar en
el motor para saber si *n* comandos se coresponden a una misma transaccion o
no . Esto sería respetar la conologia de mis transacciones entrantes.

Estoy en un tema complicado !!

Saludos

>From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
>To: Mariano Lauría <mlauria2004(at)hotmail(dot)com>
>CC: pgsql-es-ayuda(at)postgresql(dot)org
>Subject: Re: [pgsql-es-ayuda] Nueva pregunta transaccion
>Date: Thu, 8 Jun 2006 15:58:13 -0400
>
>Mariano Lauría escribió:
> > Bueno muy bien , lo del html y mayusculas me parace barbaro que me lo
>hayan
> > aclarado, ahora me parece que la lista no esta para medir la capacidad
>de
> > la gente por sobre las preguntas que se realizan si es asi ok lo acepto
>y
> > se terminó.
>
>El tema del HTML en mi caso es simplemente porque mi cliente de correo
>no muestra el texto limpiamente, por lo tanto es dificil de leer.
>
>Por otro lado el tema de la netiqueta es siempre buena tenerla presente.
>Pero no te preocupes -- te lo vamos a decir esta vez, y nunca mas
>(puesto que asumo que nunca mas va a ser necesario).
>
>Si quieres destacar texto, tipicamente se usa *esto* (que en algunos
>clientes de correo se marca con negrilla) o _esto_ (subrayado) o /esto/
>(italica o cursiva).
>
> > Igualmente te voy a explicar Alvaro que no soy un experto en esto pero
> > tampoco un novato que se pone hacer preguntas "raras" :
>
>No te preocupes, no me interesa tu curriculum. Lo que quiero es que me
>digas para que lo quieres para saber si el uso que le estas dando es
>correcto o no. Ha tocado aca en esta lista que algun novato llega y
>pregunta "como se hace tal cosa?" Y uno les responde exactamente eso.
>Pero llegan de vuelta "ah, mira, no me sirve, hice lo que me dijiste
>pero mi computadora exploto". Y entonces aparece una tremenda
>explicacion que si hubieran dado al principio, habria estado claro que
>la respuesta que se les dio no era adecuada por tal o cual razon.
>
> > Para que cada uno de mis comandos (insert, delete, update) este
> > representados en una transacción necesito saber, cuando se dispara cada
> > trigger de mis tablas publicadas la transacción en curso para luego
>guardar
> > esos datos en una de mis tablas (del sistema) y distribuir esas
> > transacciones;
>
>Sugerencia: no uses el ID de transaccion. Por que no? Porque no esta
>garantizado que sea constante en una transaccion. Tu codigo va a
>empezar a fallar en el instante en que agregues uso de savepoints. No
>los usas? Bien, pero y cuando uses una funcion en PL/pgSQL que use
>EXCEPTION? Supon que man~ana se te olvida el asunto de los ID de
>transaccion ...
>
>Oh, si llegas a usar PL/perl, vas a tener problemas rapidamente porque
>eso tambien abre subtransacciones internamente, sin decirtelo.
>
>Y ahora en pgsql-hackers se esta discutiendo que EXPLAIN podria llegar a
>usar subtransacciones internamente, sin decirtelo. Y uno nunca sabe
>cuando VACUUM puede ser modificado para eso (se ha discutido). En
>resumen: No asumas que el ID de transaccion es constante. Puede que hoy
>funcione, pero no sabes nada del futuro.
>
>Una cosa que se me ocurre es que en lugar de usar "tablas de sistema",
>uses tablas temporales para guardar la informacion sobre la transaccion;
>y al final de la transaccion, tomas todo lo que guardaste ahi y lo
>mueves a la "tabla de sistema", incorporando opcionalmente un
>identificador de "operacion" que podria basarse en una secuencia.
>
>--
>Alvaro Herrera http://www.CommandPrompt.com/
>PostgreSQL Replication, Consulting, Custom Development, 24x7 support
>
>---------------------------(fin del mensaje)---------------------------
>TIP 4: No hagas 'kill -9' a postmaster

_________________________________________________________________
MSN Amor: busca tu ½ naranja http://latam.msn.com/amor/

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Roger Villavicencio 2006-06-08 20:53:17 Cerrar conexiones
Previous Message Alvaro Herrera 2006-06-08 19:58:13 Re: Nueva pregunta transaccion