/* * Symbol prefix for the vendored SQLite build. * * The sx JIT resolves #foreign symbols via dlsym(RTLD_DEFAULT), which * searches every image already loaded into the process — and the OS * libsqlite3 is usually among them, so the standard names would silently * bind to the system copy instead of this vendored one. Prefixing the * API surface makes resolution unambiguous in both JIT (dlopen) and AOT * (static link) modes: dist_sqlite3_* exists ONLY in the vendored build. * * Only the functions bound in src/db/sqlite.sx are renamed; extend BOTH * files together when new API is needed. Injected via `-include` in the * Makefile's SQLITE_DEFS, so sqlite3.c and its embedded sqlite3.h see * the renames consistently. */ #define sqlite3_open dist_sqlite3_open #define sqlite3_close dist_sqlite3_close #define sqlite3_exec dist_sqlite3_exec #define sqlite3_prepare_v2 dist_sqlite3_prepare_v2 #define sqlite3_step dist_sqlite3_step #define sqlite3_finalize dist_sqlite3_finalize #define sqlite3_reset dist_sqlite3_reset #define sqlite3_bind_text dist_sqlite3_bind_text #define sqlite3_bind_int64 dist_sqlite3_bind_int64 #define sqlite3_bind_null dist_sqlite3_bind_null #define sqlite3_column_int64 dist_sqlite3_column_int64 #define sqlite3_column_text dist_sqlite3_column_text #define sqlite3_column_bytes dist_sqlite3_column_bytes #define sqlite3_column_type dist_sqlite3_column_type #define sqlite3_column_count dist_sqlite3_column_count #define sqlite3_errmsg dist_sqlite3_errmsg #define sqlite3_libversion dist_sqlite3_libversion #define sqlite3_last_insert_rowid dist_sqlite3_last_insert_rowid #define sqlite3_changes dist_sqlite3_changes