On Sat, Jul 13, 2013 at 11:14:51AM +0200, Du?an Paulovi? scratched on the wall: > Hello, > we are currently facing problem with Access violation exception caused by > function sqlite3_open_v2 trying to load extensions from unloaded DLLs.
> Also it would be fine to be able to load static extensions to separate > connections: > something like: > int sqlite3_load_static_extension(sqlite3 *db, void (*xEntryPoint)(void)); That would be sqlite3_load_extension(): http://sqlite.org/c3ref/load_extension.html You should be able to pass a NULL in for the filename to have the system search the current symbol table context (i.e. the plug-in DLL), rather than try to load another library. If this is an acceptable solution, I assume it works because each plugin manages its own connections to whatever SQLite databases you're using, and that the plugins do not cross-utilize extensions. In other words, the SQLite extensions used by a plugin are only used by that specific plugin, and that plugin "A" does not depend on SQLite extensions in plugin "B". In that respect, having all the extensions always auto-load is a bit of overkill, since each extension will have access to the SQLite extensions in every loaded plugin (and hence the issues with unloading). If that's the case, another solution is simply to include a copy of SQLite in each plugin. If each plugin has its own private copy of SQLite, then a call to sqlite3_auto_extension() will cause the plugin's extensions to only be installed in *that* plugin's database connections. It adds a bit of bulk to every plugin, but on any type of desktop system, it shouldn't be a big deal. You just need to integrate the SQLite code directly into the plugin, and make sure it is built in a way that the SQLite APIs are not exported from the plugin's DLL (otherwise the different plugins will clash). -j -- Jay A. Kreibich < J A Y @ K R E I B I.C H > "Intelligence is like underwear: it is important that you have it, but showing it to the wrong people has the tendency to make them feel uncomfortable." -- Angela Johnson _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users