# # Run this TCL script to generate HTML for the index.html file. # set rcsid {$Id: index.tcl,v 1.21 2000/07/31 19:16:32 drh Exp $} puts { SQLite: An SQL Database Engine Built Atop GDBM

SQLite: An SQL Database Engine Built Atop GDBM

} puts "This page was last modified on [lrange $rcsid 3 4] GMT
" puts "The SQLite source code was last modifed on [exec cat last_change] GMT" puts {

} if 0 { puts {

News

The SQLite code base is being called "beta" only because it is relatively new. It appears to be stable and usable. Most of the SQL language is now implemented and working. The regression test suite provides good coverage, according to gcov. There are currently no known errors in the code.

If you find bugs or missing features, please submit a comment to the SQLite mailing list.

} } puts {

Introduction

SQLite is an SQL database engine built on top of the GDBM library. SQLite includes a standalone command-line access program (sqlite) and a C library (libsqlite.a) that can be linked with a C/C++ program to provide SQL database access without an separate RDBMS.

Features

Current Status

A change history is available online. There are currently no known bugs or memory leaks in the library. Gcov is used to verify test coverage. The test suite currently exercises all code except for a few areas which are unreachable or which are only reached when malloc() fails. The code has been tested for memory leaks and is found to be clean.

Among the SQL features that SQLite does not currently implement are:

Documentation

The following documentation is currently available:

The SQLite source code is 35% comment. These comments are another important source of information.

} puts {

Mailing List

A mailing list has been set up on eGroups for discussion of SQLite design issues or for asking questions about SQLite.


Click to subscribe to sqlite
} puts {

Download

You can download a tarball containing all source code for SQLite (including the TCL scripts that generate the HTML files for this website) at sqlite.tar.gz.} puts "This is a [file size sqlite.tar.gz] byte download. The tarball was last modified at [clock format [file mtime sqlite.tar.gz]]" puts {

To build sqlite, just unwrap the tarball, create a separate build directory, run configure from the build directory and then type "make". For example:

$ tar xzf sqlite.tar.gz       Unpacks into directory named "sqlite" 
$ mkdir bld                   Create a separate build directory 
$ cd bld
$ ../sqlite/configure
$ make                        Builds "sqlite" and "libsqlite.a" 
$ make test                   Optional: run regression tests 
} puts {

Command-line Usage Example

Download the source archive and compile the sqlite program as described above. The type:

bash$ sqlite ~/newdb              Directory ~/newdb created automatically
sqlite> create table t1(
   ...>    a int,
   ...>    b varchar(20)
   ...>    c text
   ...> );                        End each SQL statement with a ';'
sqlite> insert into t1
   ...> values(1,'hi','y''all');
sqlite> select * from t1;
1|hello|world
sqlite> .mode columns             Special commands begin with '.'
sqlite> .header on                Type ".help" for a list of commands
sqlite> select * from t1;
a      b       c
------ ------- -------
1      hi      y'all
sqlite> .exit
base$
} puts {

Related Sites

} puts {


More Open Source Software from Hwaci.

}