next up previous
Next: Cas d'utilisations Up: Les transactions et les Previous: Cas d'utilisations

Les deadlocks

Même cas de figure, mais on en profite pour mettre à jour les données.

Temps | Session A           | Session B
t     | bd=#begin;          | bd=#begin;
      | BEGIN               | BEGIN
t+1   | bd=#lock table XXX  | bd=#lock table XXX
      |     in share mode;  |     in share mode;
      | LOCK TABLE          | LOCK TABLE         
      |                     |
t+2   | bd=# select XXX...; | bd=# select XXX ...;
      | -- OK!              | -- OK!
t+3   | bd=# update XXX;    | 
      | -- requête bloquée! |
t+4   |                     | bd=# update XXX ...;
      |                     | -- erreur! deadlock détecté
t+5   | UPDATE              | -- verrou levé...



Anne Parrain 2005-11-29