From: | Gabriel Ferro <gabrielrferro(at)yahoo(dot)com(dot)ar> |
---|---|
To: | Alvaro Herrera <alvherre(at)commandprompt(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Desencriptar Registros y pasar a otra |
Date: | 2007-02-20 15:16:19 |
Message-ID: | 833939.24267.qm@web52113.mail.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
ok, vamos por partes. SI BLOQUEO LA TABLA:
Recordando que las dos primeras letras del campo "Sumario" identifican al usario.
-La contra con el lock es que ningun usuario podra entrar yo solo queria bloquear al usuario que concuerda con los registros que estoy procesando, la cosa es que luego de desencriptar tengo que hacer bastante procesamiento y esto puede durar un par de minutos.
x- posible solucion: pensandolo mejor me conviene bloquear la tabla completa con
LOCK TABLE "Recibidas" IN SHARE ROW EXCLUSIVE MODE; desencriptar la tabla completa y despues procesar tranquilo su resultado y no hacerlo "bloquear registros+desencriptar+proceso" por cada usuario.
de modo que la funcion para chequear el bloqueo quedaria
------------------------------------------------------------
CREATE OR REPLACE FUNCTION istablalock(text)
RETURNS BOOL
-- devuelve verdadero si la tabla esta bloqueada
-- el %1 es la tabla a bloquear
LANGUAGE plpgsql
VOLATILE
STRICT
AS
$gsm$
BEGIN
EXECUTE 'LOCK TABLE '||quote_ident($1) ||' IN SHARE ROW EXCLUSIVE MODE';
RETURN FALSE;
EXCEPTION WHEN lock_not_available THEN
RETURN true;
END;
$gsm$;
------------------------------------------------------------
en lo que respecta a las chanchadas de comillas simples y dobles en
> execute 'DELETE FROM "RecibidasDes" where "Sumario" IN (SELECT "Sumario" FROM "Recibidas" WHERE "Sumario" LIKE \''||Depta||'%\');';
> execute 'INSERT INTO "RecibidasDes" SELECT "Sumario", "TipoInfo",ByteaText(decrypt("Info",\''||a||'\',\'bf\')) FROM "Recibidas" WHERE "Sumario" LIKE \''||Depta||'%\';';
En realidad estoy entregado no termino de hacerlo como deberia hacerse. si alguien me puede hacer al menos una para entender como trabaja ¡¡¡barbaro|||....
¿que opinan?
__________________________________________________
Preguntá. Respondé. Descubrí.
Todo lo que querías saber, y lo que ni imaginabas,
está en Yahoo! Respuestas (Beta).
¡Probalo ya!
http://www.yahoo.com.ar/respuestas
From | Date | Subject | |
---|---|---|---|
Next Message | Leonel Nunez | 2007-02-20 15:22:52 | Re: OT a quien se deb pedir que se agregue pgsql-es-ayuda a news.postgresql.org |
Previous Message | Guido Barosio | 2007-02-20 15:15:44 | Re: borrar datos de un esquema... |