Skip to content

Commit a77eb49

Browse files
committed
Improved portability to older SQLite3 versions
1 parent 2380ba3 commit a77eb49

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

CHANGES.md

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1-
### ?.?.? (????-??-??)
1+
### 5.0.1 (2019-12-01)
22

33
* Added missing :with-test declaration in Dune project file.
44

5+
* Improved portability to older SQLite3 versions.
6+
57

68
### 5.0.0 (2019-12-01)
79

src/sqlite3_stubs.c

+2-2
Original file line numberDiff line numberDiff line change
@@ -540,10 +540,10 @@ CAMLprim value caml_sqlite3_open(
540540
size_t db_wrap_size = sizeof(db_wrap);
541541
db_wrap *dbw = caml_stat_alloc(db_wrap_size);
542542
value v_res;
543+
#if (OCAML_VERSION_MAJOR >= 4 && OCAML_VERSION_MINOR >= 8 && SQLITE_DBSTATUS_CACHE_USED)
543544
int mem, hiwtr;
544545
int rc = sqlite3_db_status(db, SQLITE_DBSTATUS_CACHE_USED, &mem, &hiwtr, 0);
545546
mem = db_wrap_size + (rc ? 8192 : mem);
546-
#if (OCAML_VERSION_MAJOR >= 4 && OCAML_VERSION_MINOR >= 8)
547547
v_res = caml_alloc_custom_mem(&db_wrap_ops, sizeof(db_wrap *), mem);
548548
#else
549549
v_res = caml_alloc_custom(&db_wrap_ops, sizeof(db_wrap *), 1, 1000);
@@ -906,7 +906,7 @@ static inline value prepare_it(
906906
if (rc != SQLITE_OK) raise_sqlite3_current(dbw->db, loc);
907907
raise_sqlite3_Error("No code compiled from %s", sql);
908908
} else {
909-
#if (OCAML_VERSION_MAJOR >= 4 && OCAML_VERSION_MINOR >= 8)
909+
#if (OCAML_VERSION_MAJOR >= 4 && OCAML_VERSION_MINOR >= 8 && SQLITE_STMTSTATUS_MEMUSED)
910910
size_t mem =
911911
sizeof(stmt_wrap) + sql_len + 1 +
912912
sqlite3_stmt_status(stmtw->stmt, SQLITE_STMTSTATUS_MEMUSED, 0);

0 commit comments

Comments
 (0)