-
Notifications
You must be signed in to change notification settings - Fork 51
Decouple outdated SQLite3 Btree dependency #22
Description
Right now, the module src/runtime/c/sg includes a custom version (namely sqlite3Btree.{c,h}) of an outdated snapshot of SQLite's source.
These files mention functions such as sqlite3StrICmp which are nowhere defined and are thus leading to undefined reference errors; at least when building for Windows which does not allow unknown references in shared libraries afaik. See also https://groups.google.com/forum/#!topic/gf-dev/BkYwEl0SE00 where the exact issued build instructions can be found.
I tried replacing sqlite3Btree.{c,h} by the most recent SQLite3 amalgamation files, however, the internal API of sqlite3Btree changed.
For example, the old sqlite3BtreeInsert's function signature contained in this repository looks like
GF/src/runtime/c/sg/sqlite3Btree.h
Lines 601 to 603 in 6cf80c0
| int sqlite3BtreeInsert(BtCursor*, const void *pKey, i64 nKey, | |
| const void *pData, int nData, | |
| int nZero, int bias, int seekResult); |
but the current one (as found in the amalgamation sqlite3.c) looks like
SQLITE_PRIVATE int sqlite3BtreeInsert(BtCursor*, const BtreePayload *pPayload,
int flags, int seekResult);As SQLITE_PRIVATE also indicates, the Btree API was never meant to be stable and publicly accessible.