Page 1 of 1

Loading extensions for SQLite

Posted: Mon Nov 15, 2010 10:41 pm
by mdp
In order to load extensions for SQLite, the following does the trick.

Code: Select all

;ImportC "sqlite3.lib"         ; USE THIS FOR WINDOWS. The line below is for Linux
ImportC "$PUREBASIC_HOME/purelibraries/linux/libraries/libpbsqlite3.a"
   sqlite3_enable_load_extension(*db, onoff.l)
   sqlite3_load_extension( *db, zFile.s, zProc.s, *pzErrMsg );
EndImport

UseSQLiteDatabase()

Debug OpenDatabase(0,"test.sqlite","","")
Debug DatabaseID(0)

Debug sqlite3_enable_load_extension(DatabaseID(0), #True)
Debug sqlite3_load_extension(DatabaseID(0), "libsqlitefunctions.so", "sqlite3_extension_init", @pzErrMsg)
If pzErrMsg>0 : Debug PeekS(pzErrMsg) : EndIf

q.s = "SELECT log(7.52)"
If Not DatabaseQuery(0,q) : Debug DatabaseError()+" - "+q : EndIf
NextDatabaseRow(0)
Debug GetDatabaseFloat(0,0) 
FinishDatabaseQuery(0)
An example of extension can be the math, string and aggregate functions made by Liam Healy and available as source at http://sqlite.org/contrib/download/down ... s.c?get=25