[Allegro] Mysteriöse Variable

Thomas Berger ThB at Gymel.com
Do Mai 3 09:36:10 CEST 2012


Lieber Herr Eversberg,

> Ja. Der Weg scheint mir zu sein, einen neuen set-Befehl zu machen,
> natürlich nur für acon:
> 
> set keymode on/off   [default on]
> 
> wobei dann "off" den Zustand herstellen würde, daß beim Holen eines
> Satzes die Indexparameter NICHT abgearbeitet werden, aber normalerweise
> würde das eben geschehen, um automatisch für ein "put" gerüstet zu
> sein, d.h. dafür kein "set lock" geben zu müssen, mit all den von
> Berger beschworenen Imponderabilien.
> Es könnte nunmehr Dissens anheben, ob es nicht andersrum sein sollte...

Ich glaube, da gibt es keinen Dissens: Es gibt einfach keinen Bedarf fuer
das von Ihnen vorgeschlagene Standardverhalten, es schadet nur (die
vorbeugende Schluesselberechnung ist Unfug aber selbst die Datensatz-
sperre ist fuer 99,99% aller Vorgaenge Overkill: In typischen Anwendungen
werden staendig grosse Ergebnismengen zur Anzeige gebracht, in wenigen
Anwendungen wird ab und zu ein einzelner Datensatz gespeichert).

Es gibt auch keinen Grund, diesen Schalter ueberhaupt einzufuehren:
Wen ein Job "get edit" benoetigt, muss er eben "get edit" setzen. Und
wenn er (nicht update.job, sondern etwas selbstgeschriebenes, das
z.B. selbsermittelte Ergebnismengen manipuliert) noch weitergehende
Sperren benoetigt, muss dafuer ein geeigneter Mechanismus her (ich
gehe mal davon aus, dass nach einem selbstgesetztem "set tbl lock"
auch meine Schreibvorgaenge abgeschmettert werden)

In dem Zusammenhang gab es allerdings eine Zusatzdiskussion bezueglich
"put" bzw. konkreter "put unlock": Hier sollte das Standardverhalten
m.E. wirklich sein, dass ein Satz hinterher nicht mehr gesperrt
ist, selbst wenn er vorher mit "get edit" (von mir selbst) gesperrt
worden war. Das neulich deswegen eingefuehrte "put lock" war
fehlimplementiert, es darf eben auch nicht kurzfristig den Datensatz
freigeben. Da acon aber nur einen Datensatz simultan gesperrt halten
kann, faellt mir allerdings auch kein Szenario ein, in dem man
einen Datensatz nach dem Speichern gesperrt halten moechte.

viele Gruesse
Thomas Berger



Mehr Informationen über die Mailingliste Allegro