Skip to content
This repository was archived by the owner on Jul 26, 2018. It is now read-only.
This repository was archived by the owner on Jul 26, 2018. It is now read-only.

Decouple outdated SQLite3 Btree dependency #22

@ComFreek

Description

@ComFreek

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

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions