Full sqlite3 Extension for Jim Tcl ================================== Author: Steve Bennett Date: Thu 24 Nov 2011 This directory builds a Jim Tcl extension containing a complete sqlite3 implementation and binding. Building -------- Ensure that you have configured and built jim in the source directory, then: $ make ./build-ext -o sqlite3.so -I.. -L.. -DSQLITE_OMIT_LOAD_EXTENSION=1 ... jim-sqlite3.c sqlite3.c Building sqlite3.so from jim-sqlite3.c sqlite3.c Warning: libjim is static. Dynamic module may not work on some platforms. Compile: jim-sqlite3.o Compile: sqlite3.o Link: sqlite3.so Success! Testing ------- $ make test Installing ---------- Copy sqlite3.so to your jim library directory, typically /usr/local/lib/jim or where $JIMLIB points to. Using ----- In your Jim Tcl code, ensure that sqlite3.so is in a directory on $auto_path. Then: package require sqlite3 sqlite3 db test.db ...etc.. Documentation ------------- The Jim Tcl binding is almost exactly identical to the Tcl binding. See http://www.sqlite.org/tclsqlite.html for documentation. Differences: - INCRBLOB is not supported as Jim Tcl does not support channels - No attempt is made to change encoding between Jim Tcl and sqlite - Jim Tcl doesn't differentiate between binary data (bytearray) and string, so only the @field syntax causes a fieldsto be bound as a blob rather than text. - Jim Tcl doesn't have a boolean type