You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a great extension @asg017! I'm trying to compile and statically link this extension in my own C code.
I used your make static-release and got the .a file and then tried to compile it with this C function and it builds my binary but when I try to call udi_sqlite_init_extensions as part of the SQLite execution I get a segfault. Is there anything special I need to do on the Rust code side?
#include"sqlite3ext.h"SQLITE_EXTENSION_INIT1#include"sqlite-ulid/dist/release/sqlite-ulid.h"intudi_sqlite_init_extensions(sqlite3*db, char**pzErrMsg,
constsqlite3_api_routines*pApi) {
(void)pzErrMsg;
SQLITE_EXTENSION_INIT2(pApi);
// Initialize all static-linked extension here (e.g., ULID)intrc=sqlite3_ulid_init(db, pzErrMsg, pApi);
if (rc!=SQLITE_OK) {
returnrc;
}
returnSQLITE_OK;
}
The text was updated successfully, but these errors were encountered:
There's a bug in the current implementation of sqlite-loadable-rs, where calling sqlite3_ulid_init() by hand will cause a segfault. Instead, you can use sqlite3_auto_extension which should work, but means every database will pre-load sqlite-ulid functions.
Though I did find a fix for that bug, so in the next version of sqlite-ulid, your code should work. But you'll need to do the auto_extension workaround for now!
This is a great extension @asg017! I'm trying to compile and statically link this extension in my own C code.
I used your
make static-release
and got the.a
file and then tried to compile it with this C function and it builds my binary but when I try to calludi_sqlite_init_extensions
as part of the SQLite execution I get a segfault. Is there anything special I need to do on the Rust code side?The text was updated successfully, but these errors were encountered: