Dziekuje za szybka odpowiedz. Problem w tym, ze musze miec 100%pewnosci, ze grupa bedzie zawierala po 10 userow... Nie wiem czy dobrze rozumiem transakcje bo co jesli:
- dla usera sprawdzam (w izolacji) ilosc uzytkownikow w grupie
- jesli jest mniej niz 10 userow w grupie dopisuje do grupy usera A
- koncze transakcje
Problem:
- user B (w tym samym czasie probuje sie dopisac)
- sprawdzanie ilosci osob w grupie nie uwzglednia uzytkownika A bo transakcja jest nie zakonczona i stwierdza, ze jest mniej niz 10 osob w grupie
- zapisanie usera B do grupy
- koniec transakcji

Konczac transakcje dla usera B dopisze go jako 11 do grupy bo sprawdzanie ilosci userow w grupie dalo bledny wynik...
Czy jest mozliwe w PG jakies kolejkowanie w sensie blokowanie kolejnych zapytan na czas trwania poprzednich? Chcialbym, zeby skrypt poprostu poczekal na wolny dostep do bazy, a nie zeby odzucal zapytanie.
EDIT
Tak sobie mysle (jak sie mysle to prosze mnie wyprowadzic z bledu) ze jesli stopien izolacji dam na read uncommited to bedzie ok. Transakcje niezalezne beda widzialy zmiany przed ich zaakceptowaniem. Userzy nie musza byc dopisywani po kolei do grup, a funkcja szuka pierwszej wolnej grupy wiec jak transakcje odrzuce to pozniej i tak kogos sie dodat do starej grupy

EDIT2
No panowie!! Smialo pisac swoje sugestie