DEFINITION MODULE SQLiteUtils; (* Small V3 helpers over the raw SQLite binding. *) FROM SYSTEM IMPORT ADDRESS; FROM SQLite IMPORT DbHandle, StmtHandle, ContextHandle, ValueHandle; EXPORT UNQUALIFIED CStrToM2, ErrMsg, ErrStr, LibVersionStr, StaticDestr, TransientDestr, BindTextCopy, BindBlobCopy, PrepareOne, ValueText, ResultTextCopy, BackupToFile, ExecSimple, ExecWithErr; PROCEDURE CStrToM2 (src : ADDRESS; VAR dst : ARRAY OF CHAR); PROCEDURE ErrMsg (db : DbHandle; VAR buf : ARRAY OF CHAR); PROCEDURE ErrStr (code : INTEGER; VAR buf : ARRAY OF CHAR); PROCEDURE LibVersionStr (VAR buf : ARRAY OF CHAR); PROCEDURE StaticDestr () : ADDRESS; PROCEDURE TransientDestr () : ADDRESS; PROCEDURE BindTextCopy (stmt : StmtHandle; idx : INTEGER; value : ARRAY OF CHAR) : INTEGER; PROCEDURE BindBlobCopy (stmt : StmtHandle; idx : INTEGER; data : ADDRESS; nBytes : INTEGER) : INTEGER; PROCEDURE PrepareOne (db : DbHandle; sql : ARRAY OF CHAR; VAR stmt : StmtHandle) : INTEGER; (* Prepare one statement with sqlite3_prepare_v3(..., tail). *) PROCEDURE ValueText (value : ValueHandle; VAR buf : ARRAY OF CHAR); PROCEDURE ResultTextCopy (ctx : ContextHandle; value : ARRAY OF CHAR); PROCEDURE BackupToFile (src : DbHandle; filename : ARRAY OF CHAR) : INTEGER; PROCEDURE ExecSimple (db : DbHandle; sql : ARRAY OF CHAR) : INTEGER; PROCEDURE ExecWithErr (db : DbHandle; sql : ARRAY OF CHAR; VAR errbuf : ARRAY OF CHAR) : INTEGER; END SQLiteUtils.