phpbar.de logo

Mailinglisten-Archive

AW: locks

AW: locks

Andreas Honnerlage mysql-de_(at)_lists.bttr.org
Mon, 5 Aug 2002 10:56:02 +0200


Hallo Henning,

ich hatte das gleiche Problem und dies durch eine eigene Lock-Funktion
gelost.
Ich rufe einen Datensatz auf, der den Kriterien entspricht,
setze das Lock-Kennzeichen selbst und speichere den Datensatz dann zuruck,
und zwar mit einem statement:  ... WHERE Datensatznummer = 0000 AND Lock =
False.
Wenn dieses Statement beim Ausfuhren nicht zutrifft, wei? ich , da? die
Sperrung zwischenzeitlich von einem anderen Benutzer vorgenommen wurde.

Danach offne ich den Datensatz erneut, bearbeite ihn entsprechend und setze
beim Verlassen desselben das Lock-Kennzeichen wieder zuruck.

Die vorgehensweise ist etwas umstandlich und es wird auch ziemlich jede
Anfrage mehrfach gemacht, aber es klappt einwandfrei.

Mit meiner Software arbeiten 72 Personen gleichzeitig an Adressen.

Bleibt Dir nur noch die Entscheidung, was Du machst, wenn Du einen
gesperrten Datensatz zu sperren versuchst (Meldung oder Neuaufruf eines
anderen).

Viel Spa? beim Probieren.


Andreas


-----Ursprungliche Nachricht-----
Von: h.evers_(at)_kiel-media.de [mailto:h.evers_(at)_kiel-media.de]
Gesendet: Samstag, 3. August 2002 14:16
An: mysql-de_(at)_lists.4t2.com
Betreff: locks


hallo,
ich habe ein wenig probleme mit den "lock" befehlen.
"select get_lock ('test',10);" und "select release_lock('test');"
funktionieren einwandfrei,
allerdings bekomme ich bei "select is_free_lock('test');" egal welchen
zustand die
variable hat folgende fehlermeldung:
"ERROR 1064: You have an error in your SQL syntax near '("test")' at line 1"
slebst in der doku ist diese syntax angegeben (6.3.6.2 Miscellaneous
Functions).
desweiteren frage ich mich warum "get_lock() bei blockierten lock wartet und
nicht "0"
zurueckgibt? gibt es dafuer einen grund? anfragen in einer warteschlange zu
haben
hilft mir nicht wirklich weiter...
Ich versuche naemlich zu erhindern dass 2 parlell arbeitende user sich nicht
gegenseitig ins gehege kommen.

fuer ideen und hilfen waere ich sehr dankbar.

Henning

---
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql

---
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 



php::bar PHP Wiki   -   Listenarchive