[Linux-programlama] Postgresql Kilitli Satır Kontrolü

---------

New Message Reply About this list Date view Thread view Subject view Author view Attachment view

From: Ahmet (corsairsoft@gmail.com)
Date: Mon 19 Feb 2007 - 05:47:24 EET


Merhaba,

PlanetPostgreSQLi incelerken şu örnek gözüme çarptı

Greg Sabino Mullane
Determining which rows in a table are locked
CREATE OR REPLACE FUNCTION isrowlocked(text,text,text)
RETURNS BOOL
LANGUAGE plpgsql
VOLATILE
STRICT
AS
$gsm$
DECLARE
  myst TEXT;
BEGIN
  myst = 'SELECT 1 FROM '||quote_ident($1)||' WHERE ' ||quote_ident($2)||' = '||$3||' FOR UPDATE NOWAIT';
  EXECUTE myst;
  RETURN FALSE;
  EXCEPTION WHEN lock_not_available THEN
    RETURN true;
END;
$gsm$;

pp=# BEGIN;

pp=# UPDATE soar SET id=id WHERE id=2;

pp=# SELECT isrowlocked('soar','id',1);
 isrowlocked
-------------
 f

pp=# SELECT isrowlocked('soar','id',2);
 isrowlocked
-------------

1. bu kullanım şekli etik mi ? ( yani doğru kullanım şekli bu mu ? )
    yukarıdaki örnekten anladığım kadarıyla bir kilit sorgusu gönderiliyor
    dönen hata yakalanarak boolean bir sonuç elde ediliyor.

2. pg_locks view' ini kullanarak, kilitli satırın bulunduğu veritabanının ve tablonun oid numaralarını alabiliyorum,
    pg_locks view'inde kilitlenen satırında oid'ini görebilmek mümkünmü, eğer "row oid" eklenebilirse böyle
    manuel yollara gerek kalmayacağı kanaatindeyim.

İyi Çalışmalar

----------------------------------------------------------------------------
Don't 'kill -9' the postmaster

_______________________________________________
Linux-programlama mailing list
Linux-programlama@liste.linux.org.tr
http://liste.linux.org.tr/mailman/listinfo/linux-programlama


New Message Reply About this list Date view Thread view Subject view Author view Attachment view

---------

Bu arsiv hypermail 2.1.2 tarafindan uretilmistir.