FirebirdSQL logo
Mode NO WAIT

Si le mode NO WAIT est défini, cette transaction lèvera immédiatement une exception de base de données si un conflit de verrou se produit.

Dans l’API Firebird, le mode NO WAIT correspond à la constante isc_tpb_nowait.

Note

L’option LOCK TIMEOUT est une option de transaction séparée mais ne peut être utilisée que pour les transactions WAIT. Spécifier LOCK TIMEOUT avec une transaction NO WAIT provoquera une erreur “invalid parameter in transaction parameter block -Option isc_tpb_lock_timeout is not valid if isc_tpb_nowait was used previously in TPB”.

ISOLATION LEVEL

Le niveau d’isolement d’une transaction est une valeur qui détermine le niveau auquel une transaction est autorisée à avoir des données incohérentes, c’est-à-dire le degré d’isolement d’une transaction par rapport à une autre. Les modifications apportées par un opérateur seront visibles pour tous les opérateurs suivants s’exécutant dans la même transaction, quel que soit son niveau d’isolement. Les modifications apportées dans une autre transaction restent invisibles pour la transaction actuelle jusqu’à ce qu’elles soient confirmées. Le niveau d’isolement, et parfois d’autres attributs, déterminent comment une transaction est isolée.

La clause optionnelle ISOLATION LEVEL spécifie le niveau d’isolation de la transaction en cours d’exécution. C’est la caractéristique la plus importante d’une transaction et elle détermine son comportement par rapport aux autres transactions concurrentes.

Il existe trois niveaux d’isolation des transactions :

  • SNAPSHOT

  • SNAPSHOT TABLE STABILITY

  • READ COMMITTED révisé (NO RECORD_VERSION ou RECORD_VERSION ou READ CONSISTENCY)