FirebirdSQL logo
Niveau d’isolation SNAPSHOT TABLE STABILITY

Le niveau d’isolation de la transaction SNAPSHOT TABLE STABILITY permet, comme dans le cas de `SNAPSHOT', de ne voir que les modifications qui ont été validées au plus tard au moment où cette transaction a commencé.Ainsi, dès qu’une telle transaction démarre, les autres transactions du client ne peuvent pas effectuer de modifications dans les tables de cette base de données déjà modifiées de quelque manière que ce soit par la première transaction.Toutes les tentatives de ce type dans des transactions simultanées entraîneront des exclusions de la base de données.Les autres transactions sont totalement libres de consulter toutes les données.

En utilisant l’offre de réservation RESERVING, il est possible d’autoriser d’autres transactions à modifier les données de certaines tables.

Si un client lance une transaction de niveau d’isolation SNAPSHOT TABLE STABILITY et qu’une autre transaction apporte une modification non approuvée à une table de la base de données, le lancement de la transaction de niveau d’isolation provoquera une erreur de base de données.

Dans l’API Firebird, le mode d’isolation SNAPSHOT TABLE STABILITY est représenté par la constante isc_tpb_consistency.

Niveau d’isolation READ COMMITTED

Le niveau d’isolation READ COMMITTED permet de voir toutes les modifications confirmées des données de la base de données effectuées dans d’autres transactions concurrentes dans une transaction sans la relancer. Les modifications non confirmées ne sont pas visibles dans les transactions de ce niveau d’isolation.

Pour obtenir une liste de lignes mise à jour pour une table d’intérêt, il suffit de réexécuter l’opérateur SELECT dans une transaction active READ COMMITTED sans la relancer.

Dans le mode d’isolation de l’API Firebird, READ COMMITTED correspond à la constante isc_tpb_read_committed.