# List of SQLite functions supported - [ ] `sqlite3_version` - [X] `sqlite3_libversion` - [ ] `sqlite3_sourceid` - [X] `sqlite3_libversion_number` - [ ] `sqlite3_compileoption_used` - [ ] `sqlite3_compileoption_get` - [X] `sqlite3_threadsafe` (internal use only) - [X] `sqlite3_close` - [ ] `sqlite3_close_v2` - [ ] `sqlite3_exec` - [ ] `sqlite3_initialize` - [ ] `sqlite3_shutdown` - [ ] `sqlite3_os_init` - [ ] `sqlite3_os_end` - [ ] `sqlite3_config` (partially, `fn` callback for SQLITE_CONFIG_LOG) (cannot be used by a loadable extension) - [X] `sqlite3_db_config` - [X] `sqlite3_extended_result_codes` (not public, internal use only) - [X] `sqlite3_last_insert_rowid` - [ ] `sqlite3_set_last_insert_rowid` - [X] `sqlite3_changes` - [X] `sqlite3_changes64` - [X] `sqlite3_total_changes` - [X] `sqlite3_total_changes64` - [X] `sqlite3_interrupt` - [X] `sqlite3_is_interrupted` - [ ] `sqlite3_complete` - [X] `sqlite3_busy_handler` (`fn` callback) - [X] `sqlite3_busy_timeout` - [ ] `sqlite3_get_table` - [ ] `sqlite3_mprintf` - [ ] `sqlite3_vmprintf` - [ ] `sqlite3_snprintf` - [ ] `sqlite3_vsnprintf` - [ ] `sqlite3_malloc` - [X] `sqlite3_malloc64` (not public, internal use only) - [ ] `sqlite3_realloc` - [ ] `sqlite3_realloc64` - [X] `sqlite3_free` (not public, internal use only) - [ ] `sqlite3_msize` - [ ] `sqlite3_memory_used` - [ ] `sqlite3_memory_highwater` - [ ] `sqlite3_randomness` - [X] `sqlite3_set_authorizer` (`FnMut` callback, reference kept) - [X] `sqlite3_trace` deprecated (`fn` callback) - [X] `sqlite3_profile` deprecated (`fn` callback) - [X] `sqlite3_trace_v2` (`fn` callback, no context data) - [X] `sqlite3_progress_handler` (`FnMut` callback, reference kept) - [ ] `sqlite3_open` - [X] `sqlite3_open_v2` - [ ] `sqlite3_uri_parameter` - [ ] `sqlite3_uri_boolean` - [ ] `sqlite3_uri_int64` - [ ] `sqlite3_uri_key` - [ ] `sqlite3_filename_database` - [ ] `sqlite3_filename_journal` - [ ] `sqlite3_filename_wal` - [ ] `sqlite3_database_file_object` - [ ] `sqlite3_create_filename` - [ ] `sqlite3_free_filename` - [X] `sqlite3_errcode` - [X] `sqlite3_extended_errcode` - [X] `sqlite3_errmsg` (not public, internal use only) - [X] `sqlite3_errstr` (not public, internal use only) - [X] `sqlite3_error_offset` - [X] `sqlite3_limit` - [ ] `sqlite3_prepare` - [X] `sqlite3_prepare_v2` - [X] `sqlite3_prepare_v3` - [X] `sqlite3_sql` (not public, internal use only) - [X] `sqlite3_expanded_sql` - [ ] `sqlite3_normalized_sql` - [X] `sqlite3_stmt_readonly` - [X] `sqlite3_stmt_isexplain` - [ ] `sqlite3_stmt_explain` - [X] `sqlite3_stmt_busy` - [ ] `sqlite3_bind_blob` - [X] `sqlite3_bind_blob64` - [X] `sqlite3_bind_double` - [ ] `sqlite3_bind_int` - [X] `sqlite3_bind_int64` - [X] `sqlite3_bind_null` - [ ] `sqlite3_bind_text` - [X] `sqlite3_bind_text64` - [ ] `sqlite3_bind_value` - [X] `sqlite3_bind_pointer` - [X] `sqlite3_bind_zeroblob` - [ ] `sqlite3_bind_zeroblob64` - [X] `sqlite3_bind_parameter_count` - [X] `sqlite3_bind_parameter_name` - [X] `sqlite3_bind_parameter_index` - [X] `sqlite3_clear_bindings` - [X] `sqlite3_column_count` - [ ] `sqlite3_data_count` - [X] `sqlite3_column_name` - [X] `sqlite3_column_database_name` - [X] `sqlite3_column_table_name` - [X] `sqlite3_column_origin_name` - [X] `sqlite3_column_decltype` - [X] `sqlite3_step` - [X] `sqlite3_column_blob` - [X] `sqlite3_column_double` - [ ] `sqlite3_column_int` - [X] `sqlite3_column_int64` - [X] `sqlite3_column_text` - [X] `sqlite3_column_value` (not public, internal use only) - [X] `sqlite3_column_bytes` (not public, internal use only) - [X] `sqlite3_column_type` - [X] `sqlite3_finalize` - [X] `sqlite3_reset` (not public, internal use only) - [ ] `sqlite3_create_function` - [X] `sqlite3_create_function_v2` (Boxed callback, destroyed by SQLite) - [X] `sqlite3_create_window_function` (Boxed callback, destroyed by SQLite) - [X] `sqlite3_value_blob` - [X] `sqlite3_value_double` - [ ] `sqlite3_value_int` - [X] `sqlite3_value_int64` - [X] `sqlite3_value_pointer` - [X] `sqlite3_value_text` - [X] `sqlite3_value_bytes` (not public, internal use only) - [X] `sqlite3_value_type` - [ ] `sqlite3_value_numeric_type` - [X] `sqlite3_value_nochange` - [ ] `sqlite3_value_frombind` - [ ] `sqlite3_value_encoding` - [X] `sqlite3_value_subtype` - [ ] `sqlite3_value_dup` - [ ] `sqlite3_value_free` - [X] `sqlite3_aggregate_context` (not public, internal use only) - [X] `sqlite3_user_data` (not public, internal use only) - [X] `sqlite3_context_db_handle` (Connection ref) - [X] `sqlite3_get_auxdata` - [X] `sqlite3_set_auxdata` - [ ] `sqlite3_get_clientdata` - [ ] `sqlite3_set_clientdata` - [ ] `sqlite3_result_blob` - [X] `sqlite3_result_blob64` - [X] `sqlite3_result_double` - [X] `sqlite3_result_error` - [X] `sqlite3_result_error_toobig` - [X] `sqlite3_result_error_nomem` - [X] `sqlite3_result_error_code` - [ ] `sqlite3_result_int` - [X] `sqlite3_result_int64` - [X] `sqlite3_result_null` - [ ] `sqlite3_result_text` - [X] `sqlite3_result_text64` - [X] `sqlite3_result_value` - [X] `sqlite3_result_pointer` - [X] `sqlite3_result_zeroblob` - [ ] `sqlite3_result_zeroblob64` - [X] `sqlite3_result_subtype` - [ ] `sqlite3_create_collation` - [X] `sqlite3_create_collation_v2` (Boxed callback, destroyed by SQLite) - [X] `sqlite3_collation_needed` (`fn` callback) - [ ] `sqlite3_sleep` - [X] `sqlite3_get_autocommit` - [X] `sqlite3_db_handle` (not public, internal use only, Connection ref) - [X] `sqlite3_db_name` - [X] `sqlite3_db_filename` - [X] `sqlite3_db_readonly` - [X] `sqlite3_txn_state` - [X] `sqlite3_next_stmt` (not public, internal use only) - [X] `sqlite3_commit_hook` (`FnMut` callback, reference kept) - [X] `sqlite3_rollback_hook` (`FnMut` callback, reference kept) - [ ] `sqlite3_autovacuum_pages` - [X] `sqlite3_update_hook` (`FnMut` callback, reference kept) - [ ] `sqlite3_enable_shared_cache` - [ ] `sqlite3_release_memory` - [X] `sqlite3_db_release_memory` - [ ] `sqlite3_soft_heap_limit64` - [ ] `sqlite3_hard_heap_limit64` - [X] `sqlite3_table_column_metadata` - [X] `sqlite3_load_extension` - [X] `sqlite3_enable_load_extension` (cannot be used by a loadable extension) - [X] `sqlite3_auto_extension` (`fn` callbak with Connection ref) - [X] `sqlite3_cancel_auto_extension` - [X] `sqlite3_reset_auto_extension` - [ ] `sqlite3_create_module` - [X] `sqlite3_create_module_v2` - [ ] `sqlite3_drop_modules` - [X] `sqlite3_declare_vtab` - [ ] `sqlite3_overload_function` - [X] `sqlite3_blob_open` - [X] `sqlite3_blob_reopen` - [X] `sqlite3_blob_close` - [X] `sqlite3_blob_bytes` - [X] `sqlite3_blob_read` - [X] `sqlite3_blob_write` - [ ] `sqlite3_vfs_find` - [ ] `sqlite3_vfs_register` - [ ] `sqlite3_vfs_unregister` - [ ] `sqlite3_mutex_alloc` - [ ] `sqlite3_mutex_free` - [ ] `sqlite3_mutex_enter` - [ ] `sqlite3_mutex_try` - [ ] `sqlite3_mutex_leave` - [ ] `sqlite3_mutex_held` - [ ] `sqlite3_mutex_notheld` - [ ] `sqlite3_db_mutex` - [X] `sqlite3_file_control` (not public, internal use only) - [ ] `sqlite3_test_control` - [ ] `sqlite3_keyword_count` - [ ] `sqlite3_keyword_name` - [ ] `sqlite3_keyword_check` - [ ] `sqlite3_str_new` - [ ] `sqlite3_str_finish` - [ ] `sqlite3_str_append` - [ ] `sqlite3_str_reset` - [ ] `sqlite3_str_errcode` - [ ] `sqlite3_str_length` - [ ] `sqlite3_str_value` - [ ] `sqlite3_status` - [ ] `sqlite3_status64` - [ ] `sqlite3_db_status` - [X] `sqlite3_stmt_status` - [X] `sqlite3_backup_init` - [X] `sqlite3_backup_step` - [X] `sqlite3_backup_finish` - [X] `sqlite3_backup_remaining` - [X] `sqlite3_backup_pagecount` - [X] `sqlite3_unlock_notify` (`fn` callback, internal use only) - [ ] `sqlite3_stricmp` - [ ] `sqlite3_strnicmp` - [ ] `sqlite3_strglob` - [ ] `sqlite3_strlike` - [X] `sqlite3_log` - [X] `sqlite3_wal_hook` (`fn` callback with Connection ref) - [ ] `sqlite3_wal_autocheckpoint` - [X] `sqlite3_wal_checkpoint` - [X] `sqlite3_wal_checkpoint_v2` - [X] `sqlite3_vtab_config` - [X] `sqlite3_vtab_on_conflict` - [X] `sqlite3_vtab_nochange` - [X] `sqlite3_vtab_collation` - [X] `sqlite3_vtab_distinct` - [X] `sqlite3_vtab_in` - [X] `sqlite3_vtab_in_first` - [X] `sqlite3_vtab_in_next` - [X] `sqlite3_vtab_rhs_value` - [ ] `sqlite3_stmt_scanstatus` - [ ] `sqlite3_stmt_scanstatus_v2` - [ ] `sqlite3_stmt_scanstatus_reset` - [X] `sqlite3_db_cacheflush` - [X] `sqlite3_preupdate_hook` (`FnMut` callback with Connection ref, reference kept) (cannot be used by a loadable extension) - [X] `sqlite3_preupdate_old` - [X] `sqlite3_preupdate_count` - [X] `sqlite3_preupdate_depth` - [X] `sqlite3_preupdate_new` - [ ] `sqlite3_preupdate_blobwrite` - [ ] `sqlite3_system_errno` - [ ] `sqlite3_snapshot_get` - [ ] `sqlite3_snapshot_open` - [ ] `sqlite3_snapshot_free` - [ ] `sqlite3_snapshot_cmp` - [ ] `sqlite3_snapshot_recover` - [X] `sqlite3_serialize` - [X] `sqlite3_deserialize` - [ ] `sqlite3_rtree_geometry_callback` - [ ] `sqlite3_rtree_query_callback` - [X] `sqlite3session_create` - [X] `sqlite3session_delete` - [ ] `sqlite3session_object_config` - [X] `sqlite3session_enable` - [X] `sqlite3session_indirect` - [X] `sqlite3session_attach` - [X] `sqlite3session_table_filter` (Boxed callback, reference kept) - [X] `sqlite3session_changeset` - [ ] `sqlite3session_changeset_size` - [X] `sqlite3session_diff` - [X] `sqlite3session_patchset` - [X] `sqlite3session_isempty` - [ ] `sqlite3session_memory_used` - [X] `sqlite3changeset_start` - [ ] `sqlite3changeset_start_v2` - [X] `sqlite3changeset_next` - [X] `sqlite3changeset_op` - [X] `sqlite3changeset_pk` - [X] `sqlite3changeset_old` - [X] `sqlite3changeset_new` - [X] `sqlite3changeset_conflict` - [X] `sqlite3changeset_fk_conflicts` - [X] `sqlite3changeset_finalize` - [X] `sqlite3changeset_invert` - [X] `sqlite3changeset_concat` - [ ] `sqlite3changeset_upgrade` - [X] `sqlite3changegroup_new` - [ ] `sqlite3changegroup_schema` - [X] `sqlite3changegroup_add` - [ ] `sqlite3changegroup_add_change` - [X] `sqlite3changegroup_output` - [X] `sqlite3changegroup_delete` - [X] `sqlite3changeset_apply` - [ ] `sqlite3changeset_apply_v2` - [ ] `sqlite3rebaser_create` - [ ] `sqlite3rebaser_configure` - [ ] `sqlite3rebaser_rebase` - [ ] `sqlite3rebaser_delete` - [X] `sqlite3changeset_apply_strm` - [ ] `sqlite3changeset_apply_v2_strm` - [X] `sqlite3changeset_concat_strm` - [X] `sqlite3changeset_invert_strm` - [X] `sqlite3changeset_start_strm` - [ ] `sqlite3changeset_start_v2_strm` - [X] `sqlite3session_changeset_strm` - [X] `sqlite3session_patchset_strm` - [X] `sqlite3changegroup_add_strm` - [X] `sqlite3changegroup_add_strm` - [X] `sqlite3changegroup_output_strm` - [ ] `sqlite3rebaser_rebase_strm` - [ ] `sqlite3session_config` ## List of virtual table methods supported - [X] `xCreate` - [X] `xConnect` - [X] `xBestIndex` - [X] `xDisconnect` - [X] `xDestroy` - [X] `xOpen` - [X] `xClose` - [X] `xFilter` - [X] `xNext` - [X] `xEof` - [X] `xColumn` - [X] `xRowid` - [X] `xUpdate` - [X] `xBegin` - [X] `xSync` - [X] `xCommit` - [X] `xRollback` - [ ] `xFindFunction` - [ ] `xRename` - [ ] `xSavepoint` - [ ] `xRelease` - [ ] `xRollbackTo` - [ ] `xShadowName` - [ ] `xIntegrity`