Sq3Lite PACKAGE - definition of the enum type … More...
Sq3CheckpointE | |
enum | Sq3CheckpointE { SQ3_CHECKPOINT_PASSIVE = 0 , SQ3_CHECKPOINT_FULL = 1 , SQ3_CHECKPOINT_RESTART = 2 , SQ3_CHECKPOINT_TRUNCATE = 3 } |
Checkpoint Mode Values. More... | |
typedef enum Sq3CheckpointE | Sq3CheckpointE |
Checkpoint Mode Values. | |
MK_STRN | Sq3CheckpointE_ToString (enum Sq3CheckpointE value) |
return the Sq3CheckpointE as string … | |
static MK_I32 | Sq3CheckpointE_ToInt (enum Sq3CheckpointE value) |
return the Sq3CheckpointE as integer … | |
enum MkErrorE | Sq3CheckpointE_FromInt (MK_I32 const value, enum Sq3CheckpointE *value_out) |
return the Sq3CheckpointE from integer … | |
Sq3DbStatusE | |
enum | Sq3DbStatusE { SQ3_DBSTATUS_LOOKASIDE_USED = 0 , SQ3_DBSTATUS_CACHE_USED = 1 , SQ3_DBSTATUS_SCHEMA_USED = 2 , SQ3_DBSTATUS_STMT_USED = 3 , SQ3_DBSTATUS_LOOKASIDE_HIT = 4 , SQ3_DBSTATUS_LOOKASIDE_MISS_SIZE = 5 , SQ3_DBSTATUS_LOOKASIDE_MISS_FULL = 6 , SQ3_DBSTATUS_CACHE_HIT = 7 , SQ3_DBSTATUS_CACHE_MISS = 8 , SQ3_DBSTATUS_CACHE_WRITE = 9 , SQ3_DBSTATUS_DEFERRED_FKS = 10 , SQ3_DBSTATUS_CACHE_USED_SHARED = 11 , SQ3_DBSTATUS_CACHE_SPILL = 12 , SQ3_DBSTATUS_MAX = 12 } |
Status Parameters for database connections. More... | |
typedef enum Sq3DbStatusE | Sq3DbStatusE |
Status Parameters for database connections. | |
MK_STRN | Sq3DbStatusE_ToString (enum Sq3DbStatusE value) |
return the Sq3DbStatusE as string … | |
static MK_I32 | Sq3DbStatusE_ToInt (enum Sq3DbStatusE value) |
return the Sq3DbStatusE as integer … | |
enum MkErrorE | Sq3DbStatusE_FromInt (MK_I32 const value, enum Sq3DbStatusE *value_out) |
return the Sq3DbStatusE from integer … | |
Sq3AccessE | |
enum | Sq3AccessE { SQ3_ACCESS_EXISTS = 0 , SQ3_ACCESS_READWRITE = 1 , SQ3_ACCESS_READ = 2 } |
Flags for the xAccess VFS method. More... | |
typedef enum Sq3AccessE | Sq3AccessE |
Flags for the xAccess VFS method. | |
MK_STRN | Sq3AccessE_ToString (enum Sq3AccessE value) |
return the Sq3AccessE as string … | |
static MK_I32 | Sq3AccessE_ToInt (enum Sq3AccessE value) |
return the Sq3AccessE as integer … | |
enum MkErrorE | Sq3AccessE_FromInt (MK_I32 const value, enum Sq3AccessE *value_out) |
return the Sq3AccessE from integer … | |
Sq3IoCapEF | |
enum | Sq3IoCapEF { SQ3_IOCAP_ATOMIC = 0x00000001 , SQ3_IOCAP_ATOMIC512 = 0x00000002 , SQ3_IOCAP_ATOMIC1K = 0x00000004 , SQ3_IOCAP_ATOMIC2K = 0x00000008 , SQ3_IOCAP_ATOMIC4K = 0x00000010 , SQ3_IOCAP_ATOMIC8K = 0x00000020 , SQ3_IOCAP_ATOMIC16K = 0x00000040 , SQ3_IOCAP_ATOMIC32K = 0x00000080 , SQ3_IOCAP_ATOMIC64K = 0x00000100 , SQ3_IOCAP_SAFE_APPEND = 0x00000200 , SQ3_IOCAP_SEQUENTIAL = 0x00000400 , SQ3_IOCAP_UNDELETABLE_WHEN_OPEN = 0x00000800 , SQ3_IOCAP_POWERSAFE_OVERWRITE = 0x00001000 , SQ3_IOCAP_IMMUTABLE = 0x00002000 , SQ3_IOCAP_BATCH_ATOMIC = 0x00004000 } |
Device Characteristics. More... | |
typedef enum Sq3IoCapEF | Sq3IoCapEF |
Device Characteristics. | |
MK_STRN | Sq3IoCapEF_ToString (enum Sq3IoCapEF value) |
return the Sq3IoCapEF as string … | |
static MK_I32 | Sq3IoCapEF_ToInt (enum Sq3IoCapEF value) |
return the Sq3IoCapEF as integer … | |
enum MkErrorE | Sq3IoCapEF_FromInt (MK_I32 const value, enum Sq3IoCapEF *value_out) |
return the Sq3IoCapEF from integer … | |
Sq3ChangesetE | |
enum | Sq3ChangesetE { SQ3_CHANGESET_DATA = 1 , SQ3_CHANGESET_NOTFOUND = 2 , SQ3_CHANGESET_CONFLICT = 3 , SQ3_CHANGESET_CONSTRAINT = 4 , SQ3_CHANGESET_FOREIGN_KEY = 5 } |
Constants Passed To The Conflict Handler. More... | |
typedef enum Sq3ChangesetE | Sq3ChangesetE |
Constants Passed To The Conflict Handler. | |
MK_STRN | Sq3ChangesetE_ToString (enum Sq3ChangesetE value) |
return the Sq3ChangesetE as string … | |
static MK_I32 | Sq3ChangesetE_ToInt (enum Sq3ChangesetE value) |
return the Sq3ChangesetE as integer … | |
enum MkErrorE | Sq3ChangesetE_FromInt (MK_I32 const value, enum Sq3ChangesetE *value_out) |
return the Sq3ChangesetE from integer … | |
Sq3SerializeE | |
enum | Sq3SerializeE { SQ3_SERIALIZE_NO = 0x000 , SQ3_SERIALIZE_NOCOPY = 0x001 } |
Flags for sqlite3_serialize. More... | |
typedef enum Sq3SerializeE | Sq3SerializeE |
Flags for sqlite3_serialize. | |
MK_STRN | Sq3SerializeE_ToString (enum Sq3SerializeE value) |
return the Sq3SerializeE as string … | |
static MK_I32 | Sq3SerializeE_ToInt (enum Sq3SerializeE value) |
return the Sq3SerializeE as integer … | |
enum MkErrorE | Sq3SerializeE_FromInt (MK_I32 const value, enum Sq3SerializeE *value_out) |
return the Sq3SerializeE from integer … | |
Sq3VtabE | |
enum | Sq3VtabE { SQ3_VTAB_CONSTRAINT_SUPPORT = 1 , SQ3_VTAB_INNOCUOUS = 2 , SQ3_VTAB_DIRECTONLY = 3 , SQ3_VTAB_USES_ALL_SCHEMAS = 4 } |
Virtual Table Configuration Options. More... | |
typedef enum Sq3VtabE | Sq3VtabE |
Virtual Table Configuration Options. | |
MK_STRN | Sq3VtabE_ToString (enum Sq3VtabE value) |
return the Sq3VtabE as string … | |
static MK_I32 | Sq3VtabE_ToInt (enum Sq3VtabE value) |
return the Sq3VtabE as integer … | |
enum MkErrorE | Sq3VtabE_FromInt (MK_I32 const value, enum Sq3VtabE *value_out) |
return the Sq3VtabE from integer … | |
Sq3StmtStatusE | |
enum | Sq3StmtStatusE { SQ3_STMTSTATUS_FULLSCAN_STEP = 1 , SQ3_STMTSTATUS_SORT = 2 , SQ3_STMTSTATUS_AUTOINDEX = 3 , SQ3_STMTSTATUS_VM_STEP = 4 , SQ3_STMTSTATUS_REPREPARE = 5 , SQ3_STMTSTATUS_RUN = 6 , SQ3_STMTSTATUS_FILTER_MISS = 7 , SQ3_STMTSTATUS_FILTER_HIT = 8 , SQ3_STMTSTATUS_MEMUSED = 99 } |
Status Parameters for prepared statements. More... | |
typedef enum Sq3StmtStatusE | Sq3StmtStatusE |
Status Parameters for prepared statements. | |
MK_STRN | Sq3StmtStatusE_ToString (enum Sq3StmtStatusE value) |
return the Sq3StmtStatusE as string … | |
static MK_I32 | Sq3StmtStatusE_ToInt (enum Sq3StmtStatusE value) |
return the Sq3StmtStatusE as integer … | |
enum MkErrorE | Sq3StmtStatusE_FromInt (MK_I32 const value, enum Sq3StmtStatusE *value_out) |
return the Sq3StmtStatusE from integer … | |
Sq3MutexE | |
enum | Sq3MutexE { SQ3_MUTEX_FAST = 0 , SQ3_MUTEX_RECURSIVE = 1 , SQ3_MUTEX_STATIC_MAIN = 2 , SQ3_MUTEX_STATIC_MEM = 3 , SQ3_MUTEX_STATIC_MEM2 = 4 , SQ3_MUTEX_STATIC_OPEN = 4 , SQ3_MUTEX_STATIC_PRNG = 5 , SQ3_MUTEX_STATIC_LRU = 6 , SQ3_MUTEX_STATIC_LRU2 = 7 , SQ3_MUTEX_STATIC_PMEM = 7 , SQ3_MUTEX_STATIC_APP1 = 8 , SQ3_MUTEX_STATIC_APP2 = 9 , SQ3_MUTEX_STATIC_APP3 = 10 , SQ3_MUTEX_STATIC_VFS1 = 11 , SQ3_MUTEX_STATIC_VFS2 = 12 , SQ3_MUTEX_STATIC_VFS3 = 13 } |
Mutex Types. More... | |
typedef enum Sq3MutexE | Sq3MutexE |
Mutex Types. | |
MK_STRN | Sq3MutexE_ToString (enum Sq3MutexE value) |
return the Sq3MutexE as string … | |
static MK_I32 | Sq3MutexE_ToInt (enum Sq3MutexE value) |
return the Sq3MutexE as integer … | |
enum MkErrorE | Sq3MutexE_FromInt (MK_I32 const value, enum Sq3MutexE *value_out) |
return the Sq3MutexE from integer … | |
Sq3TxnE | |
enum | Sq3TxnE { SQ3_TXN_NONE = 0 , SQ3_TXN_READ = 1 , SQ3_TXN_WRITE = 2 } |
Allowed return values from sqlite3_txn_state() More... | |
typedef enum Sq3TxnE | Sq3TxnE |
Allowed return values from sqlite3_txn_state() | |
MK_STRN | Sq3TxnE_ToString (enum Sq3TxnE value) |
return the Sq3TxnE as string … | |
static MK_I32 | Sq3TxnE_ToInt (enum Sq3TxnE value) |
return the Sq3TxnE as integer … | |
enum MkErrorE | Sq3TxnE_FromInt (MK_I32 const value, enum Sq3TxnE *value_out) |
return the Sq3TxnE from integer … | |
Sq3FunctionEF | |
enum | Sq3FunctionEF { SQ3_FUNCTION_DETERMINISTIC = 0x000000800 , SQ3_FUNCTION_DIRECTONLY = 0x000080000 , SQ3_FUNCTION_SUBTYPE = 0x000100000 , SQ3_FUNCTION_INNOCUOUS = 0x000200000 , SQ3_FUNCTION_RESULT_SUBTYPE = 0x001000000 } |
Function Flags. More... | |
typedef enum Sq3FunctionEF | Sq3FunctionEF |
Function Flags. | |
MK_STRN | Sq3FunctionEF_ToString (enum Sq3FunctionEF value) |
return the Sq3FunctionEF as string … | |
static MK_I32 | Sq3FunctionEF_ToInt (enum Sq3FunctionEF value) |
return the Sq3FunctionEF as integer … | |
enum MkErrorE | Sq3FunctionEF_FromInt (MK_I32 const value, enum Sq3FunctionEF *value_out) |
return the Sq3FunctionEF from integer … | |
Sq3TypeE | |
enum | Sq3TypeE { SQ3_TYPE_INTEGER = 1 , SQ3_TYPE_FLOAT = 2 , SQ3_TYPE_BLOB = 4 , SQ3_TYPE_NULL = 5 , SQ3_TYPE_TEXT = 3 } |
Fundamental Datatypes. More... | |
typedef enum Sq3TypeE | Sq3TypeE |
Fundamental Datatypes. | |
MK_STRN | Sq3TypeE_ToString (enum Sq3TypeE value) |
return the Sq3TypeE as string … | |
static MK_I32 | Sq3TypeE_ToInt (enum Sq3TypeE value) |
return the Sq3TypeE as integer … | |
enum MkErrorE | Sq3TypeE_FromInt (MK_I32 const value, enum Sq3TypeE *value_out) |
return the Sq3TypeE from integer … | |
Sq3LimitE | |
enum | Sq3LimitE { SQ3_LIMIT_LENGTH = 0 , SQ3_LIMIT_SQL_LENGTH = 1 , SQ3_LIMIT_COLUMN = 2 , SQ3_LIMIT_EXPR_DEPTH = 3 , SQ3_LIMIT_COMPOUND_SELECT = 4 , SQ3_LIMIT_VDBE_OP = 5 , SQ3_LIMIT_FUNCTION_ARG = 6 , SQ3_LIMIT_ATTACHED = 7 , SQ3_LIMIT_LIKE_PATTERN_LENGTH = 8 , SQ3_LIMIT_VARIABLE_NUMBER = 9 , SQ3_LIMIT_TRIGGER_DEPTH = 10 , SQ3_LIMIT_WORKER_THREADS = 11 } |
Run-Time Limit Categories. More... | |
typedef enum Sq3LimitE | Sq3LimitE |
Run-Time Limit Categories. | |
MK_STRN | Sq3LimitE_ToString (enum Sq3LimitE value) |
return the Sq3LimitE as string … | |
static MK_I32 | Sq3LimitE_ToInt (enum Sq3LimitE value) |
return the Sq3LimitE as integer … | |
enum MkErrorE | Sq3LimitE_FromInt (MK_I32 const value, enum Sq3LimitE *value_out) |
return the Sq3LimitE from integer … | |
Sq3PrepareEF | |
enum | Sq3PrepareEF { SQ3_PREPARE_NO = 0x00 , SQ3_PREPARE_PERSISTENT = 0x01 , SQ3_PREPARE_NORMALIZE = 0x02 , SQ3_PREPARE_NO_VTAB = 0x04 } |
Prepare Flags. More... | |
typedef enum Sq3PrepareEF | Sq3PrepareEF |
Prepare Flags. | |
MK_STRN | Sq3PrepareEF_ToString (enum Sq3PrepareEF value) |
return the Sq3PrepareEF as string … | |
static MK_I32 | Sq3PrepareEF_ToInt (enum Sq3PrepareEF value) |
return the Sq3PrepareEF as integer … | |
enum MkErrorE | Sq3PrepareEF_FromInt (MK_I32 const value, enum Sq3PrepareEF *value_out) |
return the Sq3PrepareEF from integer … | |
Sq3SyncEF | |
enum | Sq3SyncEF { SQ3_SYNC_NORMAL = 0x00002 , SQ3_SYNC_FULL = 0x00003 , SQ3_SYNC_DATAONLY = 0x00010 } |
Synchronization Type Flags. More... | |
typedef enum Sq3SyncEF | Sq3SyncEF |
Synchronization Type Flags. | |
MK_STRN | Sq3SyncEF_ToString (enum Sq3SyncEF value) |
return the Sq3SyncEF as string … | |
static MK_I32 | Sq3SyncEF_ToInt (enum Sq3SyncEF value) |
return the Sq3SyncEF as integer … | |
enum MkErrorE | Sq3SyncEF_FromInt (MK_I32 const value, enum Sq3SyncEF *value_out) |
return the Sq3SyncEF from integer … | |
Sq3OpenEF | |
enum | Sq3OpenEF { SQ3_OPEN_READONLY = 0x00000001 , SQ3_OPEN_READWRITE = 0x00000002 , SQ3_OPEN_CREATE = 0x00000004 , SQ3_OPEN_DELETEONCLOSE = 0x00000008 , SQ3_OPEN_EXCLUSIVE = 0x00000010 , SQ3_OPEN_AUTOPROXY = 0x00000020 , SQ3_OPEN_URI = 0x00000040 , SQ3_OPEN_MEMORY = 0x00000080 , SQ3_OPEN_MAIN_DB = 0x00000100 , SQ3_OPEN_TEMP_DB = 0x00000200 , SQ3_OPEN_TRANSIENT_DB = 0x00000400 , SQ3_OPEN_MAIN_JOURNAL = 0x00000800 , SQ3_OPEN_TEMP_JOURNAL = 0x00001000 , SQ3_OPEN_SUBJOURNAL = 0x00002000 , SQ3_OPEN_SUPER_JOURNAL = 0x00004000 , SQ3_OPEN_NOMUTEX = 0x00008000 , SQ3_OPEN_FULLMUTEX = 0x00010000 , SQ3_OPEN_SHAREDCACHE = 0x00020000 , SQ3_OPEN_PRIVATECACHE = 0x00040000 , SQ3_OPEN_WAL = 0x00080000 , SQ3_OPEN_NOFOLLOW = 0x01000000 , SQ3_OPEN_EXRESCODE = 0x02000000 } |
Flags For File Open Operations. More... | |
typedef enum Sq3OpenEF | Sq3OpenEF |
Flags For File Open Operations. | |
MK_STRN | Sq3OpenEF_ToString (enum Sq3OpenEF value) |
return the Sq3OpenEF as string … | |
static MK_I32 | Sq3OpenEF_ToInt (enum Sq3OpenEF value) |
return the Sq3OpenEF as integer … | |
enum MkErrorE | Sq3OpenEF_FromInt (MK_I32 const value, enum Sq3OpenEF *value_out) |
return the Sq3OpenEF from integer … | |
Sq3DeSerializeEF | |
enum | Sq3DeSerializeEF { SQ3_DESERIALIZE_NO = 0 , SQ3_DESERIALIZE_FREEONCLOSE = 1 , SQ3_DESERIALIZE_RESIZEABLE = 2 , SQ3_DESERIALIZE_READONLY = 4 } |
Flags for sqlite3_deserialize() More... | |
typedef enum Sq3DeSerializeEF | Sq3DeSerializeEF |
Flags for sqlite3_deserialize() | |
MK_STRN | Sq3DeSerializeEF_ToString (enum Sq3DeSerializeEF value) |
return the Sq3DeSerializeEF as string … | |
static MK_I32 | Sq3DeSerializeEF_ToInt (enum Sq3DeSerializeEF value) |
return the Sq3DeSerializeEF as integer … | |
enum MkErrorE | Sq3DeSerializeEF_FromInt (MK_I32 const value, enum Sq3DeSerializeEF *value_out) |
return the Sq3DeSerializeEF from integer … | |
Sq3ScanStatE | |
enum | Sq3ScanStatE { SQ3_SCANSTAT_NLOOP = 0 , SQ3_SCANSTAT_NVISIT = 1 , SQ3_SCANSTAT_EST = 2 , SQ3_SCANSTAT_NAME = 3 , SQ3_SCANSTAT_EXPLAIN = 4 , SQ3_SCANSTAT_SELECTID = 5 , SQ3_SCANSTAT_PARENTID = 6 , SQ3_SCANSTAT_NCYCLE = 7 } |
Prepared Statement Scan Status Opcodes. More... | |
typedef enum Sq3ScanStatE | Sq3ScanStatE |
Prepared Statement Scan Status Opcodes. | |
MK_STRN | Sq3ScanStatE_ToString (enum Sq3ScanStatE value) |
return the Sq3ScanStatE as string … | |
static MK_I32 | Sq3ScanStatE_ToInt (enum Sq3ScanStatE value) |
return the Sq3ScanStatE as integer … | |
enum MkErrorE | Sq3ScanStatE_FromInt (MK_I32 const value, enum Sq3ScanStatE *value_out) |
return the Sq3ScanStatE from integer … | |
Sq3StatusE | |
enum | Sq3StatusE { SQ3_STATUS_MEMORY_USED = 0 , SQ3_STATUS_PAGECACHE_USED = 1 , SQ3_STATUS_PAGECACHE_OVERFLOW = 2 , SQ3_STATUS_SCRATCH_USED = 3 , SQ3_STATUS_SCRATCH_OVERFLOW = 4 , SQ3_STATUS_MALLOC_SIZE = 5 , SQ3_STATUS_PARSER_STACK = 6 , SQ3_STATUS_PAGECACHE_SIZE = 7 , SQ3_STATUS_SCRATCH_SIZE = 8 , SQ3_STATUS_MALLOC_COUNT = 9 } |
Status Parameters. More... | |
typedef enum Sq3StatusE | Sq3StatusE |
Status Parameters. | |
MK_STRN | Sq3StatusE_ToString (enum Sq3StatusE value) |
return the Sq3StatusE as string … | |
static MK_I32 | Sq3StatusE_ToInt (enum Sq3StatusE value) |
return the Sq3StatusE as integer … | |
enum MkErrorE | Sq3StatusE_FromInt (MK_I32 const value, enum Sq3StatusE *value_out) |
return the Sq3StatusE from integer … | |
Sq3TextE | |
enum | Sq3TextE { SQ3_TEXT_UTF8 = 1 , SQ3_TEXT_UTF16LE = 2 , SQ3_TEXT_UTF16BE = 3 , SQ3_TEXT_UTF16 = 4 , SQ3_TEXT_ANY = 5 , SQ3_TEXT_UTF16_ALIGNED = 8 } |
Text Encodings. More... | |
typedef enum Sq3TextE | Sq3TextE |
Text Encodings. | |
MK_STRN | Sq3TextE_ToString (enum Sq3TextE value) |
return the Sq3TextE as string … | |
static MK_I32 | Sq3TextE_ToInt (enum Sq3TextE value) |
return the Sq3TextE as integer … | |
enum MkErrorE | Sq3TextE_FromInt (MK_I32 const value, enum Sq3TextE *value_out) |
return the Sq3TextE from integer … | |
Sq3TraceEF | |
enum | Sq3TraceEF { SQ3_TRACE_STMT = 0x01 , SQ3_TRACE_PROFILE = 0x02 , SQ3_TRACE_ROW = 0x04 , SQ3_TRACE_CLOSE = 0x08 } |
SQL Trace Event Codes. More... | |
typedef enum Sq3TraceEF | Sq3TraceEF |
SQL Trace Event Codes. | |
MK_STRN | Sq3TraceEF_ToString (enum Sq3TraceEF value) |
return the Sq3TraceEF as string … | |
static MK_I32 | Sq3TraceEF_ToInt (enum Sq3TraceEF value) |
return the Sq3TraceEF as integer … | |
enum MkErrorE | Sq3TraceEF_FromInt (MK_I32 const value, enum Sq3TraceEF *value_out) |
return the Sq3TraceEF from integer … | |
Sq3AuthReturnE | |
enum | Sq3AuthReturnE { SQ3_AUTHRETURN_OK = 0 , SQ3_AUTHRETURN_DENY = 1 , SQ3_AUTHRETURN_IGNORE = 2 } |
Authorizer Return Codes. More... | |
typedef enum Sq3AuthReturnE | Sq3AuthReturnE |
Authorizer Return Codes. | |
MK_STRN | Sq3AuthReturnE_ToString (enum Sq3AuthReturnE value) |
return the Sq3AuthReturnE as string … | |
static MK_I32 | Sq3AuthReturnE_ToInt (enum Sq3AuthReturnE value) |
return the Sq3AuthReturnE as integer … | |
enum MkErrorE | Sq3AuthReturnE_FromInt (MK_I32 const value, enum Sq3AuthReturnE *value_out) |
return the Sq3AuthReturnE from integer … | |
Sq3ShmLockE | |
enum | Sq3ShmLockE { SQ3_SHM_UNLOCK = 1 , SQ3_SHM_LOCK = 2 , SQ3_SHM_SHARED = 4 , SQ3_SHM_EXCLUSIVE = 8 } |
Flags for the xShmLock VFS method. More... | |
typedef enum Sq3ShmLockE | Sq3ShmLockE |
Flags for the xShmLock VFS method. | |
MK_STRN | Sq3ShmLockE_ToString (enum Sq3ShmLockE value) |
return the Sq3ShmLockE as string … | |
static MK_I32 | Sq3ShmLockE_ToInt (enum Sq3ShmLockE value) |
return the Sq3ShmLockE as integer … | |
enum MkErrorE | Sq3ShmLockE_FromInt (MK_I32 const value, enum Sq3ShmLockE *value_out) |
return the Sq3ShmLockE from integer … | |
Sq3LockE | |
enum | Sq3LockE { SQ3_LOCK_NONE = 0 , SQ3_LOCK_SHARED = 1 , SQ3_LOCK_RESERVED = 2 , SQ3_LOCK_PENDING = 3 , SQ3_LOCK_EXCLUSIVE = 4 } |
File Locking Levels. More... | |
typedef enum Sq3LockE | Sq3LockE |
File Locking Levels. | |
MK_STRN | Sq3LockE_ToString (enum Sq3LockE value) |
return the Sq3LockE as string … | |
static MK_I32 | Sq3LockE_ToInt (enum Sq3LockE value) |
return the Sq3LockE as integer … | |
enum MkErrorE | Sq3LockE_FromInt (MK_I32 const value, enum Sq3LockE *value_out) |
return the Sq3LockE from integer … | |
Sq3ChangeSetConflictE | |
enum | Sq3ChangeSetConflictE { SQ3_CHANGESET_CONFLICT_OMIT = 0 , SQ3_CHANGESET_CONFLICT_REPLACE = 1 , SQ3_CHANGESET_CONFLICT_ABORT = 2 } |
Constants Returned By The Conflict Handler. More... | |
typedef enum Sq3ChangeSetConflictE | Sq3ChangeSetConflictE |
Constants Returned By The Conflict Handler. | |
MK_STRN | Sq3ChangeSetConflictE_ToString (enum Sq3ChangeSetConflictE value) |
return the Sq3ChangeSetConflictE as string … | |
static MK_I32 | Sq3ChangeSetConflictE_ToInt (enum Sq3ChangeSetConflictE value) |
return the Sq3ChangeSetConflictE as integer … | |
enum MkErrorE | Sq3ChangeSetConflictE_FromInt (MK_I32 const value, enum Sq3ChangeSetConflictE *value_out) |
return the Sq3ChangeSetConflictE from integer … | |
Sq3SessionObjConfigE | |
enum | Sq3SessionObjConfigE { SQ3_SESSION_OBJCONFIG_SIZE = 1 , SQ3_SESSION_OBJCONFIG_ROWID = 2 } |
Options for sqlite3session_object_config. More... | |
typedef enum Sq3SessionObjConfigE | Sq3SessionObjConfigE |
Options for sqlite3session_object_config. | |
MK_STRN | Sq3SessionObjConfigE_ToString (enum Sq3SessionObjConfigE value) |
return the Sq3SessionObjConfigE as string … | |
static MK_I32 | Sq3SessionObjConfigE_ToInt (enum Sq3SessionObjConfigE value) |
return the Sq3SessionObjConfigE as integer … | |
enum MkErrorE | Sq3SessionObjConfigE_FromInt (MK_I32 const value, enum Sq3SessionObjConfigE *value_out) |
return the Sq3SessionObjConfigE from integer … | |
Sq3ConflictResolutionE | |
enum | Sq3ConflictResolutionE { SQ3_CONFLICT_ROLLBACK = 1 , SQ3_CONFLICT_FAIL = 3 , SQ3_CONFLICT_REPLACE = 5 } |
Conflict resolution modes. More... | |
typedef enum Sq3ConflictResolutionE | Sq3ConflictResolutionE |
Conflict resolution modes. | |
MK_STRN | Sq3ConflictResolutionE_ToString (enum Sq3ConflictResolutionE value) |
return the Sq3ConflictResolutionE as string … | |
static MK_I32 | Sq3ConflictResolutionE_ToInt (enum Sq3ConflictResolutionE value) |
return the Sq3ConflictResolutionE as integer … | |
enum MkErrorE | Sq3ConflictResolutionE_FromInt (MK_I32 const value, enum Sq3ConflictResolutionE *value_out) |
return the Sq3ConflictResolutionE from integer … | |
Sq3Lite PACKAGE - definition of the enum type …
read more at: MkKernel_Enum_C_API
#define Sq3AccessE_FromInt_C | ( | ... | ) |
Definition at line 137 of file sqlite3_overload_sq3.h.
#define Sq3AccessE_FromInt_E | ( | ... | ) |
Definition at line 136 of file sqlite3_overload_sq3.h.
#define Sq3AccessE_FromInt_e | ( | ... | ) |
Definition at line 138 of file sqlite3_overload_sq3.h.
#define Sq3AuthActionE_FromInt_C | ( | ... | ) |
Definition at line 140 of file sqlite3_overload_sq3.h.
#define Sq3AuthActionE_FromInt_E | ( | ... | ) |
Definition at line 139 of file sqlite3_overload_sq3.h.
#define Sq3AuthActionE_FromInt_e | ( | ... | ) |
Definition at line 141 of file sqlite3_overload_sq3.h.
#define Sq3AuthReturnE_FromInt_C | ( | ... | ) |
Definition at line 143 of file sqlite3_overload_sq3.h.
#define Sq3AuthReturnE_FromInt_E | ( | ... | ) |
Definition at line 142 of file sqlite3_overload_sq3.h.
#define Sq3AuthReturnE_FromInt_e | ( | ... | ) |
Definition at line 144 of file sqlite3_overload_sq3.h.
#define Sq3ChangeSetConflictE_FromInt_C | ( | ... | ) |
Definition at line 146 of file sqlite3_overload_sq3.h.
#define Sq3ChangeSetConflictE_FromInt_E | ( | ... | ) |
Definition at line 145 of file sqlite3_overload_sq3.h.
#define Sq3ChangeSetConflictE_FromInt_e | ( | ... | ) |
Definition at line 147 of file sqlite3_overload_sq3.h.
#define Sq3ChangesetE_FromInt_C | ( | ... | ) |
Definition at line 149 of file sqlite3_overload_sq3.h.
#define Sq3ChangesetE_FromInt_E | ( | ... | ) |
Definition at line 148 of file sqlite3_overload_sq3.h.
#define Sq3ChangesetE_FromInt_e | ( | ... | ) |
Definition at line 150 of file sqlite3_overload_sq3.h.
#define Sq3CheckpointE_FromInt_C | ( | ... | ) |
Definition at line 152 of file sqlite3_overload_sq3.h.
#define Sq3CheckpointE_FromInt_E | ( | ... | ) |
Definition at line 151 of file sqlite3_overload_sq3.h.
#define Sq3CheckpointE_FromInt_e | ( | ... | ) |
Definition at line 153 of file sqlite3_overload_sq3.h.
#define Sq3ConfigE_FromInt_C | ( | ... | ) |
Definition at line 155 of file sqlite3_overload_sq3.h.
#define Sq3ConfigE_FromInt_E | ( | ... | ) |
Definition at line 154 of file sqlite3_overload_sq3.h.
#define Sq3ConfigE_FromInt_e | ( | ... | ) |
Definition at line 156 of file sqlite3_overload_sq3.h.
#define Sq3ConflictResolutionE_FromInt_C | ( | ... | ) |
Definition at line 158 of file sqlite3_overload_sq3.h.
#define Sq3ConflictResolutionE_FromInt_E | ( | ... | ) |
Definition at line 157 of file sqlite3_overload_sq3.h.
#define Sq3ConflictResolutionE_FromInt_e | ( | ... | ) |
Definition at line 159 of file sqlite3_overload_sq3.h.
#define Sq3DbConfigE_FromInt_C | ( | ... | ) |
Definition at line 161 of file sqlite3_overload_sq3.h.
#define Sq3DbConfigE_FromInt_E | ( | ... | ) |
Definition at line 160 of file sqlite3_overload_sq3.h.
#define Sq3DbConfigE_FromInt_e | ( | ... | ) |
Definition at line 162 of file sqlite3_overload_sq3.h.
#define Sq3DbStatusE_FromInt_C | ( | ... | ) |
Definition at line 164 of file sqlite3_overload_sq3.h.
#define Sq3DbStatusE_FromInt_E | ( | ... | ) |
Definition at line 163 of file sqlite3_overload_sq3.h.
#define Sq3DbStatusE_FromInt_e | ( | ... | ) |
Definition at line 165 of file sqlite3_overload_sq3.h.
#define Sq3DeSerializeEF_FromInt_C | ( | ... | ) |
Definition at line 167 of file sqlite3_overload_sq3.h.
#define Sq3DeSerializeEF_FromInt_E | ( | ... | ) |
Definition at line 166 of file sqlite3_overload_sq3.h.
#define Sq3DeSerializeEF_FromInt_e | ( | ... | ) |
Definition at line 168 of file sqlite3_overload_sq3.h.
#define Sq3ErrorE_FromInt_C | ( | ... | ) |
Definition at line 170 of file sqlite3_overload_sq3.h.
#define Sq3ErrorE_FromInt_E | ( | ... | ) |
Definition at line 169 of file sqlite3_overload_sq3.h.
#define Sq3ErrorE_FromInt_e | ( | ... | ) |
Definition at line 171 of file sqlite3_overload_sq3.h.
#define Sq3ExtendetResultCodesE_FromInt_C | ( | ... | ) |
Definition at line 173 of file sqlite3_overload_sq3.h.
#define Sq3ExtendetResultCodesE_FromInt_E | ( | ... | ) |
Definition at line 172 of file sqlite3_overload_sq3.h.
#define Sq3ExtendetResultCodesE_FromInt_e | ( | ... | ) |
Definition at line 174 of file sqlite3_overload_sq3.h.
#define Sq3FcntlE_FromInt_C | ( | ... | ) |
Definition at line 176 of file sqlite3_overload_sq3.h.
#define Sq3FcntlE_FromInt_E | ( | ... | ) |
Definition at line 175 of file sqlite3_overload_sq3.h.
#define Sq3FcntlE_FromInt_e | ( | ... | ) |
Definition at line 177 of file sqlite3_overload_sq3.h.
#define Sq3FunctionEF_FromInt_C | ( | ... | ) |
Definition at line 179 of file sqlite3_overload_sq3.h.
#define Sq3FunctionEF_FromInt_E | ( | ... | ) |
Definition at line 178 of file sqlite3_overload_sq3.h.
#define Sq3FunctionEF_FromInt_e | ( | ... | ) |
Definition at line 180 of file sqlite3_overload_sq3.h.
#define Sq3IndexConstraintEF_FromInt_C | ( | ... | ) |
Definition at line 182 of file sqlite3_overload_sq3.h.
#define Sq3IndexConstraintEF_FromInt_E | ( | ... | ) |
Definition at line 181 of file sqlite3_overload_sq3.h.
#define Sq3IndexConstraintEF_FromInt_e | ( | ... | ) |
Definition at line 183 of file sqlite3_overload_sq3.h.
#define Sq3IoCapEF_FromInt_C | ( | ... | ) |
Definition at line 185 of file sqlite3_overload_sq3.h.
#define Sq3IoCapEF_FromInt_E | ( | ... | ) |
Definition at line 184 of file sqlite3_overload_sq3.h.
#define Sq3IoCapEF_FromInt_e | ( | ... | ) |
Definition at line 186 of file sqlite3_overload_sq3.h.
#define Sq3LimitE_FromInt_C | ( | ... | ) |
Definition at line 188 of file sqlite3_overload_sq3.h.
#define Sq3LimitE_FromInt_E | ( | ... | ) |
Definition at line 187 of file sqlite3_overload_sq3.h.
#define Sq3LimitE_FromInt_e | ( | ... | ) |
Definition at line 189 of file sqlite3_overload_sq3.h.
#define Sq3LockE_FromInt_C | ( | ... | ) |
Definition at line 191 of file sqlite3_overload_sq3.h.
#define Sq3LockE_FromInt_E | ( | ... | ) |
Definition at line 190 of file sqlite3_overload_sq3.h.
#define Sq3LockE_FromInt_e | ( | ... | ) |
Definition at line 192 of file sqlite3_overload_sq3.h.
#define Sq3MutexE_FromInt_C | ( | ... | ) |
Definition at line 194 of file sqlite3_overload_sq3.h.
#define Sq3MutexE_FromInt_E | ( | ... | ) |
Definition at line 193 of file sqlite3_overload_sq3.h.
#define Sq3MutexE_FromInt_e | ( | ... | ) |
Definition at line 195 of file sqlite3_overload_sq3.h.
#define Sq3OpenEF_FromInt_C | ( | ... | ) |
Definition at line 197 of file sqlite3_overload_sq3.h.
#define Sq3OpenEF_FromInt_E | ( | ... | ) |
Definition at line 196 of file sqlite3_overload_sq3.h.
#define Sq3OpenEF_FromInt_e | ( | ... | ) |
Definition at line 198 of file sqlite3_overload_sq3.h.
#define Sq3PrepareEF_FromInt_C | ( | ... | ) |
Definition at line 200 of file sqlite3_overload_sq3.h.
#define Sq3PrepareEF_FromInt_E | ( | ... | ) |
Definition at line 199 of file sqlite3_overload_sq3.h.
#define Sq3PrepareEF_FromInt_e | ( | ... | ) |
Definition at line 201 of file sqlite3_overload_sq3.h.
#define Sq3ScanStatE_FromInt_C | ( | ... | ) |
Definition at line 203 of file sqlite3_overload_sq3.h.
#define Sq3ScanStatE_FromInt_E | ( | ... | ) |
Definition at line 202 of file sqlite3_overload_sq3.h.
#define Sq3ScanStatE_FromInt_e | ( | ... | ) |
Definition at line 204 of file sqlite3_overload_sq3.h.
#define Sq3SerializeE_FromInt_C | ( | ... | ) |
Definition at line 206 of file sqlite3_overload_sq3.h.
#define Sq3SerializeE_FromInt_E | ( | ... | ) |
Definition at line 205 of file sqlite3_overload_sq3.h.
#define Sq3SerializeE_FromInt_e | ( | ... | ) |
Definition at line 207 of file sqlite3_overload_sq3.h.
#define Sq3SessionObjConfigE_FromInt_C | ( | ... | ) |
Definition at line 209 of file sqlite3_overload_sq3.h.
#define Sq3SessionObjConfigE_FromInt_E | ( | ... | ) |
Definition at line 208 of file sqlite3_overload_sq3.h.
#define Sq3SessionObjConfigE_FromInt_e | ( | ... | ) |
Definition at line 210 of file sqlite3_overload_sq3.h.
#define Sq3ShmLockE_FromInt_C | ( | ... | ) |
Definition at line 212 of file sqlite3_overload_sq3.h.
#define Sq3ShmLockE_FromInt_E | ( | ... | ) |
Definition at line 211 of file sqlite3_overload_sq3.h.
#define Sq3ShmLockE_FromInt_e | ( | ... | ) |
Definition at line 213 of file sqlite3_overload_sq3.h.
#define Sq3StatusE_FromInt_C | ( | ... | ) |
Definition at line 215 of file sqlite3_overload_sq3.h.
#define Sq3StatusE_FromInt_E | ( | ... | ) |
Definition at line 214 of file sqlite3_overload_sq3.h.
#define Sq3StatusE_FromInt_e | ( | ... | ) |
Definition at line 216 of file sqlite3_overload_sq3.h.
#define Sq3StmtStatusE_FromInt_C | ( | ... | ) |
Definition at line 218 of file sqlite3_overload_sq3.h.
#define Sq3StmtStatusE_FromInt_E | ( | ... | ) |
Definition at line 217 of file sqlite3_overload_sq3.h.
#define Sq3StmtStatusE_FromInt_e | ( | ... | ) |
Definition at line 219 of file sqlite3_overload_sq3.h.
#define Sq3SyncEF_FromInt_C | ( | ... | ) |
Definition at line 221 of file sqlite3_overload_sq3.h.
#define Sq3SyncEF_FromInt_E | ( | ... | ) |
Definition at line 220 of file sqlite3_overload_sq3.h.
#define Sq3SyncEF_FromInt_e | ( | ... | ) |
Definition at line 222 of file sqlite3_overload_sq3.h.
#define Sq3TestCtrlE_FromInt_C | ( | ... | ) |
Definition at line 224 of file sqlite3_overload_sq3.h.
#define Sq3TestCtrlE_FromInt_E | ( | ... | ) |
Definition at line 223 of file sqlite3_overload_sq3.h.
#define Sq3TestCtrlE_FromInt_e | ( | ... | ) |
Definition at line 225 of file sqlite3_overload_sq3.h.
#define Sq3TextE_FromInt_C | ( | ... | ) |
Definition at line 227 of file sqlite3_overload_sq3.h.
#define Sq3TextE_FromInt_E | ( | ... | ) |
Definition at line 226 of file sqlite3_overload_sq3.h.
#define Sq3TextE_FromInt_e | ( | ... | ) |
Definition at line 228 of file sqlite3_overload_sq3.h.
#define Sq3TraceEF_FromInt_C | ( | ... | ) |
Definition at line 230 of file sqlite3_overload_sq3.h.
#define Sq3TraceEF_FromInt_E | ( | ... | ) |
Definition at line 229 of file sqlite3_overload_sq3.h.
#define Sq3TraceEF_FromInt_e | ( | ... | ) |
Definition at line 231 of file sqlite3_overload_sq3.h.
#define Sq3TxnE_FromInt_C | ( | ... | ) |
Definition at line 233 of file sqlite3_overload_sq3.h.
#define Sq3TxnE_FromInt_E | ( | ... | ) |
Definition at line 232 of file sqlite3_overload_sq3.h.
#define Sq3TxnE_FromInt_e | ( | ... | ) |
Definition at line 234 of file sqlite3_overload_sq3.h.
#define Sq3TypeE_FromInt_C | ( | ... | ) |
Definition at line 236 of file sqlite3_overload_sq3.h.
#define Sq3TypeE_FromInt_E | ( | ... | ) |
Definition at line 235 of file sqlite3_overload_sq3.h.
#define Sq3TypeE_FromInt_e | ( | ... | ) |
Definition at line 237 of file sqlite3_overload_sq3.h.
#define Sq3VtabE_FromInt_C | ( | ... | ) |
Definition at line 239 of file sqlite3_overload_sq3.h.
#define Sq3VtabE_FromInt_E | ( | ... | ) |
Definition at line 238 of file sqlite3_overload_sq3.h.
#define Sq3VtabE_FromInt_e | ( | ... | ) |
Definition at line 240 of file sqlite3_overload_sq3.h.
typedef enum Sq3AccessE Sq3AccessE |
Flags for the xAccess VFS method.
typedef enum Sq3AuthActionE Sq3AuthActionE |
Authorizer Action Codes.
typedef enum Sq3AuthReturnE Sq3AuthReturnE |
Authorizer Return Codes.
typedef enum Sq3ChangeSetConflictE Sq3ChangeSetConflictE |
Constants Returned By The Conflict Handler.
typedef enum Sq3ChangesetE Sq3ChangesetE |
Constants Passed To The Conflict Handler.
typedef enum Sq3CheckpointE Sq3CheckpointE |
Checkpoint Mode Values.
typedef enum Sq3ConfigE Sq3ConfigE |
Configuration Options.
typedef enum Sq3ConflictResolutionE Sq3ConflictResolutionE |
Conflict resolution modes.
typedef enum Sq3DbConfigE Sq3DbConfigE |
Database Connection Configuration Options.
typedef enum Sq3DbStatusE Sq3DbStatusE |
Status Parameters for database connections.
typedef enum Sq3DeSerializeEF Sq3DeSerializeEF |
Flags for sqlite3_deserialize()
Result Codes.
typedef enum Sq3ExtendetResultCodesE Sq3ExtendetResultCodesE |
Extended Result Codes.
Standard File Control Opcodes.
typedef enum Sq3FunctionEF Sq3FunctionEF |
Function Flags.
typedef enum Sq3IndexConstraintEF Sq3IndexConstraintEF |
Virtual Table Constraint Operator Codes.
typedef enum Sq3IoCapEF Sq3IoCapEF |
Device Characteristics.
Run-Time Limit Categories.
File Locking Levels.
Mutex Types.
Flags For File Open Operations.
typedef enum Sq3PrepareEF Sq3PrepareEF |
Prepare Flags.
typedef enum Sq3ScanStatE Sq3ScanStatE |
Prepared Statement Scan Status Opcodes.
typedef enum Sq3SerializeE Sq3SerializeE |
Flags for sqlite3_serialize.
typedef enum Sq3SessionObjConfigE Sq3SessionObjConfigE |
Options for sqlite3session_object_config.
typedef enum Sq3ShmLockE Sq3ShmLockE |
Flags for the xShmLock VFS method.
typedef enum Sq3StatusE Sq3StatusE |
Status Parameters.
typedef enum Sq3StmtStatusE Sq3StmtStatusE |
Status Parameters for prepared statements.
Synchronization Type Flags.
typedef enum Sq3TestCtrlE Sq3TestCtrlE |
Testing Interface Operation Codes.
Text Encodings.
typedef enum Sq3TraceEF Sq3TraceEF |
SQL Trace Event Codes.
Allowed return values from sqlite3_txn_state()
Fundamental Datatypes.
Virtual Table Configuration Options.
enum Sq3AccessE |
Flags for the xAccess VFS method.
Flags for the xAccess VFS method …
These integer constants can be used as the third parameter to the xAccess method of an sqlite3_vfs object. They determine what kind of permissions the xAccess method is looking for. With SQ3_ACCESS_EXISTS, the xAccess method simply checks whether the file exists. With SQ3_ACCESS_READWRITE, the xAccess method checks whether the named directory is both readable and writable (in other words, if files can be added, removed, and renamed within the directory). The SQ3_ACCESS_READWRITE constant is currently used only by the temp_store_directory pragma, though this could change in a future release of SQLite. With SQ3_ACCESS_READ, the xAccess method checks whether the file is readable. The SQ3_ACCESS_READ constant is currently unused, though it might be used in a future release of SQLite.
Reference code from sqlite3:
Enumerator | ||
---|---|---|
SQ3_ACCESS_EXISTS | 0 | |
SQ3_ACCESS_READWRITE | 1 | |
SQ3_ACCESS_READ | 2 |
Definition at line 213 of file Sq3Enum_sq3.h.
enum Sq3AuthActionE |
Authorizer Action Codes.
Authorizer Action Codes …
The Sq3LiteSetAuthorizer () interface registers a callback function that is invoked to authorize certain SQL statement actions. The second parameter to the callback is an integer code that specifies what action is being authorized. These are the integer action codes that the authorizer callback may be passed.
These action code values signify what kind of operation is to be authorized. The 3rd and 4th parameters to the authorization callback function will be parameters or NULL depending on which of these codes is used as the second parameter. The 5th parameter to the authorizer callback is the name of the database ("main", "temp", etc.) if applicable. The 6th parameter to the authorizer callback is the name of the inner-most trigger or view that is responsible for the access attempt or NULL if this access attempt is directly from top-level SQL code.
Reference code from sqlite3:
Definition at line 809 of file Sq3Enum_sq3.h.
enum Sq3AuthReturnE |
Authorizer Return Codes.
Authorizer Return Codes …
The authorizer callback function must return either SQ3_RESULT_OK or one of these two constants in order to signal SQLite whether or not the action is permitted. See the authorizer documentation for additional information.
Note that SQ3_AUTHRETURN_IGNORE is also used as a conflict resolution mode returned from the Sq3LiteVtabOnConflict () interface.
Reference code from sqlite3:
Enumerator | ||
---|---|---|
SQ3_AUTHRETURN_OK | 0 | |
SQ3_AUTHRETURN_DENY | 1 | |
SQ3_AUTHRETURN_IGNORE | 2 |
Definition at line 1614 of file Sq3Enum_sq3.h.
Constants Returned By The Conflict Handler.
Constants Returned By The Conflict Handler …
A conflict handler callback must return one of the following three values.
If a conflict handler returns this value no special action is taken. The change that caused the conflict is not applied. The session module continues to the next change in the changeset.
This value may only be returned if the second argument to the conflict handler was SQ3_CHANGESET_DATA or SQ3_CHANGESET_CONFLICT. If this is not the case, any changes applied so far are rolled back and the call to sqlite3changeset_apply() returns SQ3_RESULT_MISUSE.
If CHANGESET_REPLACE is returned by an SQ3_CHANGESET_DATA conflict handler, then the conflicting row is either updated or deleted, depending on the type of change.
If CHANGESET_REPLACE is returned by an SQ3_CHANGESET_CONFLICT conflict handler, then the conflicting row is removed from the database and a second attempt to apply the change is made. If this second attempt fails, the original row is restored to the database before continuing.
Reference code from sqlite3:
Enumerator | ||
---|---|---|
SQ3_CHANGESET_CONFLICT_OMIT | 0 | |
SQ3_CHANGESET_CONFLICT_REPLACE | 1 | |
SQ3_CHANGESET_CONFLICT_ABORT | 2 |
Definition at line 1890 of file Sq3Enum_sq3.h.
enum Sq3ChangesetE |
Constants Passed To The Conflict Handler.
Constants Passed To The Conflict Handler …
Values that may be passed as the second argument to a conflict-handler.
The conflict handler is invoked with CHANGESET_DATA as the second argument when processing a DELETE or UPDATE change if a row with the required PRIMARY KEY fields is present in the database, but one or more other (non primary-key) fields modified by the update do not contain the expected "before" values.
The conflicting row, in this case, is the database row with the matching primary key.
The conflict handler is invoked with CHANGESET_NOTFOUND as the second argument when processing a DELETE or UPDATE change if a row with the required PRIMARY KEY fields is not present in the database.
There is no conflicting row in this case. The results of invoking the sqlite3changeset_conflict() API are undefined.
CHANGESET_CONFLICT is passed as the second argument to the conflict handler while processing an INSERT change if the operation would result in duplicate primary key values.
The conflicting row in this case is the database row with the matching primary key.
If foreign key handling is enabled, and applying a changeset leaves the database in a state containing foreign key violations, the conflict handler is invoked with CHANGESET_FOREIGN_KEY as the second argument exactly once before the changeset is committed. If the conflict handler returns CHANGESET_OMIT, the changes, including those that caused the foreign key constraint violation, are committed. Or, if it returns CHANGESET_ABORT, the changeset is rolled back.
No current or conflicting row information is provided. The only function it is possible to call on the supplied sqlite3_changeset_iter handle is sqlite3changeset_fk_conflicts().
If any other constraint violation occurs while applying a change (i.e. a UNIQUE, CHECK or NOT NULL constraint), the conflict handler is invoked with CHANGESET_CONSTRAINT as the second argument.
There is no conflicting row in this case. The results of invoking the sqlite3changeset_conflict() API are undefined.
Reference code from sqlite3:
Enumerator | ||
---|---|---|
SQ3_CHANGESET_DATA | 1 | |
SQ3_CHANGESET_NOTFOUND | 2 | |
SQ3_CHANGESET_CONFLICT | 3 | |
SQ3_CHANGESET_CONSTRAINT | 4 | |
SQ3_CHANGESET_FOREIGN_KEY | 5 |
Definition at line 320 of file Sq3Enum_sq3.h.
enum Sq3CheckpointE |
Checkpoint Mode Values.
Checkpoint Mode Values …
These constants define all valid values for the "checkpoint mode" passed as the third parameter to the Sq3LiteWalCheckpointV2 () interface. See the Sq3LiteWalCheckpointV2 () documentation for details on the meaning of each of these checkpoint modes.
Reference code from sqlite3:
Enumerator | ||
---|---|---|
SQ3_CHECKPOINT_PASSIVE | 0 | |
SQ3_CHECKPOINT_FULL | 1 | |
SQ3_CHECKPOINT_RESTART | 2 | |
SQ3_CHECKPOINT_TRUNCATE | 3 |
Definition at line 37 of file Sq3Enum_sq3.h.
enum Sq3ConfigE |
Configuration Options.
Configuration Options …
These constants are the available integer configuration options that can be passed as the first argument to the sqlite3_config () interface.
Most of the configuration options for sqlite3_config() will only work if invoked prior to Sq3Initialize () or after Sq3Shutdown (). The few exceptions to this rule are called "anytime configuration options". Calling sqlite3_config () with a first argument that is not an anytime configuration option in between calls to Sq3Initialize () and Sq3Shutdown () is a no-op that returns SQ3_RESULT_MISUSE.
The set of anytime configuration options can change (by insertions and/or deletions) from one release of SQLite to the next. As of SQLite version 3.42.0, the complete set of anytime configuration options is:
New configuration options may be added in future releases of SQLite. Existing configuration options might be discontinued. Applications should check the return code from sqlite3_config () to make sure that the call worked. The sqlite3_config () interface will return a non-zero error code if a discontinued or unsupported configuration option is invoked.
There are no arguments to this option. This option sets the threading mode to Single-thread. In other words, it disables all mutexing and puts SQLite into a mode where it can only be used by a single thread. If SQLite is compiled with the SQLITE_THREADSAFE=0 compile-time option then it is not possible to change the threading mode from its default value of Single-thread and so sqlite3_config () will return SQ3_RESULT_ERROR if called with the SQ3_CONFIG_SINGLETHREAD configuration option.
There are no arguments to this option. This option sets the threading mode to Multi-thread. In other words, it disables mutexing on database connection and prepared statement objects. The application is responsible for serializing access to database connections and prepared statements. But other mutexes are enabled so that SQLite will be safe to use in a multi-threaded environment as long as no two threads attempt to use the same database connection at the same time. If SQLite is compiled with the SQLITE_THREADSAFE=0 compile-time option then it is not possible to set the Multi-thread threading mode and sqlite3_config () will return SQ3_RESULT_ERROR if called with the SQ3_CONFIG_MULTITHREAD configuration option.
There are no arguments to this option. This option sets the threading mode to Serialized. In other words, this option enables all mutexes including the recursive mutexes on database connection and prepared statement objects. In this mode (which is the default when SQLite is compiled with SQLITE_THREADSAFE=1) the SQLite library will itself serialize access to database connections and prepared statements so that the application is free to use the same database connection or the same prepared statement in different threads at the same time. If SQLite is compiled with the SQLITE_THREADSAFE=0 compile-time option then it is not possible to set the Serialized threading mode and sqlite3_config () will return SQ3_RESULT_ERROR if called with the SQ3_CONFIG_SERIALIZED configuration option.
The SQ3_CONFIG_MALLOC option takes a single argument which is a pointer to an instance of the sqlite3_mem_methods structure. The argument specifies alternative low-level memory allocation routines to be used in place of the memory allocation routines built into SQLite. SQLite makes its own private copy of the content of the sqlite3_mem_methods structure before the sqlite3_config () call returns.
The SQ3_CONFIG_GETMALLOC option takes a single argument which is a pointer to an instance of the sqlite3_mem_methods structure. The sqlite3_mem_methods structure is filled with the currently defined memory allocation routines. This option can be used to overload the default memory allocation routines with a wrapper that simulations memory allocation failure or tracks memory usage, for example.
The SQ3_CONFIG_SMALL_MALLOC option takes single argument of type int, interpreted as a boolean, which if true provides a hint to SQLite that it should avoid large memory allocations if possible. SQLite will run faster if it is free to make large memory allocations, but some application might prefer to run slower in exchange for guarantees about memory fragmentation that are possible if large allocations are avoided. This hint is normally off.
The SQ3_CONFIG_MEMSTATUS option takes single argument of type int, interpreted as a boolean, which enables or disables the collection of memory allocation statistics. When memory allocation statistics are disabled, the following SQLite interfaces become non-operational:
Memory allocation statistics are enabled by default unless SQLite is compiled with SQLITE_DEFAULT_MEMSTATUS=0 in which case memory allocation statistics are disabled by default.
The SQ3_CONFIG_PAGECACHE option specifies a memory pool that SQLite can use for the database page cache with the default page cache implementation. This configuration option is a no-op if an application-defined page cache implementation is loaded using the SQ3_CONFIG_PCACHE2. There are three arguments to SQ3_CONFIG_PAGECACHE: A pointer to 8-byte aligned memory (pMem), the size of each page cache line (sz), and the number of cache lines (N). The sz argument should be the size of the largest database page (a power of two between 512 and 65536) plus some extra bytes for each page header. The number of extra bytes needed by the page header can be determined using SQ3_CONFIG_PCACHE_HDRSZ. It is harmless, apart from the wasted memory, for the sz parameter to be larger than necessary. The pMem argument must be either a NULL pointer or a pointer to an 8-byte aligned block of memory of at least sz*N bytes, otherwise subsequent behavior is undefined. When pMem is not NULL, SQLite will strive to use the memory provided to satisfy page cache needs, falling back to Sq3Malloc () if a page cache line is larger than sz bytes or if all of the pMem buffer is exhausted. If pMem is NULL and N is non-zero, then each database connection does an initial bulk allocation for page cache memory from Sq3Malloc () sufficient for N cache lines if N is positive or of -1024*N bytes if N is negative, . If additional page cache memory is needed beyond what is provided by the initial allocation, then SQLite goes to Sq3Malloc () separately for each additional cache line.
The SQ3_CONFIG_HEAP option specifies a static memory buffer that SQLite will use for all of its dynamic memory allocation needs beyond those provided for by SQ3_CONFIG_PAGECACHE. The SQ3_CONFIG_HEAP option is only available if SQLite is compiled with either SQLITE_ENABLE_MEMSYS3 or SQLITE_ENABLE_MEMSYS5 and returns SQ3_RESULT_ERROR if invoked otherwise. There are three arguments to SQ3_CONFIG_HEAP: An 8-byte aligned pointer to the memory, the number of bytes in the memory buffer, and the minimum allocation size. If the first pointer (the memory pointer) is NULL, then SQLite reverts to using its default memory allocator (the system malloc() implementation), undoing any prior invocation of SQ3_CONFIG_MALLOC. If the memory pointer is not NULL then the alternative memory allocator is engaged to handle all of SQLites memory allocation needs. The first pointer (the memory pointer) must be aligned to an 8-byte boundary or subsequent behavior of SQLite will be undefined. The minimum allocation size is capped at 2**12. Reasonable values for the minimum allocation size are 2**5 through 2**8.
The SQ3_CONFIG_MUTEX option takes a single argument which is a pointer to an instance of the sqlite3_mutex_methods structure. The argument specifies alternative low-level mutex routines to be used in place the mutex routines built into SQLite. SQLite makes a copy of the content of the sqlite3_mutex_methods structure before the call to sqlite3_config () returns. If SQLite is compiled with the SQLITE_THREADSAFE=0 compile-time option then the entire mutexing subsystem is omitted from the build and hence calls to sqlite3_config () with the SQ3_CONFIG_MUTEX configuration option will return SQ3_RESULT_ERROR.
The SQ3_CONFIG_GETMUTEX option takes a single argument which is a pointer to an instance of the sqlite3_mutex_methods structure. The sqlite3_mutex_methods structure is filled with the currently defined mutex routines. This option can be used to overload the default mutex allocation routines with a wrapper used to track mutex usage for performance profiling or testing, for example. If SQLite is compiled with the SQLITE_THREADSAFE=0 compile-time option then the entire mutexing subsystem is omitted from the build and hence calls to sqlite3_config () with the SQ3_CONFIG_GETMUTEX configuration option will return SQ3_RESULT_ERROR.
The SQ3_CONFIG_LOOKASIDE option takes two arguments that determine the default size of lookaside memory on each database connection. The first argument is the size of each lookaside buffer slot and the second is the number of slots allocated to each database connection. SQ3_CONFIG_LOOKASIDE sets the default lookaside size. The SQ3_DBCONFIG_LOOKASIDE option to sqlite3_db_config () can be used to change the lookaside configuration on individual connections.
The SQ3_CONFIG_PCACHE2 option takes a single argument which is a pointer to an sqlite3_pcache_methods2 object. This object specifies the interface to a custom page cache implementation. SQLite makes a copy of the sqlite3_pcache_methods2 object.
The SQ3_CONFIG_GETPCACHE2 option takes a single argument which is a pointer to an sqlite3_pcache_methods2 object. SQLite copies of the current page cache implementation into that object.
The SQ3_CONFIG_LOG option is used to configure the SQLite global error log. (The SQ3_CONFIG_LOG option takes two arguments: a pointer to a function with a call signature of void(*)(void*,int,const char*), and a pointer to void. If the function pointer is not NULL, it is invoked by sqlite3_log () to process each logging event. If the function pointer is NULL, the sqlite3_log () interface becomes a no-op. The void pointer that is the second argument to SQ3_CONFIG_LOG is passed through as the first parameter to the application-defined logger function whenever that function is invoked. The second parameter to the logger function is a copy of the first parameter to the corresponding sqlite3_log () call and is intended to be a result code or an extended result code. The third parameter passed to the logger is log message after formatting via sqlite3_snprintf (). The SQLite logging interface is not reentrant; the logger function supplied by the application must not invoke any SQLite interface. In a multi-threaded application, the application-defined logger function must be threadsafe.
The SQ3_CONFIG_URI option takes a single argument of type int. If non-zero, then URI handling is globally enabled. If the parameter is zero, then URI handling is globally disabled. If URI handling is globally enabled, all filenames passed to sqlite3_open (), Sq3LiteOpenV2 (), sqlite3_open16 () or specified as part of ATTACH commands are interpreted as URIs, regardless of whether or not the SQ3_OPEN_URI flag is set when the database connection is opened. If it is globally disabled, filenames are only interpreted as URIs if the SQ3_OPEN_URI flag is set when the database connection is opened. By default, URI handling is globally disabled. The default value may be changed by compiling with the SQLITE_USE_URI symbol defined.
The SQ3_CONFIG_COVERING_INDEX_SCAN option takes a single integer argument which is interpreted as a boolean in order to enable or disable the use of covering indices for full table scans in the query optimizer. The default setting is determined by the SQLITE_ALLOW_COVERING_INDEX_SCAN compile-time option, or is "on" if that compile-time option is omitted. The ability to disable the use of covering indices for full table scans is because some incorrectly coded legacy applications might malfunction when the optimization is enabled. Providing the ability to disable the optimization allows the older, buggy application code to work without change even with newer versions of SQLite.
These options are obsolete and should not be used by new code. They are retained for backwards compatibility but are now no-ops.
This option is only available if sqlite is compiled with the SQLITE_ENABLE_SQLLOG pre-processor macro defined. The first argument should be a pointer to a function of type void(*)(void*,Sq3LiteC*,const char*, int). The second should be of type (void*). The callback is invoked by the library in three separate circumstances, identified by the value passed as the fourth parameter. If the fourth parameter is 0, then the database connection passed as the second argument has just been opened. The third argument points to a buffer containing the name of the main database file. If the fourth parameter is 1, then the SQL statement that the third parameter points to has just been executed. Or, if the fourth parameter is 2, then the connection being passed as the second parameter is being closed. The third parameter is passed NULL In this case. An example of using this configuration option can be seen in the "test_sqllog.c" source file in the canonical SQLite source tree.
SQ3_CONFIG_MMAP_SIZE takes two 64-bit integer (sqlite3_int64) values that are the default mmap size limit (the default setting for PRAGMA mmap_size) and the maximum allowed mmap size limit. The default setting can be overridden by each database connection using either the PRAGMA mmap_size command, or by using the SQ3_FCNTL_MMAP_SIZE file control. The maximum allowed mmap size will be silently truncated if necessary so that it does not exceed the compile-time maximum mmap size set by the SQLITE_MAX_MMAP_SIZE compile-time option. If either argument to this option is negative, then that argument is changed to its compile-time default.
The SQ3_CONFIG_WIN32_HEAPSIZE option is only available if SQLite is compiled for Windows with the SQLITE_WIN32_MALLOC pre-processor macro defined. SQ3_CONFIG_WIN32_HEAPSIZE takes a 32-bit unsigned integer value that specifies the maximum size of the created heap.
The SQ3_CONFIG_PCACHE_HDRSZ option takes a single parameter which is a pointer to an integer and writes into that integer the number of extra bytes per page required for each page in SQ3_CONFIG_PAGECACHE. The amount of extra space required can change depending on the compiler, target platform, and SQLite version.
The SQ3_CONFIG_PMASZ option takes a single parameter which is an unsigned integer and sets the "Minimum PMA Size" for the multithreaded sorter to that integer. The default minimum PMA Size is set by the SQLITE_SORTER_PMASZ compile-time option. New threads are launched to help with sort operations when multithreaded sorting is enabled (using the PRAGMA threads command) and the amount of content to be sorted exceeds the page size times the minimum of the PRAGMA cache_size setting and this value.
The SQ3_CONFIG_STMTJRNL_SPILL option takes a single parameter which becomes the statement journal spill-to-disk threshold. Statement journals are held in memory until their size (in bytes) exceeds this threshold, at which point they are written to disk. Or if the threshold is -1, statement journals are always held exclusively in memory. Since many statement journals never become large, setting the spill threshold to a value such as 64KiB can greatly reduce the amount of I/O required to support statement rollback. The default value for this setting is controlled by the SQLITE_STMTJRNL_SPILL compile-time option.
The SQ3_CONFIG_SORTERREF_SIZE option accepts a single parameter of type (int) - the new value of the sorter-reference size threshold. Usually, when SQLite uses an external sort to order records according to an ORDER BY clause, all fields required by the caller are present in the sorted records. However, if SQLite determines based on the declared type of a table column that its values are likely to be very large - larger than the configured sorter-reference size threshold - then a reference is stored in each sorted record and the required column values loaded from the database as records are returned in sorted order. The default value for this option is to never use this optimization. Specifying a negative value for this option restores the default behavior. This option is only available if SQLite is compiled with the SQLITE_ENABLE_SORTER_REFERENCES compile-time option.
Reference code from sqlite3:
Definition at line 1658 of file Sq3Enum_sq3.h.
Conflict resolution modes.
Conflict resolution modes …
These constants are returned by Sq3LiteVtabOnConflict () to inform a virtual table implementation what the ON CONFLICT mode is for the SQL statement being evaluated.
Note that the SQ3_AUTHRETURN_IGNORE constant is also used as a potential return value from the Sq3LiteSetAuthorizer () callback and that SQ3_RESULT_ABORT is also a result code.
Reference code from sqlite3:
Enumerator | ||
---|---|---|
SQ3_CONFLICT_ROLLBACK | 1 | |
SQ3_CONFLICT_FAIL | 3 | |
SQ3_CONFLICT_REPLACE | 5 |
Definition at line 1977 of file Sq3Enum_sq3.h.
enum Sq3DbConfigE |
Database Connection Configuration Options.
Database Connection Configuration Options …
These constants are the available integer configuration options that can be passed as the second argument to the sqlite3_db_config () interface.
New configuration options may be added in future releases of SQLite. Existing configuration options might be discontinued. Applications should check the return code from sqlite3_db_config () to make sure that the call worked. The sqlite3_db_config () interface will return a non-zero error code if a discontinued or unsupported configuration option is invoked.
This option takes three additional arguments that determine the lookaside memory allocator configuration for the database connection. The first argument (the third parameter to sqlite3_db_config () is a pointer to a memory buffer to use for lookaside memory. The first argument after the SQ3_DBCONFIG_LOOKASIDE verb may be NULL in which case SQLite will allocate the lookaside buffer itself using Sq3Malloc (). The second argument is the size of each lookaside buffer slot. The third argument is the number of slots. The size of the buffer in the first argument must be greater than or equal to the product of the second and third arguments. The buffer must be aligned to an 8-byte boundary. If the second argument to SQ3_DBCONFIG_LOOKASIDE is not a multiple of 8, it is internally rounded down to the next smaller multiple of 8. The lookaside memory configuration for a database connection can only be changed when that connection is not currently using lookaside memory, or in other words when the "current value" returned by Sq3LiteDbStatus(D,SQ3_DBSTATUS_LOOKASIDE_USED,...) is zero. Any attempt to change the lookaside memory configuration when lookaside memory is in use leaves the configuration unchanged and returns SQ3_RESULT_BUSY.
This option is used to enable or disable the enforcement of foreign key constraints. There should be two additional arguments. The first argument is an integer which is 0 to disable FK enforcement, positive to enable FK enforcement or negative to leave FK enforcement unchanged. The second parameter is a pointer to an integer into which is written 0 or 1 to indicate whether FK enforcement is off or on following this call. The second parameter may be a NULL pointer, in which case the FK enforcement setting is not reported back.
This option is used to enable or disable triggers. There should be two additional arguments. The first argument is an integer which is 0 to disable triggers, positive to enable triggers or negative to leave the setting unchanged. The second parameter is a pointer to an integer into which is written 0 or 1 to indicate whether triggers are disabled or enabled following this call. The second parameter may be a NULL pointer, in which case the trigger setting is not reported back.
Originally this option disabled all triggers. However, since SQLite version 3.35.0, TEMP triggers are still allowed even if this option is off. So, in other words, this option now only disables triggers in the main database schema or in the schemas of ATTACH-ed databases.
This option is used to enable or disable views. There should be two additional arguments. The first argument is an integer which is 0 to disable views, positive to enable views or negative to leave the setting unchanged. The second parameter is a pointer to an integer into which is written 0 or 1 to indicate whether views are disabled or enabled following this call. The second parameter may be a NULL pointer, in which case the view setting is not reported back.
Originally this option disabled all views. However, since SQLite version 3.35.0, TEMP views are still allowed even if this option is off. So, in other words, this option now only disables views in the main database schema or in the schemas of ATTACH-ed databases.
This option is used to enable or disable the fts3_tokenizer () function which is part of the FTS3 full-text search engine extension. There should be two additional arguments. The first argument is an integer which is 0 to disable fts3_tokenizer() or positive to enable fts3_tokenizer() or negative to leave the setting unchanged. The second parameter is a pointer to an integer into which is written 0 or 1 to indicate whether fts3_tokenizer is disabled or enabled following this call. The second parameter may be a NULL pointer, in which case the new setting is not reported back.
This option is used to enable or disable the sqlite3_load_extension () interface independently of the load_extension () SQL function. The sqlite3_enable_load_extension () API enables or disables both the C-API sqlite3_load_extension () and the SQL function load_extension (). There should be two additional arguments. When the first argument to this interface is 1, then only the C-API is enabled and the SQL function remains disabled. If the first argument to this interface is 0, then both the C-API and the SQL function are disabled. If the first argument is -1, then no changes are made to state of either the C-API or the SQL function. The second parameter is a pointer to an integer into which is written 0 or 1 to indicate whether sqlite3_load_extension () interface is disabled or enabled following this call. The second parameter may be a NULL pointer, in which case the new setting is not reported back.
This option is used to change the name of the "main" database schema. The sole argument is a pointer to a constant UTF8 string which will become the new schema name in place of "main". SQLite does not make a copy of the new main schema name string, so the application must ensure that the argument passed into this DBCONFIG option is unchanged until after the database connection closes.
Usually, when a database in wal mode is closed or detached from a database handle, SQLite checks if this will mean that there are now no connections at all to the database. If so, it performs a checkpoint operation before closing the connection. This option may be used to override this behavior. The first parameter passed to this operation is an integer - positive to disable checkpoints-on-close, or zero (the default) to enable them, and negative to leave the setting unchanged. The second parameter is a pointer to an integer into which is written 0 or 1 to indicate whether checkpoints-on-close have been disabled - 0 if they are not disabled, 1 if they are.
The SQ3_DBCONFIG_ENABLE_QPSG option activates or deactivates the query planner stability guarantee (QPSG). When the QPSG is active, a single SQL query statement will always use the same algorithm regardless of values of bound parameters. The QPSG disables some query optimizations that look at the values of bound parameters, which can make some queries slower. But the QPSG has the advantage of more predictable behavior. With the QPSG active, SQLite will always use the same query plan in the field as was used during testing in the lab. The first argument to this setting is an integer which is 0 to disable the QPSG, positive to enable QPSG, or negative to leave the setting unchanged. The second parameter is a pointer to an integer into which is written 0 or 1 to indicate whether the QPSG is disabled or enabled following this call.
By default, the output of EXPLAIN QUERY PLAN commands does not include output for any operations performed by trigger programs. This option is used to set or clear (the default) a flag that governs this behavior. The first parameter passed to this operation is an integer - positive to enable output for trigger programs, or zero to disable it, or negative to leave the setting unchanged. The second parameter is a pointer to an integer into which is written 0 or 1 to indicate whether output-for-triggers has been disabled - 0 if it is not disabled, 1 if it is.
Set the SQ3_DBCONFIG_RESET_DATABASE flag and then run VACUUM in order to reset a database back to an empty database with no schema and no content. The following process works even for a badly corrupted database file:
Because resetting a database is destructive and irreversible, the process requires the use of this obscure API and multiple steps to help ensure that it does not happen by accident. Because this feature must be capable of resetting corrupt databases, and shutting down virtual tables may require access to that corrupt storage, the library must abandon any installed virtual tables without calling their xDestroy() methods.
The SQ3_DBCONFIG_DEFENSIVE option activates or deactivates the "defensive" flag for a database connection. When the defensive flag is enabled, language features that allow ordinary SQL to deliberately corrupt the database file are disabled. The disabled features include but are not limited to the following:
The SQ3_DBCONFIG_WRITABLE_SCHEMA option activates or deactivates the "writable_schema" flag. This has the same effect and is logically equivalent to setting PRAGMA writable_schema=ON or PRAGMA writable_schema=OFF. The first argument to this setting is an integer which is 0 to disable the writable_schema, positive to enable writable_schema, or negative to leave the setting unchanged. The second parameter is a pointer to an integer into which is written 0 or 1 to indicate whether the writable_schema is enabled or disabled following this call.
The SQ3_DBCONFIG_LEGACY_ALTER_TABLE option activates or deactivates the legacy behavior of the ALTER TABLE RENAME command such it behaves as it did prior to version 3.24.0 (2018-06-04). See the "Compatibility Notice" on the ALTER TABLE RENAME documentation for additional information. This feature can also be turned on and off using the PRAGMA legacy_alter_table statement.
The SQ3_DBCONFIG_DQS_DML option activates or deactivates the legacy double-quoted string literal misfeature for DML statements only, that is DELETE, INSERT, SELECT, and UPDATE statements. The default value of this setting is determined by the -DSQLITE_DQS compile-time option.
The SQ3_DBCONFIG_DQS_DDL option activates or deactivates the legacy double-quoted string literal misfeature for DDL statements, such as CREATE TABLE and CREATE INDEX. The default value of this setting is determined by the -DSQLITE_DQS compile-time option.
The SQ3_DBCONFIG_TRUSTED_SCHEMA option tells SQLite to assume that database schemas are untainted by malicious content. When the SQ3_DBCONFIG_TRUSTED_SCHEMA option is disabled, SQLite takes additional defensive steps to protect the application from harm including:
This setting defaults to "on" for legacy compatibility, however all applications are advised to turn it off if possible. This setting can also be controlled using the PRAGMA trusted_schema statement.
The SQ3_DBCONFIG_LEGACY_FILE_FORMAT option activates or deactivates the legacy file format flag. When activated, this flag causes all newly created database file to have a schema format version number (the 4-byte integer found at offset 44 into the database header) of 1. This in turn means that the resulting database file will be readable and writable by any SQLite version back to 3.0.0 (dateof:3.0.0). Without this setting, newly created databases are generally not understandable by SQLite versions prior to 3.3.0 (dateof:3.3.0). As these words are written, there is now scarcely any need to generate database files that are compatible all the way back to version 3.0.0, and so this setting is of little practical use, but is provided so that SQLite can continue to claim the ability to generate new database files that are compatible with version 3.0.0.
Note that when the SQ3_DBCONFIG_LEGACY_FILE_FORMAT setting is on, the VACUUM command will fail with an obscure error when attempting to process a table with generated columns and a descending index. This is not considered a bug since SQLite versions 3.3.0 and earlier do not support either generated columns or descending indexes.
The SQ3_DBCONFIG_STMT_SCANSTATUS option is only useful in SQLITE_ENABLE_STMT_SCANSTATUS builds. In this case, it sets or clears a flag that enables collection of the sqlite3_stmt_scanstatus_v2() statistics. For statistics to be collected, the flag must be set on the database handle both when the SQL statement is prepared and when it is stepped. The flag is set (collection of statistics is enabled) by default. This option takes two arguments: an integer and a pointer to an integer.. The first argument is 1, 0, or -1 to enable, disable, or leave unchanged the statement scanstatus option. If the second argument is not NULL, then the value of the statement scanstatus setting after processing the first argument is written into the integer that the second argument points to.
Reference code from sqlite3:
Definition at line 884 of file Sq3Enum_sq3.h.
enum Sq3DbStatusE |
Status Parameters for database connections.
Status Parameters for database connections …
These constants are the available integer "verbs" that can be passed as the second argument to the Sq3LiteDbStatus () interface.
New verbs may be added in future releases of SQLite. Existing verbs might be discontinued. Applications should check the return code from Sq3LiteDbStatus () to make sure that the call worked. The Sq3LiteDbStatus () interface will return a non-zero error code if a discontinued or unsupported verb is invoked.
This parameter returns the number of lookaside memory slots currently checked out.
This parameter returns the number of malloc attempts that were satisfied using lookaside memory. Only the high-water value is meaningful; the current value is always zero.
This parameter returns the number malloc attempts that might have been satisfied using lookaside memory but failed due to the amount of memory requested being larger than the lookaside slot size. Only the high-water value is meaningful; the current value is always zero.
This parameter returns the number malloc attempts that might have been satisfied using lookaside memory but failed due to all lookaside memory already being in use. Only the high-water value is meaningful; the current value is always zero.
This parameter returns the approximate number of bytes of heap memory used by all pager caches associated with the database connection. The highwater mark associated with SQ3_DBSTATUS_CACHE_USED is always 0.
This parameter is similar to DBSTATUS_CACHE_USED, except that if a pager cache is shared between two or more connections the bytes of heap memory used by that pager cache is divided evenly between the attached connections. In other words, if none of the pager caches associated with the database connection are shared, this request returns the same value as DBSTATUS_CACHE_USED. Or, if one or more or the pager caches are shared, the value returned by this call will be smaller than that returned by DBSTATUS_CACHE_USED. The highwater mark associated with SQ3_DBSTATUS_CACHE_USED_SHARED is always 0.
This parameter returns the approximate number of bytes of heap memory used to store the schema for all databases associated with the connection - main, temp, and any ATTACH-ed databases. The full amount of memory used by the schemas is reported, even if the schema memory is shared with other database connections due to shared cache mode being enabled. The highwater mark associated with SQ3_DBSTATUS_SCHEMA_USED is always 0.
This parameter returns the approximate number of bytes of heap and lookaside memory used by all prepared statements associated with the database connection. The highwater mark associated with SQ3_DBSTATUS_STMT_USED is always 0.
This parameter returns the number of pager cache hits that have occurred. The highwater mark associated with SQ3_DBSTATUS_CACHE_HIT is always 0.
This parameter returns the number of pager cache misses that have occurred. The highwater mark associated with SQ3_DBSTATUS_CACHE_MISS is always 0.
This parameter returns the number of dirty cache entries that have been written to disk. Specifically, the number of pages written to the wal file in wal mode databases, or the number of pages written to the database file in rollback mode databases. Any pages written as part of transaction rollback or database recovery operations are not included. If an IO or other error occurs while writing a page to disk, the effect on subsequent SQ3_DBSTATUS_CACHE_WRITE requests is undefined. The highwater mark associated with SQ3_DBSTATUS_CACHE_WRITE is always 0.
This parameter returns the number of dirty cache entries that have been written to disk in the middle of a transaction due to the page cache overflowing. Transactions are more efficient if they are written to disk all at once. When pages spill mid-transaction, that introduces additional overhead. This parameter can be used help identify inefficiencies that can be resolved by increasing the cache size.
Reference code from sqlite3:
Definition at line 82 of file Sq3Enum_sq3.h.
enum Sq3DeSerializeEF |
Flags for sqlite3_deserialize()
Flags for sqlite3_deserialize() …
The following are allowed values for 6th argument (the F argument) to the Sq3LiteDeserialize (D,S,P,N,M,F) interface.
The SQ3_DESERIALIZE_FREEONCLOSE means that the database serialization in the P argument is held in memory obtained from Sq3Malloc64 () and that SQLite should take ownership of this memory and automatically free it when it has finished using it. Without this flag, the caller is responsible for freeing any dynamically allocated memory.
The SQ3_DESERIALIZE_RESIZEABLE flag means that SQLite is allowed to grow the size of the database using calls to Sq3Realloc64 (). This flag should only be used if SQ3_DESERIALIZE_FREEONCLOSE is also used. Without this flag, the deserialized database cannot increase in size beyond the number of bytes specified by the M parameter.
The SQ3_DESERIALIZE_READONLY flag means that the deserialized database should be treated as read-only.
Reference code from sqlite3:
Enumerator | ||
---|---|---|
SQ3_DESERIALIZE_NO | 0 | |
SQ3_DESERIALIZE_FREEONCLOSE | 1 | |
SQ3_DESERIALIZE_RESIZEABLE | 2 | |
SQ3_DESERIALIZE_READONLY | 4 |
Definition at line 1299 of file Sq3Enum_sq3.h.
enum Sq3ErrorE |
Result Codes.
Result Codes …
Many SQLite functions return an integer result code from the set shown here in order to indicate success or failure.
New error codes may be added in future versions of SQLite.
See also: extended result code definitions
Reference code from sqlite3:
Definition at line 1818 of file Sq3Enum_sq3.h.
Extended Result Codes.
Extended Result Codes …
In its default configuration, SQLite API routines return one of 30 integer result codes. However, experience has shown that many of these result codes are too coarse-grained. They do not provide as much information about problems as programmers might like. In an effort to address this, newer versions of SQLite (version 3.3.8 dateof:3.3.8 and later) include support for additional result codes that provide more detailed information about errors. These extended result codes are enabled or disabled on a per database connection basis using the Sq3LiteExtendedResultCodes () API. Or, the extended code for the most recent error can be obtained using Sq3LiteExtendetErrCode ().
Reference code from sqlite3:
Definition at line 1149 of file Sq3Enum_sq3.h.
enum Sq3FcntlE |
Standard File Control Opcodes.
Standard File Control Opcodes …
These integer constants are opcodes for the xFileControl method of the sqlite3_io_methods object and for the Sq3LiteFileControl () interface.
The SQ3_FCNTL_LOCKSTATE opcode is used for debugging. This opcode causes the xFileControl method to write the current state of the lock (one of SQ3_LOCK_NONE, SQ3_LOCK_SHARED, SQ3_LOCK_RESERVED, SQ3_LOCK_PENDING, or SQ3_LOCK_EXCLUSIVE) into an integer that the pArg argument points to. This capability is only available if SQLite is compiled with SQLITE_DEBUG.
The SQ3_FCNTL_SIZE_HINT opcode is used by SQLite to give the VFS layer a hint of how large the database file will grow to be during the current transaction. This hint is not guaranteed to be accurate but it is often close. The underlying VFS might choose to preallocate database file space based on this hint in order to help writes to the database file run faster.
The SQ3_FCNTL_SIZE_LIMIT opcode is used by in-memory VFS that implements Sq3LiteDeserialize () to set an upper bound on the size of the in-memory database. The argument is a pointer to a sqlite3_int64. If the integer pointed to is negative, then it is filled in with the current limit. Otherwise the limit is set to the larger of the value of the integer pointed to and the current database size. The integer pointed to is set to the new limit.
The SQ3_FCNTL_CHUNK_SIZE opcode is used to request that the VFS extends and truncates the database file in chunks of a size specified by the user. The fourth argument to Sq3LiteFileControl () should point to an integer (type int) containing the new chunk-size to use for the nominated database. Allocating database file space in large chunks (say 1MB at a time), may reduce file-system fragmentation and improve performance on some systems.
The SQ3_FCNTL_FILE_POINTER opcode is used to obtain a pointer to the Sq3FileC object associated with a particular database connection. See also SQ3_FCNTL_JOURNAL_POINTER.
The SQ3_FCNTL_JOURNAL_POINTER opcode is used to obtain a pointer to the Sq3FileC object associated with the journal file (either the rollback journal or the write-ahead log) for a particular database connection. See also SQ3_FCNTL_FILE_POINTER.
The SQ3_FCNTL_SYNC opcode is generated internally by SQLite and sent to the VFS immediately before the xSync method is invoked on a database file descriptor. Or, if the xSync method is not invoked because the user has configured SQLite with PRAGMA synchronous=OFF it is invoked in place of the xSync method. In most cases, the pointer argument passed with this file-control is NULL. However, if the database file is being synced as part of a multi-database commit, the argument points to a nul-terminated string containing the transactions super-journal file name. VFSes that do not need this signal should silently ignore this opcode. Applications should not call Sq3LiteFileControl () with this opcode as doing so may disrupt the operation of the specialized VFSes that do require it.
The SQ3_FCNTL_COMMIT_PHASETWO opcode is generated internally by SQLite and sent to the VFS after a transaction has been committed immediately but before the database is unlocked. VFSes that do not need this signal should silently ignore this opcode. Applications should not call Sq3LiteFileControl () with this opcode as doing so may disrupt the operation of the specialized VFSes that do require it.
The SQ3_FCNTL_WIN32_AV_RETRY opcode is used to configure automatic retry counts and intervals for certain disk I/O operations for the windows VFS in order to provide robustness in the presence of anti-virus programs. By default, the windows VFS will retry file read, file write, and file delete operations up to 10 times, with a delay of 25 milliseconds before the first retry and with the delay increasing by an additional 25 milliseconds with each subsequent retry. This opcode allows these two values (10 retries and 25 milliseconds of delay) to be adjusted. The values are changed for all database connections within the same process. The argument is a pointer to an array of two integers where the first integer is the new retry count and the second integer is the delay. If either integer is negative, then the setting is not changed but instead the prior value of that setting is written into the array entry, allowing the current retry settings to be interrogated. The zDbName parameter is ignored.
The SQ3_FCNTL_PERSIST_WAL opcode is used to set or query the persistent Write Ahead Log setting. By default, the auxiliary write ahead log (WAL file) and shared memory files used for transaction control are automatically deleted when the latest connection to the database closes. Setting persistent WAL mode causes those files to persist after close. Persisting the files is useful when other processes that do not have write permission on the directory containing the database file want to read the database file, as the WAL and shared memory files must exist in order for the database to be readable. The fourth parameter to Sq3LiteFileControl () for this opcode should be a pointer to an integer. That integer is 0 to disable persistent WAL mode or 1 to enable persistent WAL mode. If the integer is -1, then it is overwritten with the current WAL persistence setting.
The SQ3_FCNTL_POWERSAFE_OVERWRITE opcode is used to set or query the persistent "powersafe-overwrite" or "PSOW" setting. The PSOW setting determines the SQ3_IOCAP_POWERSAFE_OVERWRITE bit of the xDeviceCharacteristics methods. The fourth parameter to Sq3LiteFileControl () for this opcode should be a pointer to an integer. That integer is 0 to disable zero-damage mode or 1 to enable zero-damage mode. If the integer is -1, then it is overwritten with the current zero-damage mode setting.
The SQ3_FCNTL_OVERWRITE opcode is invoked by SQLite after opening a write transaction to indicate that, unless it is rolled back for some reason, the entire database file will be overwritten by the current transaction. This is used by VACUUM operations.
The SQ3_FCNTL_VFSNAME opcode can be used to obtain the names of all VFSes in the VFS stack. The names are of all VFS shims and the final bottom-level VFS are written into memory obtained from Sq3Malloc () and the result is stored in the char* variable that the fourth parameter of Sq3LiteFileControl () points to. The caller is responsible for freeing the memory when done. As with all file-control actions, there is no guarantee that this will actually do anything. Callers should initialize the char* variable to a NULL pointer in case this file-control is not implemented. This file-control is intended for diagnostic use only.
The SQ3_FCNTL_VFS_POINTER opcode finds a pointer to the top-level VFSes currently in use. The argument X in Sq3LiteFileControl(db,SQ3_FCNTL_VFS_POINTER,X) must be of type "<a href="https://www.sqlite.org/c3ref/vfs.html">sqlite3_vfs</a> **". This opcodes will set *X to a pointer to the top-level VFS. When there are multiple VFS shims in the stack, this opcode finds the upper-most shim only.
Whenever a PRAGMA statement is parsed, an SQ3_FCNTL_PRAGMA file control is sent to the open Sq3FileC object corresponding to the database file to which the pragma statement refers. The argument to the SQ3_FCNTL_PRAGMA file control is an array of pointers to strings (char**) in which the second element of the array is the name of the pragma and the third element is the argument to the pragma or NULL if the pragma has no argument. The handler for an SQ3_FCNTL_PRAGMA file control can optionally make the first element of the char** argument point to a string obtained from sqlite3_mprintf () or the equivalent and that string will become the result of the pragma or the error message if the pragma fails. If the SQ3_FCNTL_PRAGMA file control returns SQ3_RESULT_NOTFOUND, then normal PRAGMA processing continues. If the SQ3_FCNTL_PRAGMA file control returns SQ3_RESULT_OK, then the parser assumes that the VFS has handled the PRAGMA itself and the parser generates a no-op prepared statement if result string is NULL, or that returns a copy of the result string if the string is non-NULL. If the SQ3_FCNTL_PRAGMA file control returns any result code other than SQ3_RESULT_OK or SQ3_RESULT_NOTFOUND, that means that the VFS encountered an error while handling the PRAGMA and the compilation of the PRAGMA fails with an error. The SQ3_FCNTL_PRAGMA file control occurs at the beginning of pragma statement analysis and so it is able to override built-in PRAGMA statements.
The SQ3_FCNTL_BUSYHANDLER file-control may be invoked by SQLite on the database file handle shortly after it is opened in order to provide a custom VFS with access to the connection's busy-handler callback. The argument is of type (void**)
Applications can invoke the SQ3_FCNTL_TEMPFILENAME file-control to have SQLite generate a temporary filename using the same algorithm that is followed to generate temporary filenames for TEMP tables and other internal uses. The argument should be a char** which will be filled with the filename written into memory obtained from Sq3Malloc (). The caller should invoke Sq3Free () on the result to avoid a memory leak.
The SQ3_FCNTL_MMAP_SIZE file control is used to query or set the maximum number of bytes that will be used for memory-mapped I/O. The argument is a pointer to a value of type sqlite3_int64 that is an advisory maximum number of bytes in the file to memory map. The pointer is overwritten with the old value. The limit is not changed if the value originally pointed to is negative, and so the current limit can be queried by passing in a pointer to a negative number. This file-control is used internally to implement PRAGMA mmap_size.
The SQ3_FCNTL_TRACE file control provides advisory information to the VFS about what the higher layers of the SQLite stack are doing. This file control is used by some VFS activity tracing shims. The argument is a zero-terminated string. Higher layers in the SQLite stack may generate instances of this file control if the SQLITE_USE_FCNTL_TRACE compile-time option is enabled.
The SQ3_FCNTL_HAS_MOVED file control interprets its argument as a pointer to an integer and it writes a boolean into that integer depending on whether or not the file has been renamed, moved, or deleted since it was first opened.
The SQ3_FCNTL_WIN32_GET_HANDLE opcode can be used to obtain the underlying native file handle associated with a file handle. This file control interprets its argument as a pointer to a native file handle and writes the resulting value there.
The SQ3_FCNTL_WIN32_SET_HANDLE opcode is used for debugging. This opcode causes the xFileControl method to swap the file handle with the one pointed to by the pArg argument. This capability is used during testing and only needs to be supported when SQLITE_TEST is defined.
The SQ3_FCNTL_WAL_BLOCK is a signal to the VFS layer that it might be advantageous to block on the next WAL lock if the lock is not immediately available. The WAL subsystem issues this signal during rare circumstances in order to fix a problem with priority inversion. Applications should not use this file-control.
The SQ3_FCNTL_ZIPVFS opcode is implemented by zipvfs only. All other VFS should return SQ3_RESULT_NOTFOUND for this opcode.
The SQ3_FCNTL_RBU opcode is implemented by the special VFS used by the RBU extension only. All other VFS should return SQ3_RESULT_NOTFOUND for this opcode.
If the SQ3_FCNTL_BEGIN_ATOMIC_WRITE opcode returns SQ3_RESULT_OK, then the file descriptor is placed in "batch write mode", which means all subsequent write operations will be deferred and done atomically at the next SQ3_FCNTL_COMMIT_ATOMIC_WRITE. Systems that do not support batch atomic writes will return SQ3_RESULT_NOTFOUND. Following a successful SQ3_FCNTL_BEGIN_ATOMIC_WRITE and prior to the closing SQ3_FCNTL_COMMIT_ATOMIC_WRITE or SQ3_FCNTL_ROLLBACK_ATOMIC_WRITE, SQLite will make no VFS interface calls on the same Sq3FileC file descriptor except for calls to the xWrite method and the xFileControl method with SQ3_FCNTL_SIZE_HINT.
The SQ3_FCNTL_COMMIT_ATOMIC_WRITE opcode causes all write operations since the previous successful call to SQ3_FCNTL_BEGIN_ATOMIC_WRITE to be performed atomically. This file control returns SQ3_RESULT_OK if and only if the writes were all performed successfully and have been committed to persistent storage. Regardless of whether or not it is successful, this file control takes the file descriptor out of batch write mode so that all subsequent write operations are independent. SQLite will never invoke SQ3_FCNTL_COMMIT_ATOMIC_WRITE without a prior successful call to SQ3_FCNTL_BEGIN_ATOMIC_WRITE.
The SQ3_FCNTL_ROLLBACK_ATOMIC_WRITE opcode causes all write operations since the previous successful call to SQ3_FCNTL_BEGIN_ATOMIC_WRITE to be rolled back. This file control takes the file descriptor out of batch write mode so that all subsequent write operations are independent. SQLite will never invoke SQ3_FCNTL_ROLLBACK_ATOMIC_WRITE without a prior successful call to SQ3_FCNTL_BEGIN_ATOMIC_WRITE.
The SQ3_FCNTL_LOCK_TIMEOUT opcode is used to configure a VFS to block for up to M milliseconds before failing when attempting to obtain a file lock using the xLock or xShmLock methods of the VFS. The parameter is a pointer to a 32-bit signed integer that contains the value that M is to be set to. Before returning, the 32-bit signed integer is overwritten with the previous value of M.
The SQ3_FCNTL_DATA_VERSION opcode is used to detect changes to a database file. The argument is a pointer to a 32-bit unsigned integer. The "data version" for the pager is written into the pointer. The "data version" changes whenever any change occurs to the corresponding database file, either through SQL statements on the same database connection or through transactions committed by separate database connections possibly in other processes. The Sq3LiteTotalChanges () interface can be used to find if any database on the connection has changed, but that interface responds to changes on TEMP as well as MAIN and does not provide a mechanism to detect changes to MAIN only. Also, the Sq3LiteTotalChanges () interface responds to internal changes only and omits changes made by other database connections. The PRAGMA data_version command provides a mechanism to detect changes to a single attached database that occur due to other database connections, but omits changes implemented by the database connection on which it is called. This file control is the only mechanism to detect changes that happen either internally or externally and that are associated with a particular attached database.
The SQ3_FCNTL_CKPT_START opcode is invoked from within a checkpoint in wal mode before the client starts to copy pages from the wal file to the database file.
The SQ3_FCNTL_CKPT_DONE opcode is invoked from within a checkpoint in wal mode after the client has finished copying pages from the wal file to the database file, but before the *-shm file is updated to record the fact that the pages have been checkpointed.
The EXPERIMENTAL SQ3_FCNTL_EXTERNAL_READER opcode is used to detect whether or not there is a database client in another process with a wal-mode transaction open on the database or not. It is only available on unix.The (void*) argument passed with this file-control should be a pointer to a value of type (int). The integer value is set to 1 if the database is a wal mode database and there exists at least one client in another process that currently has an SQL transaction open on the database. It is set to 0 if the database is not a wal-mode db, or if there is no such connection in any other process. This opcode cannot be used to detect transactions opened by clients within the current process, only within other processes.
The SQ3_FCNTL_CKSM_FILE opcode is for use internally by the checksum VFS shim only.
Reference code from sqlite3:
Definition at line 946 of file Sq3Enum_sq3.h.
enum Sq3FunctionEF |
Function Flags.
Function Flags …
These constants may be ORed together with the preferred text encoding as the fourth argument to sqlite3_create_function (), sqlite3_create_function16 (), or sqlite3_create_function_v2 ().
The SQ3_FUNCTION_DETERMINISTIC flag means that the new function always gives the same output when the input parameters are the same. The abs() function is deterministic, for example, but randomblob() is not. Functions must be deterministic in order to be used in certain contexts such as with the WHERE clause of partial indexes or in generated columns. SQLite might also optimize deterministic functions by factoring them out of inner loops.
The SQ3_FUNCTION_DIRECTONLY flag means that the function may only be invoked from top-level SQL, and cannot be used in VIEWs or TRIGGERs nor in schema structures such as CHECK constraints, DEFAULT clauses, expression indexes, partial indexes, or generated columns.
The SQ3_FUNCTION_DIRECTONLY flag is recommended for any application-defined SQL function that has side-effects or that could potentially leak sensitive information. This will prevent attacks in which an application is tricked into using a database file that has had its schema surreptitiously modified to invoke the application-defined function in ways that are harmful.
Some people say it is good practice to set SQ3_FUNCTION_DIRECTONLY on all application-defined SQL functions, regardless of whether or not they are security sensitive, as doing so prevents those functions from being used inside of the database schema, and thus ensures that the database can be inspected and modified using generic tools (such as the CLI) that do not have access to the application-defined functions.
The SQ3_FUNCTION_INNOCUOUS flag means that the function is unlikely to cause problems even if misused. An innocuous function should have no side effects and should not depend on any values other than its input parameters. The abs() function is an example of an innocuous function. The load_extension() SQL function is not innocuous because of its side effects.
SQ3_FUNCTION_INNOCUOUS is similar to SQ3_FUNCTION_DETERMINISTIC, but is not exactly the same. The random() function is an example of a function that is innocuous but not deterministic.
Some heightened security settings (SQ3_DBCONFIG_TRUSTED_SCHEMA and PRAGMA trusted_schema=OFF) disable the use of SQL functions inside views and triggers and in schema structures such as CHECK constraints, DEFAULT clauses, expression indexes, partial indexes, and generated columns unless the function is tagged with SQ3_FUNCTION_INNOCUOUS. Most built-in functions are innocuous. Developers are advised to avoid using the SQ3_FUNCTION_INNOCUOUS flag for application-defined functions unless the function has been carefully audited and found to be free of potentially security-adverse side-effects and information-leaks.
The SQ3_FUNCTION_SUBTYPE flag indicates to SQLite that a function might call Sq3ValueSubType () to inspect the sub-types of its arguments. This flag instructs SQLite to omit some corner-case optimizations that might disrupt the operation of the Sq3ValueSubType () function, causing it to return zero rather than the correct subtype(). SQL functions that invokes Sq3ValueSubType () should have this property. If the SQ3_FUNCTION_SUBTYPE property is omitted, then the return value from Sq3ValueSubType () might sometimes be zero even though a non-zero subtype was specified by the function argument expression.
Reference code from sqlite3:
Enumerator | ||
---|---|---|
SQ3_FUNCTION_DETERMINISTIC | 0x000000800 | |
SQ3_FUNCTION_DIRECTONLY | 0x000080000 | |
SQ3_FUNCTION_SUBTYPE | 0x000100000 | |
SQ3_FUNCTION_INNOCUOUS | 0x000200000 | |
SQ3_FUNCTION_RESULT_SUBTYPE | 0x001000000 |
Definition at line 606 of file Sq3Enum_sq3.h.
enum Sq3IndexConstraintEF |
Virtual Table Constraint Operator Codes.
Virtual Table Constraint Operator Codes …
These macros define the allowed values for the sqlite3_index_info.aConstraint[].op field. Each value represents an operator that is part of a constraint term in the WHERE clause of a query that uses a virtual table.
The left-hand operand of the operator is given by the corresponding aConstraint[].iColumn field. An iColumn of -1 indicates the left-hand operand is the rowid. The SQ3_INDEX_CONSTRAINT_LIMIT and SQ3_INDEX_CONSTRAINT_OFFSET operators have no left-hand operand, and so for those operators the corresponding aConstraint[].iColumn is meaningless and should not be used.
All operator values from SQ3_INDEX_CONSTRAINT_FUNCTION through value 255 are reserved to represent functions that are overloaded by the xFindFunction method of the virtual table implementation.
The right-hand operands for each constraint might be accessible using the sqlite3_vtab_rhs_value () interface. Usually the right-hand operand is only available if it appears as a single constant literal in the input SQL. If the right-hand operand is another column or an expression (even a constant expression) or a parameter, then the sqlite3_vtab_rhs_value() probably will not be able to extract it. The SQ3_INDEX_CONSTRAINT_ISNULL and SQ3_INDEX_CONSTRAINT_ISNOTNULL operators have no right-hand operand and hence calls to sqlite3_vtab_rhs_value() for those operators will always return SQ3_RESULT_NOTFOUND.
The collating sequence to be used for comparison can be found using the sqlite3_vtab_collation () interface. For most real-world virtual tables, the collating sequence of constraints does not matter (for example because the constraints are numeric) and so the sqlite3_vtab_collation() interface is not commonly needed.
Reference code from sqlite3:
Definition at line 1451 of file Sq3Enum_sq3.h.
enum Sq3IoCapEF |
Device Characteristics.
Device Characteristics …
The xDeviceCharacteristics method of the sqlite3_io_methods object returns an integer which is a vector of these bit values expressing I/O characteristics of the mass storage device that holds the file that the sqlite3_io_methods refers to.
The SQ3_IOCAP_ATOMIC property means that all writes of any size are atomic. The SQ3_IOCAP_ATOMICnnn values mean that writes of blocks that are nnn bytes in size and are aligned to an address which is an integer multiple of nnn are atomic. The SQ3_IOCAP_SAFE_APPEND value means that when data is appended to a file, the data is appended first then the size of the file is extended, never the other way around. The SQ3_IOCAP_SEQUENTIAL property means that information is written to disk in the same order as calls to xWrite(). The SQ3_IOCAP_POWERSAFE_OVERWRITE property means that after reboot following a crash or power loss, the only bytes in a file that were written at the application level might have changed and that adjacent bytes, even bytes within the same sector are guaranteed to be unchanged. The SQ3_IOCAP_UNDELETABLE_WHEN_OPEN flag indicates that a file cannot be deleted when open. The SQ3_IOCAP_IMMUTABLE flag indicates that the file is on read-only media and cannot be changed even by processes with elevated privileges.
The SQ3_IOCAP_BATCH_ATOMIC property means that the underlying filesystem supports doing multiple write operations atomically when those write operations are bracketed by SQ3_FCNTL_BEGIN_ATOMIC_WRITE and SQ3_FCNTL_COMMIT_ATOMIC_WRITE.
Reference code from sqlite3:
Definition at line 258 of file Sq3Enum_sq3.h.
enum Sq3LimitE |
Run-Time Limit Categories.
Run-Time Limit Categories …
These constants define various performance limits that can be lowered at run-time using Sq3LiteLimit (). The synopsis of the meanings of the various limits is shown below. Additional information is available at Limits in SQLite.
The maximum size of any string or BLOB or table row, in bytes.
The maximum number of columns in a table definition or in the result set of a SELECT or the maximum number of columns in an index or in an ORDER BY or GROUP BY clause.
The maximum number of instructions in a virtual machine program used to implement an SQL statement. If Sq3StmtPrepareV2 () or the equivalent tries to allocate space for more than this many opcodes in a single prepared statement, an SQ3_RESULT_NOMEM error is returned.
The maximum number of attached databases.
The maximum length of the pattern argument to the LIKE or GLOB operators.
The maximum index number of any parameter in an SQL statement.
Reference code from sqlite3:
Definition at line 704 of file Sq3Enum_sq3.h.
enum Sq3LockE |
File Locking Levels.
File Locking Levels …
SQLite uses one of these integer values as the second argument to calls it makes to the xLock() and xUnlock() methods of an sqlite3_io_methods object. These values are ordered from lest restrictive to most restrictive.
The argument to xLock() is always SHARED or higher. The argument to xUnlock is either SHARED or NONE.
Reference code from sqlite3:
Enumerator | ||
---|---|---|
SQ3_LOCK_NONE | 0 | |
SQ3_LOCK_SHARED | 1 | |
SQ3_LOCK_RESERVED | 2 | |
SQ3_LOCK_PENDING | 3 | |
SQ3_LOCK_EXCLUSIVE | 4 |
Definition at line 1772 of file Sq3Enum_sq3.h.
enum Sq3MutexE |
Mutex Types.
Mutex Types …
The sqlite3_mutex_alloc () interface takes a single argument which is one of these integer constants.
The set of static mutexes may change from one SQLite release to the next. Applications that override the built-in mutex logic must be prepared to accommodate additional static mutexes.
Reference code from sqlite3:
Definition at line 504 of file Sq3Enum_sq3.h.
enum Sq3OpenEF |
Flags For File Open Operations.
Flags For File Open Operations …
These bit values are intended for use in the 3rd parameter to the Sq3LiteOpenV2 () interface and in the 4th parameter to the sqlite3_vfs.xOpen method.
Only those flags marked as "Ok for sqlite3_open_v2()" may be used as the third argument to the Sq3LiteOpenV2 () interface. The other flags have historically been ignored by Sq3LiteOpenV2(), though future versions of SQLite might change so that an error is raised if any of the disallowed bits are passed into Sq3LiteOpenV2(). Applications should not depend on the historical behavior.
Note in particular that passing the SQ3_OPEN_EXCLUSIVE flag into Sq3LiteOpenV2 () does not cause the underlying database file to be opened using O_EXCL. Passing SQ3_OPEN_EXCLUSIVE into Sq3LiteOpenV2 () has historically be a no-op and might become an error in future versions of SQLite.
Reference code from sqlite3:
Definition at line 1080 of file Sq3Enum_sq3.h.
enum Sq3PrepareEF |
Prepare Flags.
Prepare Flags …
These constants define various flags that can be passed into "prepFlags" parameter of the Sq3StmtPrepareV3 () and sqlite3_prepare16_v3 () interfaces.
New flags may be added in future releases of SQLite.
The SQ3_PREPARE_PERSISTENT flag is a hint to the query planner that the prepared statement will be retained for a long time and probably reused many times. Without this flag, Sq3StmtPrepareV3 () and sqlite3_prepare16_v3 () assume that the prepared statement will be used just once or at most a few times and then destroyed using Sq3StmtFinalize () relatively soon. The current implementation acts on this hint by avoiding the use of lookaside memory so as not to deplete the limited store of lookaside memory. Future versions of SQLite may act on this hint differently.
The SQ3_PREPARE_NORMALIZE flag is a no-op. This flag used to be required for any prepared statement that wanted to use the sqlite3_normalized_sql () interface. However, the sqlite3_normalized_sql () interface is now available to all prepared statements, regardless of whether or not they use this flag.
Reference code from sqlite3:
Enumerator | ||
---|---|---|
SQ3_PREPARE_NO | 0x00 | |
SQ3_PREPARE_PERSISTENT | 0x01 | |
SQ3_PREPARE_NORMALIZE | 0x02 | |
SQ3_PREPARE_NO_VTAB | 0x04 |
Definition at line 758 of file Sq3Enum_sq3.h.
enum Sq3ScanStatE |
Prepared Statement Scan Status Opcodes.
Prepared Statement Scan Status Opcodes …
The following constants can be used for the T parameter to the sqlite3_stmt_scanstatus (S,X,T,V) interface. Each constant designates a different metric for sqlite3_stmt_scanstatus() to return.
When the value returned to V is a string, space to hold that string is managed by the prepared statement S and will be automatically freed when S is finalized.
Not all values are available for all query elements. When a value is not available, the output variable is set to -1 if the value is numeric, or to NULL if it is a string (SQ3_SCANSTAT_NAME).
The sqlite3_int64 variable pointed to by the V parameter will be set to the total number of times that the X-th loop has run.
The sqlite3_int64 variable pointed to by the V parameter will be set to the total number of rows examined by all iterations of the X-th loop.
The "double" variable pointed to by the V parameter will be set to the query planner's estimate for the average number of rows output from each iteration of the X-th loop. If the query planner's estimates was accurate, then this value will approximate the quotient NVISIT/NLOOP and the product of this value for all prior loops with the same SELECTID will be the NLOOP value for the current loop.
The "const char *" variable pointed to by the V parameter will be set to a zero-terminated UTF-8 string containing the name of the index or table used for the X-th loop.
The "const char *" variable pointed to by the V parameter will be set to a zero-terminated UTF-8 string containing the EXPLAIN QUERY PLAN description for the X-th loop.
The "int" variable pointed to by the V parameter will be set to the id for the X-th query plan element. The id value is unique within the statement. The select-id is the same value as is output in the first column of an EXPLAIN QUERY PLAN query.
The "int" variable pointed to by the V parameter will be set to the the id of the parent of the current query element, if applicable, or to zero if the query element has no parent. This is the same value as returned in the second column of an EXPLAIN QUERY PLAN query.
Reference code from sqlite3:
Enumerator | ||
---|---|---|
SQ3_SCANSTAT_NLOOP | 0 | |
SQ3_SCANSTAT_NVISIT | 1 | |
SQ3_SCANSTAT_EST | 2 | |
SQ3_SCANSTAT_NAME | 3 | |
SQ3_SCANSTAT_EXPLAIN | 4 | |
SQ3_SCANSTAT_SELECTID | 5 | |
SQ3_SCANSTAT_PARENTID | 6 | |
SQ3_SCANSTAT_NCYCLE | 7 |
Definition at line 1350 of file Sq3Enum_sq3.h.
enum Sq3SerializeE |
Flags for sqlite3_serialize.
Flags for sqlite3_serialize …
Zero or more of the following constants can be OR-ed together for the F argument to Sq3LiteSerialize (D,S,P,F).
SQ3_SERIALIZE_NOCOPY means that Sq3LiteSerialize () will return a pointer to contiguous in-memory database that it is currently using, without making a copy of the database. If SQLite is not currently using a contiguous in-memory database, then this option causes Sq3LiteSerialize () to return a NULL pointer. SQLite will only be using a contiguous in-memory database if it has been initialized by a prior call to Sq3LiteDeserialize ().
Reference code from sqlite3:
Enumerator | ||
---|---|---|
SQ3_SERIALIZE_NO | 0x000 | |
SQ3_SERIALIZE_NOCOPY | 0x001 |
Definition at line 366 of file Sq3Enum_sq3.h.
enum Sq3SessionObjConfigE |
Options for sqlite3session_object_config.
Options for sqlite3session_object_config …
The following values may passed as the the 2nd parameter to sqlite3session_object_config().
This option is used to set, clear or query the flag that enables the sqlite3session_changeset_size () API. Because it imposes some computational overhead, this API is disabled by default. Argument pArg must point to a value of type (int). If the value is initially 0, then the sqlite3session_changeset_size() API is disabled. If it is greater than 0, then the same API is enabled. Or, if the initial value is less than zero, no change is made. In all cases the (int) variable is set to 1 if the sqlite3session_changeset_size() API is enabled following the current call, or 0 otherwise.
It is an error (SQ3_RESULT_MISUSE) to attempt to modify this setting after the first table has been attached to the session object.
This option is used to set, clear or query the flag that enables collection of data for tables with no explicit PRIMARY KEY.
Normally, tables with no explicit PRIMARY KEY are simply ignored by the sessions module. However, if this flag is set, it behaves as if such tables have a column "_rowid_ INTEGER PRIMARY KEY" inserted as their leftmost columns.
It is an error (SQ3_RESULT_MISUSE) to attempt to modify this setting after the first table has been attached to the session object.
Reference code from sqlite3:
Enumerator | ||
---|---|---|
SQ3_SESSION_OBJCONFIG_SIZE | 1 | |
SQ3_SESSION_OBJCONFIG_ROWID | 2 |
Definition at line 1934 of file Sq3Enum_sq3.h.
enum Sq3ShmLockE |
Flags for the xShmLock VFS method.
Flags for the xShmLock VFS method …
These integer constants define the various locking operations allowed by the xShmLock method of sqlite3_io_methods. The following are the only legal combinations of flags to the xShmLock method:
When unlocking, the same SHARED or EXCLUSIVE flag must be supplied as was given on the corresponding lock.
The xShmLock method can transition between unlocked and SHARED or between unlocked and EXCLUSIVE. It cannot transition between SHARED and EXCLUSIVE.
Reference code from sqlite3:
Enumerator | ||
---|---|---|
SQ3_SHM_UNLOCK | 1 | |
SQ3_SHM_LOCK | 2 | |
SQ3_SHM_SHARED | 4 | |
SQ3_SHM_EXCLUSIVE | 8 |
Definition at line 1727 of file Sq3Enum_sq3.h.
enum Sq3StatusE |
Status Parameters.
Status Parameters …
These integer constants designate various run-time status parameters that can be returned by Sq3Status ().
This parameter is the current amount of memory checked out using Sq3Malloc (), either directly or indirectly. The figure includes calls made to Sq3Malloc () by the application and internal memory usage by the SQLite library. Auxiliary page-cache memory controlled by SQ3_CONFIG_PAGECACHE is not included in this parameter. The amount returned is the sum of the allocation sizes as reported by the xSize method in sqlite3_mem_methods.
This parameter records the largest memory allocation request handed to Sq3Malloc () or Sq3Realloc () (or their internal equivalents). Only the value returned in the pHighwater parameter to Sq3Status () is of interest. The value written into the *pCurrent parameter is undefined.
This parameter records the number of separate memory allocations currently checked out.
This parameter returns the number of pages used out of the pagecache memory allocator that was configured using SQ3_CONFIG_PAGECACHE. The value returned is in pages, not in bytes.
This parameter returns the number of bytes of page cache allocation which could not be satisfied by the SQ3_CONFIG_PAGECACHE buffer and where forced to overflow to Sq3Malloc (). The returned value includes allocations that overflowed because they where too large (they were larger than the "sz" parameter to SQ3_CONFIG_PAGECACHE) and allocations that overflowed because no space was left in the page cache.
This parameter records the largest memory allocation request handed to the pagecache memory allocator. Only the value returned in the pHighwater parameter to Sq3Status () is of interest. The value written into the *pCurrent parameter is undefined.
New status parameters may be added from time to time.
Reference code from sqlite3:
Definition at line 1399 of file Sq3Enum_sq3.h.
enum Sq3StmtStatusE |
Status Parameters for prepared statements.
Status Parameters for prepared statements …
These preprocessor macros define integer codes that name counter values associated with the Sq3StmtStatus () interface. The meanings of the various counters are as follows:
This is the number of times that SQLite has stepped forward in a table as part of a full table scan. Large numbers for this counter may indicate opportunities for performance improvement through careful use of indices.
This is the number of sort operations that have occurred. A non-zero value in this counter may indicate an opportunity to improvement performance through careful use of indices.
This is the number of rows inserted into transient indices that were created automatically in order to help joins run faster. A non-zero value in this counter may indicate an opportunity to improvement performance by adding permanent indices that do not need to be reinitialized each time the statement is run.
This is the number of virtual machine operations executed by the prepared statement if that number is less than or equal to 2147483647. The number of virtual machine operations can be used as a proxy for the total work done by the prepared statement. If the number of virtual machine operations exceeds 2147483647 then the value returned by this statement status code is undefined.
This is the number of times that the prepare statement has been automatically regenerated due to schema changes or changes to bound parameters that might affect the query plan.
This is the number of times that the prepared statement has been run. A single "run" for the purposes of this counter is one or more calls to Sq3StmtStep () followed by a call to Sq3StmtReset (). The counter is incremented on the first Sq3StmtStep () call of each cycle.
SQ3_STMTSTATUS_FILTER_HIT is the number of times that a join step was bypassed because a Bloom filter returned not-found. The corresponding SQ3_STMTSTATUS_FILTER_MISS value is the number of times that the Bloom filter returned a find, and thus the join step had to be processed as normal.
Reference code from sqlite3:
Definition at line 454 of file Sq3Enum_sq3.h.
enum Sq3SyncEF |
Synchronization Type Flags.
Synchronization Type Flags …
When SQLite invokes the xSync() method of an sqlite3_io_methods object it uses a combination of these integer values as the second argument.
When the SQ3_SYNC_DATAONLY flag is used, it means that the sync operation only needs to flush data to mass storage. Inode information need not be flushed. If the lower four bits of the flag equal SQ3_SYNC_NORMAL, that means to use normal fsync() semantics. If the lower four bits equal SQ3_SYNC_FULL, that means to use Mac OS X style fullsync instead of fsync().
Do not confuse the SQ3_SYNC_NORMAL and SQ3_SYNC_FULL flags with the PRAGMA synchronous=NORMAL and PRAGMA synchronous=FULL settings. The synchronous pragma determines when calls to the xSync VFS method occur and applies uniformly across all platforms. The SQ3_SYNC_NORMAL and SQ3_SYNC_FULL flags determine how energetic or rigorous or forceful the sync operations are and only make a difference on Mac OSX for the default SQLite code. (Third-party VFS implementations might also make the distinction between SQ3_SYNC_NORMAL and SQ3_SYNC_FULL, but among the operating systems natively supported by SQLite, only Mac OSX cares about the difference.)
Reference code from sqlite3:
Enumerator | ||
---|---|---|
SQ3_SYNC_NORMAL | 0x00002 | |
SQ3_SYNC_FULL | 0x00003 | |
SQ3_SYNC_DATAONLY | 0x00010 |
Definition at line 1029 of file Sq3Enum_sq3.h.
enum Sq3TestCtrlE |
Testing Interface Operation Codes.
Testing Interface Operation Codes …
These constants are the valid operation code parameters used as the first argument to sqlite3_test_control ().
These parameters and their meanings are subject to change without notice. These values are for testing purposes only. Applications should not use any of these parameters or the sqlite3_test_control () interface.
Reference code from sqlite3:
Definition at line 137 of file Sq3Enum_sq3.h.
enum Sq3TextE |
Text Encodings.
Text Encodings …
These constant define integer codes that represent the various text encodings supported by SQLite.
Reference code from sqlite3:
Enumerator | ||
---|---|---|
SQ3_TEXT_UTF8 | 1 | |
SQ3_TEXT_UTF16LE | 2 | |
SQ3_TEXT_UTF16BE | 3 | |
SQ3_TEXT_UTF16 | 4 | |
SQ3_TEXT_ANY | 5 | |
SQ3_TEXT_UTF16_ALIGNED | 8 |
Definition at line 1515 of file Sq3Enum_sq3.h.
enum Sq3TraceEF |
SQL Trace Event Codes.
SQL Trace Event Codes …
These constants identify classes of events that can be monitored using the sqlite3_trace_v2 () tracing logic. The M argument to sqlite3_trace_v2 (D,M,X,P) is an OR-ed combination of one or more of the following constants. The first argument to the trace callback is one of the following constants.
New tracing constants may be added in future releases.
A trace callback has four arguments: xCallback(T,C,P,X). The T argument is one of the integer type codes above. The C argument is a copy of the context pointer passed in as the fourth argument to sqlite3_trace_v2 (). The P and X arguments are pointers whose meanings depend on T.
An SQ3_TRACE_STMT callback is invoked when a prepared statement first begins running and possibly at other times during the execution of the prepared statement, such as at the start of each trigger subprogram. The P argument is a pointer to the prepared statement. The X argument is a pointer to a string which is the unexpanded SQL text of the prepared statement or an SQL comment that indicates the invocation of a trigger. The callback can compute the same text that would have been returned by the legacy sqlite3_trace () interface by using the X argument when X begins with "--" and invoking Sq3StmtExpandedSql (P) otherwise.
An SQ3_TRACE_PROFILE callback provides approximately the same information as is provided by the sqlite3_profile () callback. The P argument is a pointer to the prepared statement and the X argument points to a 64-bit integer which is approximately the number of nanoseconds that the prepared statement took to run. The SQ3_TRACE_PROFILE callback is invoked when the statement finishes.
An SQ3_TRACE_ROW callback is invoked whenever a prepared statement generates a single row of result. The P argument is a pointer to the prepared statement and the X argument is unused.
Reference code from sqlite3:
Enumerator | ||
---|---|---|
SQ3_TRACE_STMT | 0x01 | |
SQ3_TRACE_PROFILE | 0x02 | |
SQ3_TRACE_ROW | 0x04 | |
SQ3_TRACE_CLOSE | 0x08 |
Definition at line 1563 of file Sq3Enum_sq3.h.
enum Sq3TxnE |
Allowed return values from sqlite3_txn_state()
Allowed return values from sqlite3_txn_state() …
These constants define the current transaction state of a database file. The Sq3LiteTxnState (D,S) interface returns one of these constants in order to describe the transaction state of schema S in database connection D.
The SQ3_TXN_NONE state means that no transaction is currently pending.
The SQ3_TXN_READ state means that the database is currently in a read transaction. Content has been read from the database file but nothing in the database file has changed. The transaction state will advanced to SQ3_TXN_WRITE if any changes occur and there are no other conflicting concurrent write transactions. The transaction state will revert to SQ3_TXN_NONE following a ROLLBACK or COMMIT.
Reference code from sqlite3:
Enumerator | ||
---|---|---|
SQ3_TXN_NONE | 0 | |
SQ3_TXN_READ | 1 | |
SQ3_TXN_WRITE | 2 |
Definition at line 561 of file Sq3Enum_sq3.h.
enum Sq3TypeE |
Fundamental Datatypes.
Fundamental Datatypes …
Every value in SQLite has one of five fundamental datatypes:
These constants are codes for each of those types.
Note that the SQ3_TYPE_TEXT constant was also used in SQLite version 2 for a completely different meaning. Software that links against both SQLite version 2 and SQLite version 3 should use SQLITE3_TEXT, not SQ3_TYPE_TEXT.
Reference code from sqlite3:
Enumerator | ||
---|---|---|
SQ3_TYPE_INTEGER | 1 | |
SQ3_TYPE_FLOAT | 2 | |
SQ3_TYPE_BLOB | 4 | |
SQ3_TYPE_NULL | 5 | |
SQ3_TYPE_TEXT | 3 |
Definition at line 658 of file Sq3Enum_sq3.h.
enum Sq3VtabE |
Virtual Table Configuration Options.
Virtual Table Configuration Options …
These macros define the various options to the Sq3LiteVtabConfig () interface that virtual table implementations can use to customize and optimize their behavior.
Calls of the form Sq3LiteVtabConfig(db,SQ3_VTAB_CONSTRAINT_SUPPORT,X) are supported, where X is an integer. If X is zero, then the virtual table whose xCreate or xConnect method invoked Sq3LiteVtabConfig () does not support constraints. In this configuration (which is the default) if a call to the xUpdate method returns SQ3_RESULT_CONSTRAINT, then the entire statement is rolled back as if OR ABORT had been specified as part of the users SQL statement, regardless of the actual ON CONFLICT mode specified.
If X is non-zero, then the virtual table implementation guarantees that if xUpdate returns SQ3_RESULT_CONSTRAINT, it will do so before any modifications to internal or persistent data structures have been made. If the ON CONFLICT mode is ABORT, FAIL, IGNORE or ROLLBACK, SQLite is able to roll back a statement or database transaction, and abandon or continue processing the current SQL statement as appropriate. If the ON CONFLICT mode is REPLACE and the xUpdate method returns SQ3_RESULT_CONSTRAINT, SQLite handles this as if the ON CONFLICT mode had been ABORT.
Virtual table implementations that are required to handle OR REPLACE must do so within the xUpdate method. If a call to the Sq3LiteVtabOnConflict () function indicates that the current ON CONFLICT policy is REPLACE, the virtual table implementation should silently replace the appropriate rows within the xUpdate callback and return SQ3_RESULT_OK. Or, if this is not possible, it may return SQ3_RESULT_CONSTRAINT, in which case SQLite falls back to OR ABORT constraint handling.
Calls of the form Sq3LiteVtabConfig(db,SQ3_VTAB_DIRECTONLY) from within the the xConnect or xCreate methods of a virtual table implementation prohibits that virtual table from being used from within triggers and views.
Calls of the form Sq3LiteVtabConfig(db,SQ3_VTAB_INNOCUOUS) from within the the xConnect or xCreate methods of a virtual table implementation identify that virtual table as being safe to use from within triggers and views. Conceptually, the SQ3_VTAB_INNOCUOUS tag means that the virtual table can do no serious harm even if it is controlled by a malicious hacker. Developers should avoid setting the SQ3_VTAB_INNOCUOUS flag unless absolutely necessary.
Reference code from sqlite3:
Enumerator | ||
---|---|---|
SQ3_VTAB_CONSTRAINT_SUPPORT | 1 | |
SQ3_VTAB_INNOCUOUS | 2 | |
SQ3_VTAB_DIRECTONLY | 3 | |
SQ3_VTAB_USES_ALL_SCHEMAS | 4 |
Definition at line 409 of file Sq3Enum_sq3.h.
enum MkErrorE Sq3AccessE_FromInt | ( | MK_I32 const | value, |
enum Sq3AccessE * | value_out ) |
|
inlinestatic |
return the Sq3AccessE as integer …
Definition at line 233 of file Sq3Enum_sq3.h.
MK_I32 Sq3AccessE_ToIntP | ( | enum Sq3AccessE | value | ) |
Non-inline replacement for Sq3AccessE_ToInt …
MK_STRN Sq3AccessE_ToString | ( | enum Sq3AccessE | value | ) |
enum MkErrorE Sq3AuthActionE_FromInt | ( | MK_I32 const | value, |
enum Sq3AuthActionE * | value_out ) |
|
inlinestatic |
return the Sq3AuthActionE as integer …
Definition at line 860 of file Sq3Enum_sq3.h.
MK_I32 Sq3AuthActionE_ToIntP | ( | enum Sq3AuthActionE | value | ) |
Non-inline replacement for Sq3AuthActionE_ToInt …
MK_STRN Sq3AuthActionE_ToString | ( | enum Sq3AuthActionE | value | ) |
enum MkErrorE Sq3AuthReturnE_FromInt | ( | MK_I32 const | value, |
enum Sq3AuthReturnE * | value_out ) |
|
inlinestatic |
return the Sq3AuthReturnE as integer …
Definition at line 1634 of file Sq3Enum_sq3.h.
MK_I32 Sq3AuthReturnE_ToIntP | ( | enum Sq3AuthReturnE | value | ) |
Non-inline replacement for Sq3AuthReturnE_ToInt …
MK_STRN Sq3AuthReturnE_ToString | ( | enum Sq3AuthReturnE | value | ) |
enum MkErrorE Sq3ChangeSetConflictE_FromInt | ( | MK_I32 const | value, |
enum Sq3ChangeSetConflictE * | value_out ) |
|
inlinestatic |
return the Sq3ChangeSetConflictE as integer …
Definition at line 1910 of file Sq3Enum_sq3.h.
MK_I32 Sq3ChangeSetConflictE_ToIntP | ( | enum Sq3ChangeSetConflictE | value | ) |
Non-inline replacement for Sq3ChangeSetConflictE_ToInt …
MK_STRN Sq3ChangeSetConflictE_ToString | ( | enum Sq3ChangeSetConflictE | value | ) |
enum MkErrorE Sq3ChangesetE_FromInt | ( | MK_I32 const | value, |
enum Sq3ChangesetE * | value_out ) |
|
inlinestatic |
return the Sq3ChangesetE as integer …
Definition at line 342 of file Sq3Enum_sq3.h.
MK_I32 Sq3ChangesetE_ToIntP | ( | enum Sq3ChangesetE | value | ) |
Non-inline replacement for Sq3ChangesetE_ToInt …
MK_STRN Sq3ChangesetE_ToString | ( | enum Sq3ChangesetE | value | ) |
enum MkErrorE Sq3CheckpointE_FromInt | ( | MK_I32 const | value, |
enum Sq3CheckpointE * | value_out ) |
|
inlinestatic |
return the Sq3CheckpointE as integer …
Definition at line 58 of file Sq3Enum_sq3.h.
MK_I32 Sq3CheckpointE_ToIntP | ( | enum Sq3CheckpointE | value | ) |
Non-inline replacement for Sq3CheckpointE_ToInt …
MK_STRN Sq3CheckpointE_ToString | ( | enum Sq3CheckpointE | value | ) |
enum MkErrorE Sq3ConfigE_FromInt | ( | MK_I32 const | value, |
enum Sq3ConfigE * | value_out ) |
|
inlinestatic |
return the Sq3ConfigE as integer …
Definition at line 1703 of file Sq3Enum_sq3.h.
MK_I32 Sq3ConfigE_ToIntP | ( | enum Sq3ConfigE | value | ) |
Non-inline replacement for Sq3ConfigE_ToInt …
MK_STRN Sq3ConfigE_ToString | ( | enum Sq3ConfigE | value | ) |
enum MkErrorE Sq3ConflictResolutionE_FromInt | ( | MK_I32 const | value, |
enum Sq3ConflictResolutionE * | value_out ) |
|
inlinestatic |
return the Sq3ConflictResolutionE as integer …
Definition at line 1997 of file Sq3Enum_sq3.h.
MK_I32 Sq3ConflictResolutionE_ToIntP | ( | enum Sq3ConflictResolutionE | value | ) |
Non-inline replacement for Sq3ConflictResolutionE_ToInt …
MK_STRN Sq3ConflictResolutionE_ToString | ( | enum Sq3ConflictResolutionE | value | ) |
enum MkErrorE Sq3DbConfigE_FromInt | ( | MK_I32 const | value, |
enum Sq3DbConfigE * | value_out ) |
|
inlinestatic |
return the Sq3DbConfigE as integer …
Definition at line 922 of file Sq3Enum_sq3.h.
MK_I32 Sq3DbConfigE_ToIntP | ( | enum Sq3DbConfigE | value | ) |
Non-inline replacement for Sq3DbConfigE_ToInt …
MK_STRN Sq3DbConfigE_ToString | ( | enum Sq3DbConfigE | value | ) |
enum MkErrorE Sq3DbStatusE_FromInt | ( | MK_I32 const | value, |
enum Sq3DbStatusE * | value_out ) |
|
inlinestatic |
return the Sq3DbStatusE as integer …
Definition at line 113 of file Sq3Enum_sq3.h.
MK_I32 Sq3DbStatusE_ToIntP | ( | enum Sq3DbStatusE | value | ) |
Non-inline replacement for Sq3DbStatusE_ToInt …
MK_STRN Sq3DbStatusE_ToString | ( | enum Sq3DbStatusE | value | ) |
enum MkErrorE Sq3DeSerializeEF_FromInt | ( | MK_I32 const | value, |
enum Sq3DeSerializeEF * | value_out ) |
|
inlinestatic |
return the Sq3DeSerializeEF as integer …
Definition at line 1326 of file Sq3Enum_sq3.h.
MK_I32 Sq3DeSerializeEF_ToIntP | ( | enum Sq3DeSerializeEF | value | ) |
Non-inline replacement for Sq3DeSerializeEF_ToInt …
MK_STRN Sq3DeSerializeEF_ToString | ( | enum Sq3DeSerializeEF | value | ) |
return the Sq3ErrorE as integer …
Definition at line 1866 of file Sq3Enum_sq3.h.
Non-inline replacement for Sq3ErrorE_ToInt …
enum MkErrorE Sq3ExtendetResultCodesE_FromInt | ( | MK_I32 const | value, |
enum Sq3ExtendetResultCodesE * | value_out ) |
|
inlinestatic |
return the Sq3ExtendetResultCodesE as integer …
Definition at line 1274 of file Sq3Enum_sq3.h.
MK_I32 Sq3ExtendetResultCodesE_ToIntP | ( | enum Sq3ExtendetResultCodesE | value | ) |
Non-inline replacement for Sq3ExtendetResultCodesE_ToInt …
MK_STRN Sq3ExtendetResultCodesE_ToString | ( | enum Sq3ExtendetResultCodesE | value | ) |
return the Sq3FcntlE as integer …
Definition at line 1004 of file Sq3Enum_sq3.h.
Non-inline replacement for Sq3FcntlE_ToInt …
enum MkErrorE Sq3FunctionEF_FromInt | ( | MK_I32 const | value, |
enum Sq3FunctionEF * | value_out ) |
|
inlinestatic |
return the Sq3FunctionEF as integer …
Definition at line 634 of file Sq3Enum_sq3.h.
MK_I32 Sq3FunctionEF_ToIntP | ( | enum Sq3FunctionEF | value | ) |
Non-inline replacement for Sq3FunctionEF_ToInt …
MK_STRN Sq3FunctionEF_ToString | ( | enum Sq3FunctionEF | value | ) |
enum MkErrorE Sq3IndexConstraintEF_FromInt | ( | MK_I32 const | value, |
enum Sq3IndexConstraintEF * | value_out ) |
|
inlinestatic |
return the Sq3IndexConstraintEF as integer …
Definition at line 1491 of file Sq3Enum_sq3.h.
MK_I32 Sq3IndexConstraintEF_ToIntP | ( | enum Sq3IndexConstraintEF | value | ) |
Non-inline replacement for Sq3IndexConstraintEF_ToInt …
MK_STRN Sq3IndexConstraintEF_ToString | ( | enum Sq3IndexConstraintEF | value | ) |
enum MkErrorE Sq3IoCapEF_FromInt | ( | MK_I32 const | value, |
enum Sq3IoCapEF * | value_out ) |
|
inlinestatic |
return the Sq3IoCapEF as integer …
Definition at line 296 of file Sq3Enum_sq3.h.
MK_I32 Sq3IoCapEF_ToIntP | ( | enum Sq3IoCapEF | value | ) |
Non-inline replacement for Sq3IoCapEF_ToInt …
MK_STRN Sq3IoCapEF_ToString | ( | enum Sq3IoCapEF | value | ) |
return the Sq3LimitE as integer …
Definition at line 733 of file Sq3Enum_sq3.h.
Non-inline replacement for Sq3LimitE_ToInt …
return the Sq3LockE as integer …
Definition at line 1794 of file Sq3Enum_sq3.h.
Non-inline replacement for Sq3LockE_ToInt …
return the Sq3MutexE as integer …
Definition at line 537 of file Sq3Enum_sq3.h.
Non-inline replacement for Sq3MutexE_ToInt …
return the Sq3OpenEF as integer …
Definition at line 1125 of file Sq3Enum_sq3.h.
Non-inline replacement for Sq3OpenEF_ToInt …
enum MkErrorE Sq3PrepareEF_FromInt | ( | MK_I32 const | value, |
enum Sq3PrepareEF * | value_out ) |
|
inlinestatic |
return the Sq3PrepareEF as integer …
Definition at line 785 of file Sq3Enum_sq3.h.
MK_I32 Sq3PrepareEF_ToIntP | ( | enum Sq3PrepareEF | value | ) |
Non-inline replacement for Sq3PrepareEF_ToInt …
MK_STRN Sq3PrepareEF_ToString | ( | enum Sq3PrepareEF | value | ) |
enum MkErrorE Sq3ScanStatE_FromInt | ( | MK_I32 const | value, |
enum Sq3ScanStatE * | value_out ) |
|
inlinestatic |
return the Sq3ScanStatE as integer …
Definition at line 1375 of file Sq3Enum_sq3.h.
MK_I32 Sq3ScanStatE_ToIntP | ( | enum Sq3ScanStatE | value | ) |
Non-inline replacement for Sq3ScanStatE_ToInt …
MK_STRN Sq3ScanStatE_ToString | ( | enum Sq3ScanStatE | value | ) |
enum MkErrorE Sq3SerializeE_FromInt | ( | MK_I32 const | value, |
enum Sq3SerializeE * | value_out ) |
|
inlinestatic |
return the Sq3SerializeE as integer …
Definition at line 385 of file Sq3Enum_sq3.h.
MK_I32 Sq3SerializeE_ToIntP | ( | enum Sq3SerializeE | value | ) |
Non-inline replacement for Sq3SerializeE_ToInt …
MK_STRN Sq3SerializeE_ToString | ( | enum Sq3SerializeE | value | ) |
enum MkErrorE Sq3SessionObjConfigE_FromInt | ( | MK_I32 const | value, |
enum Sq3SessionObjConfigE * | value_out ) |
|
inlinestatic |
return the Sq3SessionObjConfigE as integer …
Definition at line 1953 of file Sq3Enum_sq3.h.
MK_I32 Sq3SessionObjConfigE_ToIntP | ( | enum Sq3SessionObjConfigE | value | ) |
Non-inline replacement for Sq3SessionObjConfigE_ToInt …
MK_STRN Sq3SessionObjConfigE_ToString | ( | enum Sq3SessionObjConfigE | value | ) |
enum MkErrorE Sq3ShmLockE_FromInt | ( | MK_I32 const | value, |
enum Sq3ShmLockE * | value_out ) |
|
inlinestatic |
return the Sq3ShmLockE as integer …
Definition at line 1748 of file Sq3Enum_sq3.h.
MK_I32 Sq3ShmLockE_ToIntP | ( | enum Sq3ShmLockE | value | ) |
Non-inline replacement for Sq3ShmLockE_ToInt …
MK_STRN Sq3ShmLockE_ToString | ( | enum Sq3ShmLockE | value | ) |
enum MkErrorE Sq3StatusE_FromInt | ( | MK_I32 const | value, |
enum Sq3StatusE * | value_out ) |
|
inlinestatic |
return the Sq3StatusE as integer …
Definition at line 1426 of file Sq3Enum_sq3.h.
MK_I32 Sq3StatusE_ToIntP | ( | enum Sq3StatusE | value | ) |
Non-inline replacement for Sq3StatusE_ToInt …
MK_STRN Sq3StatusE_ToString | ( | enum Sq3StatusE | value | ) |
enum MkErrorE Sq3StmtStatusE_FromInt | ( | MK_I32 const | value, |
enum Sq3StmtStatusE * | value_out ) |
|
inlinestatic |
return the Sq3StmtStatusE as integer …
Definition at line 480 of file Sq3Enum_sq3.h.
MK_I32 Sq3StmtStatusE_ToIntP | ( | enum Sq3StmtStatusE | value | ) |
Non-inline replacement for Sq3StmtStatusE_ToInt …
MK_STRN Sq3StmtStatusE_ToString | ( | enum Sq3StmtStatusE | value | ) |
return the Sq3SyncEF as integer …
Definition at line 1055 of file Sq3Enum_sq3.h.
Non-inline replacement for Sq3SyncEF_ToInt …
enum MkErrorE Sq3TestCtrlE_FromInt | ( | MK_I32 const | value, |
enum Sq3TestCtrlE * | value_out ) |
|
inlinestatic |
return the Sq3TestCtrlE as integer …
Definition at line 189 of file Sq3Enum_sq3.h.
MK_I32 Sq3TestCtrlE_ToIntP | ( | enum Sq3TestCtrlE | value | ) |
Non-inline replacement for Sq3TestCtrlE_ToInt …
MK_STRN Sq3TestCtrlE_ToString | ( | enum Sq3TestCtrlE | value | ) |
return the Sq3TextE as integer …
Definition at line 1538 of file Sq3Enum_sq3.h.
Non-inline replacement for Sq3TextE_ToInt …
enum MkErrorE Sq3TraceEF_FromInt | ( | MK_I32 const | value, |
enum Sq3TraceEF * | value_out ) |
|
inlinestatic |
return the Sq3TraceEF as integer …
Definition at line 1590 of file Sq3Enum_sq3.h.
MK_I32 Sq3TraceEF_ToIntP | ( | enum Sq3TraceEF | value | ) |
Non-inline replacement for Sq3TraceEF_ToInt …
MK_STRN Sq3TraceEF_ToString | ( | enum Sq3TraceEF | value | ) |
return the Sq3TxnE as integer …
Definition at line 581 of file Sq3Enum_sq3.h.
Non-inline replacement for Sq3TxnE_ToInt …
return the Sq3TypeE as integer …
Definition at line 680 of file Sq3Enum_sq3.h.
Non-inline replacement for Sq3TypeE_ToInt …
return the Sq3VtabE as integer …
Definition at line 430 of file Sq3Enum_sq3.h.
Non-inline replacement for Sq3VtabE_ToInt …