[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Exclusive-lock i transakcja





Tomasz Fidecki wrote:
> 
> Moim zdaniem ewidenty błąd. No chyba, że jesteśmy świadkami ewolucji kompilatora
> i swego rodzaju optymalizacji procesu wyszukiwania potencjalnych transakcji.
[...]
> Dopiero polecenie typu assign lub update przekonuje kompilator do tego, by
> potraktował blok jako transakcję. Sam więc sobie obaliłem tezę o ewolucji ;-)))
> Dlatego jest to raczej materiał na kolejne, tak liczne łatki.
> Grozy dodaje fakt, że debugger też nie widzi transakcji (pewnie korzysta z
> funkcji TRANSACTION) ;-)))


Przepraszam za mój dyletancki głos w tej dyskusji, ale zdaje się że Tomek
sam rozwiązał problem, choć pewnie jeszcze o tym nie wie.

O ile pamiętam, bo już lata nie napisałem żadnej instrukcji w 4GLu, jeszcze
w dokumentacji do 6ki zakres transakcji był zdefiniowany jako "najbardziej
zagnieżdżony blok z własnością transakcji (własność taką miała instrukcja
REPEAT i FOR, ale już na przykład DO: nie) w którym znajduje się instrukcja
modyfikująca zawartość bazy danych". ASSIGN lub UPDATE jest modyfikacją, a
DISPLAY i MESSAGE nie. Parametr TRANSACTION służy do zawężania lub
rozszerzania zakresu transakcji, zaś parametr NO|SHARE|EXCLUSIVE LOCK
definiuje tylko sposób blokowania rekordu. Dlatego w pierwszym przykładzie
kol. Szbłykina, ani w drugim Marka nie widać transakcji.

Wszystko jest opisane w dokumentacji do 6-ki, oczywiście w 8ce mogło się to
zmienić, wtedy możecie rzucić we mnie CD-ROMem. 

Ale jeśli nie, to znaczy, że nie taki Progress głupi jak go malują.

Pozdrowienia,

Paweł Dobrzynski
------
Strona WWW:     http://pluton.pol.lublin.pl/pugpl/index.htm
Obsluga listy:  listserv@zeto.bydgoszcz.pl
Archiwum listy: http://www.zeto.bydgoszcz.pl/progress/index.html
------