Re: Bloqueo en registro-tabla

From: "Mariano Reingart" <mariano(at)nsis(dot)com(dot)ar>
To: "suso" <jlcubas(at)terra(dot)es>
Cc: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Bloqueo en registro-tabla
Date: 2009-06-15 21:46:12
Message-ID: B70C536FC4094007A1F8431DD5E0A671@pc1
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

suso wrote:
> Acabo de ver "xmin", veo que es un "campo" para cada tabla, es
> correcto? Si es así, me supongo, no nos dice el valor anterior de
> cada campo, sólo si en la tabla ha habido algún cambio, es asi?

Si, si no me equivóco, xmin es un campo del sistema para todas las tablas.

Informa el valor actual, o sea, si en un momento haces:

SELECT *, xmin FROM tabla WHERE ...;

xmin te va a dar un número tipo 1290349 para un registro puntual

Luego, si ese registro cambia, xmin te va a dar otro número, pero para la
próxima consulta (tenés que hacer un nuevo SELECT)

O sea, antes de hacer un UPDATE haces un nuevo SELECT, si te da otro xmin es
porque los datos se modificaron (te conviene hacerlo en la misma transacción
el SELECT y el UPDATE para evitar inconsistencias)

Sds
Mariano

> Un saludo
> Suso
>> Hola Mariano, pero no sé como poder obtener esos valores(xmin), es
>> decir, es un simple recordset apuntando a , dónde?
>> Ese valor es uno sólo para todos los campos de cada tabla?
>> Gracias
>> Un saludo
>> Suso
>>
>>> suso wrote:
>>>> Ahora mismo lo tengo "casi" como dices, es decir, tengo un campo,
>>>> en una sola tabla, que es "la referencia/consulta" en cada
>>>> insercion-update Lo de la fecha me parece muyyy buena idea.
>>>>
>>>> Aunque, por vuestros comentarios, es mejor que la descarte, y
>>>> pruebe a comparar los datos "iniciales" preguardados, con los que
>>>> se van a guadar, y así saber si alguien ha intentado algo, y si es
>>>> así, darle al médico la opción de actualizar.
>>>
>>> No hace falta comparar todos los datos, podes usar la columna de
>>> sistema xmin, que te da la identidad (id de transacción) de la
>>> versión de la fila.
>>> Si originalmente leiste la fila y luego se modificó, cuando leas
>>> nuevamente antes de grabar el campo xmin va a tener otro valor:
>>> http://www.postgresql.org/docs/current/interactive/ddl-system-columns.html
>>>
>>>
>>> Sds
>>> Mariano
>>> --
>>> TIP 2: puedes desuscribirte de todas las listas simultáneamente
>>> (envía "unregister TuDirecciónDeCorreo" a
>>> majordomo(at)postgresql(dot)org)
>>
>> --
>> TIP 2: puedes desuscribirte de todas las listas simultáneamente
>> (envía "unregister TuDirecciónDeCorreo" a
>> majordomo(at)postgresql(dot)org)
>
> --
> TIP 3: Si encontraste la respuesta a tu problema, publícala, otros te
> lo agradecerán

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message suso 2009-06-15 21:59:11 Re: Bloqueo en registro-tabla
Previous Message suso 2009-06-15 21:13:17 Re: Bloqueo en registro-tabla