/*
    Generated by genconstants.py from SQLite's toc.db
    with updates from tools/tocupdate.sql

    Deal with those - do not edit this file
*/

/* returns zero on success, -1 on error */
static int
add_apsw_constants(PyObject *module)
{
    PyObject *the_dict;

    assert(!PyErr_Occurred());

    /* Allowed return values from sqlite3_txn_state() */
    the_dict = Py_BuildValue(
        "{siissiissiis}",
        "SQLITE_TXN_NONE", SQLITE_TXN_NONE, SQLITE_TXN_NONE, "SQLITE_TXN_NONE",
        "SQLITE_TXN_READ", SQLITE_TXN_READ, SQLITE_TXN_READ, "SQLITE_TXN_READ",
        "SQLITE_TXN_WRITE", SQLITE_TXN_WRITE, SQLITE_TXN_WRITE, "SQLITE_TXN_WRITE");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_txn_state", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }

    /* Authorizer Action Codes */
    the_dict = Py_BuildValue(
        "{siissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiis}",
        "SQLITE_ALTER_TABLE", SQLITE_ALTER_TABLE, SQLITE_ALTER_TABLE, "SQLITE_ALTER_TABLE",
        "SQLITE_ANALYZE", SQLITE_ANALYZE, SQLITE_ANALYZE, "SQLITE_ANALYZE",
        "SQLITE_ATTACH", SQLITE_ATTACH, SQLITE_ATTACH, "SQLITE_ATTACH",
        "SQLITE_COPY", SQLITE_COPY, SQLITE_COPY, "SQLITE_COPY",
        "SQLITE_CREATE_INDEX", SQLITE_CREATE_INDEX, SQLITE_CREATE_INDEX, "SQLITE_CREATE_INDEX",
        "SQLITE_CREATE_TABLE", SQLITE_CREATE_TABLE, SQLITE_CREATE_TABLE, "SQLITE_CREATE_TABLE",
        "SQLITE_CREATE_TEMP_INDEX", SQLITE_CREATE_TEMP_INDEX, SQLITE_CREATE_TEMP_INDEX, "SQLITE_CREATE_TEMP_INDEX",
        "SQLITE_CREATE_TEMP_TABLE", SQLITE_CREATE_TEMP_TABLE, SQLITE_CREATE_TEMP_TABLE, "SQLITE_CREATE_TEMP_TABLE",
        "SQLITE_CREATE_TEMP_TRIGGER", SQLITE_CREATE_TEMP_TRIGGER, SQLITE_CREATE_TEMP_TRIGGER, "SQLITE_CREATE_TEMP_TRIGGER",
        "SQLITE_CREATE_TEMP_VIEW", SQLITE_CREATE_TEMP_VIEW, SQLITE_CREATE_TEMP_VIEW, "SQLITE_CREATE_TEMP_VIEW",
        "SQLITE_CREATE_TRIGGER", SQLITE_CREATE_TRIGGER, SQLITE_CREATE_TRIGGER, "SQLITE_CREATE_TRIGGER",
        "SQLITE_CREATE_VIEW", SQLITE_CREATE_VIEW, SQLITE_CREATE_VIEW, "SQLITE_CREATE_VIEW",
        "SQLITE_CREATE_VTABLE", SQLITE_CREATE_VTABLE, SQLITE_CREATE_VTABLE, "SQLITE_CREATE_VTABLE",
        "SQLITE_DELETE", SQLITE_DELETE, SQLITE_DELETE, "SQLITE_DELETE",
        "SQLITE_DETACH", SQLITE_DETACH, SQLITE_DETACH, "SQLITE_DETACH",
        "SQLITE_DROP_INDEX", SQLITE_DROP_INDEX, SQLITE_DROP_INDEX, "SQLITE_DROP_INDEX",
        "SQLITE_DROP_TABLE", SQLITE_DROP_TABLE, SQLITE_DROP_TABLE, "SQLITE_DROP_TABLE",
        "SQLITE_DROP_TEMP_INDEX", SQLITE_DROP_TEMP_INDEX, SQLITE_DROP_TEMP_INDEX, "SQLITE_DROP_TEMP_INDEX",
        "SQLITE_DROP_TEMP_TABLE", SQLITE_DROP_TEMP_TABLE, SQLITE_DROP_TEMP_TABLE, "SQLITE_DROP_TEMP_TABLE",
        "SQLITE_DROP_TEMP_TRIGGER", SQLITE_DROP_TEMP_TRIGGER, SQLITE_DROP_TEMP_TRIGGER, "SQLITE_DROP_TEMP_TRIGGER",
        "SQLITE_DROP_TEMP_VIEW", SQLITE_DROP_TEMP_VIEW, SQLITE_DROP_TEMP_VIEW, "SQLITE_DROP_TEMP_VIEW",
        "SQLITE_DROP_TRIGGER", SQLITE_DROP_TRIGGER, SQLITE_DROP_TRIGGER, "SQLITE_DROP_TRIGGER",
        "SQLITE_DROP_VIEW", SQLITE_DROP_VIEW, SQLITE_DROP_VIEW, "SQLITE_DROP_VIEW",
        "SQLITE_DROP_VTABLE", SQLITE_DROP_VTABLE, SQLITE_DROP_VTABLE, "SQLITE_DROP_VTABLE",
        "SQLITE_FUNCTION", SQLITE_FUNCTION, SQLITE_FUNCTION, "SQLITE_FUNCTION",
        "SQLITE_INSERT", SQLITE_INSERT, SQLITE_INSERT, "SQLITE_INSERT",
        "SQLITE_PRAGMA", SQLITE_PRAGMA, SQLITE_PRAGMA, "SQLITE_PRAGMA",
        "SQLITE_READ", SQLITE_READ, SQLITE_READ, "SQLITE_READ",
        "SQLITE_RECURSIVE", SQLITE_RECURSIVE, SQLITE_RECURSIVE, "SQLITE_RECURSIVE",
        "SQLITE_REINDEX", SQLITE_REINDEX, SQLITE_REINDEX, "SQLITE_REINDEX",
        "SQLITE_SAVEPOINT", SQLITE_SAVEPOINT, SQLITE_SAVEPOINT, "SQLITE_SAVEPOINT",
        "SQLITE_SELECT", SQLITE_SELECT, SQLITE_SELECT, "SQLITE_SELECT",
        "SQLITE_TRANSACTION", SQLITE_TRANSACTION, SQLITE_TRANSACTION, "SQLITE_TRANSACTION",
        "SQLITE_UPDATE", SQLITE_UPDATE, SQLITE_UPDATE, "SQLITE_UPDATE");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_authorizer_function", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }

    /* Authorizer Return Codes */
    the_dict = Py_BuildValue(
        "{siissiissiis}",
        "SQLITE_DENY", SQLITE_DENY, SQLITE_DENY, "SQLITE_DENY",
        "SQLITE_IGNORE", SQLITE_IGNORE, SQLITE_IGNORE, "SQLITE_IGNORE",
        "SQLITE_OK", SQLITE_OK, SQLITE_OK, "SQLITE_OK");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_authorizer_return_codes", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }

    /* Checkpoint Mode Values */
    the_dict = Py_BuildValue(
        "{siissiissiissiissiis}",
        "SQLITE_CHECKPOINT_FULL", SQLITE_CHECKPOINT_FULL, SQLITE_CHECKPOINT_FULL, "SQLITE_CHECKPOINT_FULL",
        "SQLITE_CHECKPOINT_NOOP", SQLITE_CHECKPOINT_NOOP, SQLITE_CHECKPOINT_NOOP, "SQLITE_CHECKPOINT_NOOP",
        "SQLITE_CHECKPOINT_PASSIVE", SQLITE_CHECKPOINT_PASSIVE, SQLITE_CHECKPOINT_PASSIVE, "SQLITE_CHECKPOINT_PASSIVE",
        "SQLITE_CHECKPOINT_RESTART", SQLITE_CHECKPOINT_RESTART, SQLITE_CHECKPOINT_RESTART, "SQLITE_CHECKPOINT_RESTART",
        "SQLITE_CHECKPOINT_TRUNCATE", SQLITE_CHECKPOINT_TRUNCATE, SQLITE_CHECKPOINT_TRUNCATE, "SQLITE_CHECKPOINT_TRUNCATE");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_wal_checkpoint", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }

    /* Configuration Options */
    the_dict = Py_BuildValue(
        "{siissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiis}",
        "SQLITE_CONFIG_COVERING_INDEX_SCAN", SQLITE_CONFIG_COVERING_INDEX_SCAN, SQLITE_CONFIG_COVERING_INDEX_SCAN, "SQLITE_CONFIG_COVERING_INDEX_SCAN",
        "SQLITE_CONFIG_GETMALLOC", SQLITE_CONFIG_GETMALLOC, SQLITE_CONFIG_GETMALLOC, "SQLITE_CONFIG_GETMALLOC",
        "SQLITE_CONFIG_GETMUTEX", SQLITE_CONFIG_GETMUTEX, SQLITE_CONFIG_GETMUTEX, "SQLITE_CONFIG_GETMUTEX",
        "SQLITE_CONFIG_GETPCACHE", SQLITE_CONFIG_GETPCACHE, SQLITE_CONFIG_GETPCACHE, "SQLITE_CONFIG_GETPCACHE",
        "SQLITE_CONFIG_GETPCACHE2", SQLITE_CONFIG_GETPCACHE2, SQLITE_CONFIG_GETPCACHE2, "SQLITE_CONFIG_GETPCACHE2",
        "SQLITE_CONFIG_HEAP", SQLITE_CONFIG_HEAP, SQLITE_CONFIG_HEAP, "SQLITE_CONFIG_HEAP",
        "SQLITE_CONFIG_LOG", SQLITE_CONFIG_LOG, SQLITE_CONFIG_LOG, "SQLITE_CONFIG_LOG",
        "SQLITE_CONFIG_LOOKASIDE", SQLITE_CONFIG_LOOKASIDE, SQLITE_CONFIG_LOOKASIDE, "SQLITE_CONFIG_LOOKASIDE",
        "SQLITE_CONFIG_MALLOC", SQLITE_CONFIG_MALLOC, SQLITE_CONFIG_MALLOC, "SQLITE_CONFIG_MALLOC",
        "SQLITE_CONFIG_MEMDB_MAXSIZE", SQLITE_CONFIG_MEMDB_MAXSIZE, SQLITE_CONFIG_MEMDB_MAXSIZE, "SQLITE_CONFIG_MEMDB_MAXSIZE",
        "SQLITE_CONFIG_MEMSTATUS", SQLITE_CONFIG_MEMSTATUS, SQLITE_CONFIG_MEMSTATUS, "SQLITE_CONFIG_MEMSTATUS",
        "SQLITE_CONFIG_MMAP_SIZE", SQLITE_CONFIG_MMAP_SIZE, SQLITE_CONFIG_MMAP_SIZE, "SQLITE_CONFIG_MMAP_SIZE",
        "SQLITE_CONFIG_MULTITHREAD", SQLITE_CONFIG_MULTITHREAD, SQLITE_CONFIG_MULTITHREAD, "SQLITE_CONFIG_MULTITHREAD",
        "SQLITE_CONFIG_MUTEX", SQLITE_CONFIG_MUTEX, SQLITE_CONFIG_MUTEX, "SQLITE_CONFIG_MUTEX",
        "SQLITE_CONFIG_PAGECACHE", SQLITE_CONFIG_PAGECACHE, SQLITE_CONFIG_PAGECACHE, "SQLITE_CONFIG_PAGECACHE",
        "SQLITE_CONFIG_PCACHE", SQLITE_CONFIG_PCACHE, SQLITE_CONFIG_PCACHE, "SQLITE_CONFIG_PCACHE",
        "SQLITE_CONFIG_PCACHE2", SQLITE_CONFIG_PCACHE2, SQLITE_CONFIG_PCACHE2, "SQLITE_CONFIG_PCACHE2",
        "SQLITE_CONFIG_PCACHE_HDRSZ", SQLITE_CONFIG_PCACHE_HDRSZ, SQLITE_CONFIG_PCACHE_HDRSZ, "SQLITE_CONFIG_PCACHE_HDRSZ",
        "SQLITE_CONFIG_PMASZ", SQLITE_CONFIG_PMASZ, SQLITE_CONFIG_PMASZ, "SQLITE_CONFIG_PMASZ",
        "SQLITE_CONFIG_SCRATCH", SQLITE_CONFIG_SCRATCH, SQLITE_CONFIG_SCRATCH, "SQLITE_CONFIG_SCRATCH",
        "SQLITE_CONFIG_SERIALIZED", SQLITE_CONFIG_SERIALIZED, SQLITE_CONFIG_SERIALIZED, "SQLITE_CONFIG_SERIALIZED",
        "SQLITE_CONFIG_SINGLETHREAD", SQLITE_CONFIG_SINGLETHREAD, SQLITE_CONFIG_SINGLETHREAD, "SQLITE_CONFIG_SINGLETHREAD",
        "SQLITE_CONFIG_SMALL_MALLOC", SQLITE_CONFIG_SMALL_MALLOC, SQLITE_CONFIG_SMALL_MALLOC, "SQLITE_CONFIG_SMALL_MALLOC",
        "SQLITE_CONFIG_SORTERREF_SIZE", SQLITE_CONFIG_SORTERREF_SIZE, SQLITE_CONFIG_SORTERREF_SIZE, "SQLITE_CONFIG_SORTERREF_SIZE",
        "SQLITE_CONFIG_SQLLOG", SQLITE_CONFIG_SQLLOG, SQLITE_CONFIG_SQLLOG, "SQLITE_CONFIG_SQLLOG",
        "SQLITE_CONFIG_STMTJRNL_SPILL", SQLITE_CONFIG_STMTJRNL_SPILL, SQLITE_CONFIG_STMTJRNL_SPILL, "SQLITE_CONFIG_STMTJRNL_SPILL",
        "SQLITE_CONFIG_URI", SQLITE_CONFIG_URI, SQLITE_CONFIG_URI, "SQLITE_CONFIG_URI",
        "SQLITE_CONFIG_WIN32_HEAPSIZE", SQLITE_CONFIG_WIN32_HEAPSIZE, SQLITE_CONFIG_WIN32_HEAPSIZE, "SQLITE_CONFIG_WIN32_HEAPSIZE");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_config", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }

    /* Conflict resolution modes */
    the_dict = Py_BuildValue(
        "{siissiissiissiissiis}",
        "SQLITE_ABORT", SQLITE_ABORT, SQLITE_ABORT, "SQLITE_ABORT",
        "SQLITE_FAIL", SQLITE_FAIL, SQLITE_FAIL, "SQLITE_FAIL",
        "SQLITE_IGNORE", SQLITE_IGNORE, SQLITE_IGNORE, "SQLITE_IGNORE",
        "SQLITE_REPLACE", SQLITE_REPLACE, SQLITE_REPLACE, "SQLITE_REPLACE",
        "SQLITE_ROLLBACK", SQLITE_ROLLBACK, SQLITE_ROLLBACK, "SQLITE_ROLLBACK");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_conflict_resolution_modes", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }

#ifdef SQLITE_ENABLE_SESSION
    /* Constants Passed To The Conflict Handler */
    the_dict = Py_BuildValue(
        "{siissiissiissiissiis}",
        "SQLITE_CHANGESET_CONFLICT", SQLITE_CHANGESET_CONFLICT, SQLITE_CHANGESET_CONFLICT, "SQLITE_CHANGESET_CONFLICT",
        "SQLITE_CHANGESET_CONSTRAINT", SQLITE_CHANGESET_CONSTRAINT, SQLITE_CHANGESET_CONSTRAINT, "SQLITE_CHANGESET_CONSTRAINT",
        "SQLITE_CHANGESET_DATA", SQLITE_CHANGESET_DATA, SQLITE_CHANGESET_DATA, "SQLITE_CHANGESET_DATA",
        "SQLITE_CHANGESET_FOREIGN_KEY", SQLITE_CHANGESET_FOREIGN_KEY, SQLITE_CHANGESET_FOREIGN_KEY, "SQLITE_CHANGESET_FOREIGN_KEY",
        "SQLITE_CHANGESET_NOTFOUND", SQLITE_CHANGESET_NOTFOUND, SQLITE_CHANGESET_NOTFOUND, "SQLITE_CHANGESET_NOTFOUND");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_session_conflict", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }
#endif /* SQLITE_ENABLE_SESSION */

#ifdef SQLITE_ENABLE_SESSION
    /* Constants Returned By The Conflict Handler */
    the_dict = Py_BuildValue(
        "{siissiissiis}",
        "SQLITE_CHANGESET_ABORT", SQLITE_CHANGESET_ABORT, SQLITE_CHANGESET_ABORT, "SQLITE_CHANGESET_ABORT",
        "SQLITE_CHANGESET_OMIT", SQLITE_CHANGESET_OMIT, SQLITE_CHANGESET_OMIT, "SQLITE_CHANGESET_OMIT",
        "SQLITE_CHANGESET_REPLACE", SQLITE_CHANGESET_REPLACE, SQLITE_CHANGESET_REPLACE, "SQLITE_CHANGESET_REPLACE");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_session_conflict_response", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }
#endif /* SQLITE_ENABLE_SESSION */

    /* Database Connection Configuration Options */
    the_dict = Py_BuildValue(
        "{siissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiis}",
        "SQLITE_DBCONFIG_DEFENSIVE", SQLITE_DBCONFIG_DEFENSIVE, SQLITE_DBCONFIG_DEFENSIVE, "SQLITE_DBCONFIG_DEFENSIVE",
        "SQLITE_DBCONFIG_DQS_DDL", SQLITE_DBCONFIG_DQS_DDL, SQLITE_DBCONFIG_DQS_DDL, "SQLITE_DBCONFIG_DQS_DDL",
        "SQLITE_DBCONFIG_DQS_DML", SQLITE_DBCONFIG_DQS_DML, SQLITE_DBCONFIG_DQS_DML, "SQLITE_DBCONFIG_DQS_DML",
        "SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE", SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE, SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE, "SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE",
        "SQLITE_DBCONFIG_ENABLE_ATTACH_WRITE", SQLITE_DBCONFIG_ENABLE_ATTACH_WRITE, SQLITE_DBCONFIG_ENABLE_ATTACH_WRITE, "SQLITE_DBCONFIG_ENABLE_ATTACH_WRITE",
        "SQLITE_DBCONFIG_ENABLE_COMMENTS", SQLITE_DBCONFIG_ENABLE_COMMENTS, SQLITE_DBCONFIG_ENABLE_COMMENTS, "SQLITE_DBCONFIG_ENABLE_COMMENTS",
        "SQLITE_DBCONFIG_ENABLE_FKEY", SQLITE_DBCONFIG_ENABLE_FKEY, SQLITE_DBCONFIG_ENABLE_FKEY, "SQLITE_DBCONFIG_ENABLE_FKEY",
        "SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER", SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER, SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER, "SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER",
        "SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION", SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION, SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION, "SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION",
        "SQLITE_DBCONFIG_ENABLE_QPSG", SQLITE_DBCONFIG_ENABLE_QPSG, SQLITE_DBCONFIG_ENABLE_QPSG, "SQLITE_DBCONFIG_ENABLE_QPSG",
        "SQLITE_DBCONFIG_ENABLE_TRIGGER", SQLITE_DBCONFIG_ENABLE_TRIGGER, SQLITE_DBCONFIG_ENABLE_TRIGGER, "SQLITE_DBCONFIG_ENABLE_TRIGGER",
        "SQLITE_DBCONFIG_ENABLE_VIEW", SQLITE_DBCONFIG_ENABLE_VIEW, SQLITE_DBCONFIG_ENABLE_VIEW, "SQLITE_DBCONFIG_ENABLE_VIEW",
        "SQLITE_DBCONFIG_FP_DIGITS", SQLITE_DBCONFIG_FP_DIGITS, SQLITE_DBCONFIG_FP_DIGITS, "SQLITE_DBCONFIG_FP_DIGITS",
        "SQLITE_DBCONFIG_LEGACY_ALTER_TABLE", SQLITE_DBCONFIG_LEGACY_ALTER_TABLE, SQLITE_DBCONFIG_LEGACY_ALTER_TABLE, "SQLITE_DBCONFIG_LEGACY_ALTER_TABLE",
        "SQLITE_DBCONFIG_LEGACY_FILE_FORMAT", SQLITE_DBCONFIG_LEGACY_FILE_FORMAT, SQLITE_DBCONFIG_LEGACY_FILE_FORMAT, "SQLITE_DBCONFIG_LEGACY_FILE_FORMAT",
        "SQLITE_DBCONFIG_LOOKASIDE", SQLITE_DBCONFIG_LOOKASIDE, SQLITE_DBCONFIG_LOOKASIDE, "SQLITE_DBCONFIG_LOOKASIDE",
        "SQLITE_DBCONFIG_MAINDBNAME", SQLITE_DBCONFIG_MAINDBNAME, SQLITE_DBCONFIG_MAINDBNAME, "SQLITE_DBCONFIG_MAINDBNAME",
        "SQLITE_DBCONFIG_MAX", SQLITE_DBCONFIG_MAX, SQLITE_DBCONFIG_MAX, "SQLITE_DBCONFIG_MAX",
        "SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE", SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE, SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE, "SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE",
        "SQLITE_DBCONFIG_RESET_DATABASE", SQLITE_DBCONFIG_RESET_DATABASE, SQLITE_DBCONFIG_RESET_DATABASE, "SQLITE_DBCONFIG_RESET_DATABASE",
        "SQLITE_DBCONFIG_REVERSE_SCANORDER", SQLITE_DBCONFIG_REVERSE_SCANORDER, SQLITE_DBCONFIG_REVERSE_SCANORDER, "SQLITE_DBCONFIG_REVERSE_SCANORDER",
        "SQLITE_DBCONFIG_STMT_SCANSTATUS", SQLITE_DBCONFIG_STMT_SCANSTATUS, SQLITE_DBCONFIG_STMT_SCANSTATUS, "SQLITE_DBCONFIG_STMT_SCANSTATUS",
        "SQLITE_DBCONFIG_TRIGGER_EQP", SQLITE_DBCONFIG_TRIGGER_EQP, SQLITE_DBCONFIG_TRIGGER_EQP, "SQLITE_DBCONFIG_TRIGGER_EQP",
        "SQLITE_DBCONFIG_TRUSTED_SCHEMA", SQLITE_DBCONFIG_TRUSTED_SCHEMA, SQLITE_DBCONFIG_TRUSTED_SCHEMA, "SQLITE_DBCONFIG_TRUSTED_SCHEMA",
        "SQLITE_DBCONFIG_WRITABLE_SCHEMA", SQLITE_DBCONFIG_WRITABLE_SCHEMA, SQLITE_DBCONFIG_WRITABLE_SCHEMA, "SQLITE_DBCONFIG_WRITABLE_SCHEMA");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_db_config", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }

#ifdef SQLITE_ENABLE_CARRAY
    /* Datatypes for the CARRAY table-valued function */
    the_dict = Py_BuildValue(
        "{siissiissiissiissiis}",
        "SQLITE_CARRAY_BLOB", SQLITE_CARRAY_BLOB, SQLITE_CARRAY_BLOB, "SQLITE_CARRAY_BLOB",
        "SQLITE_CARRAY_DOUBLE", SQLITE_CARRAY_DOUBLE, SQLITE_CARRAY_DOUBLE, "SQLITE_CARRAY_DOUBLE",
        "SQLITE_CARRAY_INT32", SQLITE_CARRAY_INT32, SQLITE_CARRAY_INT32, "SQLITE_CARRAY_INT32",
        "SQLITE_CARRAY_INT64", SQLITE_CARRAY_INT64, SQLITE_CARRAY_INT64, "SQLITE_CARRAY_INT64",
        "SQLITE_CARRAY_TEXT", SQLITE_CARRAY_TEXT, SQLITE_CARRAY_TEXT, "SQLITE_CARRAY_TEXT");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_carray", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }
#endif /* SQLITE_ENABLE_CARRAY */

    /* Device Characteristics */
    the_dict = Py_BuildValue(
        "{siissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiis}",
        "SQLITE_IOCAP_ATOMIC", SQLITE_IOCAP_ATOMIC, SQLITE_IOCAP_ATOMIC, "SQLITE_IOCAP_ATOMIC",
        "SQLITE_IOCAP_ATOMIC16K", SQLITE_IOCAP_ATOMIC16K, SQLITE_IOCAP_ATOMIC16K, "SQLITE_IOCAP_ATOMIC16K",
        "SQLITE_IOCAP_ATOMIC1K", SQLITE_IOCAP_ATOMIC1K, SQLITE_IOCAP_ATOMIC1K, "SQLITE_IOCAP_ATOMIC1K",
        "SQLITE_IOCAP_ATOMIC2K", SQLITE_IOCAP_ATOMIC2K, SQLITE_IOCAP_ATOMIC2K, "SQLITE_IOCAP_ATOMIC2K",
        "SQLITE_IOCAP_ATOMIC32K", SQLITE_IOCAP_ATOMIC32K, SQLITE_IOCAP_ATOMIC32K, "SQLITE_IOCAP_ATOMIC32K",
        "SQLITE_IOCAP_ATOMIC4K", SQLITE_IOCAP_ATOMIC4K, SQLITE_IOCAP_ATOMIC4K, "SQLITE_IOCAP_ATOMIC4K",
        "SQLITE_IOCAP_ATOMIC512", SQLITE_IOCAP_ATOMIC512, SQLITE_IOCAP_ATOMIC512, "SQLITE_IOCAP_ATOMIC512",
        "SQLITE_IOCAP_ATOMIC64K", SQLITE_IOCAP_ATOMIC64K, SQLITE_IOCAP_ATOMIC64K, "SQLITE_IOCAP_ATOMIC64K",
        "SQLITE_IOCAP_ATOMIC8K", SQLITE_IOCAP_ATOMIC8K, SQLITE_IOCAP_ATOMIC8K, "SQLITE_IOCAP_ATOMIC8K",
        "SQLITE_IOCAP_BATCH_ATOMIC", SQLITE_IOCAP_BATCH_ATOMIC, SQLITE_IOCAP_BATCH_ATOMIC, "SQLITE_IOCAP_BATCH_ATOMIC",
        "SQLITE_IOCAP_IMMUTABLE", SQLITE_IOCAP_IMMUTABLE, SQLITE_IOCAP_IMMUTABLE, "SQLITE_IOCAP_IMMUTABLE",
        "SQLITE_IOCAP_POWERSAFE_OVERWRITE", SQLITE_IOCAP_POWERSAFE_OVERWRITE, SQLITE_IOCAP_POWERSAFE_OVERWRITE, "SQLITE_IOCAP_POWERSAFE_OVERWRITE",
        "SQLITE_IOCAP_SAFE_APPEND", SQLITE_IOCAP_SAFE_APPEND, SQLITE_IOCAP_SAFE_APPEND, "SQLITE_IOCAP_SAFE_APPEND",
        "SQLITE_IOCAP_SEQUENTIAL", SQLITE_IOCAP_SEQUENTIAL, SQLITE_IOCAP_SEQUENTIAL, "SQLITE_IOCAP_SEQUENTIAL",
        "SQLITE_IOCAP_SUBPAGE_READ", SQLITE_IOCAP_SUBPAGE_READ, SQLITE_IOCAP_SUBPAGE_READ, "SQLITE_IOCAP_SUBPAGE_READ",
        "SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN", SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN, SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN, "SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_device_characteristics", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }

    /* Extended Result Codes */
    the_dict = Py_BuildValue(
        "{siissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiis}",
        "SQLITE_ABORT_ROLLBACK", SQLITE_ABORT_ROLLBACK, SQLITE_ABORT_ROLLBACK, "SQLITE_ABORT_ROLLBACK",
        "SQLITE_AUTH_USER", SQLITE_AUTH_USER, SQLITE_AUTH_USER, "SQLITE_AUTH_USER",
        "SQLITE_BUSY_RECOVERY", SQLITE_BUSY_RECOVERY, SQLITE_BUSY_RECOVERY, "SQLITE_BUSY_RECOVERY",
        "SQLITE_BUSY_SNAPSHOT", SQLITE_BUSY_SNAPSHOT, SQLITE_BUSY_SNAPSHOT, "SQLITE_BUSY_SNAPSHOT",
        "SQLITE_BUSY_TIMEOUT", SQLITE_BUSY_TIMEOUT, SQLITE_BUSY_TIMEOUT, "SQLITE_BUSY_TIMEOUT",
        "SQLITE_CANTOPEN_CONVPATH", SQLITE_CANTOPEN_CONVPATH, SQLITE_CANTOPEN_CONVPATH, "SQLITE_CANTOPEN_CONVPATH",
        "SQLITE_CANTOPEN_DIRTYWAL", SQLITE_CANTOPEN_DIRTYWAL, SQLITE_CANTOPEN_DIRTYWAL, "SQLITE_CANTOPEN_DIRTYWAL",
        "SQLITE_CANTOPEN_FULLPATH", SQLITE_CANTOPEN_FULLPATH, SQLITE_CANTOPEN_FULLPATH, "SQLITE_CANTOPEN_FULLPATH",
        "SQLITE_CANTOPEN_ISDIR", SQLITE_CANTOPEN_ISDIR, SQLITE_CANTOPEN_ISDIR, "SQLITE_CANTOPEN_ISDIR",
        "SQLITE_CANTOPEN_NOTEMPDIR", SQLITE_CANTOPEN_NOTEMPDIR, SQLITE_CANTOPEN_NOTEMPDIR, "SQLITE_CANTOPEN_NOTEMPDIR",
        "SQLITE_CANTOPEN_SYMLINK", SQLITE_CANTOPEN_SYMLINK, SQLITE_CANTOPEN_SYMLINK, "SQLITE_CANTOPEN_SYMLINK",
        "SQLITE_CONSTRAINT_CHECK", SQLITE_CONSTRAINT_CHECK, SQLITE_CONSTRAINT_CHECK, "SQLITE_CONSTRAINT_CHECK",
        "SQLITE_CONSTRAINT_COMMITHOOK", SQLITE_CONSTRAINT_COMMITHOOK, SQLITE_CONSTRAINT_COMMITHOOK, "SQLITE_CONSTRAINT_COMMITHOOK",
        "SQLITE_CONSTRAINT_DATATYPE", SQLITE_CONSTRAINT_DATATYPE, SQLITE_CONSTRAINT_DATATYPE, "SQLITE_CONSTRAINT_DATATYPE",
        "SQLITE_CONSTRAINT_FOREIGNKEY", SQLITE_CONSTRAINT_FOREIGNKEY, SQLITE_CONSTRAINT_FOREIGNKEY, "SQLITE_CONSTRAINT_FOREIGNKEY",
        "SQLITE_CONSTRAINT_FUNCTION", SQLITE_CONSTRAINT_FUNCTION, SQLITE_CONSTRAINT_FUNCTION, "SQLITE_CONSTRAINT_FUNCTION",
        "SQLITE_CONSTRAINT_NOTNULL", SQLITE_CONSTRAINT_NOTNULL, SQLITE_CONSTRAINT_NOTNULL, "SQLITE_CONSTRAINT_NOTNULL",
        "SQLITE_CONSTRAINT_PINNED", SQLITE_CONSTRAINT_PINNED, SQLITE_CONSTRAINT_PINNED, "SQLITE_CONSTRAINT_PINNED",
        "SQLITE_CONSTRAINT_PRIMARYKEY", SQLITE_CONSTRAINT_PRIMARYKEY, SQLITE_CONSTRAINT_PRIMARYKEY, "SQLITE_CONSTRAINT_PRIMARYKEY",
        "SQLITE_CONSTRAINT_ROWID", SQLITE_CONSTRAINT_ROWID, SQLITE_CONSTRAINT_ROWID, "SQLITE_CONSTRAINT_ROWID",
        "SQLITE_CONSTRAINT_TRIGGER", SQLITE_CONSTRAINT_TRIGGER, SQLITE_CONSTRAINT_TRIGGER, "SQLITE_CONSTRAINT_TRIGGER",
        "SQLITE_CONSTRAINT_UNIQUE", SQLITE_CONSTRAINT_UNIQUE, SQLITE_CONSTRAINT_UNIQUE, "SQLITE_CONSTRAINT_UNIQUE",
        "SQLITE_CONSTRAINT_VTAB", SQLITE_CONSTRAINT_VTAB, SQLITE_CONSTRAINT_VTAB, "SQLITE_CONSTRAINT_VTAB",
        "SQLITE_CORRUPT_INDEX", SQLITE_CORRUPT_INDEX, SQLITE_CORRUPT_INDEX, "SQLITE_CORRUPT_INDEX",
        "SQLITE_CORRUPT_SEQUENCE", SQLITE_CORRUPT_SEQUENCE, SQLITE_CORRUPT_SEQUENCE, "SQLITE_CORRUPT_SEQUENCE",
        "SQLITE_CORRUPT_VTAB", SQLITE_CORRUPT_VTAB, SQLITE_CORRUPT_VTAB, "SQLITE_CORRUPT_VTAB",
        "SQLITE_ERROR_KEY", SQLITE_ERROR_KEY, SQLITE_ERROR_KEY, "SQLITE_ERROR_KEY",
        "SQLITE_ERROR_MISSING_COLLSEQ", SQLITE_ERROR_MISSING_COLLSEQ, SQLITE_ERROR_MISSING_COLLSEQ, "SQLITE_ERROR_MISSING_COLLSEQ",
        "SQLITE_ERROR_RESERVESIZE", SQLITE_ERROR_RESERVESIZE, SQLITE_ERROR_RESERVESIZE, "SQLITE_ERROR_RESERVESIZE",
        "SQLITE_ERROR_RETRY", SQLITE_ERROR_RETRY, SQLITE_ERROR_RETRY, "SQLITE_ERROR_RETRY",
        "SQLITE_ERROR_SNAPSHOT", SQLITE_ERROR_SNAPSHOT, SQLITE_ERROR_SNAPSHOT, "SQLITE_ERROR_SNAPSHOT",
        "SQLITE_ERROR_UNABLE", SQLITE_ERROR_UNABLE, SQLITE_ERROR_UNABLE, "SQLITE_ERROR_UNABLE",
        "SQLITE_IOERR_ACCESS", SQLITE_IOERR_ACCESS, SQLITE_IOERR_ACCESS, "SQLITE_IOERR_ACCESS",
        "SQLITE_IOERR_AUTH", SQLITE_IOERR_AUTH, SQLITE_IOERR_AUTH, "SQLITE_IOERR_AUTH",
        "SQLITE_IOERR_BADKEY", SQLITE_IOERR_BADKEY, SQLITE_IOERR_BADKEY, "SQLITE_IOERR_BADKEY",
        "SQLITE_IOERR_BEGIN_ATOMIC", SQLITE_IOERR_BEGIN_ATOMIC, SQLITE_IOERR_BEGIN_ATOMIC, "SQLITE_IOERR_BEGIN_ATOMIC",
        "SQLITE_IOERR_BLOCKED", SQLITE_IOERR_BLOCKED, SQLITE_IOERR_BLOCKED, "SQLITE_IOERR_BLOCKED",
        "SQLITE_IOERR_CHECKRESERVEDLOCK", SQLITE_IOERR_CHECKRESERVEDLOCK, SQLITE_IOERR_CHECKRESERVEDLOCK, "SQLITE_IOERR_CHECKRESERVEDLOCK",
        "SQLITE_IOERR_CLOSE", SQLITE_IOERR_CLOSE, SQLITE_IOERR_CLOSE, "SQLITE_IOERR_CLOSE",
        "SQLITE_IOERR_CODEC", SQLITE_IOERR_CODEC, SQLITE_IOERR_CODEC, "SQLITE_IOERR_CODEC",
        "SQLITE_IOERR_COMMIT_ATOMIC", SQLITE_IOERR_COMMIT_ATOMIC, SQLITE_IOERR_COMMIT_ATOMIC, "SQLITE_IOERR_COMMIT_ATOMIC",
        "SQLITE_IOERR_CONVPATH", SQLITE_IOERR_CONVPATH, SQLITE_IOERR_CONVPATH, "SQLITE_IOERR_CONVPATH",
        "SQLITE_IOERR_CORRUPTFS", SQLITE_IOERR_CORRUPTFS, SQLITE_IOERR_CORRUPTFS, "SQLITE_IOERR_CORRUPTFS",
        "SQLITE_IOERR_DATA", SQLITE_IOERR_DATA, SQLITE_IOERR_DATA, "SQLITE_IOERR_DATA",
        "SQLITE_IOERR_DELETE", SQLITE_IOERR_DELETE, SQLITE_IOERR_DELETE, "SQLITE_IOERR_DELETE",
        "SQLITE_IOERR_DELETE_NOENT", SQLITE_IOERR_DELETE_NOENT, SQLITE_IOERR_DELETE_NOENT, "SQLITE_IOERR_DELETE_NOENT",
        "SQLITE_IOERR_DIR_CLOSE", SQLITE_IOERR_DIR_CLOSE, SQLITE_IOERR_DIR_CLOSE, "SQLITE_IOERR_DIR_CLOSE",
        "SQLITE_IOERR_DIR_FSYNC", SQLITE_IOERR_DIR_FSYNC, SQLITE_IOERR_DIR_FSYNC, "SQLITE_IOERR_DIR_FSYNC",
        "SQLITE_IOERR_FSTAT", SQLITE_IOERR_FSTAT, SQLITE_IOERR_FSTAT, "SQLITE_IOERR_FSTAT",
        "SQLITE_IOERR_FSYNC", SQLITE_IOERR_FSYNC, SQLITE_IOERR_FSYNC, "SQLITE_IOERR_FSYNC",
        "SQLITE_IOERR_GETTEMPPATH", SQLITE_IOERR_GETTEMPPATH, SQLITE_IOERR_GETTEMPPATH, "SQLITE_IOERR_GETTEMPPATH",
        "SQLITE_IOERR_IN_PAGE", SQLITE_IOERR_IN_PAGE, SQLITE_IOERR_IN_PAGE, "SQLITE_IOERR_IN_PAGE",
        "SQLITE_IOERR_LOCK", SQLITE_IOERR_LOCK, SQLITE_IOERR_LOCK, "SQLITE_IOERR_LOCK",
        "SQLITE_IOERR_MMAP", SQLITE_IOERR_MMAP, SQLITE_IOERR_MMAP, "SQLITE_IOERR_MMAP",
        "SQLITE_IOERR_NOMEM", SQLITE_IOERR_NOMEM, SQLITE_IOERR_NOMEM, "SQLITE_IOERR_NOMEM",
        "SQLITE_IOERR_RDLOCK", SQLITE_IOERR_RDLOCK, SQLITE_IOERR_RDLOCK, "SQLITE_IOERR_RDLOCK",
        "SQLITE_IOERR_READ", SQLITE_IOERR_READ, SQLITE_IOERR_READ, "SQLITE_IOERR_READ",
        "SQLITE_IOERR_ROLLBACK_ATOMIC", SQLITE_IOERR_ROLLBACK_ATOMIC, SQLITE_IOERR_ROLLBACK_ATOMIC, "SQLITE_IOERR_ROLLBACK_ATOMIC",
        "SQLITE_IOERR_SEEK", SQLITE_IOERR_SEEK, SQLITE_IOERR_SEEK, "SQLITE_IOERR_SEEK",
        "SQLITE_IOERR_SHMLOCK", SQLITE_IOERR_SHMLOCK, SQLITE_IOERR_SHMLOCK, "SQLITE_IOERR_SHMLOCK",
        "SQLITE_IOERR_SHMMAP", SQLITE_IOERR_SHMMAP, SQLITE_IOERR_SHMMAP, "SQLITE_IOERR_SHMMAP",
        "SQLITE_IOERR_SHMOPEN", SQLITE_IOERR_SHMOPEN, SQLITE_IOERR_SHMOPEN, "SQLITE_IOERR_SHMOPEN",
        "SQLITE_IOERR_SHMSIZE", SQLITE_IOERR_SHMSIZE, SQLITE_IOERR_SHMSIZE, "SQLITE_IOERR_SHMSIZE",
        "SQLITE_IOERR_SHORT_READ", SQLITE_IOERR_SHORT_READ, SQLITE_IOERR_SHORT_READ, "SQLITE_IOERR_SHORT_READ",
        "SQLITE_IOERR_TRUNCATE", SQLITE_IOERR_TRUNCATE, SQLITE_IOERR_TRUNCATE, "SQLITE_IOERR_TRUNCATE",
        "SQLITE_IOERR_UNLOCK", SQLITE_IOERR_UNLOCK, SQLITE_IOERR_UNLOCK, "SQLITE_IOERR_UNLOCK",
        "SQLITE_IOERR_VNODE", SQLITE_IOERR_VNODE, SQLITE_IOERR_VNODE, "SQLITE_IOERR_VNODE",
        "SQLITE_IOERR_WRITE", SQLITE_IOERR_WRITE, SQLITE_IOERR_WRITE, "SQLITE_IOERR_WRITE",
        "SQLITE_LOCKED_SHAREDCACHE", SQLITE_LOCKED_SHAREDCACHE, SQLITE_LOCKED_SHAREDCACHE, "SQLITE_LOCKED_SHAREDCACHE",
        "SQLITE_LOCKED_VTAB", SQLITE_LOCKED_VTAB, SQLITE_LOCKED_VTAB, "SQLITE_LOCKED_VTAB",
        "SQLITE_NOTICE_RBU", SQLITE_NOTICE_RBU, SQLITE_NOTICE_RBU, "SQLITE_NOTICE_RBU",
        "SQLITE_NOTICE_RECOVER_ROLLBACK", SQLITE_NOTICE_RECOVER_ROLLBACK, SQLITE_NOTICE_RECOVER_ROLLBACK, "SQLITE_NOTICE_RECOVER_ROLLBACK",
        "SQLITE_NOTICE_RECOVER_WAL", SQLITE_NOTICE_RECOVER_WAL, SQLITE_NOTICE_RECOVER_WAL, "SQLITE_NOTICE_RECOVER_WAL",
        "SQLITE_OK_LOAD_PERMANENTLY", SQLITE_OK_LOAD_PERMANENTLY, SQLITE_OK_LOAD_PERMANENTLY, "SQLITE_OK_LOAD_PERMANENTLY",
        "SQLITE_OK_SYMLINK", SQLITE_OK_SYMLINK, SQLITE_OK_SYMLINK, "SQLITE_OK_SYMLINK",
        "SQLITE_READONLY_CANTINIT", SQLITE_READONLY_CANTINIT, SQLITE_READONLY_CANTINIT, "SQLITE_READONLY_CANTINIT",
        "SQLITE_READONLY_CANTLOCK", SQLITE_READONLY_CANTLOCK, SQLITE_READONLY_CANTLOCK, "SQLITE_READONLY_CANTLOCK",
        "SQLITE_READONLY_DBMOVED", SQLITE_READONLY_DBMOVED, SQLITE_READONLY_DBMOVED, "SQLITE_READONLY_DBMOVED",
        "SQLITE_READONLY_DIRECTORY", SQLITE_READONLY_DIRECTORY, SQLITE_READONLY_DIRECTORY, "SQLITE_READONLY_DIRECTORY",
        "SQLITE_READONLY_RECOVERY", SQLITE_READONLY_RECOVERY, SQLITE_READONLY_RECOVERY, "SQLITE_READONLY_RECOVERY",
        "SQLITE_READONLY_ROLLBACK", SQLITE_READONLY_ROLLBACK, SQLITE_READONLY_ROLLBACK, "SQLITE_READONLY_ROLLBACK",
        "SQLITE_WARNING_AUTOINDEX", SQLITE_WARNING_AUTOINDEX, SQLITE_WARNING_AUTOINDEX, "SQLITE_WARNING_AUTOINDEX");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_extended_result_codes", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }

    /* FTS5 Token Flag */
    the_dict = Py_BuildValue(
        "{siis}",
        "FTS5_TOKEN_COLOCATED", FTS5_TOKEN_COLOCATED, FTS5_TOKEN_COLOCATED, "FTS5_TOKEN_COLOCATED");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_fts5_token_flags", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }

    /* FTS5 Tokenize Reason */
    the_dict = Py_BuildValue(
        "{siissiissiissiis}",
        "FTS5_TOKENIZE_AUX", FTS5_TOKENIZE_AUX, FTS5_TOKENIZE_AUX, "FTS5_TOKENIZE_AUX",
        "FTS5_TOKENIZE_DOCUMENT", FTS5_TOKENIZE_DOCUMENT, FTS5_TOKENIZE_DOCUMENT, "FTS5_TOKENIZE_DOCUMENT",
        "FTS5_TOKENIZE_PREFIX", FTS5_TOKENIZE_PREFIX, FTS5_TOKENIZE_PREFIX, "FTS5_TOKENIZE_PREFIX",
        "FTS5_TOKENIZE_QUERY", FTS5_TOKENIZE_QUERY, FTS5_TOKENIZE_QUERY, "FTS5_TOKENIZE_QUERY");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_fts5_tokenize_reason", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }

    /* File Locking Levels */
    the_dict = Py_BuildValue(
        "{siissiissiissiissiis}",
        "SQLITE_LOCK_EXCLUSIVE", SQLITE_LOCK_EXCLUSIVE, SQLITE_LOCK_EXCLUSIVE, "SQLITE_LOCK_EXCLUSIVE",
        "SQLITE_LOCK_NONE", SQLITE_LOCK_NONE, SQLITE_LOCK_NONE, "SQLITE_LOCK_NONE",
        "SQLITE_LOCK_PENDING", SQLITE_LOCK_PENDING, SQLITE_LOCK_PENDING, "SQLITE_LOCK_PENDING",
        "SQLITE_LOCK_RESERVED", SQLITE_LOCK_RESERVED, SQLITE_LOCK_RESERVED, "SQLITE_LOCK_RESERVED",
        "SQLITE_LOCK_SHARED", SQLITE_LOCK_SHARED, SQLITE_LOCK_SHARED, "SQLITE_LOCK_SHARED");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_locking_level", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }

    /* Flags For File Open Operations */
    the_dict = Py_BuildValue(
        "{siissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiis}",
        "SQLITE_OPEN_AUTOPROXY", SQLITE_OPEN_AUTOPROXY, SQLITE_OPEN_AUTOPROXY, "SQLITE_OPEN_AUTOPROXY",
        "SQLITE_OPEN_CREATE", SQLITE_OPEN_CREATE, SQLITE_OPEN_CREATE, "SQLITE_OPEN_CREATE",
        "SQLITE_OPEN_DELETEONCLOSE", SQLITE_OPEN_DELETEONCLOSE, SQLITE_OPEN_DELETEONCLOSE, "SQLITE_OPEN_DELETEONCLOSE",
        "SQLITE_OPEN_EXCLUSIVE", SQLITE_OPEN_EXCLUSIVE, SQLITE_OPEN_EXCLUSIVE, "SQLITE_OPEN_EXCLUSIVE",
        "SQLITE_OPEN_EXRESCODE", SQLITE_OPEN_EXRESCODE, SQLITE_OPEN_EXRESCODE, "SQLITE_OPEN_EXRESCODE",
        "SQLITE_OPEN_FULLMUTEX", SQLITE_OPEN_FULLMUTEX, SQLITE_OPEN_FULLMUTEX, "SQLITE_OPEN_FULLMUTEX",
        "SQLITE_OPEN_MAIN_DB", SQLITE_OPEN_MAIN_DB, SQLITE_OPEN_MAIN_DB, "SQLITE_OPEN_MAIN_DB",
        "SQLITE_OPEN_MAIN_JOURNAL", SQLITE_OPEN_MAIN_JOURNAL, SQLITE_OPEN_MAIN_JOURNAL, "SQLITE_OPEN_MAIN_JOURNAL",
        "SQLITE_OPEN_MEMORY", SQLITE_OPEN_MEMORY, SQLITE_OPEN_MEMORY, "SQLITE_OPEN_MEMORY",
        "SQLITE_OPEN_NOFOLLOW", SQLITE_OPEN_NOFOLLOW, SQLITE_OPEN_NOFOLLOW, "SQLITE_OPEN_NOFOLLOW",
        "SQLITE_OPEN_NOMUTEX", SQLITE_OPEN_NOMUTEX, SQLITE_OPEN_NOMUTEX, "SQLITE_OPEN_NOMUTEX",
        "SQLITE_OPEN_PRIVATECACHE", SQLITE_OPEN_PRIVATECACHE, SQLITE_OPEN_PRIVATECACHE, "SQLITE_OPEN_PRIVATECACHE",
        "SQLITE_OPEN_READONLY", SQLITE_OPEN_READONLY, SQLITE_OPEN_READONLY, "SQLITE_OPEN_READONLY",
        "SQLITE_OPEN_READWRITE", SQLITE_OPEN_READWRITE, SQLITE_OPEN_READWRITE, "SQLITE_OPEN_READWRITE",
        "SQLITE_OPEN_SHAREDCACHE", SQLITE_OPEN_SHAREDCACHE, SQLITE_OPEN_SHAREDCACHE, "SQLITE_OPEN_SHAREDCACHE",
        "SQLITE_OPEN_SUBJOURNAL", SQLITE_OPEN_SUBJOURNAL, SQLITE_OPEN_SUBJOURNAL, "SQLITE_OPEN_SUBJOURNAL",
        "SQLITE_OPEN_SUPER_JOURNAL", SQLITE_OPEN_SUPER_JOURNAL, SQLITE_OPEN_SUPER_JOURNAL, "SQLITE_OPEN_SUPER_JOURNAL",
        "SQLITE_OPEN_TEMP_DB", SQLITE_OPEN_TEMP_DB, SQLITE_OPEN_TEMP_DB, "SQLITE_OPEN_TEMP_DB",
        "SQLITE_OPEN_TEMP_JOURNAL", SQLITE_OPEN_TEMP_JOURNAL, SQLITE_OPEN_TEMP_JOURNAL, "SQLITE_OPEN_TEMP_JOURNAL",
        "SQLITE_OPEN_TRANSIENT_DB", SQLITE_OPEN_TRANSIENT_DB, SQLITE_OPEN_TRANSIENT_DB, "SQLITE_OPEN_TRANSIENT_DB",
        "SQLITE_OPEN_URI", SQLITE_OPEN_URI, SQLITE_OPEN_URI, "SQLITE_OPEN_URI",
        "SQLITE_OPEN_WAL", SQLITE_OPEN_WAL, SQLITE_OPEN_WAL, "SQLITE_OPEN_WAL");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_open_flags", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }

    /* Flags for sqlite3_setlk_timeout() */
    the_dict = Py_BuildValue(
        "{siis}",
        "SQLITE_SETLK_BLOCK_ON_CONNECT", SQLITE_SETLK_BLOCK_ON_CONNECT, SQLITE_SETLK_BLOCK_ON_CONNECT, "SQLITE_SETLK_BLOCK_ON_CONNECT");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_setlk_timeout_flags", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }

#ifdef SQLITE_ENABLE_SESSION
    /* Flags for sqlite3changeset_apply_v2 */
    the_dict = Py_BuildValue(
        "{siissiissiissiis}",
        "SQLITE_CHANGESETAPPLY_FKNOACTION", SQLITE_CHANGESETAPPLY_FKNOACTION, SQLITE_CHANGESETAPPLY_FKNOACTION, "SQLITE_CHANGESETAPPLY_FKNOACTION",
        "SQLITE_CHANGESETAPPLY_IGNORENOOP", SQLITE_CHANGESETAPPLY_IGNORENOOP, SQLITE_CHANGESETAPPLY_IGNORENOOP, "SQLITE_CHANGESETAPPLY_IGNORENOOP",
        "SQLITE_CHANGESETAPPLY_INVERT", SQLITE_CHANGESETAPPLY_INVERT, SQLITE_CHANGESETAPPLY_INVERT, "SQLITE_CHANGESETAPPLY_INVERT",
        "SQLITE_CHANGESETAPPLY_NOSAVEPOINT", SQLITE_CHANGESETAPPLY_NOSAVEPOINT, SQLITE_CHANGESETAPPLY_NOSAVEPOINT, "SQLITE_CHANGESETAPPLY_NOSAVEPOINT");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_session_changeset_apply_v2_flags", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }
#endif /* SQLITE_ENABLE_SESSION */

#ifdef SQLITE_ENABLE_SESSION
    /* Flags for sqlite3changeset_start_v2 */
    the_dict = Py_BuildValue(
        "{siis}",
        "SQLITE_CHANGESETSTART_INVERT", SQLITE_CHANGESETSTART_INVERT, SQLITE_CHANGESETSTART_INVERT, "SQLITE_CHANGESETSTART_INVERT");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_session_changeset_start_v2_flags", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }
#endif /* SQLITE_ENABLE_SESSION */

    /* Flags for the xAccess VFS method */
    the_dict = Py_BuildValue(
        "{siissiissiis}",
        "SQLITE_ACCESS_EXISTS", SQLITE_ACCESS_EXISTS, SQLITE_ACCESS_EXISTS, "SQLITE_ACCESS_EXISTS",
        "SQLITE_ACCESS_READ", SQLITE_ACCESS_READ, SQLITE_ACCESS_READ, "SQLITE_ACCESS_READ",
        "SQLITE_ACCESS_READWRITE", SQLITE_ACCESS_READWRITE, SQLITE_ACCESS_READWRITE, "SQLITE_ACCESS_READWRITE");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_access", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }

    /* Flags for the xShmLock VFS method */
    the_dict = Py_BuildValue(
        "{siissiissiissiis}",
        "SQLITE_SHM_EXCLUSIVE", SQLITE_SHM_EXCLUSIVE, SQLITE_SHM_EXCLUSIVE, "SQLITE_SHM_EXCLUSIVE",
        "SQLITE_SHM_LOCK", SQLITE_SHM_LOCK, SQLITE_SHM_LOCK, "SQLITE_SHM_LOCK",
        "SQLITE_SHM_SHARED", SQLITE_SHM_SHARED, SQLITE_SHM_SHARED, "SQLITE_SHM_SHARED",
        "SQLITE_SHM_UNLOCK", SQLITE_SHM_UNLOCK, SQLITE_SHM_UNLOCK, "SQLITE_SHM_UNLOCK");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_xshmlock_flags", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }

    /* Function Flags */
    the_dict = Py_BuildValue(
        "{siissiissiissiissiissiis}",
        "SQLITE_DETERMINISTIC", SQLITE_DETERMINISTIC, SQLITE_DETERMINISTIC, "SQLITE_DETERMINISTIC",
        "SQLITE_DIRECTONLY", SQLITE_DIRECTONLY, SQLITE_DIRECTONLY, "SQLITE_DIRECTONLY",
        "SQLITE_INNOCUOUS", SQLITE_INNOCUOUS, SQLITE_INNOCUOUS, "SQLITE_INNOCUOUS",
        "SQLITE_RESULT_SUBTYPE", SQLITE_RESULT_SUBTYPE, SQLITE_RESULT_SUBTYPE, "SQLITE_RESULT_SUBTYPE",
        "SQLITE_SELFORDER1", SQLITE_SELFORDER1, SQLITE_SELFORDER1, "SQLITE_SELFORDER1",
        "SQLITE_SUBTYPE", SQLITE_SUBTYPE, SQLITE_SUBTYPE, "SQLITE_SUBTYPE");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_function_flags", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }

#ifdef SQLITE_ENABLE_SESSION
    /* Options for sqlite3session_object_config */
    the_dict = Py_BuildValue(
        "{siissiis}",
        "SQLITE_SESSION_OBJCONFIG_ROWID", SQLITE_SESSION_OBJCONFIG_ROWID, SQLITE_SESSION_OBJCONFIG_ROWID, "SQLITE_SESSION_OBJCONFIG_ROWID",
        "SQLITE_SESSION_OBJCONFIG_SIZE", SQLITE_SESSION_OBJCONFIG_SIZE, SQLITE_SESSION_OBJCONFIG_SIZE, "SQLITE_SESSION_OBJCONFIG_SIZE");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_session_object_config_options", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }
#endif /* SQLITE_ENABLE_SESSION */

    /* Prepare Flags */
    the_dict = Py_BuildValue(
        "{siissiissiissiissiis}",
        "SQLITE_PREPARE_DONT_LOG", SQLITE_PREPARE_DONT_LOG, SQLITE_PREPARE_DONT_LOG, "SQLITE_PREPARE_DONT_LOG",
        "SQLITE_PREPARE_FROM_DDL", SQLITE_PREPARE_FROM_DDL, SQLITE_PREPARE_FROM_DDL, "SQLITE_PREPARE_FROM_DDL",
        "SQLITE_PREPARE_NORMALIZE", SQLITE_PREPARE_NORMALIZE, SQLITE_PREPARE_NORMALIZE, "SQLITE_PREPARE_NORMALIZE",
        "SQLITE_PREPARE_NO_VTAB", SQLITE_PREPARE_NO_VTAB, SQLITE_PREPARE_NO_VTAB, "SQLITE_PREPARE_NO_VTAB",
        "SQLITE_PREPARE_PERSISTENT", SQLITE_PREPARE_PERSISTENT, SQLITE_PREPARE_PERSISTENT, "SQLITE_PREPARE_PERSISTENT");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_prepare_flags", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }

    /* Result Codes */
    the_dict = Py_BuildValue(
        "{siissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiis}",
        "SQLITE_ABORT", SQLITE_ABORT, SQLITE_ABORT, "SQLITE_ABORT",
        "SQLITE_AUTH", SQLITE_AUTH, SQLITE_AUTH, "SQLITE_AUTH",
        "SQLITE_BUSY", SQLITE_BUSY, SQLITE_BUSY, "SQLITE_BUSY",
        "SQLITE_CANTOPEN", SQLITE_CANTOPEN, SQLITE_CANTOPEN, "SQLITE_CANTOPEN",
        "SQLITE_CONSTRAINT", SQLITE_CONSTRAINT, SQLITE_CONSTRAINT, "SQLITE_CONSTRAINT",
        "SQLITE_CORRUPT", SQLITE_CORRUPT, SQLITE_CORRUPT, "SQLITE_CORRUPT",
        "SQLITE_DONE", SQLITE_DONE, SQLITE_DONE, "SQLITE_DONE",
        "SQLITE_EMPTY", SQLITE_EMPTY, SQLITE_EMPTY, "SQLITE_EMPTY",
        "SQLITE_ERROR", SQLITE_ERROR, SQLITE_ERROR, "SQLITE_ERROR",
        "SQLITE_FORMAT", SQLITE_FORMAT, SQLITE_FORMAT, "SQLITE_FORMAT",
        "SQLITE_FULL", SQLITE_FULL, SQLITE_FULL, "SQLITE_FULL",
        "SQLITE_INTERNAL", SQLITE_INTERNAL, SQLITE_INTERNAL, "SQLITE_INTERNAL",
        "SQLITE_INTERRUPT", SQLITE_INTERRUPT, SQLITE_INTERRUPT, "SQLITE_INTERRUPT",
        "SQLITE_IOERR", SQLITE_IOERR, SQLITE_IOERR, "SQLITE_IOERR",
        "SQLITE_LOCKED", SQLITE_LOCKED, SQLITE_LOCKED, "SQLITE_LOCKED",
        "SQLITE_MISMATCH", SQLITE_MISMATCH, SQLITE_MISMATCH, "SQLITE_MISMATCH",
        "SQLITE_MISUSE", SQLITE_MISUSE, SQLITE_MISUSE, "SQLITE_MISUSE",
        "SQLITE_NOLFS", SQLITE_NOLFS, SQLITE_NOLFS, "SQLITE_NOLFS",
        "SQLITE_NOMEM", SQLITE_NOMEM, SQLITE_NOMEM, "SQLITE_NOMEM",
        "SQLITE_NOTADB", SQLITE_NOTADB, SQLITE_NOTADB, "SQLITE_NOTADB",
        "SQLITE_NOTFOUND", SQLITE_NOTFOUND, SQLITE_NOTFOUND, "SQLITE_NOTFOUND",
        "SQLITE_NOTICE", SQLITE_NOTICE, SQLITE_NOTICE, "SQLITE_NOTICE",
        "SQLITE_OK", SQLITE_OK, SQLITE_OK, "SQLITE_OK",
        "SQLITE_PERM", SQLITE_PERM, SQLITE_PERM, "SQLITE_PERM",
        "SQLITE_PROTOCOL", SQLITE_PROTOCOL, SQLITE_PROTOCOL, "SQLITE_PROTOCOL",
        "SQLITE_RANGE", SQLITE_RANGE, SQLITE_RANGE, "SQLITE_RANGE",
        "SQLITE_READONLY", SQLITE_READONLY, SQLITE_READONLY, "SQLITE_READONLY",
        "SQLITE_ROW", SQLITE_ROW, SQLITE_ROW, "SQLITE_ROW",
        "SQLITE_SCHEMA", SQLITE_SCHEMA, SQLITE_SCHEMA, "SQLITE_SCHEMA",
        "SQLITE_TOOBIG", SQLITE_TOOBIG, SQLITE_TOOBIG, "SQLITE_TOOBIG",
        "SQLITE_WARNING", SQLITE_WARNING, SQLITE_WARNING, "SQLITE_WARNING");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_result_codes", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }

    /* Run-Time Limit Categories */
    the_dict = Py_BuildValue(
        "{siissiissiissiissiissiissiissiissiissiissiissiissiis}",
        "SQLITE_LIMIT_ATTACHED", SQLITE_LIMIT_ATTACHED, SQLITE_LIMIT_ATTACHED, "SQLITE_LIMIT_ATTACHED",
        "SQLITE_LIMIT_COLUMN", SQLITE_LIMIT_COLUMN, SQLITE_LIMIT_COLUMN, "SQLITE_LIMIT_COLUMN",
        "SQLITE_LIMIT_COMPOUND_SELECT", SQLITE_LIMIT_COMPOUND_SELECT, SQLITE_LIMIT_COMPOUND_SELECT, "SQLITE_LIMIT_COMPOUND_SELECT",
        "SQLITE_LIMIT_EXPR_DEPTH", SQLITE_LIMIT_EXPR_DEPTH, SQLITE_LIMIT_EXPR_DEPTH, "SQLITE_LIMIT_EXPR_DEPTH",
        "SQLITE_LIMIT_FUNCTION_ARG", SQLITE_LIMIT_FUNCTION_ARG, SQLITE_LIMIT_FUNCTION_ARG, "SQLITE_LIMIT_FUNCTION_ARG",
        "SQLITE_LIMIT_LENGTH", SQLITE_LIMIT_LENGTH, SQLITE_LIMIT_LENGTH, "SQLITE_LIMIT_LENGTH",
        "SQLITE_LIMIT_LIKE_PATTERN_LENGTH", SQLITE_LIMIT_LIKE_PATTERN_LENGTH, SQLITE_LIMIT_LIKE_PATTERN_LENGTH, "SQLITE_LIMIT_LIKE_PATTERN_LENGTH",
        "SQLITE_LIMIT_PARSER_DEPTH", SQLITE_LIMIT_PARSER_DEPTH, SQLITE_LIMIT_PARSER_DEPTH, "SQLITE_LIMIT_PARSER_DEPTH",
        "SQLITE_LIMIT_SQL_LENGTH", SQLITE_LIMIT_SQL_LENGTH, SQLITE_LIMIT_SQL_LENGTH, "SQLITE_LIMIT_SQL_LENGTH",
        "SQLITE_LIMIT_TRIGGER_DEPTH", SQLITE_LIMIT_TRIGGER_DEPTH, SQLITE_LIMIT_TRIGGER_DEPTH, "SQLITE_LIMIT_TRIGGER_DEPTH",
        "SQLITE_LIMIT_VARIABLE_NUMBER", SQLITE_LIMIT_VARIABLE_NUMBER, SQLITE_LIMIT_VARIABLE_NUMBER, "SQLITE_LIMIT_VARIABLE_NUMBER",
        "SQLITE_LIMIT_VDBE_OP", SQLITE_LIMIT_VDBE_OP, SQLITE_LIMIT_VDBE_OP, "SQLITE_LIMIT_VDBE_OP",
        "SQLITE_LIMIT_WORKER_THREADS", SQLITE_LIMIT_WORKER_THREADS, SQLITE_LIMIT_WORKER_THREADS, "SQLITE_LIMIT_WORKER_THREADS");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_limits", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }

    /* SQL Trace Event Codes */
    the_dict = Py_BuildValue(
        "{siissiissiissiis}",
        "SQLITE_TRACE_CLOSE", SQLITE_TRACE_CLOSE, SQLITE_TRACE_CLOSE, "SQLITE_TRACE_CLOSE",
        "SQLITE_TRACE_PROFILE", SQLITE_TRACE_PROFILE, SQLITE_TRACE_PROFILE, "SQLITE_TRACE_PROFILE",
        "SQLITE_TRACE_ROW", SQLITE_TRACE_ROW, SQLITE_TRACE_ROW, "SQLITE_TRACE_ROW",
        "SQLITE_TRACE_STMT", SQLITE_TRACE_STMT, SQLITE_TRACE_STMT, "SQLITE_TRACE_STMT");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_trace_codes", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }

    /* Standard File Control Opcodes */
    the_dict = Py_BuildValue(
        "{siissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiis}",
        "SQLITE_FCNTL_BEGIN_ATOMIC_WRITE", SQLITE_FCNTL_BEGIN_ATOMIC_WRITE, SQLITE_FCNTL_BEGIN_ATOMIC_WRITE, "SQLITE_FCNTL_BEGIN_ATOMIC_WRITE",
        "SQLITE_FCNTL_BLOCK_ON_CONNECT", SQLITE_FCNTL_BLOCK_ON_CONNECT, SQLITE_FCNTL_BLOCK_ON_CONNECT, "SQLITE_FCNTL_BLOCK_ON_CONNECT",
        "SQLITE_FCNTL_BUSYHANDLER", SQLITE_FCNTL_BUSYHANDLER, SQLITE_FCNTL_BUSYHANDLER, "SQLITE_FCNTL_BUSYHANDLER",
        "SQLITE_FCNTL_CHUNK_SIZE", SQLITE_FCNTL_CHUNK_SIZE, SQLITE_FCNTL_CHUNK_SIZE, "SQLITE_FCNTL_CHUNK_SIZE",
        "SQLITE_FCNTL_CKPT_DONE", SQLITE_FCNTL_CKPT_DONE, SQLITE_FCNTL_CKPT_DONE, "SQLITE_FCNTL_CKPT_DONE",
        "SQLITE_FCNTL_CKPT_START", SQLITE_FCNTL_CKPT_START, SQLITE_FCNTL_CKPT_START, "SQLITE_FCNTL_CKPT_START",
        "SQLITE_FCNTL_CKSM_FILE", SQLITE_FCNTL_CKSM_FILE, SQLITE_FCNTL_CKSM_FILE, "SQLITE_FCNTL_CKSM_FILE",
        "SQLITE_FCNTL_COMMIT_ATOMIC_WRITE", SQLITE_FCNTL_COMMIT_ATOMIC_WRITE, SQLITE_FCNTL_COMMIT_ATOMIC_WRITE, "SQLITE_FCNTL_COMMIT_ATOMIC_WRITE",
        "SQLITE_FCNTL_COMMIT_PHASETWO", SQLITE_FCNTL_COMMIT_PHASETWO, SQLITE_FCNTL_COMMIT_PHASETWO, "SQLITE_FCNTL_COMMIT_PHASETWO",
        "SQLITE_FCNTL_DATA_VERSION", SQLITE_FCNTL_DATA_VERSION, SQLITE_FCNTL_DATA_VERSION, "SQLITE_FCNTL_DATA_VERSION",
        "SQLITE_FCNTL_EXTERNAL_READER", SQLITE_FCNTL_EXTERNAL_READER, SQLITE_FCNTL_EXTERNAL_READER, "SQLITE_FCNTL_EXTERNAL_READER",
        "SQLITE_FCNTL_FILESTAT", SQLITE_FCNTL_FILESTAT, SQLITE_FCNTL_FILESTAT, "SQLITE_FCNTL_FILESTAT",
        "SQLITE_FCNTL_FILE_POINTER", SQLITE_FCNTL_FILE_POINTER, SQLITE_FCNTL_FILE_POINTER, "SQLITE_FCNTL_FILE_POINTER",
        "SQLITE_FCNTL_GET_LOCKPROXYFILE", SQLITE_FCNTL_GET_LOCKPROXYFILE, SQLITE_FCNTL_GET_LOCKPROXYFILE, "SQLITE_FCNTL_GET_LOCKPROXYFILE",
        "SQLITE_FCNTL_HAS_MOVED", SQLITE_FCNTL_HAS_MOVED, SQLITE_FCNTL_HAS_MOVED, "SQLITE_FCNTL_HAS_MOVED",
        "SQLITE_FCNTL_JOURNAL_POINTER", SQLITE_FCNTL_JOURNAL_POINTER, SQLITE_FCNTL_JOURNAL_POINTER, "SQLITE_FCNTL_JOURNAL_POINTER",
        "SQLITE_FCNTL_LAST_ERRNO", SQLITE_FCNTL_LAST_ERRNO, SQLITE_FCNTL_LAST_ERRNO, "SQLITE_FCNTL_LAST_ERRNO",
        "SQLITE_FCNTL_LOCKSTATE", SQLITE_FCNTL_LOCKSTATE, SQLITE_FCNTL_LOCKSTATE, "SQLITE_FCNTL_LOCKSTATE",
        "SQLITE_FCNTL_LOCK_TIMEOUT", SQLITE_FCNTL_LOCK_TIMEOUT, SQLITE_FCNTL_LOCK_TIMEOUT, "SQLITE_FCNTL_LOCK_TIMEOUT",
        "SQLITE_FCNTL_MMAP_SIZE", SQLITE_FCNTL_MMAP_SIZE, SQLITE_FCNTL_MMAP_SIZE, "SQLITE_FCNTL_MMAP_SIZE",
        "SQLITE_FCNTL_NULL_IO", SQLITE_FCNTL_NULL_IO, SQLITE_FCNTL_NULL_IO, "SQLITE_FCNTL_NULL_IO",
        "SQLITE_FCNTL_OVERWRITE", SQLITE_FCNTL_OVERWRITE, SQLITE_FCNTL_OVERWRITE, "SQLITE_FCNTL_OVERWRITE",
        "SQLITE_FCNTL_PDB", SQLITE_FCNTL_PDB, SQLITE_FCNTL_PDB, "SQLITE_FCNTL_PDB",
        "SQLITE_FCNTL_PERSIST_WAL", SQLITE_FCNTL_PERSIST_WAL, SQLITE_FCNTL_PERSIST_WAL, "SQLITE_FCNTL_PERSIST_WAL",
        "SQLITE_FCNTL_POWERSAFE_OVERWRITE", SQLITE_FCNTL_POWERSAFE_OVERWRITE, SQLITE_FCNTL_POWERSAFE_OVERWRITE, "SQLITE_FCNTL_POWERSAFE_OVERWRITE",
        "SQLITE_FCNTL_PRAGMA", SQLITE_FCNTL_PRAGMA, SQLITE_FCNTL_PRAGMA, "SQLITE_FCNTL_PRAGMA",
        "SQLITE_FCNTL_RBU", SQLITE_FCNTL_RBU, SQLITE_FCNTL_RBU, "SQLITE_FCNTL_RBU",
        "SQLITE_FCNTL_RESERVE_BYTES", SQLITE_FCNTL_RESERVE_BYTES, SQLITE_FCNTL_RESERVE_BYTES, "SQLITE_FCNTL_RESERVE_BYTES",
        "SQLITE_FCNTL_RESET_CACHE", SQLITE_FCNTL_RESET_CACHE, SQLITE_FCNTL_RESET_CACHE, "SQLITE_FCNTL_RESET_CACHE",
        "SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE", SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE, SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE, "SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE",
        "SQLITE_FCNTL_SET_LOCKPROXYFILE", SQLITE_FCNTL_SET_LOCKPROXYFILE, SQLITE_FCNTL_SET_LOCKPROXYFILE, "SQLITE_FCNTL_SET_LOCKPROXYFILE",
        "SQLITE_FCNTL_SIZE_HINT", SQLITE_FCNTL_SIZE_HINT, SQLITE_FCNTL_SIZE_HINT, "SQLITE_FCNTL_SIZE_HINT",
        "SQLITE_FCNTL_SIZE_LIMIT", SQLITE_FCNTL_SIZE_LIMIT, SQLITE_FCNTL_SIZE_LIMIT, "SQLITE_FCNTL_SIZE_LIMIT",
        "SQLITE_FCNTL_SYNC", SQLITE_FCNTL_SYNC, SQLITE_FCNTL_SYNC, "SQLITE_FCNTL_SYNC",
        "SQLITE_FCNTL_SYNC_OMITTED", SQLITE_FCNTL_SYNC_OMITTED, SQLITE_FCNTL_SYNC_OMITTED, "SQLITE_FCNTL_SYNC_OMITTED",
        "SQLITE_FCNTL_TEMPFILENAME", SQLITE_FCNTL_TEMPFILENAME, SQLITE_FCNTL_TEMPFILENAME, "SQLITE_FCNTL_TEMPFILENAME",
        "SQLITE_FCNTL_TRACE", SQLITE_FCNTL_TRACE, SQLITE_FCNTL_TRACE, "SQLITE_FCNTL_TRACE",
        "SQLITE_FCNTL_VFSNAME", SQLITE_FCNTL_VFSNAME, SQLITE_FCNTL_VFSNAME, "SQLITE_FCNTL_VFSNAME",
        "SQLITE_FCNTL_VFS_POINTER", SQLITE_FCNTL_VFS_POINTER, SQLITE_FCNTL_VFS_POINTER, "SQLITE_FCNTL_VFS_POINTER",
        "SQLITE_FCNTL_WAL_BLOCK", SQLITE_FCNTL_WAL_BLOCK, SQLITE_FCNTL_WAL_BLOCK, "SQLITE_FCNTL_WAL_BLOCK",
        "SQLITE_FCNTL_WIN32_AV_RETRY", SQLITE_FCNTL_WIN32_AV_RETRY, SQLITE_FCNTL_WIN32_AV_RETRY, "SQLITE_FCNTL_WIN32_AV_RETRY",
        "SQLITE_FCNTL_WIN32_GET_HANDLE", SQLITE_FCNTL_WIN32_GET_HANDLE, SQLITE_FCNTL_WIN32_GET_HANDLE, "SQLITE_FCNTL_WIN32_GET_HANDLE",
        "SQLITE_FCNTL_WIN32_SET_HANDLE", SQLITE_FCNTL_WIN32_SET_HANDLE, SQLITE_FCNTL_WIN32_SET_HANDLE, "SQLITE_FCNTL_WIN32_SET_HANDLE",
        "SQLITE_FCNTL_ZIPVFS", SQLITE_FCNTL_ZIPVFS, SQLITE_FCNTL_ZIPVFS, "SQLITE_FCNTL_ZIPVFS");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_file_control", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }

    /* Status Parameters */
    the_dict = Py_BuildValue(
        "{siissiissiissiissiissiissiissiissiissiis}",
        "SQLITE_STATUS_MALLOC_COUNT", SQLITE_STATUS_MALLOC_COUNT, SQLITE_STATUS_MALLOC_COUNT, "SQLITE_STATUS_MALLOC_COUNT",
        "SQLITE_STATUS_MALLOC_SIZE", SQLITE_STATUS_MALLOC_SIZE, SQLITE_STATUS_MALLOC_SIZE, "SQLITE_STATUS_MALLOC_SIZE",
        "SQLITE_STATUS_MEMORY_USED", SQLITE_STATUS_MEMORY_USED, SQLITE_STATUS_MEMORY_USED, "SQLITE_STATUS_MEMORY_USED",
        "SQLITE_STATUS_PAGECACHE_OVERFLOW", SQLITE_STATUS_PAGECACHE_OVERFLOW, SQLITE_STATUS_PAGECACHE_OVERFLOW, "SQLITE_STATUS_PAGECACHE_OVERFLOW",
        "SQLITE_STATUS_PAGECACHE_SIZE", SQLITE_STATUS_PAGECACHE_SIZE, SQLITE_STATUS_PAGECACHE_SIZE, "SQLITE_STATUS_PAGECACHE_SIZE",
        "SQLITE_STATUS_PAGECACHE_USED", SQLITE_STATUS_PAGECACHE_USED, SQLITE_STATUS_PAGECACHE_USED, "SQLITE_STATUS_PAGECACHE_USED",
        "SQLITE_STATUS_PARSER_STACK", SQLITE_STATUS_PARSER_STACK, SQLITE_STATUS_PARSER_STACK, "SQLITE_STATUS_PARSER_STACK",
        "SQLITE_STATUS_SCRATCH_OVERFLOW", SQLITE_STATUS_SCRATCH_OVERFLOW, SQLITE_STATUS_SCRATCH_OVERFLOW, "SQLITE_STATUS_SCRATCH_OVERFLOW",
        "SQLITE_STATUS_SCRATCH_SIZE", SQLITE_STATUS_SCRATCH_SIZE, SQLITE_STATUS_SCRATCH_SIZE, "SQLITE_STATUS_SCRATCH_SIZE",
        "SQLITE_STATUS_SCRATCH_USED", SQLITE_STATUS_SCRATCH_USED, SQLITE_STATUS_SCRATCH_USED, "SQLITE_STATUS_SCRATCH_USED");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_status", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }

    /* Status Parameters for database connections */
    the_dict = Py_BuildValue(
        "{siissiissiissiissiissiissiissiissiissiissiissiissiissiissiis}",
        "SQLITE_DBSTATUS_CACHE_HIT", SQLITE_DBSTATUS_CACHE_HIT, SQLITE_DBSTATUS_CACHE_HIT, "SQLITE_DBSTATUS_CACHE_HIT",
        "SQLITE_DBSTATUS_CACHE_MISS", SQLITE_DBSTATUS_CACHE_MISS, SQLITE_DBSTATUS_CACHE_MISS, "SQLITE_DBSTATUS_CACHE_MISS",
        "SQLITE_DBSTATUS_CACHE_SPILL", SQLITE_DBSTATUS_CACHE_SPILL, SQLITE_DBSTATUS_CACHE_SPILL, "SQLITE_DBSTATUS_CACHE_SPILL",
        "SQLITE_DBSTATUS_CACHE_USED", SQLITE_DBSTATUS_CACHE_USED, SQLITE_DBSTATUS_CACHE_USED, "SQLITE_DBSTATUS_CACHE_USED",
        "SQLITE_DBSTATUS_CACHE_USED_SHARED", SQLITE_DBSTATUS_CACHE_USED_SHARED, SQLITE_DBSTATUS_CACHE_USED_SHARED, "SQLITE_DBSTATUS_CACHE_USED_SHARED",
        "SQLITE_DBSTATUS_CACHE_WRITE", SQLITE_DBSTATUS_CACHE_WRITE, SQLITE_DBSTATUS_CACHE_WRITE, "SQLITE_DBSTATUS_CACHE_WRITE",
        "SQLITE_DBSTATUS_DEFERRED_FKS", SQLITE_DBSTATUS_DEFERRED_FKS, SQLITE_DBSTATUS_DEFERRED_FKS, "SQLITE_DBSTATUS_DEFERRED_FKS",
        "SQLITE_DBSTATUS_LOOKASIDE_HIT", SQLITE_DBSTATUS_LOOKASIDE_HIT, SQLITE_DBSTATUS_LOOKASIDE_HIT, "SQLITE_DBSTATUS_LOOKASIDE_HIT",
        "SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL", SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL, SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL, "SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL",
        "SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE", SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE, SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE, "SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE",
        "SQLITE_DBSTATUS_LOOKASIDE_USED", SQLITE_DBSTATUS_LOOKASIDE_USED, SQLITE_DBSTATUS_LOOKASIDE_USED, "SQLITE_DBSTATUS_LOOKASIDE_USED",
        "SQLITE_DBSTATUS_MAX", SQLITE_DBSTATUS_MAX, SQLITE_DBSTATUS_MAX, "SQLITE_DBSTATUS_MAX",
        "SQLITE_DBSTATUS_SCHEMA_USED", SQLITE_DBSTATUS_SCHEMA_USED, SQLITE_DBSTATUS_SCHEMA_USED, "SQLITE_DBSTATUS_SCHEMA_USED",
        "SQLITE_DBSTATUS_STMT_USED", SQLITE_DBSTATUS_STMT_USED, SQLITE_DBSTATUS_STMT_USED, "SQLITE_DBSTATUS_STMT_USED",
        "SQLITE_DBSTATUS_TEMPBUF_SPILL", SQLITE_DBSTATUS_TEMPBUF_SPILL, SQLITE_DBSTATUS_TEMPBUF_SPILL, "SQLITE_DBSTATUS_TEMPBUF_SPILL");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_db_status", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }

    /* Status Parameters for prepared statements */
    the_dict = Py_BuildValue(
        "{siissiissiissiissiissiissiissiissiis}",
        "SQLITE_STMTSTATUS_AUTOINDEX", SQLITE_STMTSTATUS_AUTOINDEX, SQLITE_STMTSTATUS_AUTOINDEX, "SQLITE_STMTSTATUS_AUTOINDEX",
        "SQLITE_STMTSTATUS_FILTER_HIT", SQLITE_STMTSTATUS_FILTER_HIT, SQLITE_STMTSTATUS_FILTER_HIT, "SQLITE_STMTSTATUS_FILTER_HIT",
        "SQLITE_STMTSTATUS_FILTER_MISS", SQLITE_STMTSTATUS_FILTER_MISS, SQLITE_STMTSTATUS_FILTER_MISS, "SQLITE_STMTSTATUS_FILTER_MISS",
        "SQLITE_STMTSTATUS_FULLSCAN_STEP", SQLITE_STMTSTATUS_FULLSCAN_STEP, SQLITE_STMTSTATUS_FULLSCAN_STEP, "SQLITE_STMTSTATUS_FULLSCAN_STEP",
        "SQLITE_STMTSTATUS_MEMUSED", SQLITE_STMTSTATUS_MEMUSED, SQLITE_STMTSTATUS_MEMUSED, "SQLITE_STMTSTATUS_MEMUSED",
        "SQLITE_STMTSTATUS_REPREPARE", SQLITE_STMTSTATUS_REPREPARE, SQLITE_STMTSTATUS_REPREPARE, "SQLITE_STMTSTATUS_REPREPARE",
        "SQLITE_STMTSTATUS_RUN", SQLITE_STMTSTATUS_RUN, SQLITE_STMTSTATUS_RUN, "SQLITE_STMTSTATUS_RUN",
        "SQLITE_STMTSTATUS_SORT", SQLITE_STMTSTATUS_SORT, SQLITE_STMTSTATUS_SORT, "SQLITE_STMTSTATUS_SORT",
        "SQLITE_STMTSTATUS_VM_STEP", SQLITE_STMTSTATUS_VM_STEP, SQLITE_STMTSTATUS_VM_STEP, "SQLITE_STMTSTATUS_VM_STEP");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_statement_status", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }

    /* Synchronization Type Flags */
    the_dict = Py_BuildValue(
        "{siissiissiis}",
        "SQLITE_SYNC_DATAONLY", SQLITE_SYNC_DATAONLY, SQLITE_SYNC_DATAONLY, "SQLITE_SYNC_DATAONLY",
        "SQLITE_SYNC_FULL", SQLITE_SYNC_FULL, SQLITE_SYNC_FULL, "SQLITE_SYNC_FULL",
        "SQLITE_SYNC_NORMAL", SQLITE_SYNC_NORMAL, SQLITE_SYNC_NORMAL, "SQLITE_SYNC_NORMAL");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_sync", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }

#ifdef SQLITE_ENABLE_SESSION
    /* Values for sqlite3session_config */
    the_dict = Py_BuildValue(
        "{siis}",
        "SQLITE_SESSION_CONFIG_STRMSIZE", SQLITE_SESSION_CONFIG_STRMSIZE, SQLITE_SESSION_CONFIG_STRMSIZE, "SQLITE_SESSION_CONFIG_STRMSIZE");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_session_config_options", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }
#endif /* SQLITE_ENABLE_SESSION */

    /* Virtual Table Configuration Options */
    the_dict = Py_BuildValue(
        "{siissiissiissiis}",
        "SQLITE_VTAB_CONSTRAINT_SUPPORT", SQLITE_VTAB_CONSTRAINT_SUPPORT, SQLITE_VTAB_CONSTRAINT_SUPPORT, "SQLITE_VTAB_CONSTRAINT_SUPPORT",
        "SQLITE_VTAB_DIRECTONLY", SQLITE_VTAB_DIRECTONLY, SQLITE_VTAB_DIRECTONLY, "SQLITE_VTAB_DIRECTONLY",
        "SQLITE_VTAB_INNOCUOUS", SQLITE_VTAB_INNOCUOUS, SQLITE_VTAB_INNOCUOUS, "SQLITE_VTAB_INNOCUOUS",
        "SQLITE_VTAB_USES_ALL_SCHEMAS", SQLITE_VTAB_USES_ALL_SCHEMAS, SQLITE_VTAB_USES_ALL_SCHEMAS, "SQLITE_VTAB_USES_ALL_SCHEMAS");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_virtual_table_configuration_options", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }

    /* Virtual Table Constraint Operator Codes */
    the_dict = Py_BuildValue(
        "{siissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiissiis}",
        "SQLITE_INDEX_CONSTRAINT_EQ", SQLITE_INDEX_CONSTRAINT_EQ, SQLITE_INDEX_CONSTRAINT_EQ, "SQLITE_INDEX_CONSTRAINT_EQ",
        "SQLITE_INDEX_CONSTRAINT_FUNCTION", SQLITE_INDEX_CONSTRAINT_FUNCTION, SQLITE_INDEX_CONSTRAINT_FUNCTION, "SQLITE_INDEX_CONSTRAINT_FUNCTION",
        "SQLITE_INDEX_CONSTRAINT_GE", SQLITE_INDEX_CONSTRAINT_GE, SQLITE_INDEX_CONSTRAINT_GE, "SQLITE_INDEX_CONSTRAINT_GE",
        "SQLITE_INDEX_CONSTRAINT_GLOB", SQLITE_INDEX_CONSTRAINT_GLOB, SQLITE_INDEX_CONSTRAINT_GLOB, "SQLITE_INDEX_CONSTRAINT_GLOB",
        "SQLITE_INDEX_CONSTRAINT_GT", SQLITE_INDEX_CONSTRAINT_GT, SQLITE_INDEX_CONSTRAINT_GT, "SQLITE_INDEX_CONSTRAINT_GT",
        "SQLITE_INDEX_CONSTRAINT_IS", SQLITE_INDEX_CONSTRAINT_IS, SQLITE_INDEX_CONSTRAINT_IS, "SQLITE_INDEX_CONSTRAINT_IS",
        "SQLITE_INDEX_CONSTRAINT_ISNOT", SQLITE_INDEX_CONSTRAINT_ISNOT, SQLITE_INDEX_CONSTRAINT_ISNOT, "SQLITE_INDEX_CONSTRAINT_ISNOT",
        "SQLITE_INDEX_CONSTRAINT_ISNOTNULL", SQLITE_INDEX_CONSTRAINT_ISNOTNULL, SQLITE_INDEX_CONSTRAINT_ISNOTNULL, "SQLITE_INDEX_CONSTRAINT_ISNOTNULL",
        "SQLITE_INDEX_CONSTRAINT_ISNULL", SQLITE_INDEX_CONSTRAINT_ISNULL, SQLITE_INDEX_CONSTRAINT_ISNULL, "SQLITE_INDEX_CONSTRAINT_ISNULL",
        "SQLITE_INDEX_CONSTRAINT_LE", SQLITE_INDEX_CONSTRAINT_LE, SQLITE_INDEX_CONSTRAINT_LE, "SQLITE_INDEX_CONSTRAINT_LE",
        "SQLITE_INDEX_CONSTRAINT_LIKE", SQLITE_INDEX_CONSTRAINT_LIKE, SQLITE_INDEX_CONSTRAINT_LIKE, "SQLITE_INDEX_CONSTRAINT_LIKE",
        "SQLITE_INDEX_CONSTRAINT_LIMIT", SQLITE_INDEX_CONSTRAINT_LIMIT, SQLITE_INDEX_CONSTRAINT_LIMIT, "SQLITE_INDEX_CONSTRAINT_LIMIT",
        "SQLITE_INDEX_CONSTRAINT_LT", SQLITE_INDEX_CONSTRAINT_LT, SQLITE_INDEX_CONSTRAINT_LT, "SQLITE_INDEX_CONSTRAINT_LT",
        "SQLITE_INDEX_CONSTRAINT_MATCH", SQLITE_INDEX_CONSTRAINT_MATCH, SQLITE_INDEX_CONSTRAINT_MATCH, "SQLITE_INDEX_CONSTRAINT_MATCH",
        "SQLITE_INDEX_CONSTRAINT_NE", SQLITE_INDEX_CONSTRAINT_NE, SQLITE_INDEX_CONSTRAINT_NE, "SQLITE_INDEX_CONSTRAINT_NE",
        "SQLITE_INDEX_CONSTRAINT_OFFSET", SQLITE_INDEX_CONSTRAINT_OFFSET, SQLITE_INDEX_CONSTRAINT_OFFSET, "SQLITE_INDEX_CONSTRAINT_OFFSET",
        "SQLITE_INDEX_CONSTRAINT_REGEXP", SQLITE_INDEX_CONSTRAINT_REGEXP, SQLITE_INDEX_CONSTRAINT_REGEXP, "SQLITE_INDEX_CONSTRAINT_REGEXP");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_bestindex_constraints", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }

    /* Virtual Table Scan Flags */
    the_dict = Py_BuildValue(
        "{siissiis}",
        "SQLITE_INDEX_SCAN_HEX", SQLITE_INDEX_SCAN_HEX, SQLITE_INDEX_SCAN_HEX, "SQLITE_INDEX_SCAN_HEX",
        "SQLITE_INDEX_SCAN_UNIQUE", SQLITE_INDEX_SCAN_UNIQUE, SQLITE_INDEX_SCAN_UNIQUE, "SQLITE_INDEX_SCAN_UNIQUE");
    if (!the_dict)
    {
        assert(PyErr_Occurred());
        return -1;
    }
    if (PyModule_AddObject(module, "mapping_virtual_table_scan_flags", the_dict))
    {
        assert(PyErr_Occurred());
        Py_DECREF(the_dict);
        return -1;
    }

    if (
        PyModule_AddIntConstant(module, "FTS5_TOKENIZE_AUX", FTS5_TOKENIZE_AUX)
        || PyModule_AddIntConstant(module, "FTS5_TOKENIZE_DOCUMENT", FTS5_TOKENIZE_DOCUMENT)
        || PyModule_AddIntConstant(module, "FTS5_TOKENIZE_PREFIX", FTS5_TOKENIZE_PREFIX)
        || PyModule_AddIntConstant(module, "FTS5_TOKENIZE_QUERY", FTS5_TOKENIZE_QUERY)
        || PyModule_AddIntConstant(module, "FTS5_TOKEN_COLOCATED", FTS5_TOKEN_COLOCATED)
        || PyModule_AddIntConstant(module, "SQLITE_ABORT", SQLITE_ABORT)
        || PyModule_AddIntConstant(module, "SQLITE_ABORT_ROLLBACK", SQLITE_ABORT_ROLLBACK)
        || PyModule_AddIntConstant(module, "SQLITE_ACCESS_EXISTS", SQLITE_ACCESS_EXISTS)
        || PyModule_AddIntConstant(module, "SQLITE_ACCESS_READ", SQLITE_ACCESS_READ)
        || PyModule_AddIntConstant(module, "SQLITE_ACCESS_READWRITE", SQLITE_ACCESS_READWRITE)
        || PyModule_AddIntConstant(module, "SQLITE_ALTER_TABLE", SQLITE_ALTER_TABLE)
        || PyModule_AddIntConstant(module, "SQLITE_ANALYZE", SQLITE_ANALYZE)
        || PyModule_AddIntConstant(module, "SQLITE_ATTACH", SQLITE_ATTACH)
        || PyModule_AddIntConstant(module, "SQLITE_AUTH", SQLITE_AUTH)
        || PyModule_AddIntConstant(module, "SQLITE_AUTH_USER", SQLITE_AUTH_USER)
        || PyModule_AddIntConstant(module, "SQLITE_BUSY", SQLITE_BUSY)
        || PyModule_AddIntConstant(module, "SQLITE_BUSY_RECOVERY", SQLITE_BUSY_RECOVERY)
        || PyModule_AddIntConstant(module, "SQLITE_BUSY_SNAPSHOT", SQLITE_BUSY_SNAPSHOT)
        || PyModule_AddIntConstant(module, "SQLITE_BUSY_TIMEOUT", SQLITE_BUSY_TIMEOUT)
        || PyModule_AddIntConstant(module, "SQLITE_CANTOPEN", SQLITE_CANTOPEN)
        || PyModule_AddIntConstant(module, "SQLITE_CANTOPEN_CONVPATH", SQLITE_CANTOPEN_CONVPATH)
        || PyModule_AddIntConstant(module, "SQLITE_CANTOPEN_DIRTYWAL", SQLITE_CANTOPEN_DIRTYWAL)
        || PyModule_AddIntConstant(module, "SQLITE_CANTOPEN_FULLPATH", SQLITE_CANTOPEN_FULLPATH)
        || PyModule_AddIntConstant(module, "SQLITE_CANTOPEN_ISDIR", SQLITE_CANTOPEN_ISDIR)
        || PyModule_AddIntConstant(module, "SQLITE_CANTOPEN_NOTEMPDIR", SQLITE_CANTOPEN_NOTEMPDIR)
        || PyModule_AddIntConstant(module, "SQLITE_CANTOPEN_SYMLINK", SQLITE_CANTOPEN_SYMLINK)
        || PyModule_AddIntConstant(module, "SQLITE_CHECKPOINT_FULL", SQLITE_CHECKPOINT_FULL)
        || PyModule_AddIntConstant(module, "SQLITE_CHECKPOINT_NOOP", SQLITE_CHECKPOINT_NOOP)
        || PyModule_AddIntConstant(module, "SQLITE_CHECKPOINT_PASSIVE", SQLITE_CHECKPOINT_PASSIVE)
        || PyModule_AddIntConstant(module, "SQLITE_CHECKPOINT_RESTART", SQLITE_CHECKPOINT_RESTART)
        || PyModule_AddIntConstant(module, "SQLITE_CHECKPOINT_TRUNCATE", SQLITE_CHECKPOINT_TRUNCATE)
        || PyModule_AddIntConstant(module, "SQLITE_CONFIG_COVERING_INDEX_SCAN", SQLITE_CONFIG_COVERING_INDEX_SCAN)
        || PyModule_AddIntConstant(module, "SQLITE_CONFIG_GETMALLOC", SQLITE_CONFIG_GETMALLOC)
        || PyModule_AddIntConstant(module, "SQLITE_CONFIG_GETMUTEX", SQLITE_CONFIG_GETMUTEX)
        || PyModule_AddIntConstant(module, "SQLITE_CONFIG_GETPCACHE", SQLITE_CONFIG_GETPCACHE)
        || PyModule_AddIntConstant(module, "SQLITE_CONFIG_GETPCACHE2", SQLITE_CONFIG_GETPCACHE2)
        || PyModule_AddIntConstant(module, "SQLITE_CONFIG_HEAP", SQLITE_CONFIG_HEAP)
        || PyModule_AddIntConstant(module, "SQLITE_CONFIG_LOG", SQLITE_CONFIG_LOG)
        || PyModule_AddIntConstant(module, "SQLITE_CONFIG_LOOKASIDE", SQLITE_CONFIG_LOOKASIDE)
        || PyModule_AddIntConstant(module, "SQLITE_CONFIG_MALLOC", SQLITE_CONFIG_MALLOC)
        || PyModule_AddIntConstant(module, "SQLITE_CONFIG_MEMDB_MAXSIZE", SQLITE_CONFIG_MEMDB_MAXSIZE)
        || PyModule_AddIntConstant(module, "SQLITE_CONFIG_MEMSTATUS", SQLITE_CONFIG_MEMSTATUS)
        || PyModule_AddIntConstant(module, "SQLITE_CONFIG_MMAP_SIZE", SQLITE_CONFIG_MMAP_SIZE)
        || PyModule_AddIntConstant(module, "SQLITE_CONFIG_MULTITHREAD", SQLITE_CONFIG_MULTITHREAD)
        || PyModule_AddIntConstant(module, "SQLITE_CONFIG_MUTEX", SQLITE_CONFIG_MUTEX)
        || PyModule_AddIntConstant(module, "SQLITE_CONFIG_PAGECACHE", SQLITE_CONFIG_PAGECACHE)
        || PyModule_AddIntConstant(module, "SQLITE_CONFIG_PCACHE", SQLITE_CONFIG_PCACHE)
        || PyModule_AddIntConstant(module, "SQLITE_CONFIG_PCACHE2", SQLITE_CONFIG_PCACHE2)
        || PyModule_AddIntConstant(module, "SQLITE_CONFIG_PCACHE_HDRSZ", SQLITE_CONFIG_PCACHE_HDRSZ)
        || PyModule_AddIntConstant(module, "SQLITE_CONFIG_PMASZ", SQLITE_CONFIG_PMASZ)
        || PyModule_AddIntConstant(module, "SQLITE_CONFIG_SCRATCH", SQLITE_CONFIG_SCRATCH)
        || PyModule_AddIntConstant(module, "SQLITE_CONFIG_SERIALIZED", SQLITE_CONFIG_SERIALIZED)
        || PyModule_AddIntConstant(module, "SQLITE_CONFIG_SINGLETHREAD", SQLITE_CONFIG_SINGLETHREAD)
        || PyModule_AddIntConstant(module, "SQLITE_CONFIG_SMALL_MALLOC", SQLITE_CONFIG_SMALL_MALLOC)
        || PyModule_AddIntConstant(module, "SQLITE_CONFIG_SORTERREF_SIZE", SQLITE_CONFIG_SORTERREF_SIZE)
        || PyModule_AddIntConstant(module, "SQLITE_CONFIG_SQLLOG", SQLITE_CONFIG_SQLLOG)
        || PyModule_AddIntConstant(module, "SQLITE_CONFIG_STMTJRNL_SPILL", SQLITE_CONFIG_STMTJRNL_SPILL)
        || PyModule_AddIntConstant(module, "SQLITE_CONFIG_URI", SQLITE_CONFIG_URI)
        || PyModule_AddIntConstant(module, "SQLITE_CONFIG_WIN32_HEAPSIZE", SQLITE_CONFIG_WIN32_HEAPSIZE)
        || PyModule_AddIntConstant(module, "SQLITE_CONSTRAINT", SQLITE_CONSTRAINT)
        || PyModule_AddIntConstant(module, "SQLITE_CONSTRAINT_CHECK", SQLITE_CONSTRAINT_CHECK)
        || PyModule_AddIntConstant(module, "SQLITE_CONSTRAINT_COMMITHOOK", SQLITE_CONSTRAINT_COMMITHOOK)
        || PyModule_AddIntConstant(module, "SQLITE_CONSTRAINT_DATATYPE", SQLITE_CONSTRAINT_DATATYPE)
        || PyModule_AddIntConstant(module, "SQLITE_CONSTRAINT_FOREIGNKEY", SQLITE_CONSTRAINT_FOREIGNKEY)
        || PyModule_AddIntConstant(module, "SQLITE_CONSTRAINT_FUNCTION", SQLITE_CONSTRAINT_FUNCTION)
        || PyModule_AddIntConstant(module, "SQLITE_CONSTRAINT_NOTNULL", SQLITE_CONSTRAINT_NOTNULL)
        || PyModule_AddIntConstant(module, "SQLITE_CONSTRAINT_PINNED", SQLITE_CONSTRAINT_PINNED)
        || PyModule_AddIntConstant(module, "SQLITE_CONSTRAINT_PRIMARYKEY", SQLITE_CONSTRAINT_PRIMARYKEY)
        || PyModule_AddIntConstant(module, "SQLITE_CONSTRAINT_ROWID", SQLITE_CONSTRAINT_ROWID)
        || PyModule_AddIntConstant(module, "SQLITE_CONSTRAINT_TRIGGER", SQLITE_CONSTRAINT_TRIGGER)
        || PyModule_AddIntConstant(module, "SQLITE_CONSTRAINT_UNIQUE", SQLITE_CONSTRAINT_UNIQUE)
        || PyModule_AddIntConstant(module, "SQLITE_CONSTRAINT_VTAB", SQLITE_CONSTRAINT_VTAB)
        || PyModule_AddIntConstant(module, "SQLITE_COPY", SQLITE_COPY)
        || PyModule_AddIntConstant(module, "SQLITE_CORRUPT", SQLITE_CORRUPT)
        || PyModule_AddIntConstant(module, "SQLITE_CORRUPT_INDEX", SQLITE_CORRUPT_INDEX)
        || PyModule_AddIntConstant(module, "SQLITE_CORRUPT_SEQUENCE", SQLITE_CORRUPT_SEQUENCE)
        || PyModule_AddIntConstant(module, "SQLITE_CORRUPT_VTAB", SQLITE_CORRUPT_VTAB)
        || PyModule_AddIntConstant(module, "SQLITE_CREATE_INDEX", SQLITE_CREATE_INDEX)
        || PyModule_AddIntConstant(module, "SQLITE_CREATE_TABLE", SQLITE_CREATE_TABLE)
        || PyModule_AddIntConstant(module, "SQLITE_CREATE_TEMP_INDEX", SQLITE_CREATE_TEMP_INDEX)
        || PyModule_AddIntConstant(module, "SQLITE_CREATE_TEMP_TABLE", SQLITE_CREATE_TEMP_TABLE)
        || PyModule_AddIntConstant(module, "SQLITE_CREATE_TEMP_TRIGGER", SQLITE_CREATE_TEMP_TRIGGER)
        || PyModule_AddIntConstant(module, "SQLITE_CREATE_TEMP_VIEW", SQLITE_CREATE_TEMP_VIEW)
        || PyModule_AddIntConstant(module, "SQLITE_CREATE_TRIGGER", SQLITE_CREATE_TRIGGER)
        || PyModule_AddIntConstant(module, "SQLITE_CREATE_VIEW", SQLITE_CREATE_VIEW)
        || PyModule_AddIntConstant(module, "SQLITE_CREATE_VTABLE", SQLITE_CREATE_VTABLE)
        || PyModule_AddIntConstant(module, "SQLITE_DBCONFIG_DEFENSIVE", SQLITE_DBCONFIG_DEFENSIVE)
        || PyModule_AddIntConstant(module, "SQLITE_DBCONFIG_DQS_DDL", SQLITE_DBCONFIG_DQS_DDL)
        || PyModule_AddIntConstant(module, "SQLITE_DBCONFIG_DQS_DML", SQLITE_DBCONFIG_DQS_DML)
        || PyModule_AddIntConstant(module, "SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE", SQLITE_DBCONFIG_ENABLE_ATTACH_CREATE)
        || PyModule_AddIntConstant(module, "SQLITE_DBCONFIG_ENABLE_ATTACH_WRITE", SQLITE_DBCONFIG_ENABLE_ATTACH_WRITE)
        || PyModule_AddIntConstant(module, "SQLITE_DBCONFIG_ENABLE_COMMENTS", SQLITE_DBCONFIG_ENABLE_COMMENTS)
        || PyModule_AddIntConstant(module, "SQLITE_DBCONFIG_ENABLE_FKEY", SQLITE_DBCONFIG_ENABLE_FKEY)
        || PyModule_AddIntConstant(module, "SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER", SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER)
        || PyModule_AddIntConstant(module, "SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION", SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION)
        || PyModule_AddIntConstant(module, "SQLITE_DBCONFIG_ENABLE_QPSG", SQLITE_DBCONFIG_ENABLE_QPSG)
        || PyModule_AddIntConstant(module, "SQLITE_DBCONFIG_ENABLE_TRIGGER", SQLITE_DBCONFIG_ENABLE_TRIGGER)
        || PyModule_AddIntConstant(module, "SQLITE_DBCONFIG_ENABLE_VIEW", SQLITE_DBCONFIG_ENABLE_VIEW)
        || PyModule_AddIntConstant(module, "SQLITE_DBCONFIG_FP_DIGITS", SQLITE_DBCONFIG_FP_DIGITS)
        || PyModule_AddIntConstant(module, "SQLITE_DBCONFIG_LEGACY_ALTER_TABLE", SQLITE_DBCONFIG_LEGACY_ALTER_TABLE)
        || PyModule_AddIntConstant(module, "SQLITE_DBCONFIG_LEGACY_FILE_FORMAT", SQLITE_DBCONFIG_LEGACY_FILE_FORMAT)
        || PyModule_AddIntConstant(module, "SQLITE_DBCONFIG_LOOKASIDE", SQLITE_DBCONFIG_LOOKASIDE)
        || PyModule_AddIntConstant(module, "SQLITE_DBCONFIG_MAINDBNAME", SQLITE_DBCONFIG_MAINDBNAME)
        || PyModule_AddIntConstant(module, "SQLITE_DBCONFIG_MAX", SQLITE_DBCONFIG_MAX)
        || PyModule_AddIntConstant(module, "SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE", SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE)
        || PyModule_AddIntConstant(module, "SQLITE_DBCONFIG_RESET_DATABASE", SQLITE_DBCONFIG_RESET_DATABASE)
        || PyModule_AddIntConstant(module, "SQLITE_DBCONFIG_REVERSE_SCANORDER", SQLITE_DBCONFIG_REVERSE_SCANORDER)
        || PyModule_AddIntConstant(module, "SQLITE_DBCONFIG_STMT_SCANSTATUS", SQLITE_DBCONFIG_STMT_SCANSTATUS)
        || PyModule_AddIntConstant(module, "SQLITE_DBCONFIG_TRIGGER_EQP", SQLITE_DBCONFIG_TRIGGER_EQP)
        || PyModule_AddIntConstant(module, "SQLITE_DBCONFIG_TRUSTED_SCHEMA", SQLITE_DBCONFIG_TRUSTED_SCHEMA)
        || PyModule_AddIntConstant(module, "SQLITE_DBCONFIG_WRITABLE_SCHEMA", SQLITE_DBCONFIG_WRITABLE_SCHEMA)
        || PyModule_AddIntConstant(module, "SQLITE_DBSTATUS_CACHE_HIT", SQLITE_DBSTATUS_CACHE_HIT)
        || PyModule_AddIntConstant(module, "SQLITE_DBSTATUS_CACHE_MISS", SQLITE_DBSTATUS_CACHE_MISS)
        || PyModule_AddIntConstant(module, "SQLITE_DBSTATUS_CACHE_SPILL", SQLITE_DBSTATUS_CACHE_SPILL)
        || PyModule_AddIntConstant(module, "SQLITE_DBSTATUS_CACHE_USED", SQLITE_DBSTATUS_CACHE_USED)
        || PyModule_AddIntConstant(module, "SQLITE_DBSTATUS_CACHE_USED_SHARED", SQLITE_DBSTATUS_CACHE_USED_SHARED)
        || PyModule_AddIntConstant(module, "SQLITE_DBSTATUS_CACHE_WRITE", SQLITE_DBSTATUS_CACHE_WRITE)
        || PyModule_AddIntConstant(module, "SQLITE_DBSTATUS_DEFERRED_FKS", SQLITE_DBSTATUS_DEFERRED_FKS)
        || PyModule_AddIntConstant(module, "SQLITE_DBSTATUS_LOOKASIDE_HIT", SQLITE_DBSTATUS_LOOKASIDE_HIT)
        || PyModule_AddIntConstant(module, "SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL", SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL)
        || PyModule_AddIntConstant(module, "SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE", SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE)
        || PyModule_AddIntConstant(module, "SQLITE_DBSTATUS_LOOKASIDE_USED", SQLITE_DBSTATUS_LOOKASIDE_USED)
        || PyModule_AddIntConstant(module, "SQLITE_DBSTATUS_MAX", SQLITE_DBSTATUS_MAX)
        || PyModule_AddIntConstant(module, "SQLITE_DBSTATUS_SCHEMA_USED", SQLITE_DBSTATUS_SCHEMA_USED)
        || PyModule_AddIntConstant(module, "SQLITE_DBSTATUS_STMT_USED", SQLITE_DBSTATUS_STMT_USED)
        || PyModule_AddIntConstant(module, "SQLITE_DBSTATUS_TEMPBUF_SPILL", SQLITE_DBSTATUS_TEMPBUF_SPILL)
        || PyModule_AddIntConstant(module, "SQLITE_DELETE", SQLITE_DELETE)
        || PyModule_AddIntConstant(module, "SQLITE_DENY", SQLITE_DENY)
        || PyModule_AddIntConstant(module, "SQLITE_DETACH", SQLITE_DETACH)
        || PyModule_AddIntConstant(module, "SQLITE_DETERMINISTIC", SQLITE_DETERMINISTIC)
        || PyModule_AddIntConstant(module, "SQLITE_DIRECTONLY", SQLITE_DIRECTONLY)
        || PyModule_AddIntConstant(module, "SQLITE_DONE", SQLITE_DONE)
        || PyModule_AddIntConstant(module, "SQLITE_DROP_INDEX", SQLITE_DROP_INDEX)
        || PyModule_AddIntConstant(module, "SQLITE_DROP_TABLE", SQLITE_DROP_TABLE)
        || PyModule_AddIntConstant(module, "SQLITE_DROP_TEMP_INDEX", SQLITE_DROP_TEMP_INDEX)
        || PyModule_AddIntConstant(module, "SQLITE_DROP_TEMP_TABLE", SQLITE_DROP_TEMP_TABLE)
        || PyModule_AddIntConstant(module, "SQLITE_DROP_TEMP_TRIGGER", SQLITE_DROP_TEMP_TRIGGER)
        || PyModule_AddIntConstant(module, "SQLITE_DROP_TEMP_VIEW", SQLITE_DROP_TEMP_VIEW)
        || PyModule_AddIntConstant(module, "SQLITE_DROP_TRIGGER", SQLITE_DROP_TRIGGER)
        || PyModule_AddIntConstant(module, "SQLITE_DROP_VIEW", SQLITE_DROP_VIEW)
        || PyModule_AddIntConstant(module, "SQLITE_DROP_VTABLE", SQLITE_DROP_VTABLE)
        || PyModule_AddIntConstant(module, "SQLITE_EMPTY", SQLITE_EMPTY)
        || PyModule_AddIntConstant(module, "SQLITE_ERROR", SQLITE_ERROR)
        || PyModule_AddIntConstant(module, "SQLITE_ERROR_KEY", SQLITE_ERROR_KEY)
        || PyModule_AddIntConstant(module, "SQLITE_ERROR_MISSING_COLLSEQ", SQLITE_ERROR_MISSING_COLLSEQ)
        || PyModule_AddIntConstant(module, "SQLITE_ERROR_RESERVESIZE", SQLITE_ERROR_RESERVESIZE)
        || PyModule_AddIntConstant(module, "SQLITE_ERROR_RETRY", SQLITE_ERROR_RETRY)
        || PyModule_AddIntConstant(module, "SQLITE_ERROR_SNAPSHOT", SQLITE_ERROR_SNAPSHOT)
        || PyModule_AddIntConstant(module, "SQLITE_ERROR_UNABLE", SQLITE_ERROR_UNABLE)
        || PyModule_AddIntConstant(module, "SQLITE_FAIL", SQLITE_FAIL)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_BEGIN_ATOMIC_WRITE", SQLITE_FCNTL_BEGIN_ATOMIC_WRITE)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_BLOCK_ON_CONNECT", SQLITE_FCNTL_BLOCK_ON_CONNECT)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_BUSYHANDLER", SQLITE_FCNTL_BUSYHANDLER)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_CHUNK_SIZE", SQLITE_FCNTL_CHUNK_SIZE)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_CKPT_DONE", SQLITE_FCNTL_CKPT_DONE)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_CKPT_START", SQLITE_FCNTL_CKPT_START)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_CKSM_FILE", SQLITE_FCNTL_CKSM_FILE)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_COMMIT_ATOMIC_WRITE", SQLITE_FCNTL_COMMIT_ATOMIC_WRITE)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_COMMIT_PHASETWO", SQLITE_FCNTL_COMMIT_PHASETWO)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_DATA_VERSION", SQLITE_FCNTL_DATA_VERSION)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_EXTERNAL_READER", SQLITE_FCNTL_EXTERNAL_READER)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_FILESTAT", SQLITE_FCNTL_FILESTAT)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_FILE_POINTER", SQLITE_FCNTL_FILE_POINTER)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_GET_LOCKPROXYFILE", SQLITE_FCNTL_GET_LOCKPROXYFILE)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_HAS_MOVED", SQLITE_FCNTL_HAS_MOVED)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_JOURNAL_POINTER", SQLITE_FCNTL_JOURNAL_POINTER)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_LAST_ERRNO", SQLITE_FCNTL_LAST_ERRNO)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_LOCKSTATE", SQLITE_FCNTL_LOCKSTATE)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_LOCK_TIMEOUT", SQLITE_FCNTL_LOCK_TIMEOUT)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_MMAP_SIZE", SQLITE_FCNTL_MMAP_SIZE)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_NULL_IO", SQLITE_FCNTL_NULL_IO)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_OVERWRITE", SQLITE_FCNTL_OVERWRITE)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_PDB", SQLITE_FCNTL_PDB)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_PERSIST_WAL", SQLITE_FCNTL_PERSIST_WAL)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_POWERSAFE_OVERWRITE", SQLITE_FCNTL_POWERSAFE_OVERWRITE)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_PRAGMA", SQLITE_FCNTL_PRAGMA)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_RBU", SQLITE_FCNTL_RBU)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_RESERVE_BYTES", SQLITE_FCNTL_RESERVE_BYTES)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_RESET_CACHE", SQLITE_FCNTL_RESET_CACHE)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE", SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_SET_LOCKPROXYFILE", SQLITE_FCNTL_SET_LOCKPROXYFILE)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_SIZE_HINT", SQLITE_FCNTL_SIZE_HINT)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_SIZE_LIMIT", SQLITE_FCNTL_SIZE_LIMIT)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_SYNC", SQLITE_FCNTL_SYNC)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_SYNC_OMITTED", SQLITE_FCNTL_SYNC_OMITTED)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_TEMPFILENAME", SQLITE_FCNTL_TEMPFILENAME)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_TRACE", SQLITE_FCNTL_TRACE)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_VFSNAME", SQLITE_FCNTL_VFSNAME)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_VFS_POINTER", SQLITE_FCNTL_VFS_POINTER)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_WAL_BLOCK", SQLITE_FCNTL_WAL_BLOCK)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_WIN32_AV_RETRY", SQLITE_FCNTL_WIN32_AV_RETRY)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_WIN32_GET_HANDLE", SQLITE_FCNTL_WIN32_GET_HANDLE)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_WIN32_SET_HANDLE", SQLITE_FCNTL_WIN32_SET_HANDLE)
        || PyModule_AddIntConstant(module, "SQLITE_FCNTL_ZIPVFS", SQLITE_FCNTL_ZIPVFS)
        || PyModule_AddIntConstant(module, "SQLITE_FORMAT", SQLITE_FORMAT)
        || PyModule_AddIntConstant(module, "SQLITE_FULL", SQLITE_FULL)
        || PyModule_AddIntConstant(module, "SQLITE_FUNCTION", SQLITE_FUNCTION)
        || PyModule_AddIntConstant(module, "SQLITE_IGNORE", SQLITE_IGNORE)
        || PyModule_AddIntConstant(module, "SQLITE_INDEX_CONSTRAINT_EQ", SQLITE_INDEX_CONSTRAINT_EQ)
        || PyModule_AddIntConstant(module, "SQLITE_INDEX_CONSTRAINT_FUNCTION", SQLITE_INDEX_CONSTRAINT_FUNCTION)
        || PyModule_AddIntConstant(module, "SQLITE_INDEX_CONSTRAINT_GE", SQLITE_INDEX_CONSTRAINT_GE)
        || PyModule_AddIntConstant(module, "SQLITE_INDEX_CONSTRAINT_GLOB", SQLITE_INDEX_CONSTRAINT_GLOB)
        || PyModule_AddIntConstant(module, "SQLITE_INDEX_CONSTRAINT_GT", SQLITE_INDEX_CONSTRAINT_GT)
        || PyModule_AddIntConstant(module, "SQLITE_INDEX_CONSTRAINT_IS", SQLITE_INDEX_CONSTRAINT_IS)
        || PyModule_AddIntConstant(module, "SQLITE_INDEX_CONSTRAINT_ISNOT", SQLITE_INDEX_CONSTRAINT_ISNOT)
        || PyModule_AddIntConstant(module, "SQLITE_INDEX_CONSTRAINT_ISNOTNULL", SQLITE_INDEX_CONSTRAINT_ISNOTNULL)
        || PyModule_AddIntConstant(module, "SQLITE_INDEX_CONSTRAINT_ISNULL", SQLITE_INDEX_CONSTRAINT_ISNULL)
        || PyModule_AddIntConstant(module, "SQLITE_INDEX_CONSTRAINT_LE", SQLITE_INDEX_CONSTRAINT_LE)
        || PyModule_AddIntConstant(module, "SQLITE_INDEX_CONSTRAINT_LIKE", SQLITE_INDEX_CONSTRAINT_LIKE)
        || PyModule_AddIntConstant(module, "SQLITE_INDEX_CONSTRAINT_LIMIT", SQLITE_INDEX_CONSTRAINT_LIMIT)
        || PyModule_AddIntConstant(module, "SQLITE_INDEX_CONSTRAINT_LT", SQLITE_INDEX_CONSTRAINT_LT)
        || PyModule_AddIntConstant(module, "SQLITE_INDEX_CONSTRAINT_MATCH", SQLITE_INDEX_CONSTRAINT_MATCH)
        || PyModule_AddIntConstant(module, "SQLITE_INDEX_CONSTRAINT_NE", SQLITE_INDEX_CONSTRAINT_NE)
        || PyModule_AddIntConstant(module, "SQLITE_INDEX_CONSTRAINT_OFFSET", SQLITE_INDEX_CONSTRAINT_OFFSET)
        || PyModule_AddIntConstant(module, "SQLITE_INDEX_CONSTRAINT_REGEXP", SQLITE_INDEX_CONSTRAINT_REGEXP)
        || PyModule_AddIntConstant(module, "SQLITE_INDEX_SCAN_HEX", SQLITE_INDEX_SCAN_HEX)
        || PyModule_AddIntConstant(module, "SQLITE_INDEX_SCAN_UNIQUE", SQLITE_INDEX_SCAN_UNIQUE)
        || PyModule_AddIntConstant(module, "SQLITE_INNOCUOUS", SQLITE_INNOCUOUS)
        || PyModule_AddIntConstant(module, "SQLITE_INSERT", SQLITE_INSERT)
        || PyModule_AddIntConstant(module, "SQLITE_INTERNAL", SQLITE_INTERNAL)
        || PyModule_AddIntConstant(module, "SQLITE_INTERRUPT", SQLITE_INTERRUPT)
        || PyModule_AddIntConstant(module, "SQLITE_IOCAP_ATOMIC", SQLITE_IOCAP_ATOMIC)
        || PyModule_AddIntConstant(module, "SQLITE_IOCAP_ATOMIC16K", SQLITE_IOCAP_ATOMIC16K)
        || PyModule_AddIntConstant(module, "SQLITE_IOCAP_ATOMIC1K", SQLITE_IOCAP_ATOMIC1K)
        || PyModule_AddIntConstant(module, "SQLITE_IOCAP_ATOMIC2K", SQLITE_IOCAP_ATOMIC2K)
        || PyModule_AddIntConstant(module, "SQLITE_IOCAP_ATOMIC32K", SQLITE_IOCAP_ATOMIC32K)
        || PyModule_AddIntConstant(module, "SQLITE_IOCAP_ATOMIC4K", SQLITE_IOCAP_ATOMIC4K)
        || PyModule_AddIntConstant(module, "SQLITE_IOCAP_ATOMIC512", SQLITE_IOCAP_ATOMIC512)
        || PyModule_AddIntConstant(module, "SQLITE_IOCAP_ATOMIC64K", SQLITE_IOCAP_ATOMIC64K)
        || PyModule_AddIntConstant(module, "SQLITE_IOCAP_ATOMIC8K", SQLITE_IOCAP_ATOMIC8K)
        || PyModule_AddIntConstant(module, "SQLITE_IOCAP_BATCH_ATOMIC", SQLITE_IOCAP_BATCH_ATOMIC)
        || PyModule_AddIntConstant(module, "SQLITE_IOCAP_IMMUTABLE", SQLITE_IOCAP_IMMUTABLE)
        || PyModule_AddIntConstant(module, "SQLITE_IOCAP_POWERSAFE_OVERWRITE", SQLITE_IOCAP_POWERSAFE_OVERWRITE)
        || PyModule_AddIntConstant(module, "SQLITE_IOCAP_SAFE_APPEND", SQLITE_IOCAP_SAFE_APPEND)
        || PyModule_AddIntConstant(module, "SQLITE_IOCAP_SEQUENTIAL", SQLITE_IOCAP_SEQUENTIAL)
        || PyModule_AddIntConstant(module, "SQLITE_IOCAP_SUBPAGE_READ", SQLITE_IOCAP_SUBPAGE_READ)
        || PyModule_AddIntConstant(module, "SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN", SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR", SQLITE_IOERR)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_ACCESS", SQLITE_IOERR_ACCESS)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_AUTH", SQLITE_IOERR_AUTH)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_BADKEY", SQLITE_IOERR_BADKEY)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_BEGIN_ATOMIC", SQLITE_IOERR_BEGIN_ATOMIC)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_BLOCKED", SQLITE_IOERR_BLOCKED)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_CHECKRESERVEDLOCK", SQLITE_IOERR_CHECKRESERVEDLOCK)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_CLOSE", SQLITE_IOERR_CLOSE)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_CODEC", SQLITE_IOERR_CODEC)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_COMMIT_ATOMIC", SQLITE_IOERR_COMMIT_ATOMIC)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_CONVPATH", SQLITE_IOERR_CONVPATH)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_CORRUPTFS", SQLITE_IOERR_CORRUPTFS)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_DATA", SQLITE_IOERR_DATA)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_DELETE", SQLITE_IOERR_DELETE)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_DELETE_NOENT", SQLITE_IOERR_DELETE_NOENT)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_DIR_CLOSE", SQLITE_IOERR_DIR_CLOSE)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_DIR_FSYNC", SQLITE_IOERR_DIR_FSYNC)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_FSTAT", SQLITE_IOERR_FSTAT)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_FSYNC", SQLITE_IOERR_FSYNC)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_GETTEMPPATH", SQLITE_IOERR_GETTEMPPATH)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_IN_PAGE", SQLITE_IOERR_IN_PAGE)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_LOCK", SQLITE_IOERR_LOCK)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_MMAP", SQLITE_IOERR_MMAP)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_NOMEM", SQLITE_IOERR_NOMEM)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_RDLOCK", SQLITE_IOERR_RDLOCK)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_READ", SQLITE_IOERR_READ)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_ROLLBACK_ATOMIC", SQLITE_IOERR_ROLLBACK_ATOMIC)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_SEEK", SQLITE_IOERR_SEEK)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_SHMLOCK", SQLITE_IOERR_SHMLOCK)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_SHMMAP", SQLITE_IOERR_SHMMAP)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_SHMOPEN", SQLITE_IOERR_SHMOPEN)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_SHMSIZE", SQLITE_IOERR_SHMSIZE)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_SHORT_READ", SQLITE_IOERR_SHORT_READ)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_TRUNCATE", SQLITE_IOERR_TRUNCATE)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_UNLOCK", SQLITE_IOERR_UNLOCK)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_VNODE", SQLITE_IOERR_VNODE)
        || PyModule_AddIntConstant(module, "SQLITE_IOERR_WRITE", SQLITE_IOERR_WRITE)
        || PyModule_AddIntConstant(module, "SQLITE_LIMIT_ATTACHED", SQLITE_LIMIT_ATTACHED)
        || PyModule_AddIntConstant(module, "SQLITE_LIMIT_COLUMN", SQLITE_LIMIT_COLUMN)
        || PyModule_AddIntConstant(module, "SQLITE_LIMIT_COMPOUND_SELECT", SQLITE_LIMIT_COMPOUND_SELECT)
        || PyModule_AddIntConstant(module, "SQLITE_LIMIT_EXPR_DEPTH", SQLITE_LIMIT_EXPR_DEPTH)
        || PyModule_AddIntConstant(module, "SQLITE_LIMIT_FUNCTION_ARG", SQLITE_LIMIT_FUNCTION_ARG)
        || PyModule_AddIntConstant(module, "SQLITE_LIMIT_LENGTH", SQLITE_LIMIT_LENGTH)
        || PyModule_AddIntConstant(module, "SQLITE_LIMIT_LIKE_PATTERN_LENGTH", SQLITE_LIMIT_LIKE_PATTERN_LENGTH)
        || PyModule_AddIntConstant(module, "SQLITE_LIMIT_PARSER_DEPTH", SQLITE_LIMIT_PARSER_DEPTH)
        || PyModule_AddIntConstant(module, "SQLITE_LIMIT_SQL_LENGTH", SQLITE_LIMIT_SQL_LENGTH)
        || PyModule_AddIntConstant(module, "SQLITE_LIMIT_TRIGGER_DEPTH", SQLITE_LIMIT_TRIGGER_DEPTH)
        || PyModule_AddIntConstant(module, "SQLITE_LIMIT_VARIABLE_NUMBER", SQLITE_LIMIT_VARIABLE_NUMBER)
        || PyModule_AddIntConstant(module, "SQLITE_LIMIT_VDBE_OP", SQLITE_LIMIT_VDBE_OP)
        || PyModule_AddIntConstant(module, "SQLITE_LIMIT_WORKER_THREADS", SQLITE_LIMIT_WORKER_THREADS)
        || PyModule_AddIntConstant(module, "SQLITE_LOCKED", SQLITE_LOCKED)
        || PyModule_AddIntConstant(module, "SQLITE_LOCKED_SHAREDCACHE", SQLITE_LOCKED_SHAREDCACHE)
        || PyModule_AddIntConstant(module, "SQLITE_LOCKED_VTAB", SQLITE_LOCKED_VTAB)
        || PyModule_AddIntConstant(module, "SQLITE_LOCK_EXCLUSIVE", SQLITE_LOCK_EXCLUSIVE)
        || PyModule_AddIntConstant(module, "SQLITE_LOCK_NONE", SQLITE_LOCK_NONE)
        || PyModule_AddIntConstant(module, "SQLITE_LOCK_PENDING", SQLITE_LOCK_PENDING)
        || PyModule_AddIntConstant(module, "SQLITE_LOCK_RESERVED", SQLITE_LOCK_RESERVED)
        || PyModule_AddIntConstant(module, "SQLITE_LOCK_SHARED", SQLITE_LOCK_SHARED)
        || PyModule_AddIntConstant(module, "SQLITE_MISMATCH", SQLITE_MISMATCH)
        || PyModule_AddIntConstant(module, "SQLITE_MISUSE", SQLITE_MISUSE)
        || PyModule_AddIntConstant(module, "SQLITE_NOLFS", SQLITE_NOLFS)
        || PyModule_AddIntConstant(module, "SQLITE_NOMEM", SQLITE_NOMEM)
        || PyModule_AddIntConstant(module, "SQLITE_NOTADB", SQLITE_NOTADB)
        || PyModule_AddIntConstant(module, "SQLITE_NOTFOUND", SQLITE_NOTFOUND)
        || PyModule_AddIntConstant(module, "SQLITE_NOTICE", SQLITE_NOTICE)
        || PyModule_AddIntConstant(module, "SQLITE_NOTICE_RBU", SQLITE_NOTICE_RBU)
        || PyModule_AddIntConstant(module, "SQLITE_NOTICE_RECOVER_ROLLBACK", SQLITE_NOTICE_RECOVER_ROLLBACK)
        || PyModule_AddIntConstant(module, "SQLITE_NOTICE_RECOVER_WAL", SQLITE_NOTICE_RECOVER_WAL)
        || PyModule_AddIntConstant(module, "SQLITE_OK", SQLITE_OK)
        || PyModule_AddIntConstant(module, "SQLITE_OK_LOAD_PERMANENTLY", SQLITE_OK_LOAD_PERMANENTLY)
        || PyModule_AddIntConstant(module, "SQLITE_OK_SYMLINK", SQLITE_OK_SYMLINK)
        || PyModule_AddIntConstant(module, "SQLITE_OPEN_AUTOPROXY", SQLITE_OPEN_AUTOPROXY)
        || PyModule_AddIntConstant(module, "SQLITE_OPEN_CREATE", SQLITE_OPEN_CREATE)
        || PyModule_AddIntConstant(module, "SQLITE_OPEN_DELETEONCLOSE", SQLITE_OPEN_DELETEONCLOSE)
        || PyModule_AddIntConstant(module, "SQLITE_OPEN_EXCLUSIVE", SQLITE_OPEN_EXCLUSIVE)
        || PyModule_AddIntConstant(module, "SQLITE_OPEN_EXRESCODE", SQLITE_OPEN_EXRESCODE)
        || PyModule_AddIntConstant(module, "SQLITE_OPEN_FULLMUTEX", SQLITE_OPEN_FULLMUTEX)
        || PyModule_AddIntConstant(module, "SQLITE_OPEN_MAIN_DB", SQLITE_OPEN_MAIN_DB)
        || PyModule_AddIntConstant(module, "SQLITE_OPEN_MAIN_JOURNAL", SQLITE_OPEN_MAIN_JOURNAL)
        || PyModule_AddIntConstant(module, "SQLITE_OPEN_MEMORY", SQLITE_OPEN_MEMORY)
        || PyModule_AddIntConstant(module, "SQLITE_OPEN_NOFOLLOW", SQLITE_OPEN_NOFOLLOW)
        || PyModule_AddIntConstant(module, "SQLITE_OPEN_NOMUTEX", SQLITE_OPEN_NOMUTEX)
        || PyModule_AddIntConstant(module, "SQLITE_OPEN_PRIVATECACHE", SQLITE_OPEN_PRIVATECACHE)
        || PyModule_AddIntConstant(module, "SQLITE_OPEN_READONLY", SQLITE_OPEN_READONLY)
        || PyModule_AddIntConstant(module, "SQLITE_OPEN_READWRITE", SQLITE_OPEN_READWRITE)
        || PyModule_AddIntConstant(module, "SQLITE_OPEN_SHAREDCACHE", SQLITE_OPEN_SHAREDCACHE)
        || PyModule_AddIntConstant(module, "SQLITE_OPEN_SUBJOURNAL", SQLITE_OPEN_SUBJOURNAL)
        || PyModule_AddIntConstant(module, "SQLITE_OPEN_SUPER_JOURNAL", SQLITE_OPEN_SUPER_JOURNAL)
        || PyModule_AddIntConstant(module, "SQLITE_OPEN_TEMP_DB", SQLITE_OPEN_TEMP_DB)
        || PyModule_AddIntConstant(module, "SQLITE_OPEN_TEMP_JOURNAL", SQLITE_OPEN_TEMP_JOURNAL)
        || PyModule_AddIntConstant(module, "SQLITE_OPEN_TRANSIENT_DB", SQLITE_OPEN_TRANSIENT_DB)
        || PyModule_AddIntConstant(module, "SQLITE_OPEN_URI", SQLITE_OPEN_URI)
        || PyModule_AddIntConstant(module, "SQLITE_OPEN_WAL", SQLITE_OPEN_WAL)
        || PyModule_AddIntConstant(module, "SQLITE_PERM", SQLITE_PERM)
        || PyModule_AddIntConstant(module, "SQLITE_PRAGMA", SQLITE_PRAGMA)
        || PyModule_AddIntConstant(module, "SQLITE_PREPARE_DONT_LOG", SQLITE_PREPARE_DONT_LOG)
        || PyModule_AddIntConstant(module, "SQLITE_PREPARE_FROM_DDL", SQLITE_PREPARE_FROM_DDL)
        || PyModule_AddIntConstant(module, "SQLITE_PREPARE_NORMALIZE", SQLITE_PREPARE_NORMALIZE)
        || PyModule_AddIntConstant(module, "SQLITE_PREPARE_NO_VTAB", SQLITE_PREPARE_NO_VTAB)
        || PyModule_AddIntConstant(module, "SQLITE_PREPARE_PERSISTENT", SQLITE_PREPARE_PERSISTENT)
        || PyModule_AddIntConstant(module, "SQLITE_PROTOCOL", SQLITE_PROTOCOL)
        || PyModule_AddIntConstant(module, "SQLITE_RANGE", SQLITE_RANGE)
        || PyModule_AddIntConstant(module, "SQLITE_READ", SQLITE_READ)
        || PyModule_AddIntConstant(module, "SQLITE_READONLY", SQLITE_READONLY)
        || PyModule_AddIntConstant(module, "SQLITE_READONLY_CANTINIT", SQLITE_READONLY_CANTINIT)
        || PyModule_AddIntConstant(module, "SQLITE_READONLY_CANTLOCK", SQLITE_READONLY_CANTLOCK)
        || PyModule_AddIntConstant(module, "SQLITE_READONLY_DBMOVED", SQLITE_READONLY_DBMOVED)
        || PyModule_AddIntConstant(module, "SQLITE_READONLY_DIRECTORY", SQLITE_READONLY_DIRECTORY)
        || PyModule_AddIntConstant(module, "SQLITE_READONLY_RECOVERY", SQLITE_READONLY_RECOVERY)
        || PyModule_AddIntConstant(module, "SQLITE_READONLY_ROLLBACK", SQLITE_READONLY_ROLLBACK)
        || PyModule_AddIntConstant(module, "SQLITE_RECURSIVE", SQLITE_RECURSIVE)
        || PyModule_AddIntConstant(module, "SQLITE_REINDEX", SQLITE_REINDEX)
        || PyModule_AddIntConstant(module, "SQLITE_REPLACE", SQLITE_REPLACE)
        || PyModule_AddIntConstant(module, "SQLITE_RESULT_SUBTYPE", SQLITE_RESULT_SUBTYPE)
        || PyModule_AddIntConstant(module, "SQLITE_ROLLBACK", SQLITE_ROLLBACK)
        || PyModule_AddIntConstant(module, "SQLITE_ROW", SQLITE_ROW)
        || PyModule_AddIntConstant(module, "SQLITE_SAVEPOINT", SQLITE_SAVEPOINT)
        || PyModule_AddIntConstant(module, "SQLITE_SCHEMA", SQLITE_SCHEMA)
        || PyModule_AddIntConstant(module, "SQLITE_SELECT", SQLITE_SELECT)
        || PyModule_AddIntConstant(module, "SQLITE_SELFORDER1", SQLITE_SELFORDER1)
        || PyModule_AddIntConstant(module, "SQLITE_SETLK_BLOCK_ON_CONNECT", SQLITE_SETLK_BLOCK_ON_CONNECT)
        || PyModule_AddIntConstant(module, "SQLITE_SHM_EXCLUSIVE", SQLITE_SHM_EXCLUSIVE)
        || PyModule_AddIntConstant(module, "SQLITE_SHM_LOCK", SQLITE_SHM_LOCK)
        || PyModule_AddIntConstant(module, "SQLITE_SHM_SHARED", SQLITE_SHM_SHARED)
        || PyModule_AddIntConstant(module, "SQLITE_SHM_UNLOCK", SQLITE_SHM_UNLOCK)
        || PyModule_AddIntConstant(module, "SQLITE_STATUS_MALLOC_COUNT", SQLITE_STATUS_MALLOC_COUNT)
        || PyModule_AddIntConstant(module, "SQLITE_STATUS_MALLOC_SIZE", SQLITE_STATUS_MALLOC_SIZE)
        || PyModule_AddIntConstant(module, "SQLITE_STATUS_MEMORY_USED", SQLITE_STATUS_MEMORY_USED)
        || PyModule_AddIntConstant(module, "SQLITE_STATUS_PAGECACHE_OVERFLOW", SQLITE_STATUS_PAGECACHE_OVERFLOW)
        || PyModule_AddIntConstant(module, "SQLITE_STATUS_PAGECACHE_SIZE", SQLITE_STATUS_PAGECACHE_SIZE)
        || PyModule_AddIntConstant(module, "SQLITE_STATUS_PAGECACHE_USED", SQLITE_STATUS_PAGECACHE_USED)
        || PyModule_AddIntConstant(module, "SQLITE_STATUS_PARSER_STACK", SQLITE_STATUS_PARSER_STACK)
        || PyModule_AddIntConstant(module, "SQLITE_STATUS_SCRATCH_OVERFLOW", SQLITE_STATUS_SCRATCH_OVERFLOW)
        || PyModule_AddIntConstant(module, "SQLITE_STATUS_SCRATCH_SIZE", SQLITE_STATUS_SCRATCH_SIZE)
        || PyModule_AddIntConstant(module, "SQLITE_STATUS_SCRATCH_USED", SQLITE_STATUS_SCRATCH_USED)
        || PyModule_AddIntConstant(module, "SQLITE_STMTSTATUS_AUTOINDEX", SQLITE_STMTSTATUS_AUTOINDEX)
        || PyModule_AddIntConstant(module, "SQLITE_STMTSTATUS_FILTER_HIT", SQLITE_STMTSTATUS_FILTER_HIT)
        || PyModule_AddIntConstant(module, "SQLITE_STMTSTATUS_FILTER_MISS", SQLITE_STMTSTATUS_FILTER_MISS)
        || PyModule_AddIntConstant(module, "SQLITE_STMTSTATUS_FULLSCAN_STEP", SQLITE_STMTSTATUS_FULLSCAN_STEP)
        || PyModule_AddIntConstant(module, "SQLITE_STMTSTATUS_MEMUSED", SQLITE_STMTSTATUS_MEMUSED)
        || PyModule_AddIntConstant(module, "SQLITE_STMTSTATUS_REPREPARE", SQLITE_STMTSTATUS_REPREPARE)
        || PyModule_AddIntConstant(module, "SQLITE_STMTSTATUS_RUN", SQLITE_STMTSTATUS_RUN)
        || PyModule_AddIntConstant(module, "SQLITE_STMTSTATUS_SORT", SQLITE_STMTSTATUS_SORT)
        || PyModule_AddIntConstant(module, "SQLITE_STMTSTATUS_VM_STEP", SQLITE_STMTSTATUS_VM_STEP)
        || PyModule_AddIntConstant(module, "SQLITE_SUBTYPE", SQLITE_SUBTYPE)
        || PyModule_AddIntConstant(module, "SQLITE_SYNC_DATAONLY", SQLITE_SYNC_DATAONLY)
        || PyModule_AddIntConstant(module, "SQLITE_SYNC_FULL", SQLITE_SYNC_FULL)
        || PyModule_AddIntConstant(module, "SQLITE_SYNC_NORMAL", SQLITE_SYNC_NORMAL)
        || PyModule_AddIntConstant(module, "SQLITE_TOOBIG", SQLITE_TOOBIG)
        || PyModule_AddIntConstant(module, "SQLITE_TRACE_CLOSE", SQLITE_TRACE_CLOSE)
        || PyModule_AddIntConstant(module, "SQLITE_TRACE_PROFILE", SQLITE_TRACE_PROFILE)
        || PyModule_AddIntConstant(module, "SQLITE_TRACE_ROW", SQLITE_TRACE_ROW)
        || PyModule_AddIntConstant(module, "SQLITE_TRACE_STMT", SQLITE_TRACE_STMT)
        || PyModule_AddIntConstant(module, "SQLITE_TRANSACTION", SQLITE_TRANSACTION)
        || PyModule_AddIntConstant(module, "SQLITE_TXN_NONE", SQLITE_TXN_NONE)
        || PyModule_AddIntConstant(module, "SQLITE_TXN_READ", SQLITE_TXN_READ)
        || PyModule_AddIntConstant(module, "SQLITE_TXN_WRITE", SQLITE_TXN_WRITE)
        || PyModule_AddIntConstant(module, "SQLITE_UPDATE", SQLITE_UPDATE)
        || PyModule_AddIntConstant(module, "SQLITE_VTAB_CONSTRAINT_SUPPORT", SQLITE_VTAB_CONSTRAINT_SUPPORT)
        || PyModule_AddIntConstant(module, "SQLITE_VTAB_DIRECTONLY", SQLITE_VTAB_DIRECTONLY)
        || PyModule_AddIntConstant(module, "SQLITE_VTAB_INNOCUOUS", SQLITE_VTAB_INNOCUOUS)
        || PyModule_AddIntConstant(module, "SQLITE_VTAB_USES_ALL_SCHEMAS", SQLITE_VTAB_USES_ALL_SCHEMAS)
        || PyModule_AddIntConstant(module, "SQLITE_WARNING", SQLITE_WARNING)
        || PyModule_AddIntConstant(module, "SQLITE_WARNING_AUTOINDEX", SQLITE_WARNING_AUTOINDEX)
#ifdef SQLITE_ENABLE_CARRAY
        || PyModule_AddIntConstant(module, "SQLITE_CARRAY_BLOB", SQLITE_CARRAY_BLOB)
        || PyModule_AddIntConstant(module, "SQLITE_CARRAY_DOUBLE", SQLITE_CARRAY_DOUBLE)
        || PyModule_AddIntConstant(module, "SQLITE_CARRAY_INT32", SQLITE_CARRAY_INT32)
        || PyModule_AddIntConstant(module, "SQLITE_CARRAY_INT64", SQLITE_CARRAY_INT64)
        || PyModule_AddIntConstant(module, "SQLITE_CARRAY_TEXT", SQLITE_CARRAY_TEXT)
#endif /* SQLITE_ENABLE_CARRAY */
#ifdef SQLITE_ENABLE_SESSION
        || PyModule_AddIntConstant(module, "SQLITE_CHANGESETAPPLY_FKNOACTION", SQLITE_CHANGESETAPPLY_FKNOACTION)
        || PyModule_AddIntConstant(module, "SQLITE_CHANGESETAPPLY_IGNORENOOP", SQLITE_CHANGESETAPPLY_IGNORENOOP)
        || PyModule_AddIntConstant(module, "SQLITE_CHANGESETAPPLY_INVERT", SQLITE_CHANGESETAPPLY_INVERT)
        || PyModule_AddIntConstant(module, "SQLITE_CHANGESETAPPLY_NOSAVEPOINT", SQLITE_CHANGESETAPPLY_NOSAVEPOINT)
        || PyModule_AddIntConstant(module, "SQLITE_CHANGESETSTART_INVERT", SQLITE_CHANGESETSTART_INVERT)
        || PyModule_AddIntConstant(module, "SQLITE_CHANGESET_ABORT", SQLITE_CHANGESET_ABORT)
        || PyModule_AddIntConstant(module, "SQLITE_CHANGESET_CONFLICT", SQLITE_CHANGESET_CONFLICT)
        || PyModule_AddIntConstant(module, "SQLITE_CHANGESET_CONSTRAINT", SQLITE_CHANGESET_CONSTRAINT)
        || PyModule_AddIntConstant(module, "SQLITE_CHANGESET_DATA", SQLITE_CHANGESET_DATA)
        || PyModule_AddIntConstant(module, "SQLITE_CHANGESET_FOREIGN_KEY", SQLITE_CHANGESET_FOREIGN_KEY)
        || PyModule_AddIntConstant(module, "SQLITE_CHANGESET_NOTFOUND", SQLITE_CHANGESET_NOTFOUND)
        || PyModule_AddIntConstant(module, "SQLITE_CHANGESET_OMIT", SQLITE_CHANGESET_OMIT)
        || PyModule_AddIntConstant(module, "SQLITE_CHANGESET_REPLACE", SQLITE_CHANGESET_REPLACE)
        || PyModule_AddIntConstant(module, "SQLITE_SESSION_CONFIG_STRMSIZE", SQLITE_SESSION_CONFIG_STRMSIZE)
        || PyModule_AddIntConstant(module, "SQLITE_SESSION_OBJCONFIG_ROWID", SQLITE_SESSION_OBJCONFIG_ROWID)
        || PyModule_AddIntConstant(module, "SQLITE_SESSION_OBJCONFIG_SIZE", SQLITE_SESSION_OBJCONFIG_SIZE)
#endif /* SQLITE_ENABLE_SESSION */
    )
        return -1;

    assert(!PyErr_Occurred());
    return 0;
}

