SQLite Forum

SQLITE_EXTRA_INIT
Login

SQLITE_EXTRA_INIT

(1) By curmudgeon on 2020-05-06 09:42:04 [source]

Why is there no explanation of this directive on the sqlite website (search returns nothing)? Had Keith not spoon fed me it a while back I'd never have been able to use extensions as I've never managed to load one any other way apart from the way he taught me (shown below).

DSQLITE=core_init

// add below to bottom of sqlite3.c 
#include "eval.c"
#include "carray.c"
#include "btreeinfo.c"
#include "series.c"

int core_init(const char* dummy)
{
	int nErr = 0;
	nErr += sqlite3_auto_extension((void(*)())sqlite3_eval_init);
#ifndef SQLITE_OMIT_VIRTUALTABLE
	nErr += sqlite3_auto_extension((void(*)())sqlite3_carray_init);
	nErr += sqlite3_auto_extension((void(*)())sqlite3_btreeinfo_init);
	nErr += sqlite3_auto_extension((void(*)())sqlite3_series_init);
#endif
	return nErr ? SQLITE_ERROR : SQLITE_OK;
}

(2) By Richard Hipp (drh) on 2020-05-06 10:09:39 in reply to 1 [link] [source]

Why is there no explanation of this directive on the sqlite website

Because, if it is documented, we have to support it. As it stands currently, we are free to change or remove it as we see fit.

(3) By curmudgeon on 2020-05-06 15:59:47 in reply to 2 [link] [source]

Understood. Thanks Richard.