Guida allo sviluppo

Local Navigation

Uso dei pragma

Il comando PRAGMA è una funzionalità di SQLite che consente di inviare una query allo schema, inviare una query e modificare i cookie dello schema e dell'utente, modificare il funzionamento della libreria SQLite ed eseguire il debug della libreria. I pragma supportati sono descritti nella classe Pragma.

L'API Database supporta i seguenti comandi Pragma:

Pragma

Descrizione

collation_list

Consente di ottenere un elenco delle sequenze di confronto definite per la connessione al database corrente.

Ad esempio, per ottenere un elenco di sequenze di confronto definite, eseguire l'istruzione SQL "PRAGMA collation_list;" e leggere le righe risultanti.

compile_options

Consente di ottenere i nomi delle opzioni relative all'ora di compilazione, utilizzati durante la creazione del database.

Ad esempio, per ottenere le opzioni di compilazione per la libreria SQLite, eseguire l'istruzione SQL "PRAGMA compile_options;" e leggere le righe risultanti. Sarà disponibile un'opzione per riga.

database_list

Consente di ottenere una riga per ciascun database allegato alla connessione al database corrente.

Ad esempio, per ottenere un elenco dei database allegati per una connessione, eseguire l'istruzione SQL "PRAGMA database_list;" e leggere le righe risultanti. Sarà disponibile un nome database per riga.

foreign_keys

Consente di ottenere o impostare l'imposizione di vincoli di chiave esterna. Questa impostazione equivale all'utilizzo dell'opzione foreign_key_constraints nella classe DatabaseOptions.

Ad esempio, per impostare l'imposizione di vincoli di chiave esterna, eseguire l'istruzione SQL "PRAGMA foreign_keys;" al di fuori di una transazione.

freelist_count

Consente di ottenere il numero di pagine inutilizzate nel database, che è possibile utilizzare per determinare il momento in cui eseguire il comando VACUUM.

Ad esempio, per ottenere il numero di pagine inutilizzate in un file del database, eseguire l'istruzione SQL "PRAGMA freelist_count;" e leggere la riga risultante.

journal_mode

Consente di ottenere o impostare la modalità del diario della connessione al database corrente. Le impostazioni disponibili offrono prestazioni e livelli di sicurezza dei dati diversi. Tutte le opzioni, eccetto WAL e OFF, utilizzano un diario di ripristino. Le opzioni sono:

  • DELETE: consente di eliminare il diario di ripristino al termine di una transazione (impostazione predefinita).
  • TRUNCATE: consente di eseguire il commit delle transazioni, troncando il diario di ripristino su una lunghezza pari a zero.
  • PERSIST: impedisce ad altre connessioni di ripristinare il diario. In questa modalità, il diario di ripristino può diventare molto grande, pertanto potrebbe essere opportuno controllarlo tramite journal_size_limit.
  • MEMORY: consente di memorizzare il diario di ripristino nella RAM.
  • WAL: costringe ad utilizzare un registro write-ahead invece di un diario di ripristino.
  • OFF: consente di disattivare il diario di ripristino, disattivando di conseguenza le funzionalità di ripristino e commit atomico di SQLite.

Ad esempio, per controllare la modalità del diario, eseguire l'istruzione SQL "PRAGMA journal_mode;" e leggere la riga risultante. Per modificare la modalità del diario in un registro write-ahead, eseguire l'istruzione SQL "PRAGMA journal_mode = WAL;".

journal_size_limit

Consente di ottenere o impostare il limite di dimensioni del diario, in byte. Ciò risulta utile quando journal_mode è impostato su PERSIST.

Ad esempio, per controllare il limite di dimensioni del diario, eseguire l'istruzione SQL "PRAGMA journal_size_limit;" e leggere la riga risultante. Per impostare il limite di dimensioni del diario su 1000 byte, eseguire l'istruzione SQL "PRAGMA journal_size_limit = 1000;".

page_count

Consente di ottenere il numero totale di pagine nel database.

synchronous

Consente di impostare la modalità sincrona per il database in uso. Le opzioni sono FULL (la modalità più sicura ma più lenta, nonché quella predefinita), NORMAL e OFF.

Ad esempio, per controllare la modalità sincrona, eseguire l'istruzione SQL "PRAGMA synchronous;" e leggere la riga risultante. Per modificare la modalità sincrona in OFF, eseguire l'istruzione SQL "PRAGMA synchronous = 0;".

user_version

Consente di ottenere o impostare una versione utente. La versione utente non è utilizzata da SQLite; è disponibile per l'utilizzo da parte dell'utente. La versione utente è un intero con firma a 32 bit.

Ad esempio, per impostare la versione utente su 123, eseguire l'istruzione SQL "PRAGMA user_version = 123;". Per controllare la versione utente, eseguire l'istruzione SQL "PRAGMA user_version;" e leggere la riga risultante.

Argomento successivo: Utilizzo dei BLOB

Le informazioni sono state utili? Inviateci i vostri commenti.