the elj project

Open Source Eiffel Libraries and Applications

(SmartEiffel and ISE Eiffel)

elj Sqlite: elj database interface


elj Sqlite is an Eiffel interface to the SQLite C library.


SQLite is a C library that implements an embeddable SQL database engine. Programs that link with the SQLite library can have SQL database access without running a separate RDBMS process. The distribution comes with a standalone command-line access program (sqlite) that can be used to administer an SQLite database and which serves as an example of how to use the SQLite library.

SQLite is not a client library used to connect to a big database server. SQLite is the server. The SQLite library reads and writes directly to and from the database files on disk.


  • Implements a large subset of SQL92.
  • A complete database (with multiple tables and indices) is stored in a single disk file.
  • Atomic commit and rollback protect data integrity.
  • Small memory footprint: less than 20K lines of C code.
  • Four times faster than PostgreSQL. Twice as fast as SQLite 1.0.
  • Very simple C/C++ interface requires the use of only three functions and one opaque structure.
  • TCL bindings included.
  • A TCL-based test suite provides near 100% code coverage.
  • Self-contained: no external dependencies.
  • Built and tested under Linux and Win2K.
  • Sources are uncopyrighted. Use for any purpose

Documentation for the moment is limited to the source code:

and an example:

Note: For win32 users we provide the appropriate dll (sqlite.dll) and lib (sqlite.lib) files to work with the sqlite interface:

For Linux users (for the moment), you will need to download sqlite and compile for your system (alternatively it may already be configured to your system).

elj Project Quick Links
Project Status/Warning (25 July 2003)
Official Downloads:
0.7 Release (20 Jun 03) (announce getting started docs)
Docs: Tutorial (pdf), Style (pdf) Syntax etl3
wxEiffel: wxWindows (ver:2.4.1) (cvs, wxWindows, lists: users dev, news *, wx-c)
Common Classes (cvs)
elj-db: elj database interface
elj FireBird interface (cvs, lists)
elj sqlite (cvs, home, list, news, SQL)
elj SleepyCat interface (cvs, news)
elj mysql interface) (cvs)
elj Postgres interface (cvs, news)
elj btrieve (cvs news)
compression: zlib bzip2/bzlib
elj Lua interface (cvs home list news)
elj libxml2 interface (cvs eg list news)
os: elj win32api interface
Eiffel Struggle 2003 (NICE cetus-links ceug)
ewg (Eiffel<->C) (home cvs news)
ePDF (PDF) (home cvs news)
yaesockets (home cvs news)
nenie Eiffel (xml,networking,snmp,DES,..) - (homepage cvs)
Goanna (web services) - (cvs)
mico/E (open source Eiffel CORBA services )
ePosix: posix interface (news)
EiffelOpenGL (sf cvs)
elj-girls: our first application
diuturnal: multiplayer turn-based strategy game (home cvs)
elj Perlish -(cvs examples Perl)
elj Reg Exp -(cvs PCRE)

elj Dependency Links
SmartEiffel (GNU Eiffel Compiler FAQ) - (beta bugs list news *)
ISE Eiffel (downloads) - (list cle faqs)
GOBO Project (lists: dev user commits cvs geant * gexace)
elj Mailing List: (elj-devel elj-users elj-commits)

elj hosted and supported by SourceForge

``.. in open source, software lives on if there are enough believers to keep it alive ..'' (WSJ - 20 Jul 2003)
Dec 04, 2003, 00:26 UTC