|
|
@@ -92,6 +92,29 @@ EXPORT UNQUALIFIED
|
|
|
SQLiteUtf8, SQLiteUtf16LE, SQLiteUtf16BE, SQLiteUtf16, SQLiteUtfAny,
|
|
|
SQLiteDeterministic, SQLiteDirectOnly, SQLiteSubtype,
|
|
|
SQLiteInnocuous, SQLiteResultSubtype, SQLiteSelfOrder1,
|
|
|
+ SQLiteErrorMissingCollSeq, SQLiteErrorRetry, SQLiteErrorSnapshot, SQLiteErrorReserveSize,
|
|
|
+ SQLiteErrorKey, SQLiteErrorUnable, SQLiteIoErrRead, SQLiteIoErrShortRead,
|
|
|
+ SQLiteIoErrWrite, SQLiteIoErrFsync, SQLiteIoErrDirFsync, SQLiteIoErrTruncate,
|
|
|
+ SQLiteIoErrFstat, SQLiteIoErrUnlock, SQLiteIoErrRdlock, SQLiteIoErrDelete,
|
|
|
+ SQLiteIoErrBlocked, SQLiteIoErrNomem, SQLiteIoErrAccess, SQLiteIoErrCheckReservedLock,
|
|
|
+ SQLiteIoErrLock, SQLiteIoErrClose, SQLiteIoErrDirClose, SQLiteIoErrShmOpen,
|
|
|
+ SQLiteIoErrShmSize, SQLiteIoErrShmLock, SQLiteIoErrShmMap, SQLiteIoErrSeek,
|
|
|
+ SQLiteIoErrDeleteNoEnt, SQLiteIoErrMmap, SQLiteIoErrGetTempPath, SQLiteIoErrConvPath,
|
|
|
+ SQLiteIoErrVnode, SQLiteIoErrAuth, SQLiteIoErrBeginAtomic, SQLiteIoErrCommitAtomic,
|
|
|
+ SQLiteIoErrRollbackAtomic, SQLiteIoErrData, SQLiteIoErrCorruptFs, SQLiteIoErrInPage,
|
|
|
+ SQLiteIoErrBadKey, SQLiteIoErrCodec, SQLiteLockedSharedCache, SQLiteLockedVtab,
|
|
|
+ SQLiteBusyRecovery, SQLiteBusySnapshot, SQLiteBusyTimeout, SQLiteCantOpenNoTempDir,
|
|
|
+ SQLiteCantOpenIsDir, SQLiteCantOpenFullPath, SQLiteCantOpenConvPath, SQLiteCantOpenDirtyWal,
|
|
|
+ SQLiteCantOpenSymlink, SQLiteCorruptVtab, SQLiteCorruptSequence, SQLiteCorruptIndex,
|
|
|
+ SQLiteReadOnlyRecovery, SQLiteReadOnlyCantLock, SQLiteReadOnlyRollback, SQLiteReadOnlyDbMoved,
|
|
|
+ SQLiteReadOnlyCantInit, SQLiteReadOnlyDirectory, SQLiteAbortRollback, SQLiteConstraintCheck,
|
|
|
+ SQLiteConstraintCommitHook, SQLiteConstraintForeignKey, SQLiteConstraintFunction, SQLiteConstraintNotNull,
|
|
|
+ SQLiteConstraintPrimaryKey, SQLiteConstraintTrigger, SQLiteConstraintUnique, SQLiteConstraintVtab,
|
|
|
+ SQLiteConstraintRowid, SQLiteConstraintPinned, SQLiteConstraintDatatype, SQLiteNoticeRecoverWal,
|
|
|
+ SQLiteNoticeRecoverRollback, SQLiteNoticeRbu, SQLiteWarningAutoIndex, SQLiteAuthUser,
|
|
|
+ SQLiteOkLoadPermanently, SQLiteOkSymlink,
|
|
|
+
|
|
|
+ sqlite3_get_table, sqlite3_free_table,
|
|
|
|
|
|
sqlite3_create_function, sqlite3_create_function_v2,
|
|
|
sqlite3_value_blob, sqlite3_value_double, sqlite3_value_int,
|
|
|
@@ -230,6 +253,89 @@ CONST
|
|
|
SQLiteInnocuous = 2097152;
|
|
|
SQLiteResultSubtype = 16777216;
|
|
|
SQLiteSelfOrder1 = 33554432;
|
|
|
+ (* --- extended result codes, values from sqlite.h.in --- *)
|
|
|
+ SQLiteErrorMissingCollSeq = 257; (* SQLITE_ERROR_MISSING_COLLSEQ *)
|
|
|
+ SQLiteErrorRetry = 513; (* SQLITE_ERROR_RETRY *)
|
|
|
+ SQLiteErrorSnapshot = 769; (* SQLITE_ERROR_SNAPSHOT *)
|
|
|
+ SQLiteErrorReserveSize = 1025; (* SQLITE_ERROR_RESERVESIZE *)
|
|
|
+ SQLiteErrorKey = 1281; (* SQLITE_ERROR_KEY *)
|
|
|
+ SQLiteErrorUnable = 1537; (* SQLITE_ERROR_UNABLE *)
|
|
|
+ SQLiteIoErrRead = 266; (* SQLITE_IOERR_READ *)
|
|
|
+ SQLiteIoErrShortRead = 522; (* SQLITE_IOERR_SHORT_READ *)
|
|
|
+ SQLiteIoErrWrite = 778; (* SQLITE_IOERR_WRITE *)
|
|
|
+ SQLiteIoErrFsync = 1034; (* SQLITE_IOERR_FSYNC *)
|
|
|
+ SQLiteIoErrDirFsync = 1290; (* SQLITE_IOERR_DIR_FSYNC *)
|
|
|
+ SQLiteIoErrTruncate = 1546; (* SQLITE_IOERR_TRUNCATE *)
|
|
|
+ SQLiteIoErrFstat = 1802; (* SQLITE_IOERR_FSTAT *)
|
|
|
+ SQLiteIoErrUnlock = 2058; (* SQLITE_IOERR_UNLOCK *)
|
|
|
+ SQLiteIoErrRdlock = 2314; (* SQLITE_IOERR_RDLOCK *)
|
|
|
+ SQLiteIoErrDelete = 2570; (* SQLITE_IOERR_DELETE *)
|
|
|
+ SQLiteIoErrBlocked = 2826; (* SQLITE_IOERR_BLOCKED *)
|
|
|
+ SQLiteIoErrNomem = 3082; (* SQLITE_IOERR_NOMEM *)
|
|
|
+ SQLiteIoErrAccess = 3338; (* SQLITE_IOERR_ACCESS *)
|
|
|
+ SQLiteIoErrCheckReservedLock = 3594; (* SQLITE_IOERR_CHECKRESERVEDLOCK *)
|
|
|
+ SQLiteIoErrLock = 3850; (* SQLITE_IOERR_LOCK *)
|
|
|
+ SQLiteIoErrClose = 4106; (* SQLITE_IOERR_CLOSE *)
|
|
|
+ SQLiteIoErrDirClose = 4362; (* SQLITE_IOERR_DIR_CLOSE *)
|
|
|
+ SQLiteIoErrShmOpen = 4618; (* SQLITE_IOERR_SHMOPEN *)
|
|
|
+ SQLiteIoErrShmSize = 4874; (* SQLITE_IOERR_SHMSIZE *)
|
|
|
+ SQLiteIoErrShmLock = 5130; (* SQLITE_IOERR_SHMLOCK *)
|
|
|
+ SQLiteIoErrShmMap = 5386; (* SQLITE_IOERR_SHMMAP *)
|
|
|
+ SQLiteIoErrSeek = 5642; (* SQLITE_IOERR_SEEK *)
|
|
|
+ SQLiteIoErrDeleteNoEnt = 5898; (* SQLITE_IOERR_DELETE_NOENT *)
|
|
|
+ SQLiteIoErrMmap = 6154; (* SQLITE_IOERR_MMAP *)
|
|
|
+ SQLiteIoErrGetTempPath = 6410; (* SQLITE_IOERR_GETTEMPPATH *)
|
|
|
+ SQLiteIoErrConvPath = 6666; (* SQLITE_IOERR_CONVPATH *)
|
|
|
+ SQLiteIoErrVnode = 6922; (* SQLITE_IOERR_VNODE *)
|
|
|
+ SQLiteIoErrAuth = 7178; (* SQLITE_IOERR_AUTH *)
|
|
|
+ SQLiteIoErrBeginAtomic = 7434; (* SQLITE_IOERR_BEGIN_ATOMIC *)
|
|
|
+ SQLiteIoErrCommitAtomic = 7690; (* SQLITE_IOERR_COMMIT_ATOMIC *)
|
|
|
+ SQLiteIoErrRollbackAtomic = 7946; (* SQLITE_IOERR_ROLLBACK_ATOMIC *)
|
|
|
+ SQLiteIoErrData = 8202; (* SQLITE_IOERR_DATA *)
|
|
|
+ SQLiteIoErrCorruptFs = 8458; (* SQLITE_IOERR_CORRUPTFS *)
|
|
|
+ SQLiteIoErrInPage = 8714; (* SQLITE_IOERR_IN_PAGE *)
|
|
|
+ SQLiteIoErrBadKey = 8970; (* SQLITE_IOERR_BADKEY *)
|
|
|
+ SQLiteIoErrCodec = 9226; (* SQLITE_IOERR_CODEC *)
|
|
|
+ SQLiteLockedSharedCache = 262; (* SQLITE_LOCKED_SHAREDCACHE *)
|
|
|
+ SQLiteLockedVtab = 518; (* SQLITE_LOCKED_VTAB *)
|
|
|
+ SQLiteBusyRecovery = 261; (* SQLITE_BUSY_RECOVERY *)
|
|
|
+ SQLiteBusySnapshot = 517; (* SQLITE_BUSY_SNAPSHOT *)
|
|
|
+ SQLiteBusyTimeout = 773; (* SQLITE_BUSY_TIMEOUT *)
|
|
|
+ SQLiteCantOpenNoTempDir = 270; (* SQLITE_CANTOPEN_NOTEMPDIR *)
|
|
|
+ SQLiteCantOpenIsDir = 526; (* SQLITE_CANTOPEN_ISDIR *)
|
|
|
+ SQLiteCantOpenFullPath = 782; (* SQLITE_CANTOPEN_FULLPATH *)
|
|
|
+ SQLiteCantOpenConvPath = 1038; (* SQLITE_CANTOPEN_CONVPATH *)
|
|
|
+ SQLiteCantOpenDirtyWal = 1294; (* SQLITE_CANTOPEN_DIRTYWAL *)
|
|
|
+ SQLiteCantOpenSymlink = 1550; (* SQLITE_CANTOPEN_SYMLINK *)
|
|
|
+ SQLiteCorruptVtab = 267; (* SQLITE_CORRUPT_VTAB *)
|
|
|
+ SQLiteCorruptSequence = 523; (* SQLITE_CORRUPT_SEQUENCE *)
|
|
|
+ SQLiteCorruptIndex = 779; (* SQLITE_CORRUPT_INDEX *)
|
|
|
+ SQLiteReadOnlyRecovery = 264; (* SQLITE_READONLY_RECOVERY *)
|
|
|
+ SQLiteReadOnlyCantLock = 520; (* SQLITE_READONLY_CANTLOCK *)
|
|
|
+ SQLiteReadOnlyRollback = 776; (* SQLITE_READONLY_ROLLBACK *)
|
|
|
+ SQLiteReadOnlyDbMoved = 1032; (* SQLITE_READONLY_DBMOVED *)
|
|
|
+ SQLiteReadOnlyCantInit = 1288; (* SQLITE_READONLY_CANTINIT *)
|
|
|
+ SQLiteReadOnlyDirectory = 1544; (* SQLITE_READONLY_DIRECTORY *)
|
|
|
+ SQLiteAbortRollback = 516; (* SQLITE_ABORT_ROLLBACK *)
|
|
|
+ SQLiteConstraintCheck = 275; (* SQLITE_CONSTRAINT_CHECK *)
|
|
|
+ SQLiteConstraintCommitHook = 531; (* SQLITE_CONSTRAINT_COMMITHOOK *)
|
|
|
+ SQLiteConstraintForeignKey = 787; (* SQLITE_CONSTRAINT_FOREIGNKEY *)
|
|
|
+ SQLiteConstraintFunction = 1043; (* SQLITE_CONSTRAINT_FUNCTION *)
|
|
|
+ SQLiteConstraintNotNull = 1299; (* SQLITE_CONSTRAINT_NOTNULL *)
|
|
|
+ SQLiteConstraintPrimaryKey = 1555; (* SQLITE_CONSTRAINT_PRIMARYKEY *)
|
|
|
+ SQLiteConstraintTrigger = 1811; (* SQLITE_CONSTRAINT_TRIGGER *)
|
|
|
+ SQLiteConstraintUnique = 2067; (* SQLITE_CONSTRAINT_UNIQUE *)
|
|
|
+ SQLiteConstraintVtab = 2323; (* SQLITE_CONSTRAINT_VTAB *)
|
|
|
+ SQLiteConstraintRowid = 2579; (* SQLITE_CONSTRAINT_ROWID *)
|
|
|
+ SQLiteConstraintPinned = 2835; (* SQLITE_CONSTRAINT_PINNED *)
|
|
|
+ SQLiteConstraintDatatype = 3091; (* SQLITE_CONSTRAINT_DATATYPE *)
|
|
|
+ SQLiteNoticeRecoverWal = 283; (* SQLITE_NOTICE_RECOVER_WAL *)
|
|
|
+ SQLiteNoticeRecoverRollback = 539; (* SQLITE_NOTICE_RECOVER_ROLLBACK *)
|
|
|
+ SQLiteNoticeRbu = 795; (* SQLITE_NOTICE_RBU *)
|
|
|
+ SQLiteWarningAutoIndex = 284; (* SQLITE_WARNING_AUTOINDEX *)
|
|
|
+ SQLiteAuthUser = 279; (* SQLITE_AUTH_USER *)
|
|
|
+ SQLiteOkLoadPermanently = 256; (* SQLITE_OK_LOAD_PERMANENTLY *)
|
|
|
+ SQLiteOkSymlink = 512; (* SQLITE_OK_SYMLINK *)
|
|
|
|
|
|
|
|
|
(* const char *sqlite3_libversion(void) *)
|
|
|
@@ -525,4 +631,15 @@ PROCEDURE sqlite3_backup_finish (bk: BackupHandle) : INTEGER;
|
|
|
PROCEDURE sqlite3_backup_remaining (bk: BackupHandle) : INTEGER;
|
|
|
PROCEDURE sqlite3_backup_pagecount (bk: BackupHandle) : INTEGER;
|
|
|
|
|
|
+(* One-step query into a result table. On success tbl points to
|
|
|
+ cols header strings followed by rows times cols value strings,
|
|
|
+ NULL for SQL NULL; rows and cols report the dimensions. Pass
|
|
|
+ ADR(msg) or NIL for the error message, free it with sqlite3_free.
|
|
|
+ Release the table with sqlite3_free_table. See SQLiteUtils for
|
|
|
+ the GetTable wrapper and TableCell reader. *)
|
|
|
+PROCEDURE sqlite3_get_table (db: DbHandle; sql: ARRAY OF CHAR;
|
|
|
+ VAR tbl: ADDRESS; VAR rows, cols: INTEGER;
|
|
|
+ errmsg: ADDRESS) : INTEGER;
|
|
|
+PROCEDURE sqlite3_free_table (tbl: ADDRESS);
|
|
|
+
|
|
|
END SQLite.
|