hotti: MySQL - LOCK TABLES - Reservierungssystem

Beitrag lesen

hi Alex,

Natürlich hat das auch den Nachteil, dass sich einer über einen freien Platz freut und beim Bezahlen merken muss, dass ein Anderer schneller war. Aber wie das immer so ist im Leben: Wer zuerst kommt, mahlt zuerst *G.

Genau da soll ja aber nicht passieren.

Doch, genau so soll es aus den von mir beschriebenen Gründen sein.

Überbuchungen würde ich auf gar keinen Fall zulassen. Wie ich gestern schrieb, eine Trennung zwischen Transaktionen und Besuchersicht ist der richtige Weg, denke ich, so wird die Sicht nicht blockiert. Die Trigger über der Transaktionstabelle müssen ja nur in der Sicht den Status (frei, pending, verbucht) einer Ressource ändern:

Begin => pending
  Commit => verbucht
  Rollback => frei

Wobei es mit Sicherheit Besucher gibt, die beim Status 'pending' alle drei Sekunden F5 drücken in der Hoffnung, dass der Zahlvorgang des Kontrahenten schief geht und die Ressource wieder frei wird ;)

Hotti