Guide de développement

Local Navigation

Utilisation de pragmas

La commande PRAGMA est une fonction de SQLite qui vous permet d'interroger le schéma, d'interroger et de modifier le cookie du schéma et le cookie utilisateur, de modifier le fonctionnement de la bibliothèque SQLite et de déboguer la bibliothèque. Les pragmas pris en charge sont décrits dans la classe Pragma.

L'API de base de données prend en charge les commandes Pragma suivantes :

Pragma

Description

collation_list

Obtient une liste des séquences de classement définies pour la connexion de base de données actuelle.

Par exemple, pour obtenir une liste des séquences de classement définies, exécutez l'instruction SQL "PRAGMA collation_list;" et consultez les lignes qui en résultent.

compile_options

Obtient les noms d'options du temps de compilation utilisés lors de la création de la base de données.

Par exemple, pour obtenir les options de compilation pour la bibliothèque SQLite, exécutez l'instruction SQL "PRAGMA compile_options;" et consultez les lignes qui en résultent. Vous pourrez voir une option par ligne.

database_list

Obtient une ligne pour chaque base de données rattachée à la connexion de base de données actuelle.

Par exemple, pour obtenir une liste des bases de données rattachées à une connexion, exécutez l'instruction SQL "PRAGMA database_list;" et consultez les lignes qui en résultent. Vous pourrez voir un nom de base de données par ligne.

foreign_keys

Obtient ou définit l'application de contraintes de clés étrangères. Ce paramètre équivaut à l'utilisation de l'option foreign_key_constraints dans la classe DatabaseOptions.

Par exemple, pour définir l'application de contraintes de clés étrangères, exécutez l'instruction SQL "PRAGMA foreign_keys;" en dehors d'une transaction.

freelist_count

Obtient le nombre de pages inutilisées dans la base de données, ce qui vous permet de déterminer le moment opportun pour exécuter la commande VACUUM.

Par exemple, pour obtenir le nombre de pages inutilisées dans un fichier de base de données, exécutez l'instruction SQL "PRAGMA freelist_count;" et consultez la ligne qui en résulte.

journal_mode

Obtient ou définit le mode de journalisation de la connexion de base de données actuelle. Les paramètres disponibles fournissent des performances et des niveaux de sécurité de données différents. Tous les options, sauf WAL et OFF, utilisent un journal de restauration. Les options sont :

  • DELETE : supprime le journal de restauration à la fin d'une transaction (option par défaut).
  • TRUNCATE : valide les transactions en tronquant le journal de restauration à une longueur nulle.
  • PERSIST : empêche d'autres connexions de procéder à la restauration du journal. Dans ce mode, le journal de restauration peut devenir très volumineux ; vous souhaiterez peut-être le contrôler à l'aide de journal_size_limit.
  • MEMORY : stocke le journal de restauration dans la RAM.
  • WAL : génère un journal WAL (Write-Ahead Log) devant être utilisé au lieu d'un journal de restauration.
  • OFF : désactive le journal de restauration, ce qui désactive les propriétés d'atomicité des commandes Commit et Rollback de SQLite.

Par exemple, pour vérifier le mode de journalisation, exécutez l'instruction SQL "PRAGMA journal_mode;" et consultez la ligne qui en résulte. Pour définir le mode de journalisation sur WAL, exécutez l'instruction SQL "PRAGMA journal_mode = WAL;".

journal_size_limit

Obtient ou définit la taille maximale du journal, en octets. Cela est utile lorsque journal_mode est défini sur PERSIST.

Par exemple, pour vérifier la taille maximale du journal, exécutez l'instruction SQL "PRAGMA journal_size_limit;" et consultez la ligne qui en résulte. Pour définir la taille maximale du journal sur 1 000 octets, exécutez l'instruction SQL "PRAGMA journal_size_limit = 1000;".

page_count

Obtient le nombre total de pages de la base de données.

synchronous

Définit le mode synchrone pour votre base de données. Les options sont FULL (le mode par défaut, le plus sûr mais aussi le plus lent), NORMAL et OFF.

Par exemple, pour vérifier le mode synchrone, exécutez l'instruction SQL "PRAGMA synchronous;" et consultez la ligne qui en résulte. Pour définir le mode synchrone sur OFF, exécutez l'instruction SQL "PRAGMA synchronous = 0;".

user_version

Obtient ou définit une version utilisateur. La version utilisateur n'est pas utilisée par SQLite ; elle vous est cependant proposée. La version utilisateur est un nombre entier 32 bits signé.

Par exemple, pour définir la version utilisateur sur 123, exécutez l'instruction SQL "PRAGMA user_version = 123;". Pour vérifier la version utilisateur, exécutez l'instruction SQL "PRAGMA user_version;" et consultez la ligne qui en résulte.


Ces informations vous ont-elles été utiles ? Envoyez-nous vos commentaires.