SQLiteSmoke.mod 765 B

123456789101112131415161718192021222324252627282930313233
  1. MODULE SQLiteSmoke;
  2. (* First end-to-end SQLite binding test: :memory: open/exec/close. *)
  3. FROM SYSTEM IMPORT ADDRESS;
  4. FROM SQLite IMPORT SQLiteOk, sqlite3_open, sqlite3_exec, sqlite3_close;
  5. VAR
  6. ExitCode : INTEGER;
  7. db : ADDRESS;
  8. rc : INTEGER;
  9. BEGIN
  10. db := NIL;
  11. rc := sqlite3_open(":memory:", db);
  12. IF (rc = SQLiteOk) AND (db # NIL) THEN
  13. rc := sqlite3_exec(db, "CREATE TABLE t(x INTEGER);",
  14. NIL, NIL, NIL);
  15. IF rc = SQLiteOk THEN
  16. rc := sqlite3_exec(db, "INSERT INTO t VALUES (42);",
  17. NIL, NIL, NIL)
  18. END
  19. END;
  20. IF db # NIL THEN
  21. IF sqlite3_close(db) # SQLiteOk THEN
  22. rc := 1
  23. END
  24. END;
  25. IF rc = SQLiteOk THEN
  26. ExitCode := 42
  27. ELSE
  28. ExitCode := 1
  29. END
  30. END SQLiteSmoke.