diff options
Diffstat (limited to 'www')
-rw-r--r-- | www/arch.fig | 65 | ||||
-rw-r--r-- | www/arch.png | bin | 1857 -> 2076 bytes | |||
-rw-r--r-- | www/arch.tcl | 29 | ||||
-rw-r--r-- | www/changes.tcl | 11 | ||||
-rw-r--r-- | www/index.tcl | 34 |
5 files changed, 75 insertions, 64 deletions
diff --git a/www/arch.fig b/www/arch.fig index 4a8811335..50359e672 100644 --- a/www/arch.fig +++ b/www/arch.fig @@ -1,5 +1,5 @@ #FIG 3.2 -Landscape +Portrait Center Inches Letter @@ -8,43 +8,50 @@ Single -2 1200 2 2 2 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 5 - 2550 2250 4875 2250 4875 3525 2550 3525 2550 2250 -2 2 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 5 - 2550 4050 4875 4050 4875 5325 2550 5325 2550 4050 -2 2 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 5 - 2550 5850 4875 5850 4875 7125 2550 7125 2550 5850 -2 2 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 5 - 2550 7650 4875 7650 4875 8925 2550 8925 2550 7650 -2 2 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 5 - 2550 450 4875 450 4875 1725 2550 1725 2550 450 + 2550 450 4875 450 4875 1275 2550 1275 2550 450 +2 1 0 3 0 7 100 0 -1 0.000 0 0 -1 1 0 2 + 1 1 3.00 75.00 135.00 + 3675 8550 3675 9075 2 2 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 5 - 2550 9450 4875 9450 4875 10725 2550 10725 2550 9450 + 2550 9075 4875 9075 4875 9900 2550 9900 2550 9075 2 1 0 3 0 7 100 0 -1 0.000 0 0 -1 1 0 2 1 1 3.00 75.00 135.00 - 3675 1725 3675 2250 + 3675 7200 3675 7725 +2 2 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 5 + 2550 7725 4875 7725 4875 8550 2550 8550 2550 7725 2 1 0 3 0 7 100 0 -1 0.000 0 0 -1 1 0 2 1 1 3.00 75.00 135.00 - 3675 3525 3675 4050 + 3675 5775 3675 6300 +2 2 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 5 + 2550 6300 4875 6300 4875 7200 2550 7200 2550 6300 +2 2 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 5 + 2550 4500 4875 4500 4875 5775 2550 5775 2550 4500 2 1 0 3 0 7 100 0 -1 0.000 0 0 -1 1 0 2 1 1 3.00 75.00 135.00 - 3675 5325 3675 5850 + 3675 3975 3675 4500 2 1 0 3 0 7 100 0 -1 0.000 0 0 -1 1 0 2 1 1 3.00 75.00 135.00 - 3675 7125 3675 7650 + 3675 2625 3675 3150 +2 2 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 5 + 2550 3150 4875 3150 4875 3975 2550 3975 2550 3150 2 1 0 3 0 7 100 0 -1 0.000 0 0 -1 1 0 2 1 1 3.00 75.00 135.00 - 3675 8925 3675 9450 -4 1 0 100 0 0 20 0.0000 4 195 1920 3675 8025 Virtual Machine\001 -4 1 0 100 0 0 20 0.0000 4 195 1830 3675 6225 Code Generator\001 -4 1 0 100 0 0 20 0.0000 4 195 735 3675 4350 Parser\001 -4 1 0 100 0 0 20 0.0000 4 195 1140 3675 2550 Tokenizer\001 + 3675 1275 3675 1800 +2 2 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 5 + 2550 1800 4875 1800 4875 2625 2550 2625 2550 1800 4 1 0 100 0 0 20 0.0000 4 195 1020 3675 750 Interface\001 -4 1 0 100 0 0 20 0.0000 4 195 990 3675 9825 Backend\001 -4 1 0 100 0 0 14 0.0000 4 195 1860 3675 6525 build.c delete.c expr.c\001 -4 1 0 100 0 0 14 0.0000 4 195 2115 3675 6750 insert.c select.c update.c\001 -4 1 0 100 0 0 14 0.0000 4 150 705 3675 6975 where.c\001 -4 1 0 100 0 0 14 0.0000 4 150 630 3675 5175 parse.y\001 -4 1 0 100 0 0 14 0.0000 4 150 870 3675 3375 tokenize.c\001 -4 1 0 100 0 0 14 0.0000 4 150 570 3675 8775 vdbe.c\001 -4 1 0 100 0 0 14 0.0000 4 150 570 3675 10500 dbbe.c\001 -4 1 0 100 0 0 14 0.0000 4 195 2040 3675 1575 main.c table.c tclsqlite.c\001 +4 1 0 100 0 0 14 0.0000 4 195 2040 3675 1125 main.c table.c tclsqlite.c\001 +4 1 0 100 0 0 20 0.0000 4 195 1920 3675 6675 Virtual Machine\001 +4 1 0 100 0 0 14 0.0000 4 150 570 3675 7050 vdbe.c\001 +4 1 0 100 0 0 20 0.0000 4 195 1830 3675 4875 Code Generator\001 +4 1 0 100 0 0 14 0.0000 4 195 1860 3675 5175 build.c delete.c expr.c\001 +4 1 0 100 0 0 14 0.0000 4 195 2115 3675 5400 insert.c select.c update.c\001 +4 1 0 100 0 0 14 0.0000 4 150 705 3675 5625 where.c\001 +4 1 0 100 0 0 20 0.0000 4 195 735 3675 3450 Parser\001 +4 1 0 100 0 0 20 0.0000 4 195 1140 3675 2100 Tokenizer\001 +4 1 0 100 0 0 14 0.0000 4 150 870 3675 2475 tokenize.c\001 +4 1 0 100 0 0 20 0.0000 4 255 1350 3675 9375 Page Cache\001 +4 1 0 100 0 0 14 0.0000 4 150 630 3675 3825 parse.y\001 +4 1 0 100 0 0 14 0.0000 4 150 600 3675 8400 btree.c\001 +4 1 0 100 0 0 14 0.0000 4 150 645 3675 9750 pager.c\001 +4 1 0 100 0 0 20 0.0000 4 195 1620 3675 8025 B-tree Driver\001 diff --git a/www/arch.png b/www/arch.png Binary files differindex 1afc31cd0..77bf72000 100644 --- a/www/arch.png +++ b/www/arch.png diff --git a/www/arch.tcl b/www/arch.tcl index b4b63c3ad..cafabb5ec 100644 --- a/www/arch.tcl +++ b/www/arch.tcl @@ -1,7 +1,7 @@ # # Run this Tcl script to generate the sqlite.html file. # -set rcsid {$Id: arch.tcl,v 1.3 2000/09/29 13:30:55 drh Exp $} +set rcsid {$Id: arch.tcl,v 1.4 2001/09/16 00:13:29 drh Exp $} puts {<html> <head> @@ -112,19 +112,24 @@ source file <b>vdbe.c</b>. The virtual machine also has its own header file <b>vdbe.h</b> that defines an interface between the virtual machine and the rest of the SQLite library.</p> -<h2>Backend</h2> +<h2>B-tree Driver</h2> -<p>The last layer in the design of SQLite is the backend. The -backend implements an interface between the virtual machine and -the underlying data file library -- GDBM in this case. The interface -is designed to make it easy to substitute a different database -library, such as the Berkeley DB. -The backend abstracts many of the low-level details to help -reduce the complexity of the virtual machine.</p> +<p>An SQLite database is maintained on disk using a B-tree implementation +found in the <b>btree.c</b> source file. A separate B-tree is used for +each table and index in the database but all B-trees are stored in the +same disk file. Each page of a B-tree is 1024 bytes in size. The data +is stored with the key in an area called "payload". Up to 236 bytes of +payload can be stored with each B-tree entry. Any additional payload +is stored in a chain of overflow pages.</p> -<p>The backend is contained in the single source file <b>dbbe.c</b>. -The backend also has a header file <b>dbbe.h</b> that defines the -interface between the backend and the rest of the SQLite library.</p> +<h2>Page Cache</h2> + +<p>The page cache provides the rollback and atomic commit abstraction +and takes care of reader/writer locking of the database file. The +B-tree driver requests particular pages from the page cache and notifies +the page cache when it wants to modify pages and commit or rollback its +changes and the page cache handles all the messy details of making sure +the requests are handled quickly, safely, and efficiently.</p> } puts { diff --git a/www/changes.tcl b/www/changes.tcl index 17e373b21..679d19f0e 100644 --- a/www/changes.tcl +++ b/www/changes.tcl @@ -17,6 +17,17 @@ proc chng {date desc} { puts "<DD><P><UL>$desc</UL></P></DD>" } +chng {2001 Sep 15 (2.0.0)} { +<li>Initial release of version 2.0. The idea of renaming the library + to "SQLus" was abandoned in favor of keeping the "SQLite" name and + bumping the major version number.</li> +<li>The pager and btree subsystems added back. They are now the only + available backend.</li> +<li>The Dbbe abstraction and the GDBM and memory drivers were removed.</li> +<li>Copyright on all code was disclaimed. The library is now in the + public domain.</li> +} + chng {2001 Jul 23 (1.0.32)} { <li>Pager and btree subsystems removed. These will be used in a follow-on SQL server library named "SQLus".</li> diff --git a/www/index.tcl b/www/index.tcl index 619472cc3..49b138e27 100644 --- a/www/index.tcl +++ b/www/index.tcl @@ -1,7 +1,7 @@ # # Run this TCL script to generate HTML for the index.html file. # -set rcsid {$Id: index.tcl,v 1.37 2001/05/21 13:45:10 drh Exp $} +set rcsid {$Id: index.tcl,v 1.38 2001/09/16 00:13:29 drh Exp $} puts {<html> <head><title>SQLite: An SQL Database Library Built Atop GDBM</title></head> @@ -17,11 +17,8 @@ puts {</p>} puts {<h2>Introduction</h2> -<p>SQLite is an SQL database library -(<a href="c_interface.html">libsqlite.a</a>) that uses -<a href="http://www.gnu.org/software/gdbm/gdbm.html">GDBM</a> -as its underlying file storage mechanism. -Programs that link the SQLite library can have SQL database +<p>SQLite is a C library that implements an 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 (<a href="sqlite.html">sqlite</a>) that can @@ -32,22 +29,17 @@ an example of how to use the SQLite library.</p> <h2>Features</h2> <p><ul> -<li>Implements most of SQL92.</li> -<li>A database is just a directory of GDBM files.</li> -<li>Unlimited length records.</li> -<li>Import and export data from -<a href="http://www.postgresql.org/">PostgreSQL</a>.</li> +<li>Implements a large subset of SQL92.</li> +<li>A complete SQL database (with multiple tables and indices) is + stored in a single disk file.</li> +<li>Atomic commit and rollback protect data integrity.</li> +<li>Small memory footprint: about 12000 lines of C code.</li> <li>Very simple <a href="c_interface.html">C/C++ interface</a> requires the use of only three functions and one opaque structure.</li> -<li>A <a href="tclsqlite.html">Tcl</a> interface is -included.</li> -<li>Command-line access program <a href="sqlite.html">sqlite</a> uses -the <a href="http://www.google.com/search?q=gnu+readline+library">GNU -Readline library</a></li> -<li>A Tcl-based test suite provides near 100% code coverage</li> -<li>Approximately 9500 lines of C code. No external dependencies other -than GDBM.</li> +<li>A TCL interface to the library is included.</li> +<li>A TCL-based test suite provides near 100% code coverage.</li> +<li>Self-contained: no external dependencies.</li> <li>Built and tested under Linux, HPUX, and WinNT.</li> </ul> </p> @@ -73,10 +65,6 @@ only reached when <tt>malloc()</tt> fails.</p> </p></li> </ul> -<p><b>Important Note:</b> Serious bugs have been found in versions -1.0.22 on Unix and 1.0.26 on Windows. Users of these or earlier -versions of SQLite should upgrade.</p> - <h2>Documentation</h2> <p>The following documentation is currently available:</p> |