1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
Full sqlite3 Extension for Jim Tcl
==================================
Author: Steve Bennett <steveb@workware.net.au>
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 -Wall -o sqlite.so -I.. -L.. -DSQLITE_OMIT_LOAD_EXTENSION=1 ... jim-sqlite.c sqlite3.c
Building sqlite.so from jim-sqlite.c sqlite3.c
Warning: libjim is static. Dynamic module may not work on some platforms.
Compile: jim-sqlite.o
Compile: sqlite3.o
Link: sqlite.so
Success!
Testing
-------
$ make test
Installing
----------
Copy sqlite.so to your jim library directory, typically /usr/local/lib/jim or
where $JIMLIB points to.
Using
-----
In your Jim Tcl code, ensure that sqlite.so is in a directory on $auto_path.
Then:
package require sqlite
sqlite 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
SQLite Source
-------------
The currently included version of sqlite is v3.38.0 downloaded from:
https://www.sqlite.org/2022/sqlite-autoconf-3380000.tar.gz
|