[Allegro] Avanti Lock-Mechanismus

Roland Henkel rhenkel at snafu.de
Sa Jun 23 09:48:36 CEST 2007


Liebe Liste,

wo gibt es detailierte und zusammenhängende Informationen über den 
Lock-Mechanismus von Avanti?

Wenn ich richtig verstanden habe, gibt es nur den Zustand "gesperrt" 
oder "nicht gesperrt", jedoch ist der Prozess, der die Sperrung gerade
gesperrt hat, nicht zu ermitteln. Oder doch?

Bezieht sich die Sperrung nur auf das schreiben, so dass eine andere 
Anwendung den Satz derweil lesen kann? Oder ist der betreffende Satz
für andere Anwendungen zu diesem Zeitpunkt überhaupt nicht zugänglich?

Mit Hinsicht auf "erase" ist wohl das letztere der Fall.

Wie verhalten sich  get edit/put und set lock/unlock zueinander?
Sind get edit ... put und get ... set lock ... put unlock äquivalent?

Kann man im Falle von get ... set lock ein put ausführen oder *muss* put 
unlock verwendet werden? Sofern put möglich ist, bewirkt es die Freigabe 
   des Satzes oder muss noch ein set unlock folgen?

In der Doku (ich habe allerdings Version 25.9, möglicherweise ist das in 
den neueren Versionen anders formuliert) von put unlock steht:

"Es wird gespeichert, auch wenn der Satz gesperrt ist".

Bei set unlock:

Statt mit "set unlock" kann man einen Satz auch mit   put unlock  
wieder freigeben, d.h. er wird dann geschrieben, obwohl er gesperrt ist.

Das heisst also, put unlock wirkt wie das put nach get edit. Wenn man 
nur die set unlock-Doku liest, könnte das Mißverständnis entstehen, dass 
der Satz nach dem Schreiben gesperrt bliebe.

Wie verhält sich update bei gesperrten Sätzen? Wird der betreffende Satz 
  ausgelassen oder das Update im Ganzen nicht ausgeführt?


Mit freundlichen Grüssen
R. Henkel



Mehr Informationen über die Mailingliste Allegro