Unix Technical Forum

=?iso-8859-9?Q?Postgresql_Kilitli_Sat=FDr_Kontrol=FC?=

This is a discussion on =?iso-8859-9?Q?Postgresql_Kilitli_Sat=FDr_Kontrol=FC?= within the Pgsql General forums, part of the PostgreSQL category; --> Merhaba, PlanetPostgreSQLi incelerken şu örnek gözüme çarptı Greg Sabino Mullane Determining which rows in a table are locked CREATE ...


Go Back   Unix Technical Forum > Database Server Software > PostgreSQL > Pgsql General

Register FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 04-09-2008, 02:06 PM
Ahmet
 
Posts: n/a
Default =?iso-8859-9?Q?Postgresql_Kilitli_Sat=FDr_Kontrol=FC?=

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
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 05:05 AM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0
www.UnixAdminTalk.com