

-- local gm = require("swiglib.gmwand.core") -- local gm = swiglib("gmwand.core")
--
-- gm.InitializeMagick(".")
--
-- local magick_wand  = gm.NewMagickWand()
-- local drawing_wand = gm.NewDrawingWand()
--
-- gm.MagickSetSize(magick_wand,800,600)
-- gm.MagickReadImage(magick_wand,"xc:red")
--
-- gm.DrawPushGraphicContext(drawing_wand)
--
-- gm.DrawSetFillColor(drawing_wand,gm.NewPixelWand())
--
--         -- gm.DrawSetFont(drawing_wand, kpse.findfile("DejaVuSerifBold.ttf"))
--         -- gm.DrawSetFontSize(drawing_wand, 96)
--         -- gm.DrawAnnotation(drawing_wand,300,200, "LuaTeX")
--
-- gm.DrawPopGraphicContext(drawing_wand)
-- gm.MagickDrawImage(magick_wand,drawing_wand)
--
-- gm.MagickWriteImages(magick_wand,"./luatex-swiglib-test.jpg",1)
--
-- gm.DestroyDrawingWand(drawing_wand)
-- gm.DestroyMagickWand(magick_wand)

local swighelpers = require("swiglib.helpers.core")
local sqlite      = require("swiglib.sqlite.core")

-- s.sqlite3_create_function_v2_lua_callback(function() end)


local t = [[
    CREATE TABLE IF NOT EXISTS loggers (
        `id`     int(11) NOT NULL AUTO_INCREMENT,
        `time`   int(11) NOT NULL,
        `type`   int(11) NOT NULL,
        `action` varchar(15) NOT NULL,
        `data`   longtext,
        PRIMARY KEY (`id`),
        UNIQUE KEY `id_unique_key` (`id`)
    )
    DEFAULT CHARSET = utf8 ;
]]

local t = [[
CREATE TABLE IF NOT EXISTS loggers (
        `id`     INTEGER PRIMARY KEY AUTOINCREMENT,
        `time`   int(11) NOT NULL,
        `type`   int(11) NOT NULL,
        `action` varchar(15) NOT NULL,
        `data`   longtext
    );
]]

local function execute(name,query)
    local db   = sqlite.new_sqlite3_p_array(1)
    local okay = sqlite.sqlite3_open(name,db)
    local dbh  = sqlite.sqlite3_p_array_getitem(db,0)
    if okay ~= sqlite.SQLITE_OK then
        return false, sqlite.sqlite3_errmsg(dbh)
    end
    local result = { }
    local callback = function(data,nofcolumns,values,fields)
        local r = { }
        for i=0,nofcolumns-1 do
            local field = sqlite.char_p_array_getitem(fields,i)
            local value = sqlite.char_p_array_getitem(values,i)
            r[field] = value
        end
        result[#result+1] = r
        return sqlite.SQLITE_OK
    end
    local data = nil
    local message = nil
    local okay = sqlite.sqlite3_exec_lua_callback(dbh,query,callback,data,message)
    if okay ~= sqlite.SQLITE_OK then
        return false, sqlite.sqlite3_errmsg(dbh)
    end
    sqlite.sqlite3_close(dbh)
    sqlite.delete_sqlite3_p_array(db)
    return result
end

execute("foo.db",t)
-- execute("test.db",t)

local template =[[
    INSERT INTO loggers (
        `time`,
        `type`,
        `action`,
        `data`
    ) VALUES (
        %s,
        %s,
        '%s',
        '%s'
    ) ;
]]

-- for i=1,100 do
--     local t = string.format(template,os.time(),1,"oeps " .. i,"more")
--     execute("foo.db",t)
-- end


local r = execute("foo.db","select * from loggers;")
inspect(r)


-- inspect(table.sortedkeys(sqlite))
-- inspect(table.sortedkeys(swighelpers))



t={
 "FULLY_WITHIN",
 "NOT_WITHIN",
 "PARTLY_WITHIN",
 "SQLITE3_TEXT",
 "SQLITE_ABORT",
 "SQLITE_ABORT_ROLLBACK",
 "SQLITE_ACCESS_EXISTS",
 "SQLITE_ACCESS_READ",
 "SQLITE_ACCESS_READWRITE",
 "SQLITE_ALTER_TABLE",
 "SQLITE_ANALYZE",
 "SQLITE_ANY",
 "SQLITE_ATTACH",
 "SQLITE_AUTH",
 "SQLITE_AUTH_USER",
 "SQLITE_BLOB",
 "SQLITE_BUSY",
 "SQLITE_BUSY_RECOVERY",
 "SQLITE_BUSY_SNAPSHOT",
 "SQLITE_CANTOPEN",
 "SQLITE_CANTOPEN_CONVPATH",
 "SQLITE_CANTOPEN_FULLPATH",
 "SQLITE_CANTOPEN_ISDIR",
 "SQLITE_CANTOPEN_NOTEMPDIR",
 "SQLITE_CHECKPOINT_FULL",
 "SQLITE_CHECKPOINT_PASSIVE",
 "SQLITE_CHECKPOINT_RESTART",
 "SQLITE_CONFIG_COVERING_INDEX_SCAN",
 "SQLITE_CONFIG_GETMALLOC",
 "SQLITE_CONFIG_GETMUTEX",
 "SQLITE_CONFIG_GETPCACHE",
 "SQLITE_CONFIG_GETPCACHE2",
 "SQLITE_CONFIG_HEAP",
 "SQLITE_CONFIG_LOG",
 "SQLITE_CONFIG_LOOKASIDE",
 "SQLITE_CONFIG_MALLOC",
 "SQLITE_CONFIG_MEMSTATUS",
 "SQLITE_CONFIG_MMAP_SIZE",
 "SQLITE_CONFIG_MULTITHREAD",
 "SQLITE_CONFIG_MUTEX",
 "SQLITE_CONFIG_PAGECACHE",
 "SQLITE_CONFIG_PCACHE",
 "SQLITE_CONFIG_PCACHE2",
 "SQLITE_CONFIG_SCRATCH",
 "SQLITE_CONFIG_SERIALIZED",
 "SQLITE_CONFIG_SINGLETHREAD",
 "SQLITE_CONFIG_SQLLOG",
 "SQLITE_CONFIG_URI",
 "SQLITE_CONFIG_WIN32_HEAPSIZE",
 "SQLITE_CONSTRAINT",
 "SQLITE_CONSTRAINT_CHECK",
 "SQLITE_CONSTRAINT_COMMITHOOK",
 "SQLITE_CONSTRAINT_FOREIGNKEY",
 "SQLITE_CONSTRAINT_FUNCTION",
 "SQLITE_CONSTRAINT_NOTNULL",
 "SQLITE_CONSTRAINT_PRIMARYKEY",
 "SQLITE_CONSTRAINT_ROWID",
 "SQLITE_CONSTRAINT_TRIGGER",
 "SQLITE_CONSTRAINT_UNIQUE",
 "SQLITE_CONSTRAINT_VTAB",
 "SQLITE_COPY",
 "SQLITE_CORRUPT",
 "SQLITE_CORRUPT_VTAB",
 "SQLITE_CREATE_INDEX",
 "SQLITE_CREATE_TABLE",
 "SQLITE_CREATE_TEMP_INDEX",
 "SQLITE_CREATE_TEMP_TABLE",
 "SQLITE_CREATE_TEMP_TRIGGER",
 "SQLITE_CREATE_TEMP_VIEW",
 "SQLITE_CREATE_TRIGGER",
 "SQLITE_CREATE_VIEW",
 "SQLITE_CREATE_VTABLE",
 "SQLITE_DBCONFIG_ENABLE_FKEY",
 "SQLITE_DBCONFIG_ENABLE_TRIGGER",
 "SQLITE_DBCONFIG_LOOKASIDE",
 "SQLITE_DBSTATUS_CACHE_HIT",
 "SQLITE_DBSTATUS_CACHE_MISS",
 "SQLITE_DBSTATUS_CACHE_USED",
 "SQLITE_DBSTATUS_CACHE_WRITE",
 "SQLITE_DBSTATUS_DEFERRED_FKS",
 "SQLITE_DBSTATUS_LOOKASIDE_HIT",
 "SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL",
 "SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE",
 "SQLITE_DBSTATUS_LOOKASIDE_USED",
 "SQLITE_DBSTATUS_MAX",
 "SQLITE_DBSTATUS_SCHEMA_USED",
 "SQLITE_DBSTATUS_STMT_USED",
 "SQLITE_DELETE",
 "SQLITE_DENY",
 "SQLITE_DETACH",
 "SQLITE_DETERMINISTIC",
 "SQLITE_DONE",
 "SQLITE_DROP_INDEX",
 "SQLITE_DROP_TABLE",
 "SQLITE_DROP_TEMP_INDEX",
 "SQLITE_DROP_TEMP_TABLE",
 "SQLITE_DROP_TEMP_TRIGGER",
 "SQLITE_DROP_TEMP_VIEW",
 "SQLITE_DROP_TRIGGER",
 "SQLITE_DROP_VIEW",
 "SQLITE_DROP_VTABLE",
 "SQLITE_EMPTY",
 "SQLITE_ERROR",
 "SQLITE_FAIL",
 "SQLITE_FCNTL_BUSYHANDLER",
 "SQLITE_FCNTL_CHUNK_SIZE",
 "SQLITE_FCNTL_COMMIT_PHASETWO",
 "SQLITE_FCNTL_FILE_POINTER",
 "SQLITE_FCNTL_HAS_MOVED",
 "SQLITE_FCNTL_LOCKSTATE",
 "SQLITE_FCNTL_MMAP_SIZE",
 "SQLITE_FCNTL_OVERWRITE",
 "SQLITE_FCNTL_PERSIST_WAL",
 "SQLITE_FCNTL_POWERSAFE_OVERWRITE",
 "SQLITE_FCNTL_PRAGMA",
 "SQLITE_FCNTL_SIZE_HINT",
 "SQLITE_FCNTL_SYNC",
 "SQLITE_FCNTL_SYNC_OMITTED",
 "SQLITE_FCNTL_TEMPFILENAME",
 "SQLITE_FCNTL_TRACE",
 "SQLITE_FCNTL_VFSNAME",
 "SQLITE_FCNTL_WIN32_AV_RETRY",
 "SQLITE_FCNTL_WIN32_SET_HANDLE",
 "SQLITE_FLOAT",
 "SQLITE_FORMAT",
 "SQLITE_FULL",
 "SQLITE_FUNCTION",
 "SQLITE_GET_LOCKPROXYFILE",
 "SQLITE_IGNORE",
 "SQLITE_INDEX_CONSTRAINT_EQ",
 "SQLITE_INDEX_CONSTRAINT_GE",
 "SQLITE_INDEX_CONSTRAINT_GT",
 "SQLITE_INDEX_CONSTRAINT_LE",
 "SQLITE_INDEX_CONSTRAINT_LT",
 "SQLITE_INDEX_CONSTRAINT_MATCH",
 "SQLITE_INSERT",
 "SQLITE_INTEGER",
 "SQLITE_INTERNAL",
 "SQLITE_INTERRUPT",
 "SQLITE_IOCAP_ATOMIC",
 "SQLITE_IOCAP_ATOMIC16K",
 "SQLITE_IOCAP_ATOMIC1K",
 "SQLITE_IOCAP_ATOMIC2K",
 "SQLITE_IOCAP_ATOMIC32K",
 "SQLITE_IOCAP_ATOMIC4K",
 "SQLITE_IOCAP_ATOMIC512",
 "SQLITE_IOCAP_ATOMIC64K",
 "SQLITE_IOCAP_ATOMIC8K",
 "SQLITE_IOCAP_IMMUTABLE",
 "SQLITE_IOCAP_POWERSAFE_OVERWRITE",
 "SQLITE_IOCAP_SAFE_APPEND",
 "SQLITE_IOCAP_SEQUENTIAL",
 "SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN",
 "SQLITE_IOERR",
 "SQLITE_IOERR_ACCESS",
 "SQLITE_IOERR_BLOCKED",
 "SQLITE_IOERR_CHECKRESERVEDLOCK",
 "SQLITE_IOERR_CLOSE",
 "SQLITE_IOERR_CONVPATH",
 "SQLITE_IOERR_DELETE",
 "SQLITE_IOERR_DELETE_NOENT",
 "SQLITE_IOERR_DIR_CLOSE",
 "SQLITE_IOERR_DIR_FSYNC",
 "SQLITE_IOERR_FSTAT",
 "SQLITE_IOERR_FSYNC",
 "SQLITE_IOERR_GETTEMPPATH",
 "SQLITE_IOERR_LOCK",
 "SQLITE_IOERR_MMAP",
 "SQLITE_IOERR_NOMEM",
 "SQLITE_IOERR_RDLOCK",
 "SQLITE_IOERR_READ",
 "SQLITE_IOERR_SEEK",
 "SQLITE_IOERR_SHMLOCK",
 "SQLITE_IOERR_SHMMAP",
 "SQLITE_IOERR_SHMOPEN",
 "SQLITE_IOERR_SHMSIZE",
 "SQLITE_IOERR_SHORT_READ",
 "SQLITE_IOERR_TRUNCATE",
 "SQLITE_IOERR_UNLOCK",
 "SQLITE_IOERR_WRITE",
 "SQLITE_LAST_ERRNO",
 "SQLITE_LIMIT_ATTACHED",
 "SQLITE_LIMIT_COLUMN",
 "SQLITE_LIMIT_COMPOUND_SELECT",
 "SQLITE_LIMIT_EXPR_DEPTH",
 "SQLITE_LIMIT_FUNCTION_ARG",
 "SQLITE_LIMIT_LENGTH",
 "SQLITE_LIMIT_LIKE_PATTERN_LENGTH",
 "SQLITE_LIMIT_SQL_LENGTH",
 "SQLITE_LIMIT_TRIGGER_DEPTH",
 "SQLITE_LIMIT_VARIABLE_NUMBER",
 "SQLITE_LIMIT_VDBE_OP",
 "SQLITE_LIMIT_WORKER_THREADS",
 "SQLITE_LOCKED",
 "SQLITE_LOCKED_SHAREDCACHE",
 "SQLITE_LOCK_EXCLUSIVE",
 "SQLITE_LOCK_NONE",
 "SQLITE_LOCK_PENDING",
 "SQLITE_LOCK_RESERVED",
 "SQLITE_LOCK_SHARED",
 "SQLITE_MISMATCH",
 "SQLITE_MISUSE",
 "SQLITE_MUTEX_FAST",
 "SQLITE_MUTEX_RECURSIVE",
 "SQLITE_MUTEX_STATIC_APP1",
 "SQLITE_MUTEX_STATIC_APP2",
 "SQLITE_MUTEX_STATIC_APP3",
 "SQLITE_MUTEX_STATIC_LRU",
 "SQLITE_MUTEX_STATIC_LRU2",
 "SQLITE_MUTEX_STATIC_MASTER",
 "SQLITE_MUTEX_STATIC_MEM",
 "SQLITE_MUTEX_STATIC_MEM2",
 "SQLITE_MUTEX_STATIC_OPEN",
 "SQLITE_MUTEX_STATIC_PMEM",
 "SQLITE_MUTEX_STATIC_PRNG",
 "SQLITE_NOLFS",
 "SQLITE_NOMEM",
 "SQLITE_NOTADB",
 "SQLITE_NOTFOUND",
 "SQLITE_NOTICE",
 "SQLITE_NOTICE_RECOVER_ROLLBACK",
 "SQLITE_NOTICE_RECOVER_WAL",
 "SQLITE_NULL",
 "SQLITE_OK",
 "SQLITE_OPEN_AUTOPROXY",
 "SQLITE_OPEN_CREATE",
 "SQLITE_OPEN_DELETEONCLOSE",
 "SQLITE_OPEN_EXCLUSIVE",
 "SQLITE_OPEN_FULLMUTEX",
 "SQLITE_OPEN_MAIN_DB",
 "SQLITE_OPEN_MAIN_JOURNAL",
 "SQLITE_OPEN_MASTER_JOURNAL",
 "SQLITE_OPEN_MEMORY",
 "SQLITE_OPEN_NOMUTEX",
 "SQLITE_OPEN_PRIVATECACHE",
 "SQLITE_OPEN_READONLY",
 "SQLITE_OPEN_READWRITE",
 "SQLITE_OPEN_SHAREDCACHE",
 "SQLITE_OPEN_SUBJOURNAL",
 "SQLITE_OPEN_TEMP_DB",
 "SQLITE_OPEN_TEMP_JOURNAL",
 "SQLITE_OPEN_TRANSIENT_DB",
 "SQLITE_OPEN_URI",
 "SQLITE_OPEN_WAL",
 "SQLITE_PERM",
 "SQLITE_PRAGMA",
 "SQLITE_PROTOCOL",
 "SQLITE_RANGE",
 "SQLITE_READ",
 "SQLITE_READONLY",
 "SQLITE_READONLY_CANTLOCK",
 "SQLITE_READONLY_DBMOVED",
 "SQLITE_READONLY_RECOVERY",
 "SQLITE_READONLY_ROLLBACK",
 "SQLITE_RECURSIVE",
 "SQLITE_REINDEX",
 "SQLITE_REPLACE",
 "SQLITE_ROLLBACK",
 "SQLITE_ROW",
 "SQLITE_SAVEPOINT",
 "SQLITE_SCHEMA",
 "SQLITE_SELECT",
 "SQLITE_SET_LOCKPROXYFILE",
 "SQLITE_SHM_EXCLUSIVE",
 "SQLITE_SHM_LOCK",
 "SQLITE_SHM_NLOCK",
 "SQLITE_SHM_SHARED",
 "SQLITE_SHM_UNLOCK",
 "SQLITE_SOURCE_ID",
 "SQLITE_STATUS_MALLOC_COUNT",
 "SQLITE_STATUS_MALLOC_SIZE",
 "SQLITE_STATUS_MEMORY_USED",
 "SQLITE_STATUS_PAGECACHE_OVERFLOW",
 "SQLITE_STATUS_PAGECACHE_SIZE",
 "SQLITE_STATUS_PAGECACHE_USED",
 "SQLITE_STATUS_PARSER_STACK",
 "SQLITE_STATUS_SCRATCH_OVERFLOW",
 "SQLITE_STATUS_SCRATCH_SIZE",
 "SQLITE_STATUS_SCRATCH_USED",
 "SQLITE_STMTSTATUS_AUTOINDEX",
 "SQLITE_STMTSTATUS_FULLSCAN_STEP",
 "SQLITE_STMTSTATUS_SORT",
 "SQLITE_STMTSTATUS_VM_STEP",
 "SQLITE_SYNC_DATAONLY",
 "SQLITE_SYNC_FULL",
 "SQLITE_SYNC_NORMAL",
 "SQLITE_TESTCTRL_ALWAYS",
 "SQLITE_TESTCTRL_ASSERT",
 "SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS",
 "SQLITE_TESTCTRL_BITVEC_TEST",
 "SQLITE_TESTCTRL_BYTEORDER",
 "SQLITE_TESTCTRL_EXPLAIN_STMT",
 "SQLITE_TESTCTRL_FAULT_INSTALL",
 "SQLITE_TESTCTRL_FIRST",
 "SQLITE_TESTCTRL_ISINIT",
 "SQLITE_TESTCTRL_ISKEYWORD",
 "SQLITE_TESTCTRL_LAST",
 "SQLITE_TESTCTRL_LOCALTIME_FAULT",
 "SQLITE_TESTCTRL_NEVER_CORRUPT",
 "SQLITE_TESTCTRL_OPTIMIZATIONS",
 "SQLITE_TESTCTRL_PENDING_BYTE",
 "SQLITE_TESTCTRL_PRNG_RESET",
 "SQLITE_TESTCTRL_PRNG_RESTORE",
 "SQLITE_TESTCTRL_PRNG_SAVE",
 "SQLITE_TESTCTRL_RESERVE",
 "SQLITE_TESTCTRL_SCRATCHMALLOC",
 "SQLITE_TESTCTRL_SORTER_MMAP",
 "SQLITE_TESTCTRL_VDBE_COVERAGE",
 "SQLITE_TEXT",
 "SQLITE_TOOBIG",
 "SQLITE_TRANSACTION",
 "SQLITE_UPDATE",
 "SQLITE_UTF16",
 "SQLITE_UTF16BE",
 "SQLITE_UTF16LE",
 "SQLITE_UTF16_ALIGNED",
 "SQLITE_UTF8",
 "SQLITE_VERSION",
 "SQLITE_VERSION_NUMBER",
 "SQLITE_VTAB_CONSTRAINT_SUPPORT",
 "SQLITE_WARNING",
 "SQLITE_WARNING_AUTOINDEX",
 "call_callback_sqlite3_create_collation_v2_1",
 "call_callback_sqlite3_create_collation_v2_2",
 "call_callback_sqlite3_create_function16_1",
 "call_callback_sqlite3_create_function16_2",
 "call_callback_sqlite3_create_function16_3",
 "call_callback_sqlite3_create_function_1",
 "call_callback_sqlite3_create_function_2",
 "call_callback_sqlite3_create_function_3",
 "call_callback_sqlite3_create_function_v2_1",
 "call_callback_sqlite3_create_function_v2_2",
 "call_callback_sqlite3_create_function_v2_3",
 "call_callback_sqlite3_create_function_v2_4",
 "call_callback_sqlite3_rtree_query_callback_1",
 "call_callback_sqlite3_rtree_query_callback_2",
 "char_p_array_getitem",
 "char_p_array_setitem",
 "delete_char_p_array",
 "delete_sqlite3_p_array",
 "delete_sqlite3_rtree_dbl_array",
 "delete_sqlite3_stmt_p_array",
 "delete_sqlite3_value_p_array",
 "delete_sqlite3_vtab_cursor_p_array",
 "delete_sqlite3_vtab_p_array",
 "delete_void_p_array",
 "new_char_p_array",
 "new_sqlite3_p_array",
 "new_sqlite3_rtree_dbl_array",
 "new_sqlite3_stmt_p_array",
 "new_sqlite3_value_p_array",
 "new_sqlite3_vtab_cursor_p_array",
 "new_sqlite3_vtab_p_array",
 "new_void_p_array",
 "sqlite3_aggregate_context",
 "sqlite3_aggregate_count",
 "sqlite3_auto_extension",
 "sqlite3_auto_extension_lua_callback",
 "sqlite3_backup_finish",
 "sqlite3_backup_init",
 "sqlite3_backup_pagecount",
 "sqlite3_backup_remaining",
 "sqlite3_backup_step",
 "sqlite3_bind_blob",
 "sqlite3_bind_blob64",
 "sqlite3_bind_blob64_lua_callback",
 "sqlite3_bind_blob_lua_callback",
 "sqlite3_bind_double",
 "sqlite3_bind_int",
 "sqlite3_bind_int64",
 "sqlite3_bind_null",
 "sqlite3_bind_parameter_count",
 "sqlite3_bind_parameter_index",
 "sqlite3_bind_parameter_name",
 "sqlite3_bind_text",
 "sqlite3_bind_text16",
 "sqlite3_bind_text16_lua_callback",
 "sqlite3_bind_text64",
 "sqlite3_bind_text64_lua_callback",
 "sqlite3_bind_text_lua_callback",
 "sqlite3_bind_value",
 "sqlite3_bind_zeroblob",
 "sqlite3_blob_bytes",
 "sqlite3_blob_close",
 "sqlite3_blob_open",
 "sqlite3_blob_read",
 "sqlite3_blob_reopen",
 "sqlite3_blob_write",
 "sqlite3_busy_handler",
 "sqlite3_busy_handler_lua_callback",
 "sqlite3_busy_timeout",
 "sqlite3_cancel_auto_extension",
 "sqlite3_cancel_auto_extension_lua_callback",
 "sqlite3_changes",
 "sqlite3_clear_bindings",
 "sqlite3_close",
 "sqlite3_close_v2",
 "sqlite3_collation_needed",
 "sqlite3_collation_needed16",
 "sqlite3_collation_needed16_lua_callback",
 "sqlite3_collation_needed_lua_callback",
 "sqlite3_column_blob",
 "sqlite3_column_bytes",
 "sqlite3_column_bytes16",
 "sqlite3_column_count",
 "sqlite3_column_decltype",
 "sqlite3_column_decltype16",
 "sqlite3_column_double",
 "sqlite3_column_int",
 "sqlite3_column_int64",
 "sqlite3_column_name",
 "sqlite3_column_name16",
 "sqlite3_column_text",
 "sqlite3_column_text16",
 "sqlite3_column_type",
 "sqlite3_column_value",
 "sqlite3_commit_hook",
 "sqlite3_commit_hook_lua_callback",
 "sqlite3_compileoption_get",
 "sqlite3_compileoption_used",
 "sqlite3_complete",
 "sqlite3_complete16",
 "sqlite3_config",
 "sqlite3_context_db_handle",
 "sqlite3_create_collation",
 "sqlite3_create_collation16",
 "sqlite3_create_collation16_lua_callback",
 "sqlite3_create_collation_lua_callback",
 "sqlite3_create_collation_v2",
 "sqlite3_create_collation_v2_lua_callback",
 "sqlite3_create_function",
 "sqlite3_create_function16",
 "sqlite3_create_function16_lua_callback",
 "sqlite3_create_function_lua_callback",
 "sqlite3_create_function_v2",
 "sqlite3_create_function_v2_lua_callback",
 "sqlite3_create_module",
 "sqlite3_create_module_v2",
 "sqlite3_create_module_v2_lua_callback",
 "sqlite3_data_count",
 "sqlite3_db_config",
 "sqlite3_db_filename",
 "sqlite3_db_handle",
 "sqlite3_db_mutex",
 "sqlite3_db_readonly",
 "sqlite3_db_release_memory",
 "sqlite3_db_status",
 "sqlite3_declare_vtab",
 "sqlite3_enable_load_extension",
 "sqlite3_enable_shared_cache",
 "sqlite3_errcode",
 "sqlite3_errmsg",
 "sqlite3_errmsg16",
 "sqlite3_errstr",
 "sqlite3_exec",
 "sqlite3_exec_lua_callback",
 "sqlite3_expired",
 "sqlite3_extended_errcode",
 "sqlite3_extended_result_codes",
 "sqlite3_file",
 "sqlite3_file_control",
 "sqlite3_finalize",
 "sqlite3_free",
 "sqlite3_free_table",
 "sqlite3_get_autocommit",
 "sqlite3_get_auxdata",
 "sqlite3_get_table",
 "sqlite3_global_recover",
 "sqlite3_index_info",
 "sqlite3_index_info_aConstraint",
 "sqlite3_index_info_aConstraintUsage",
 "sqlite3_index_info_aOrderBy",
 "sqlite3_initialize",
 "sqlite3_interrupt",
 "sqlite3_io_methods",
 "sqlite3_last_insert_rowid",
 "sqlite3_libversion",
 "sqlite3_libversion_number",
 "sqlite3_limit",
 "sqlite3_load_extension",
 "sqlite3_log",
 "sqlite3_malloc",
 "sqlite3_malloc64",
 "sqlite3_mem_methods",
 "sqlite3_memory_alarm",
 "sqlite3_memory_highwater",
 "sqlite3_memory_used",
 "sqlite3_module",
 "sqlite3_mprintf",
 "sqlite3_msize",
 "sqlite3_mutex_alloc",
 "sqlite3_mutex_enter",
 "sqlite3_mutex_free",
 "sqlite3_mutex_leave",
 "sqlite3_mutex_methods",
 "sqlite3_mutex_try",
 "sqlite3_next_stmt",
 "sqlite3_open",
 "sqlite3_open16",
 "sqlite3_open_v2",
 "sqlite3_os_end",
 "sqlite3_os_init",
 "sqlite3_overload_function",
 "sqlite3_p_array_getitem",
 "sqlite3_p_array_setitem",
 "sqlite3_pcache_methods",
 "sqlite3_pcache_methods2",
 "sqlite3_pcache_page",
 "sqlite3_prepare",
 "sqlite3_prepare16",
 "sqlite3_prepare16_v2",
 "sqlite3_prepare_v2",
 "sqlite3_profile",
 "sqlite3_progress_handler",
 "sqlite3_progress_handler_lua_callback",
 "sqlite3_randomness",
 "sqlite3_realloc",
 "sqlite3_realloc64",
 "sqlite3_release_memory",
 "sqlite3_reset",
 "sqlite3_reset_auto_extension",
 "sqlite3_result_blob",
 "sqlite3_result_blob64",
 "sqlite3_result_blob64_lua_callback",
 "sqlite3_result_blob_lua_callback",
 "sqlite3_result_double",
 "sqlite3_result_error",
 "sqlite3_result_error16",
 "sqlite3_result_error_code",
 "sqlite3_result_error_nomem",
 "sqlite3_result_error_toobig",
 "sqlite3_result_int",
 "sqlite3_result_int64",
 "sqlite3_result_null",
 "sqlite3_result_text",
 "sqlite3_result_text16",
 "sqlite3_result_text16_lua_callback",
 "sqlite3_result_text16be",
 "sqlite3_result_text16be_lua_callback",
 "sqlite3_result_text16le",
 "sqlite3_result_text16le_lua_callback",
 "sqlite3_result_text64",
 "sqlite3_result_text64_lua_callback",
 "sqlite3_result_text_lua_callback",
 "sqlite3_result_value",
 "sqlite3_result_zeroblob",
 "sqlite3_rollback_hook",
 "sqlite3_rollback_hook_lua_callback",
 "sqlite3_rtree_dbl_array_getitem",
 "sqlite3_rtree_dbl_array_setitem",
 "sqlite3_rtree_geometry",
 "sqlite3_rtree_geometry_callback",
 "sqlite3_rtree_geometry_callback_lua_callback",
 "sqlite3_rtree_query_callback",
 "sqlite3_rtree_query_callback_lua_callback",
 "sqlite3_rtree_query_info",
 "sqlite3_set_authorizer",
 "sqlite3_set_authorizer_lua_callback",
 "sqlite3_set_auxdata",
 "sqlite3_set_auxdata_lua_callback",
 "sqlite3_shutdown",
 "sqlite3_sleep",
 "sqlite3_snprintf",
 "sqlite3_soft_heap_limit",
 "sqlite3_soft_heap_limit64",
 "sqlite3_sourceid",
 "sqlite3_sql",
 "sqlite3_status",
 "sqlite3_step",
 "sqlite3_stmt_busy",
 "sqlite3_stmt_p_array_getitem",
 "sqlite3_stmt_p_array_setitem",
 "sqlite3_stmt_readonly",
 "sqlite3_stmt_status",
 "sqlite3_strglob",
 "sqlite3_stricmp",
 "sqlite3_strnicmp",
 "sqlite3_test_control",
 "sqlite3_thread_cleanup",
 "sqlite3_threadsafe",
 "sqlite3_total_changes",
 "sqlite3_trace",
 "sqlite3_trace_lua_callback",
 "sqlite3_transfer_bindings",
 "sqlite3_update_hook",
 "sqlite3_update_hook_lua_callback",
 "sqlite3_uri_boolean",
 "sqlite3_uri_int64",
 "sqlite3_uri_parameter",
 "sqlite3_user_data",
 "sqlite3_value_blob",
 "sqlite3_value_bytes",
 "sqlite3_value_bytes16",
 "sqlite3_value_double",
 "sqlite3_value_int",
 "sqlite3_value_int64",
 "sqlite3_value_numeric_type",
 "sqlite3_value_p_array_getitem",
 "sqlite3_value_p_array_setitem",
 "sqlite3_value_text",
 "sqlite3_value_text16",
 "sqlite3_value_text16be",
 "sqlite3_value_text16le",
 "sqlite3_value_type",
 "sqlite3_vfs",
 "sqlite3_vfs_find",
 "sqlite3_vfs_register",
 "sqlite3_vfs_unregister",
 "sqlite3_vtab",
 "sqlite3_vtab_config",
 "sqlite3_vtab_cursor",
 "sqlite3_vtab_cursor_p_array_getitem",
 "sqlite3_vtab_cursor_p_array_setitem",
 "sqlite3_vtab_on_conflict",
 "sqlite3_vtab_p_array_getitem",
 "sqlite3_vtab_p_array_setitem",
 "sqlite3_wal_autocheckpoint",
 "sqlite3_wal_checkpoint",
 "sqlite3_wal_checkpoint_v2",
 "sqlite3_wal_hook",
 "sqlite3_wal_hook_lua_callback",
 "void_p_array_getitem",
 "void_p_array_setitem",
}
