Re: oid hakkında

From: Volkan YAZICI <yazicivo(at)ttnet(dot)net(dot)tr>
To: acemi nix <aceminix(at)gmail(dot)com>
Cc: pgsql-tr-genel(at)postgresql(dot)org
Subject: Re: oid hakkında
Date: 2006-02-28 19:25:43
Message-ID: 20060228192543.GB159@alamut
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-tr-genel

On Feb 28 08:42, acemi nix wrote:
> peki mesela bi kayıt eklettik son eklenen kaydın sequenceli kolonunun
> değerini nasıl bulucaz
>
> 5 ali
> 6 mehmet
>
> var veritabanında. yeni kayıt ekledik diyelim currval() fonksiyonu ile bu
> değeri görebiliyoruz. ama ya
> biz kayıdı ekleyince arada bi kayıtdaha eklenmişse ve bizim currval sonra
> çalıştıysa ne olucak

Burada MVCC tarafından sağlanan transaction izolasyon seviyeleri
devreye giriyor. Konu hakkında ayrıntılı bilgi alabileceğiniz kaynakları
göstermeden önce basit bir şekilde konuyu izah etmeye çalışayım:

BEGIN;
INSERT INTO ...;
SELECT lastval();
COMMIT;

dediğinizi düşünelim. Burada lastval() fonksiyonu, sadece BEGIN
ifadesi kullanıldıktan hemen sonra COMMIT edilen değişiklikleri görecek
şekilde çalışır - öntanımlı olarak. Fakat transaction izolasyon
seviyesini değiştirerek o an COMMIT edilen (yani BEGIN'den itibaren
değil de SELECT sorgusundan hemen önceki) değerleri görebilecek şekilde
yapılandırılabilir.

Daha ayrıntılı bilgi için şu sayfaları inceleyebilirsiniz:

12. Concurrency Control
http://www.postgresql.org/docs/8.1/interactive/mvcc.html

9.12. Sequence Manipulation Functions
http://www.postgresql.org/docs/8.1/interactive/functions-sequence.html

İyi çalışmalar.

In response to

Responses

Browse pgsql-tr-genel by date

  From Date Subject
Next Message Volkan YAZICI 2006-02-28 19:32:26 Re: Oracle'dan PostgreSQL'e
Previous Message acemi nix 2006-02-28 18:42:48 Re: oid hakkında