| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- DEFINITION MODULE SQLiteUtils ;
- (*
- m2SQLITE - small pure-Modula-2 helpers over the FOR "C" SQLite
- binding. CStrToM2 copies NUL-terminated C strings (ADDRESS)
- into Modula-2 CHAR arrays (NUL-terminated, truncated to fit).
- StaticDestr/TransientDestr return the SQLITE_STATIC and
- SQLITE_TRANSIENT destructor sentinels; BindTextCopy/BindBlobCopy
- bind with SQLITE_TRANSIENT so SQLite copies the value.
- *)
- FROM SYSTEM IMPORT ADDRESS;
- FROM SQLite IMPORT DbHandle, StmtHandle, ContextHandle, ValueHandle,
- BackupHandle;
- EXPORT UNQUALIFIED
- CStrToM2, ErrMsg, ErrStr, LibVersionStr,
- StaticDestr, TransientDestr,
- BindTextCopy, BindBlobCopy,
- ValueText, ResultTextCopy,
- BackupToFile,
- GetTable, TableCell, FreeTable,
- 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;
- v: ARRAY OF CHAR) : INTEGER;
- PROCEDURE BindBlobCopy (stmt: StmtHandle; idx: INTEGER;
- data: ADDRESS; n: INTEGER) : INTEGER;
- PROCEDURE ValueText (v: ValueHandle; VAR buf: ARRAY OF CHAR);
- PROCEDURE ResultTextCopy (ctx: ContextHandle; str: ARRAY OF CHAR);
- PROCEDURE BackupToFile (srcDb: DbHandle;
- filename: ARRAY OF CHAR) : INTEGER;
- PROCEDURE GetTable (db: DbHandle; sql: ARRAY OF CHAR;
- VAR tbl: ADDRESS; VAR rows, cols: INTEGER;
- VAR errbuf: ARRAY OF CHAR) : INTEGER;
- PROCEDURE TableCell (tbl: ADDRESS; cols, row, col: INTEGER;
- VAR buf: ARRAY OF CHAR);
- PROCEDURE FreeTable (tbl: ADDRESS);
- PROCEDURE ExecSimple (db: DbHandle; sql: ARRAY OF CHAR) : INTEGER;
- PROCEDURE ExecWithErr (db: DbHandle; sql: ARRAY OF CHAR;
- VAR buf: ARRAY OF CHAR) : INTEGER;
- END SQLiteUtils.
|