MODULE SQLiteSmoke; (* First end-to-end SQLite binding test: :memory: open/exec/close. *) FROM SYSTEM IMPORT ADDRESS; FROM SQLite IMPORT SQLiteOk, sqlite3_open, sqlite3_exec, sqlite3_close; VAR ExitCode : INTEGER; db : ADDRESS; rc : INTEGER; BEGIN db := NIL; rc := sqlite3_open(":memory:", db); IF (rc = SQLiteOk) AND (db # NIL) THEN rc := sqlite3_exec(db, "CREATE TABLE t(x INTEGER);", NIL, NIL, NIL); IF rc = SQLiteOk THEN rc := sqlite3_exec(db, "INSERT INTO t VALUES (42);", NIL, NIL, NIL) END END; IF db # NIL THEN IF sqlite3_close(db) # SQLiteOk THEN rc := 1 END END; IF rc = SQLiteOk THEN ExitCode := 42 ELSE ExitCode := 1 END END SQLiteSmoke.