sqlite3_initialize must be called explicitly to avoid access violation writing 0x0000000000000000
using SQLITE_TRANSIENT as -1 causes access violation writing 0x00000000FFFFFFFF. This is probably since Python casts -1 to c_int, when it should be a pointer, and so c_void_p. Maybe in a later change could change it to SQLITE_STATIC, but not doing that now to keep this change small.
And in tests:
to allow the test SQLite database to be deleted, the cursor and connection objects have to be removed from scope. Otherwise Windows thinks the file object is still open, and refuses to allow the deletion of the database at the end of the test
It looks like for Windows in the production code:
sqlite3_initialize must be called explicitly to avoid access violation writing 0x0000000000000000
using SQLITE_TRANSIENT as -1 causes access violation writing 0x00000000FFFFFFFF. This is probably since Python casts -1 to c_int, when it should be a pointer, and so c_void_p. Maybe in a later change could change it to SQLITE_STATIC, but not doing that now to keep this change small.
And in tests:
Closes: https://github.com/michalc/sqlite-s3-query/issues/46