From: | "Juan P(dot) Aviles" <jputem(at)yahoo(dot)es> |
---|---|
To: | Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Row level lock in plpgsql |
Date: | 2005-04-07 17:44:35 |
Message-ID: | 20050407174435.10976.qmail@web26209.mail.ukl.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl> wrote:
Define "no me funciono". Aca funciona perfectamente:
"no me funciono" : Lo que hago ha manera de prueba es en un procedimiento:
Select into reg * from tabla1 where prod='prod1' order by registro for update; para obtener los valores de la fila que quiero bloquear. y su posterior Insert en la misma tabla con los datos nuevos y en otro procedimiento hago lo mismo salvo que entre el select y el insert hago un loop de un cierto tiempo. Despues llamo al segundo procedimiento y luego al primero cosa que el segundo se quede en el loop (con la fila bloqueada supuestamente por el for update) y luego lanzo el primer procedimiento, pero, este me afecta de inmediato la fila sin tomar en cuenta el bloqueo. Es es lo que no me funciona. :)
En ningun caso he probado la forma que tu sugieres con perform me puedes dar mas datos acerca de esto, de todas maneras lo voy a probar de inmediato.
alvherre=# create table a (foo int);
CREATE TABLE
alvherre=# insert into a values (1);
INSERT 17311 1
alvherre=# create function asd (int ) returns void language plpgsql as
$$ begin perform * from a where foo=$1 for update; return; end$$;
CREATE FUNCTION
alvherre=# begin;
BEGIN
alvherre=# select asd(1);
asd
-----
(1 fila)
En otra sesion:
alvherre=# select asd(1);
se queda bloqueado hasta que haga commit en la primera.
Tendra algo que ver que trabajo con autocommit desde python ????
Tengo entendido que cualquier procedimiento que yo llame desde python o desde cualquier lenguaje automaticamente inicia una transaccion y hace un commit si esta termina bien o un rollback si termina mal.
Juan Pablo Avilés
---------------------------------
From | Date | Subject | |
---|---|---|---|
Next Message | Camilo Ismael Felipe Panadeiros | 2005-04-07 17:54:47 | problemas con funciones de fecha en pl-pgsql |
Previous Message | Mario A. Soto Cordones | 2005-04-07 17:30:24 | Re: Duda sobre constraints |