Manuel:$wgDebugDBTransactions
Cette fonctionnalité a été supprimée entièrement dans la version 1.27.0. |
| Paramètres de la base de données: $wgDebugDBTransactions | |
|---|---|
| Permet d'avoir des traces supplémentaires concernant le cycle de vie des transactions de la base de données dans la sortie du debogage. |
|
| Introduit dans la version : | 1.20.0 (r113487)(Gerrit change 3700; git #cfb8e9a2) |
| Retiré dans la version : | 1.27.0 (Gerrit change 243526; git #a88df43d) |
| Valeurs autorisées : | (booléen) |
| Valeur par défaut : | false |
| Autres paramètres : Alphabétique | Par fonction | |
Détails
Permet d'avoir des traces supplémentaires concernant le cycle de vie des transactions de la base de données dans la sortie du debogage.
Transaction state changed from IDLE -> TRANS
A chaque fois que l'état d'une transaction est modifié
- IDLE
- aucune transaction n'est ouverte avec la base de données
- TRANS
- une transaction a été ouverte
- ERROR
- une transaction est en erreur
Exemple de sortie :
Query trunk (15) (slave): BEGIN
Transaction state changed from IDLE -> TRANS
Query trunk (16) (slave): SELECT /* DatabasePostgres::schemaExists */ 1
FROM "pg_catalog"."pg_namespace" WHERE nspname = 'mediawiki' LIMIT 1
Query trunk (17) (slave): SELECT /* DatabasePostgres::getSchemas */ current_schemas(false)
Schema "mediawiki" already in the search path
Query trunk (18) (slave): COMMIT
Transaction state changed from TRANS -> IDLE
Cette fonctionnalité est utile pour dépanner les situations où certaines opérations semblent être ignorées (phab:T37572) ou chaque fois que le message d'erreur 25P02 : ERROR : current transaction is aborted, commands ignored until end of transaction block est renvoyé (phab:T39172) ou lorsqu'il est nécessaire de comprendre quelle était la progression de la transaction en cas d'échec du contrôle de référence différé (phab:T60189).
Un journal de la totalité des opérations peut aider à identifier des situations où des fonctionnalités comme la cache de localisation ou des mises à jour différenciées peuvent interférer avec l'état attendu de la transaction pendant le traitement de la ligne principale.