Eric Streit ae7ce54516 bindings: add SQLite prepared statements 1 hari lalu
..
tests ae7ce54516 bindings: add SQLite prepared statements 1 hari lalu
.gitignore d3be70cc90 bindings: add SQLite open/exec/close smoke test 2 hari lalu
README.md ae7ce54516 bindings: add SQLite prepared statements 1 hari lalu
SQLite.def ae7ce54516 bindings: add SQLite prepared statements 1 hari lalu
run.sh ae7ce54516 bindings: add SQLite prepared statements 1 hari lalu

README.md

SQLite binding (first slice)

This is the first end-to-end V3 C binding test, not a replacement for the full m2SQLITE binding.

Current surface:

sqlite3_open
sqlite3_exec
sqlite3_close
sqlite3_prepare_v2
sqlite3_bind_int
sqlite3_bind_text
sqlite3_step
sqlite3_column_int
sqlite3_column_text
sqlite3_finalize
SQLiteOk
SQLiteRow
SQLiteDone

The smoke tests open an in-memory database, execute SQL, bind parameters, read a row and close the handle.

Build/run

./run.sh

The script uses pkg-config --libs sqlite3 when available; otherwise it links the versioned runtime library directly:

/usr/lib/x86_64-linux-gnu/libsqlite3.so.0

That fallback matters on systems with the SQLite runtime installed but without libsqlite3-dev.

Notes

  • sqlite3_open, sqlite3_exec, prepare and bind_text exercise the C string ABI.
  • VAR db : ADDRESS / VAR stmt : ADDRESS exercise opaque C handles.
  • sqlite3_column_text returns CStr.CString, converted with CStr.Copy.
  • The prepared-statement test is SQLitePrepared.mod.
  • The full m2SQLITE definition remains the source for later API coverage; error strings, column types, resets and callbacks are next.