aboutsummaryrefslogtreecommitdiff
path: root/www
diff options
context:
space:
mode:
Diffstat (limited to 'www')
-rw-r--r--www/arch.fig65
-rw-r--r--www/arch.pngbin1857 -> 2076 bytes
-rw-r--r--www/arch.tcl29
-rw-r--r--www/changes.tcl11
-rw-r--r--www/index.tcl34
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
index 1afc31cd0..77bf72000 100644
--- a/www/arch.png
+++ b/www/arch.png
Binary files differ
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>