Menu

- Learn
- Documentation
  - Language Reference
  - Library Reference
  - Command-line Reference
  - Feature Overview
  - Articles
- Downloads
- Packages
- Community
  - Blog
  - Orgs using D
  - Twitter
  - Calendar
  - Forums
  - IRC
  - Community Discord
  - Wiki
  - GitHub
  - Issues
  - Get involved
  - Contributors
  - Foundation
  - Security Team
  - Donate
  - Sponsors
- Resources
  - Tour
  - Books
  - Tutorials
  - Tools
  - Editors
  - IDEs
  - run.dlang.io
  - Visual D
  - Acknowledgments
  - D Style
  - Glossary
  - Sitemap

Search
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using a local clone.

# etc.c.sqlite3

enum string `SQLITE_VERSION`;
enum int `SQLITE_VERSION_NUMBER`;
enum string `SQLITE_SOURCE_ID`;

  CAPI3REF Compile-Time Library Version Numbers

immutable(char)* `sqlite3_version`;
nothrow immutable(char)* `sqlite3_libversion`();
nothrow immutable(char)* `sqlite3_sourceid`();
nothrow int `sqlite3_libversion_number`();

  CAPI3REF Run-Time Library Version Numbers

nothrow int `sqlite3_compileoption_used`(const char* `zOptName`);
nothrow immutable(char)* `sqlite3_compileoption_get`(int `N`);

  CAPI3REF Run-Time Library Compilation Options Diagnostics

nothrow int `sqlite3_threadsafe`();

  CAPI3REF Test To See If The Library Is Threadsafe

struct `sqlite3`;

  CAPI3REF Database Connection Handle

alias `sqlite3_int64` = long;
alias `sqlite3_uint64` = ulong;
nothrow int `sqlite3_close`(sqlite3*);

  CAPI3REF Closing A Database Connection

alias `sqlite3_callback` = extern (C) int function(void*, int, char**, char**) nothrow;
  The type for a callback function. This is legacy and deprecated. It is included for historical compatibility and is not documented.
nothrow int `sqlite3_exec`(sqlite3*, const(char)* `sql`, int function(void*, int, char**, char**) `callback`, void*, char** `errmsg`);

  CAPI3REF One-Step Query Execution Interface

`SQLITE_OK`
  Successful result
`SQLITE_ERROR`
  Ditto
  Generic error
`SQLITE_INTERNAL`
  Internal logic error in SQLite
`SQLITE_PERM`
  Access permission denied
`SQLITE_ABORT`
  Callback routine requested an abort
`SQLITE_BUSY`
  The database file is locked
`SQLITE_LOCKED`
  A table in the database is locked
`SQLITE_NOMEM`
  A malloc() failed
`SQLITE_READONLY`
  Attempt to write a readonly database
`SQLITE_INTERRUPT`
  Operation terminated by sqlite3_interrupt()
`SQLITE_IOERR`
  Some kind of disk I/O error occurred
`SQLITE_CORRUPT`
  The database disk image is malformed
`SQLITE_NOTFOUND`
  Unknown opcode in sqlite3_file_control()
`SQLITE_FULL`
  Insertion failed because database is full
`SQLITE_CANTOPEN`
  Unable to open the database file
`SQLITE_PROTOCOL`
  Database lock protocol error
`SQLITE_EMPTY`
  Internal use only
`SQLITE_SCHEMA`
  The database schema changed
`SQLITE_TOOBIG`
  String or BLOB exceeds size limit
`SQLITE_CONSTRAINT`
  Abort due to constraint violation
`SQLITE_MISMATCH`
  Data type mismatch
`SQLITE_MISUSE`
  Library used incorrectly
`SQLITE_NOLFS`
  Uses OS features not supported on host
`SQLITE_AUTH`
  Authorization denied
`SQLITE_FORMAT`
  Not used
`SQLITE_RANGE`
  2nd parameter to sqlite3_bind out of range
`SQLITE_NOTADB`
  File opened that is not a database file
`SQLITE_ROW`
  sqlite3_step() has another row ready
`SQLITE_DONE`
  sqlite3_step() has finished executing
`SQLITE_OPEN_READONLY`
  Ok for sqlite3_open_v2()
`SQLITE_OPEN_READWRITE`
  Ok for sqlite3_open_v2()
`SQLITE_OPEN_CREATE`
  Ok for sqlite3_open_v2()
`SQLITE_OPEN_DELETEONCLOSE`
  VFS only
`SQLITE_OPEN_EXCLUSIVE`
  VFS only
`SQLITE_OPEN_AUTOPROXY`
  VFS only
`SQLITE_OPEN_URI`
  Ok for sqlite3_open_v2()
`SQLITE_OPEN_MEMORY`
  Ok for sqlite3_open_v2()
`SQLITE_OPEN_MAIN_DB`
  VFS only
`SQLITE_OPEN_TEMP_DB`
  VFS only
`SQLITE_OPEN_TRANSIENT_DB`
  VFS only
`SQLITE_OPEN_MAIN_JOURNAL`
  VFS only
`SQLITE_OPEN_TEMP_JOURNAL`
  VFS only
`SQLITE_OPEN_SUBJOURNAL`
  VFS only
`SQLITE_OPEN_MASTER_JOURNAL`
  VFS only
`SQLITE_OPEN_NOMUTEX`
  Ok for sqlite3_open_v2()
`SQLITE_OPEN_FULLMUTEX`
  Ok for sqlite3_open_v2()
`SQLITE_OPEN_SHAREDCACHE`
  Ok for sqlite3_open_v2()
`SQLITE_OPEN_PRIVATECACHE`
  Ok for sqlite3_open_v2()
`SQLITE_OPEN_WAL`
  VFS only
struct `sqlite3_file`;

  CAPI3REF OS Interface Open File Handle

struct `sqlite3_io_methods`;

  CAPI3REF OS Interface File Virtual Methods Object

struct `sqlite3_mutex`;

  CAPI3REF Mutex Handle

struct `sqlite3_api_routines`;

  CAPI3REF Loadable Extension Thunk

alias `xDlSymReturn` = extern (C) void* function() nothrow;
alias `sqlite3_syscall_ptr` = extern (C) void function() nothrow;

  CAPI3REF OS Interface Object

`SQLITE_ACCESS_READWRITE`
  Used by PRAGMA temp_store_directory
`SQLITE_ACCESS_READ`
  Unused
enum int `SQLITE_SHM_NLOCK`;

  CAPI3REF Maximum xShmLock index

nothrow int `sqlite3_initialize`();
nothrow int `sqlite3_shutdown`();
nothrow int `sqlite3_os_init`();
nothrow int `sqlite3_os_end`();

  CAPI3REF Initialize The SQLite Library

nothrow int `sqlite3_config`(int, ...);

  CAPI3REF Configuring The SQLite Library

nothrow int `sqlite3_db_config`(sqlite3*, int `op`, ...);

  CAPI3REF Configure database connections

struct `sqlite3_mem_methods`;

  CAPI3REF Memory Allocation Routines

  void* function(int) `xMalloc`;
    Memory allocation function
  void function(void*) `xFree`;
    Free a prior allocation
  void* function(void*, int) `xRealloc`;
    Resize an allocation
  int function(void*) `xSize`;
    Return the size of an allocation
  int function(int) `xRoundup`;
    Round up request size to allocation size
  int function(void*) `xInit`;
    Initialize the memory allocator
  void function(void*) `xShutdown`;
    Deinitialize the memory allocator
  void* `pAppData`;
    Argument to xInit() and xShutdown()
`SQLITE_CONFIG_SINGLETHREAD`
  nil
`SQLITE_CONFIG_MULTITHREAD`
  nil
`SQLITE_CONFIG_SERIALIZED`
  nil
`SQLITE_CONFIG_MALLOC`
  sqlite3_mem_methods*
`SQLITE_CONFIG_GETMALLOC`
  sqlite3_mem_methods*
`SQLITE_CONFIG_SCRATCH`
  No longer used
`SQLITE_CONFIG_PAGECACHE`
  void*, int sz, int N
`SQLITE_CONFIG_HEAP`
  void*, int nByte, int min
`SQLITE_CONFIG_MEMSTATUS`
  boolean
`SQLITE_CONFIG_MUTEX`
  sqlite3_mutex_methods*
`SQLITE_CONFIG_GETMUTEX`
  sqlite3_mutex_methods*
`SQLITE_CONFIG_LOOKASIDE`
  int int
`SQLITE_CONFIG_PCACHE`
  no-op
`SQLITE_CONFIG_GETPCACHE`
  no-op
`SQLITE_CONFIG_LOG`
  xFunc, void*
`SQLITE_CONFIG_URI`
  int
`SQLITE_CONFIG_PCACHE2`
  sqlite3_pcache_methods2*
`SQLITE_CONFIG_GETPCACHE2`
  sqlite3_pcache_methods2*
`SQLITE_CONFIG_COVERING_INDEX_SCAN`
  int
`SQLITE_CONFIG_SQLLOG`
  xSqllog, void*
`SQLITE_CONFIG_MMAP_SIZE`
  sqlite3_int64, sqlite3_int64
`SQLITE_CONFIG_WIN32_HEAPSIZE`
  int nByte
`SQLITE_CONFIG_PCACHE_HDRSZ`
  int *psz
`SQLITE_CONFIG_PMASZ`
  unsigned int szPma
`SQLITE_CONFIG_STMTJRNL_SPILL`
  int nByte
`SQLITE_CONFIG_SMALL_MALLOC`
  boolean
`SQLITE_CONFIG_SORTERREF_SIZE`
  int nByte
`SQLITE_CONFIG_MEMDB_MAXSIZE`
  sqlite3_int64
`SQLITE_DBCONFIG_MAINDBNAME`
  const char*
`SQLITE_DBCONFIG_LOOKASIDE`
  void* int int
`SQLITE_DBCONFIG_ENABLE_FKEY`
  int int*
`SQLITE_DBCONFIG_ENABLE_TRIGGER`
  int int*
`SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER`
  int int*
`SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION`
  int int*
`SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE`
  int int*
`SQLITE_DBCONFIG_ENABLE_QPSG`
  int int*
`SQLITE_DBCONFIG_TRIGGER_EQP`
  int int*
`SQLITE_DBCONFIG_RESET_DATABASE`
  int int*
`SQLITE_DBCONFIG_DEFENSIVE`
  int int*
`SQLITE_DBCONFIG_WRITABLE_SCHEMA`
  int int*
`SQLITE_DBCONFIG_LEGACY_ALTER_TABLE`
  int int*
`SQLITE_DBCONFIG_DQS_DML`
  int int*
`SQLITE_DBCONFIG_DQS_DDL`
  int int*
`SQLITE_DBCONFIG_ENABLE_VIEW`
  int int*
`SQLITE_DBCONFIG_MAX`
  Largest DBCONFIG
nothrow int `sqlite3_extended_result_codes`(sqlite3*, int `onoff`);

  CAPI3REF Enable Or Disable Extended Result Codes

nothrow sqlite3_int64 `sqlite3_last_insert_rowid`(sqlite3*);

  CAPI3REF Last Insert Rowid

nothrow void `sqlite3_set_last_insert_rowid`(sqlite3*, sqlite3_int64);

  CAPI3REF Set the Last Insert Rowid value

nothrow int `sqlite3_changes`(sqlite3*);

  CAPI3REF Count The Number Of Rows Modified

nothrow int `sqlite3_total_changes`(sqlite3*);

  CAPI3REF Total Number Of Rows Modified

nothrow void `sqlite3_interrupt`(sqlite3*);

  CAPI3REF Interrupt A Long-Running Query

nothrow int `sqlite3_complete`(const char* `sql`);
nothrow int `sqlite3_complete16`(const void* `sql`);

  CAPI3REF Determine If An SQL Statement Is Complete

nothrow int `sqlite3_busy_handler`(sqlite3*, int function(void*, int), void*);

  CAPI3REF Register A Callback To Handle SQLITE_BUSY Errors

nothrow int `sqlite3_busy_timeout`(sqlite3*, int `ms`);

  CAPI3REF Set A Busy Timeout

nothrow int `sqlite3_get_table`(sqlite3* `db`, const(char)* `zSql`, char*** `pazResult`, int* `pnRow`, int* `pnColumn`, char** `pzErrmsg`);

  CAPI3REF Convenience Routines For Running Queries

nothrow void `sqlite3_free_table`(char** `result`);
nothrow char* `sqlite3_mprintf`(const char*, ...);

  CAPI3REF Formatted String Printing Functions

nothrow void* `sqlite3_malloc`(int);
nothrow void* `sqlite3_malloc64`(sqlite3_uint64);
nothrow void* `sqlite3_realloc`(void*, int);
nothrow void* `sqlite3_realloc64`(void*, sqlite3_uint64);
nothrow void `sqlite3_free`(void*);
nothrow sqlite3_uint64 `sqlite3_msize`(void*);

  CAPI3REF Memory Allocation Subsystem

nothrow sqlite3_int64 `sqlite3_memory_used`();

  CAPI3REF Memory Allocator Statistics

nothrow void `sqlite3_randomness`(int `N`, void* `P`);

  CAPI3REF Pseudo-Random Number Generator

nothrow int `sqlite3_set_authorizer`(sqlite3*, int function(void*, int, const char*, const char*, const char*, const char*) `xAuth`, void* `pUserData`);

  CAPI3REF Compile-Time Authorization Callbacks

`SQLITE_DENY`
  Abort the SQL statement with an error
`SQLITE_IGNORE`
  Don't allow access, but don't generate an error
`SQLITE_CREATE_INDEX`
  Index Name Table Name
`SQLITE_CREATE_TABLE`
  Table Name NULL
`SQLITE_CREATE_TEMP_INDEX`
  Index Name Table Name
`SQLITE_CREATE_TEMP_TABLE`
  Table Name NULL
`SQLITE_CREATE_TEMP_TRIGGER`
  Trigger Name Table Name
`SQLITE_CREATE_TEMP_VIEW`
  View Name NULL
`SQLITE_CREATE_TRIGGER`
  Trigger Name Table Name
`SQLITE_CREATE_VIEW`
  View Name NULL
`SQLITE_DELETE`
  Table Name NULL
`SQLITE_DROP_INDEX`
  Index Name Table Name
`SQLITE_DROP_TABLE`
  Table Name NULL
`SQLITE_DROP_TEMP_INDEX`
  Index Name Table Name
`SQLITE_DROP_TEMP_TABLE`
  Table Name NULL
`SQLITE_DROP_TEMP_TRIGGER`
  Trigger Name Table Name
`SQLITE_DROP_TEMP_VIEW`
  View Name NULL
`SQLITE_DROP_TRIGGER`
  Trigger Name Table Name
`SQLITE_DROP_VIEW`
  View Name NULL
`SQLITE_INSERT`
  Table Name NULL
`SQLITE_PRAGMA`
  Pragma Name 1st arg or NULL
`SQLITE_READ`
  Table Name Column Name
`SQLITE_SELECT`
  NULL NULL
`SQLITE_TRANSACTION`
  Operation NULL
`SQLITE_UPDATE`
  Table Name Column Name
`SQLITE_ATTACH`
  Filename NULL
`SQLITE_DETACH`
  Database Name NULL
`SQLITE_ALTER_TABLE`
  Database Name Table Name
`SQLITE_REINDEX`
  Index Name NULL
`SQLITE_ANALYZE`
  Table Name NULL
`SQLITE_CREATE_VTABLE`
  Table Name Module Name
`SQLITE_DROP_VTABLE`
  Table Name Module Name
`SQLITE_FUNCTION`
  NULL Function Name
`SQLITE_SAVEPOINT`
  Operation Savepoint Name
`SQLITE_COPY`
  No longer used
`SQLITE_RECURSIVE`
  NULL NULL
deprecated nothrow void* `sqlite3_trace`(sqlite3*, void function(void*, const char*) `xTrace`, void*);
deprecated nothrow void* `sqlite3_profile`(sqlite3*, void function(void*, const char*, sqlite3_uint64) `xProfile`, void*);

  CAPI3REF Tracing And Profiling Functions

nothrow int `sqlite3_trace_v2`(sqlite3*, uint `uMask`, int function(uint, void*, void*, void*) `xCallback`, void* `pCtx`);

  CAPI3REF SQL Trace Hook

nothrow void `sqlite3_progress_handler`(sqlite3*, int, int function(void*), void*);

  CAPI3REF Query Progress Callbacks

nothrow int `sqlite3_open`(const(char)* `filename`, sqlite3** `ppDb`);
nothrow int `sqlite3_open16`(const(void)* `filename`, sqlite3** `ppDb`);
nothrow int `sqlite3_open_v2`(const(char)* `filename`, sqlite3** `ppDb`, int `flags`, const(char)* `zVfs`);
nothrow int `sqlite3_uri_boolean`(const(char)* `zFile`, const(char)* `zParam`, int `bDefault`);
nothrow sqlite3_int64 `sqlite3_uri_int64`(const char*, const char*, sqlite3_int64);

  CAPI3REF Opening A New Database Connection

nothrow int `sqlite3_errcode`(sqlite3* `db`);
nothrow int `sqlite3_extended_errcode`(sqlite3* `db`);
nothrow const(char)* `sqlite3_errmsg`(sqlite3*);
nothrow const(void)* `sqlite3_errmsg16`(sqlite3*);
nothrow const(char)* `sqlite3_errstr`(int);

  CAPI3REF Error Codes And Messages

struct `sqlite3_stmt`;

  CAPI3REF SQL Statement Object

nothrow int `sqlite3_limit`(sqlite3*, int `id`, int `newVal`);

  CAPI3REF Run-time Limits

nothrow int `sqlite3_prepare`(sqlite3* `db`, const(char)* `zSql`, int `nByte`, sqlite3_stmt** `ppStmt`, const(char*)* `pzTail`);
nothrow int `sqlite3_prepare_v2`(sqlite3* `db`, const(char)* `zSql`, int `nByte`, sqlite3_stmt** `ppStmt`, const(char*)* `pzTail`);
nothrow int `sqlite3_prepare_v3`(sqlite3* `db`, const(char)* `zSql`, int `nByte`, uint `prepFlags`, sqlite3_stmt** `ppStmt`, const(char*)* `pzTail`);
nothrow int `sqlite3_prepare16`(sqlite3* `db`, const(void)* `zSql`, int `nByte`, sqlite3_stmt** `ppStmt`, const(void*)* `pzTail`);
nothrow int `sqlite3_prepare16_v2`(sqlite3* `db`, const(void)* `zSql`, int `nByte`, sqlite3_stmt** `ppStmt`, const(void*)* `pzTail`);
nothrow int `sqlite3_prepare16_v3`(sqlite3* `db`, const(void)* `zSql`, int `nByte`, uint `prepFlags`, sqlite3_stmt** `ppStmt`, const(void*)* `pzTail`);

  CAPI3REF Compiling An SQL Statement

nothrow const(char)* `sqlite3_sql`(sqlite3_stmt* `pStmt`);
nothrow char* `sqlite3_expanded_sql`(sqlite3_stmt* `pStmt`);

  CAPI3REF Retrieving Statement SQL

nothrow int `sqlite3_stmt_busy`(sqlite3_stmt*);

  CAPI3REF Determine If A Prepared Statement Has Been Reset

struct `sqlite3_value`;

  CAPI3REF Dynamically Typed Value Object

struct `sqlite3_context`;

  CAPI3REF SQL Function Context Object

nothrow int `sqlite3_bind_blob`(sqlite3_stmt*, int, const void*, int `n`, void function(void*));
nothrow int `sqlite3_bind_blob64`(sqlite3_stmt*, int, const void*, sqlite3_uint64, void function(void*));
nothrow int `sqlite3_bind_double`(sqlite3_stmt*, int, double);
nothrow int `sqlite3_bind_int`(sqlite3_stmt*, int, int);
nothrow int `sqlite3_bind_int64`(sqlite3_stmt*, int, sqlite3_int64);
nothrow int `sqlite3_bind_null`(sqlite3_stmt*, int);
nothrow int `sqlite3_bind_text`(sqlite3_stmt*, int, const char*, int `n`, void function(void*));
nothrow int `sqlite3_bind_text16`(sqlite3_stmt*, int, const void*, int, void function(void*));
nothrow int `sqlite3_bind_text64`(sqlite3_stmt*, int, const char*, sqlite3_uint64, void function(void*), ubyte `encoding`);
nothrow int `sqlite3_bind_value`(sqlite3_stmt*, int, const sqlite3_value*);
nothrow int `sqlite3_bind_zeroblob`(sqlite3_stmt*, int, int `n`);
nothrow int `sqlite3_bind_zeroblob64`(sqlite3_stmt*, int, sqlite3_uint64 `n`);

  CAPI3REF Binding Values To Prepared Statements

nothrow int `sqlite3_bind_parameter_count`(sqlite3_stmt*);

  CAPI3REF Number Of SQL Parameters

nothrow const(char)* `sqlite3_bind_parameter_name`(sqlite3_stmt*, int);

  CAPI3REF Name Of A Host Parameter

nothrow int `sqlite3_bind_parameter_index`(sqlite3_stmt*, const char* `zName`);

  CAPI3REF Index Of A Parameter With A Given Name

nothrow int `sqlite3_clear_bindings`(sqlite3_stmt*);

  CAPI3REF Reset All Bindings On A Prepared Statement

nothrow int `sqlite3_column_count`(sqlite3_stmt* `pStmt`);

  CAPI3REF Number Of Columns In A Result Set

nothrow const(char)* `sqlite3_column_name`(sqlite3_stmt*, int `N`);
nothrow const(void)* `sqlite3_column_name16`(sqlite3_stmt*, int `N`);

  CAPI3REF Column Names In A Result Set

nothrow const(char)* `sqlite3_column_database_name`(sqlite3_stmt*, int);
nothrow const(void)* `sqlite3_column_database_name16`(sqlite3_stmt*, int);
nothrow const(char)* `sqlite3_column_table_name`(sqlite3_stmt*, int);
nothrow const(void)* `sqlite3_column_table_name16`(sqlite3_stmt*, int);
nothrow const(char)* `sqlite3_column_origin_name`(sqlite3_stmt*, int);
nothrow const(void)* `sqlite3_column_origin_name16`(sqlite3_stmt*, int);

  CAPI3REF Source Of Data In A Query Result

nothrow const(char)* `sqlite3_column_decltype`(sqlite3_stmt*, int);
nothrow const(void)* `sqlite3_column_decltype16`(sqlite3_stmt*, int);

  CAPI3REF Declared Datatype Of A Query Result

nothrow int `sqlite3_step`(sqlite3_stmt*);

  CAPI3REF Evaluate An SQL Statement

nothrow int `sqlite3_data_count`(sqlite3_stmt* `pStmt`);

  CAPI3REF Number of columns in a result set

nothrow const(void)* `sqlite3_column_blob`(sqlite3_stmt*, int `iCol`);
nothrow double `sqlite3_column_double`(sqlite3_stmt*, int `iCol`);
nothrow int `sqlite3_column_int`(sqlite3_stmt*, int `iCol`);
nothrow sqlite3_int64 `sqlite3_column_int64`(sqlite3_stmt*, int `iCol`);
nothrow const(char)* `sqlite3_column_text`(sqlite3_stmt*, int `iCol`);
nothrow const(void)* `sqlite3_column_text16`(sqlite3_stmt*, int `iCol`);
nothrow sqlite3_value* `sqlite3_column_value`(sqlite3_stmt*, int `iCol`);
nothrow int `sqlite3_column_bytes`(sqlite3_stmt*, int `iCol`);
nothrow int `sqlite3_column_bytes16`(sqlite3_stmt*, int `iCol`);
nothrow int `sqlite3_column_type`(sqlite3_stmt*, int `iCol`);

  CAPI3REF Result Values From A Query

nothrow int `sqlite3_finalize`(sqlite3_stmt* `pStmt`);

  CAPI3REF Destroy A Prepared Statement Object

nothrow int `sqlite3_reset`(sqlite3_stmt* `pStmt`);

  CAPI3REF Reset A Prepared Statement Object

nothrow int `sqlite3_create_function`(sqlite3* `db`, const(char)* `zFunctionName`, int `nArg`, int `eTextRep`, void* `pApp`, void function(sqlite3_context*, int, sqlite3_value**) `xFunc`, void function(sqlite3_context*, int, sqlite3_value**) `xStep`, void function(sqlite3_context*) `xFinal`);
nothrow int `sqlite3_create_function16`(sqlite3* `db`, const(void)* `zFunctionName`, int `nArg`, int `eTextRep`, void* `pApp`, void function(sqlite3_context*, int, sqlite3_value**) `xFunc`, void function(sqlite3_context*, int, sqlite3_value**) `xStep`, void function(sqlite3_context*) `xFinal`);
nothrow int `sqlite3_create_function_v2`(sqlite3* `db`, const(char)* `zFunctionName`, int `nArg`, int `eTextRep`, void* `pApp`, void function(sqlite3_context*, int, sqlite3_value**) `xFunc`, void function(sqlite3_context*, int, sqlite3_value**) `xStep`, void function(sqlite3_context*) `xFinal`, void function(void*) `xDestroy`);
nothrow int `sqlite3_create_window_function`(sqlite3* `db`, const(char)* `zFunctionName`, int `nArg`, int `eTextRep`, void* `pApp`, void function(sqlite3_context*, int, sqlite3_value**) `xStep`, void function(sqlite3_context*) `xFinal`, void function(sqlite3_context*) `xValue`, void function(sqlite3_context*, int, sqlite3_value**) `xInverse`, void function(void*) `xDestroy`);

  CAPI3REF Create Or Redefine SQL Functions

`SQLITE_UTF8`

  IMP R-37514-35566

`SQLITE_UTF16LE`

  IMP R-03371-37637

`SQLITE_UTF16BE`

  IMP R-51971-34154

`SQLITE_UTF16`
  Use native byte order
`SQLITE_ANY`
  sqlite3_create_function only
`SQLITE_UTF16_ALIGNED`
  sqlite3_create_collation only
enum int `SQLITE_DETERMINISTIC`;

  CAPI3REF Function Flags

deprecated nothrow int `sqlite3_aggregate_count`(sqlite3_context*);

  CAPI3REF Deprecated Functions

nothrow const(void)* `sqlite3_value_blob`(sqlite3_value*);
nothrow int `sqlite3_value_bytes`(sqlite3_value*);
nothrow int `sqlite3_value_bytes16`(sqlite3_value*);
nothrow double `sqlite3_value_double`(sqlite3_value*);
nothrow int `sqlite3_value_int`(sqlite3_value*);
nothrow sqlite3_int64 `sqlite3_value_int64`(sqlite3_value*);
nothrow const(char)* `sqlite3_value_text`(sqlite3_value*);
nothrow const(void)* `sqlite3_value_text16`(sqlite3_value*);
nothrow const(void)* `sqlite3_value_text16le`(sqlite3_value*);
nothrow const(void)* `sqlite3_value_text16be`(sqlite3_value*);
nothrow int `sqlite3_value_type`(sqlite3_value*);
nothrow int `sqlite3_value_numeric_type`(sqlite3_value*);
nothrow int `sqlite3_value_nochange`(sqlite3_value*);
nothrow int `sqlite3_value_frombind`(sqlite3_value*);

  CAPI3REF Obtaining SQL Function Parameter Values

nothrow void* `sqlite3_aggregate_context`(sqlite3_context*, int `nBytes`);

  CAPI3REF Obtain Aggregate Function Context

nothrow void* `sqlite3_user_data`(sqlite3_context*);

  CAPI3REF User Data For Functions

nothrow sqlite3* `sqlite3_context_db_handle`(sqlite3_context*);

  CAPI3REF Database Connection For Functions

nothrow void* `sqlite3_get_auxdata`(sqlite3_context*, int `N`);
nothrow void `sqlite3_set_auxdata`(sqlite3_context*, int `N`, void*, void function(void*));

  CAPI3REF Function Auxiliary Data

alias `sqlite3_destructor_type` = extern (C) void function(void*) nothrow;

  CAPI3REF Constants Defining Special Destructor Behavior

nothrow void `sqlite3_result_blob`(sqlite3_context*, const void*, int, void function(void*));
nothrow void `sqlite3_result_blob64`(sqlite3_context*, const void*, sqlite3_uint64, void function(void*));
nothrow void `sqlite3_result_double`(sqlite3_context*, double);
nothrow void `sqlite3_result_error`(sqlite3_context*, const char*, int);
nothrow void `sqlite3_result_error16`(sqlite3_context*, const void*, int);
nothrow void `sqlite3_result_error_toobig`(sqlite3_context*);
nothrow void `sqlite3_result_error_nomem`(sqlite3_context*);
nothrow void `sqlite3_result_error_code`(sqlite3_context*, int);
nothrow void `sqlite3_result_int`(sqlite3_context*, int);
nothrow void `sqlite3_result_int64`(sqlite3_context*, sqlite3_int64);
nothrow void `sqlite3_result_null`(sqlite3_context*);
nothrow void `sqlite3_result_text`(sqlite3_context*, const char*, int, void function(void*));
nothrow void `sqlite3_result_text64`(sqlite3_context*, const char*, sqlite3_uint64, void function(void*), ubyte `encoding`);
nothrow void `sqlite3_result_text16`(sqlite3_context*, const void*, int, void function(void*));
nothrow void `sqlite3_result_text16le`(sqlite3_context*, const void*, int, void function(void*));
nothrow void `sqlite3_result_text16be`(sqlite3_context*, const void*, int, void function(void*));
nothrow void `sqlite3_result_value`(sqlite3_context*, sqlite3_value*);
nothrow void `sqlite3_result_zeroblob`(sqlite3_context*, int `n`);
nothrow int `sqlite3_result_zeroblob64`(sqlite3_context*, sqlite3_uint64 `n`);

  CAPI3REF Setting The Result Of An SQL Function

nothrow int `sqlite3_create_collation`(sqlite3*, const(char)* `zName`, int `eTextRep`, void* `pArg`, int function(void*, int, const void*, int, const void*) `xCompare`);
nothrow int `sqlite3_create_collation_v2`(sqlite3*, const(char)* `zName`, int `eTextRep`, void* `pArg`, int function(void*, int, const void*, int, const void*) `xCompare`, void function(void*) `xDestroy`);
nothrow int `sqlite3_create_collation16`(sqlite3*, const(void)* `zName`, int `eTextRep`, void* `pArg`, int function(void*, int, const void*, int, const void*) `xCompare`);

  CAPI3REF Define New Collating Sequences

nothrow int `sqlite3_collation_needed`(sqlite3*, void*, void function(void*, sqlite3*, int eTextRep, const char*));
nothrow int `sqlite3_collation_needed16`(sqlite3*, void*, void function(void*, sqlite3*, int eTextRep, const void*));

  CAPI3REF Collation Needed Callbacks

nothrow int `sqlite3_key`(sqlite3* `db`, const(void)* `pKey`, int `nKey`);
nothrow int `sqlite3_key_v2`(sqlite3* `db`, const(char)* `zDbName`, const(void)* `pKey`, int `nKey`);
nothrow int `sqlite3_rekey`(sqlite3* `db`, const(void)* `pKey`, int `nKey`);
  Change the key on an open database. If the current database is not encrypted, this routine will encrypt it. If pNew == 0 or nNew == 0, the database is decrypted.
  The code to implement this API is not available in the public release of SQLite.
nothrow void `sqlite3_activate_see`(const(char)* `zPassPhrase`);
  Specify the activation key for a SEE database. Unless activated, none of the SEE routines will work.
nothrow void `sqlite3_activate_cerod`(const(char)* `zPassPhrase`);
  Specify the activation key for a CEROD database. Unless activated, none of the CEROD routines will work.
nothrow int `sqlite3_sleep`(int);

  CAPI3REF Suspend Execution For A Short Time

char* `sqlite3_temp_directory`;

  CAPI3REF Name Of The Folder Holding Temporary Files

char* `sqlite3_data_directory`;

  CAPI3REF Name Of The Folder Holding Database Files

nothrow int `sqlite3_win32_set_directory`(c_ulong `type`, void* `zValue`);
nothrow int `sqlite3_win32_set_directory8`(c_ulong `type`, void* `zValue`);
nothrow int `sqlite3_win32_set_directory16`(c_ulong `type`, void* `zValue`);

  CAPI3REF Win32 Specific Interface

nothrow int `sqlite3_get_autocommit`(sqlite3*);

  CAPI3REF Test For Auto-Commit Mode

nothrow sqlite3* `sqlite3_db_handle`(sqlite3_stmt*);

  CAPI3REF Find The Database Handle Of A Prepared Statement

nothrow const(char)* `sqlite3_db_filename`(sqlite3* `db`, const char* `zDbName`);

  CAPI3REF Return The Filename For A Database Connection

nothrow int `sqlite3_db_readonly`(sqlite3* `db`, const char* `zDbName`);

  CAPI3REF Determine if a database is read-only

nothrow void* `sqlite3_commit_hook`(sqlite3*, int function(void*), void*);
nothrow void* `sqlite3_rollback_hook`(sqlite3*, void function(void*), void*);

  CAPI3REF Commit And Rollback Notification Callbacks

nothrow void* `sqlite3_update_hook`(sqlite3*, void function(void*, int, char*, char*, sqlite3_int64), void*);

  CAPI3REF Data Change Notification Callbacks

nothrow int `sqlite3_enable_shared_cache`(int);

  CAPI3REF Enable Or Disable Shared Pager Cache

nothrow int `sqlite3_release_memory`(int);

  CAPI3REF Attempt To Free Heap Memory

nothrow int `sqlite3_db_release_memory`(sqlite3*);

  CAPI3REF Free Memory Used By A Database Connection

deprecated nothrow void `sqlite3_soft_heap_limit`(int `N`);

  CAPI3REF Deprecated Soft Heap Limit Interface

nothrow int `sqlite3_table_column_metadata`(sqlite3* `db`, const(char)* `zDbName`, const(char)* `zTableName`, const(char)* `zColumnName`, char** `pzDataType`, char** `pzCollSeq`, int* `pNotNull`, int* `pPrimaryKey`, int* `pAutoinc`);

  CAPI3REF Extract Metadata About A Column Of A Table

nothrow int `sqlite3_load_extension`(sqlite3* `db`, const(char)* `zFile`, const(char)* `zProc`, char** `pzErrMsg`);

  CAPI3REF Load An Extension

nothrow int `sqlite3_enable_load_extension`(sqlite3* `db`, int `onoff`);

  CAPI3REF Enable Or Disable Extension Loading

nothrow int `sqlite3_auto_extension`(void function() `xEntryPoint`);

  CAPI3REF Automatically Load Statically Linked Extensions

nothrow int `sqlite3_cancel_auto_extension`(void function() `xEntryPoint`);

  CAPI3REF Cancel Automatic Extension Loading

nothrow void `sqlite3_reset_auto_extension`();

  CAPI3REF Reset Automatic Extension Loading

alias `mapFunction` = extern (C) void function(sqlite3_context*, int, sqlite3_value**) nothrow;
struct `sqlite3_module`;
  The interface to the virtual-table mechanism is currently considered to be experimental. The interface might change in incompatible ways. If this is a problem for you, do not use the interface at this time.
  When the virtual-table mechanism stabilizes, we will declare the interface fixed, support it indefinitely, and remove this comment.

  CAPI3REF Virtual Table Object

struct `sqlite3_index_info`;

  CAPI3REF Virtual Table Indexing Information

  int `nConstraint`;
    Number of entries in aConstraint
  sqlite3_index_constraint* `aConstraint`;
    Table of WHERE clause constraints
  int `nOrderBy`;
    Number of terms in the ORDER BY clause
  sqlite3_index_orderby* `aOrderBy`;
    The ORDER BY clause
  int `idxNum`;
    Number used to identify the index
  char* `idxStr`;
    String, possibly obtained from sqlite3_malloc
  int `needToFreeIdxStr`;
    Free idxStr using sqlite3_free() if true
  int `orderByConsumed`;
    True if output is already ordered
  double `estimatedCost`;
    Estimated cost of using this index
nothrow int `sqlite3_create_module`(sqlite3* `db`, const(char)* `zName`, const(sqlite3_module)* `p`, void* `pClientData`);
nothrow int `sqlite3_create_module_v2`(sqlite3* `db`, const(char)* `zName`, const(sqlite3_module)* `p`, void* `pClientData`, void function(void*) `xDestroy`);

  CAPI3REF Register A Virtual Table Implementation

nothrow int `sqlite3_drop_modules`(sqlite3* `db`, const(char*)* `azKeep`);

  CAPI3REF Remove Unnecessary Virtual Table Implementations

struct `sqlite3_vtab`;

  CAPI3REF Virtual Table Instance Object

  const(sqlite3_module)* `pModule`;
    The module for this virtual table
  int `nRef`;
    NO LONGER USED
  char* `zErrMsg`;
    Error message from sqlite3_mprintf()
struct `sqlite3_vtab_cursor`;

  CAPI3REF Virtual Table Cursor Object

  sqlite3_vtab* `pVtab`;
    Virtual table of this cursor
nothrow int `sqlite3_declare_vtab`(sqlite3*, const char* `zSQL`);

  CAPI3REF Declare The Schema Of A Virtual Table

nothrow int `sqlite3_overload_function`(sqlite3*, const char* `zFuncName`, int `nArg`);

  CAPI3REF Overload A Function For A Virtual Table

struct `sqlite3_blob`;
  The interface to the virtual-table mechanism defined above (back up to a comment remarkably similar to this one) is currently considered to be experimental. The interface might change in incompatible ways. If this is a problem for you, do not use the interface at this time.
  When the virtual-table mechanism stabilizes, we will declare the interface fixed, support it indefinitely, and remove this comment.
nothrow int `sqlite3_blob_open`(sqlite3*, const(char)* `zDb`, const(char)* `zTable`, const(char)* `zColumn`, sqlite3_int64 `iRow`, int `flags`, sqlite3_blob** `ppBlob`);

  CAPI3REF Open A BLOB For Incremental I/O

nothrow int `sqlite3_blob_reopen`(sqlite3_blob*, sqlite3_int64);

  CAPI3REF Move a BLOB Handle to a New Row

nothrow int `sqlite3_blob_close`(sqlite3_blob*);

  CAPI3REF Close A BLOB Handle

nothrow int `sqlite3_blob_bytes`(sqlite3_blob*);

  CAPI3REF Return The Size Of An Open BLOB

nothrow int `sqlite3_blob_read`(sqlite3_blob*, void* `Z`, int `N`, int `iOffset`);

  CAPI3REF Read Data From A BLOB Incrementally

nothrow int `sqlite3_blob_write`(sqlite3_blob*, const void* `z`, int `n`, int `iOffset`);

  CAPI3REF Write Data Into A BLOB Incrementally

nothrow sqlite3_vfs* `sqlite3_vfs_find`(const char* `zVfsName`);
nothrow int `sqlite3_vfs_register`(sqlite3_vfs*, int `makeDflt`);
nothrow int `sqlite3_vfs_unregister`(sqlite3_vfs*);

  CAPI3REF Virtual File System Objects

nothrow sqlite3_mutex* `sqlite3_mutex_alloc`(int);
nothrow void `sqlite3_mutex_free`(sqlite3_mutex*);
nothrow void `sqlite3_mutex_enter`(sqlite3_mutex*);
nothrow int `sqlite3_mutex_try`(sqlite3_mutex*);
nothrow void `sqlite3_mutex_leave`(sqlite3_mutex*);

  CAPI3REF Mutexes

struct `sqlite3_mutex_methods`;

  CAPI3REF Mutex Methods Object

nothrow int `sqlite3_mutex_held`(sqlite3_mutex*);
nothrow int `sqlite3_mutex_notheld`(sqlite3_mutex*);

  CAPI3REF Mutex Verification Routines

`SQLITE_MUTEX_STATIC_MEM`
  sqlite3_malloc()
`SQLITE_MUTEX_STATIC_MEM2`
  NOT USED
`SQLITE_MUTEX_STATIC_OPEN`
  sqlite3BtreeOpen()
`SQLITE_MUTEX_STATIC_PRNG`
  sqlite3_randomness()
`SQLITE_MUTEX_STATIC_LRU`
  lru page list
`SQLITE_MUTEX_STATIC_LRU2`
  NOT USED
`SQLITE_MUTEX_STATIC_PMEM`
  sqlite3PageMalloc()
`SQLITE_MUTEX_STATIC_APP1`
  For use by application
`SQLITE_MUTEX_STATIC_APP2`
  For use by application
`SQLITE_MUTEX_STATIC_APP3`
  For use by application
`SQLITE_MUTEX_STATIC_VFS1`
  For use by built-in VFS
`SQLITE_MUTEX_STATIC_VFS2`
  For use by extension VFS
`SQLITE_MUTEX_STATIC_VFS3`
  For use by application VFS
nothrow sqlite3_mutex* `sqlite3_db_mutex`(sqlite3*);

  CAPI3REF Retrieve the mutex for a database connection

nothrow int `sqlite3_file_control`(sqlite3*, const char* `zDbName`, int `op`, void*);

  CAPI3REF Low-Level Control Of Database Files

nothrow int `sqlite3_test_control`(int `op`, ...);

  CAPI3REF Testing Interface

`SQLITE_TESTCTRL_PRNG_RESET`
  NOT USED
`SQLITE_TESTCTRL_ISKEYWORD`
  NOT USED
`SQLITE_TESTCTRL_SCRATCHMALLOC`
  NOT USED
`SQLITE_TESTCTRL_EXPLAIN_STMT`
  NOT USED
`SQLITE_TESTCTRL_LAST`
  Largest TESTCTRL
nothrow int `sqlite3_keyword_count`();
nothrow int `sqlite3_keyword_name`(int, const(char*)*, int*);
nothrow int `sqlite3_keyword_check`(const(char)*, int);

  CAPI3REF SQL Keyword Checking

struct `sqlite3_str`;

  CAPI3REF Dynamic String Object

nothrow sqlite3_str* `sqlite3_str_new`(sqlite3*);

  CAPI3REF Create A New Dynamic String Object

nothrow char* `sqlite3_str_finish`(sqlite3_str*);

  CAPI3REF Finalize A Dynamic String

nothrow void `sqlite3_str_appendf`(sqlite3_str*, const(char)* `zFormat`, ...);
nothrow void `sqlite3_str_vappendf`(sqlite3_str*, const(char)* `zFormat`, va_list);
nothrow void `sqlite3_str_append`(sqlite3_str*, const(char)* `zIn`, int `N`);
nothrow void `sqlite3_str_appendall`(sqlite3_str*, const(char)* `zIn`);
nothrow void `sqlite3_str_appendchar`(sqlite3_str*, int `N`, char `C`);
nothrow void `sqlite3_str_reset`(sqlite3_str*);

  CAPI3REF Add Content To A Dynamic String

nothrow int `sqlite3_str_errcode`(sqlite3_str*);

  CAPI3REF Status Of A Dynamic String

nothrow int `sqlite3_status`(int `op`, int* `pCurrent`, int* `pHighwater`, int `resetFlag`);
nothrow int `sqlite3_status64`(int `op`, long* `pCurrent`, long* `pHighwater`, int `resetFlag`);

  CAPI3REF SQLite Runtime Status

`SQLITE_STATUS_SCRATCH_USED`
  NOT USED
`SQLITE_STATUS_SCRATCH_OVERFLOW`
  NOT USED
`SQLITE_STATUS_SCRATCH_SIZE`
  NOT USED
nothrow int `sqlite3_db_status`(sqlite3*, int `op`, int* `pCur`, int* `pHiwtr`, int `resetFlg`);

  CAPI3REF Database Connection Status

`SQLITE_DBSTATUS_MAX`
  Largest defined DBSTATUS
nothrow int `sqlite3_stmt_status`(sqlite3_stmt*, int `op`, int `resetFlg`);

  CAPI3REF Prepared Statement Status

struct `sqlite3_pcache`;

  CAPI3REF Custom Page Cache Object

struct `sqlite3_pcache_page`;

  CAPI3REF Custom Page Cache Object

struct `sqlite3_pcache_methods2`;

  CAPI3REF Application Defined Page Cache.

struct `sqlite3_backup`;

  CAPI3REF Online Backup Object

nothrow sqlite3_backup* `sqlite3_backup_init`(sqlite3* `pDest`, const(char)* `zDestName`, sqlite3* `pSource`, const(char)* `zSourceName`);
nothrow int `sqlite3_backup_step`(sqlite3_backup* `p`, int `nPage`);
nothrow int `sqlite3_backup_finish`(sqlite3_backup* `p`);
nothrow int `sqlite3_backup_remaining`(sqlite3_backup* `p`);
nothrow int `sqlite3_backup_pagecount`(sqlite3_backup* `p`);

  CAPI3REF Online Backup API.

nothrow int `sqlite3_unlock_notify`(sqlite3* `pBlocked`, void function(void** apArg, int nArg) `xNotify`, void* `pNotifyArg`);

  CAPI3REF Unlock Notification

nothrow int `sqlite3_stricmp`(const char*, const char*);

  CAPI3REF String Comparison

nothrow void `sqlite3_log`(int `iErrCode`, const char* `zFormat`, ...);

  CAPI3REF Error Logging Interface

nothrow void* `sqlite3_wal_hook`(sqlite3*, int function(void*, sqlite3*, const char*, int), void*);

  CAPI3REF Write-Ahead Log Commit Hook

nothrow int `sqlite3_wal_autocheckpoint`(sqlite3* `db`, int `N`);

  CAPI3REF Configure an auto-checkpoint

nothrow int `sqlite3_wal_checkpoint`(sqlite3* `db`, const char* `zDb`);

  CAPI3REF Checkpoint a database

nothrow int `sqlite3_wal_checkpoint_v2`(sqlite3* `db`, const(char)* `zDb`, int `eMode`, int* `pnLog`, int* `pnCkpt`);

  CAPI3REF Checkpoint a database

enum int `SQLITE_VTAB_CONSTRAINT_SUPPORT`;
nothrow int `sqlite3_preupdate_old`(sqlite3*, int, sqlite3_value**);
nothrow int `sqlite3_preupdate_count`(sqlite3*);
nothrow int `sqlite3_preupdate_depth`(sqlite3*);
nothrow int `sqlite3_preupdate_new`(sqlite3*, int, sqlite3_value**);

  CAPI3REF Virtual Table Configuration Options

nothrow int `sqlite3_rtree_geometry_callback`(sqlite3* `db`, const(char)* `zGeom`, int function(sqlite3_rtree_geometry*, int nCoord, double* aCoord, int* pRes) `xGeom`, void* `pContext`);
  Register a geometry callback named zGeom that can be used as part of an R-Tree geometry query as follows:
  SELECT ... FROM <rtree> WHERE <rtree col> MATCH zGeom(... params ...)
struct `sqlite3_rtree_geometry`;
  A pointer to a structure of the following type is passed as the first argument to callbacks registered using rtree_geometry_callback().
  void* `pContext`;
    Copy of pContext passed to s_r_g_c()
  int `nParam`;
    Size of array aParam[]
  double* `aParam`;
    Parameters passed to SQL geom function
  void* `pUser`;
    Callback implementation user data
  void function(void*) `xDelUser`;
    Called by SQLite to clean up pUser
`NOT_WITHIN`
  Object completely outside of query region
`PARTLY_WITHIN`
  Object partially overlaps query region
`FULLY_WITHIN`
nothrow int `sqlite3changeset_start_v2`(sqlite3_changeset_iter** `pp`, int `nChangeset`, void* `pChangeset`, int `flags`);
nothrow int `sqlite3changeset_apply_v2`(sqlite3* `db`, int `nChangeset`, void* `pChangeset`, int function(void* `pCtx`, const(char)* zTab) `xFilter`, int function(void* `pCtx`, int eConflict, sqlite3_changeset_iter* p) `xConflict`, void* `pCtx`, void** `ppRebase`, int* `pnRebase`, int `flags`);
nothrow int `sqlite3changeset_apply_v2_strm`(sqlite3* `db`, int function(void* `pIn`, void* pData, int* pnData) `xInput`, void* `pIn`, int function(void* `pCtx`, const(char)* zTab) `xFilter`, int function(void* `pCtx`, int eConflict, sqlite3_changeset_iter* p) `xConflict`, void* `pCtx`, void** `ppRebase`, int* `pnRebase`, int `flags`);
nothrow int `sqlite3changeset_concat_strm`(int function(void* pIn, void* pData, int* pnData) `xInputA`, void* `pInA`, int function(void* pIn, void* pData, int* pnData) `xInputB`, void* `pInB`, int function(void* `pOut`, const(void)* pData, int nData) `xOutput`, void* `pOut`);
nothrow int `sqlite3changeset_invert_strm`(int function(void* `pIn`, void* pData, int* pnData) `xInput`, void* `pIn`, int function(void* `pOut`, const(void)* pData, int nData) `xOutput`, void* `pOut`);
nothrow int `sqlite3changeset_start_strm`(sqlite3_changeset_iter** `pp`, int function(void* `pIn`, void* pData, int* pnData) `xInput`, void* `pIn`);
nothrow int `sqlite3changeset_start_v2_strm`(sqlite3_changeset_iter** `pp`, int function(void* `pIn`, void* pData, int* pnData) `xInput`, void* `pIn`, int `flags`);
nothrow int `sqlite3session_changeset_strm`(sqlite3_session* `pSession`, int function(void* `pOut`, const(void)* pData, int nData) `xOutput`, void* `pOut`);
nothrow int `sqlite3session_patchset_strm`(sqlite3_session* `pSession`, int function(void* `pOut`, const(void)* pData, int nData) `xOutput`, void* `pOut`);
nothrow int `sqlite3changegroup_add_strm`(sqlite3_changegroup*, int function(void* `pIn`, void* pData, int* pnData) `xInput`, void* `pIn`);
nothrow int `sqlite3changegroup_output_strm`(sqlite3_changegroup*, int function(void* `pOut`, const(void)* pData, int nData) `xOutput`, void* `pOut`);
nothrow int `sqlite3rebaser_rebase_strm`(sqlite3_rebaser* `pRebaser`, int function(void* `pIn`, void* pData, int* pnData) `xInput`, void* `pIn`, int function(void* `pOut`, const(void)* pData, int nData) `xOutput`, void* `pOut`);
  Object fully contained within query region
struct `Fts5Context`;
alias `fts5_extension_function` = extern (C) void function(const(Fts5ExtensionApi*) pApi, Fts5Context* pFts, sqlite3_context* pCtx, int nVal, sqlite3_value** apVal) nothrow;
struct `Fts5PhraseIter`;
struct `Fts5ExtensionApi`;
struct `Fts5Tokenizer`;
enum int `FTS5_TOKENIZE_QUERY`;
enum int `FTS5_TOKENIZE_PREFIX`;
enum int `FTS5_TOKENIZE_DOCUMENT`;
enum int `FTS5_TOKENIZE_AUX`;
enum int `FTS5_TOKEN_COLOCATED`;
struct `fts5_api`;
  Interfaces to extend FTS5.

Copyright © 1999-2020 by the D Language Foundation | Page generated by Ddoc on Tue Sep 22 09:13:56 2020