lockingv3.html: $(TOP)/www/lockingv3.tcl
tclsh $(TOP)/www/lockingv3.tcl >lockingv3.html
+oldnews.html: $(TOP)/www/oldnews.tcl
+ tclsh $(TOP)/www/oldnews.tcl >oldnews.html
+
omitted.html: $(TOP)/www/omitted.tcl
tclsh $(TOP)/www/omitted.tcl >omitted.html
lockingv3.html \
mingw.html \
nulls.html \
+ oldnews.html \
omitted.html \
opcode.html \
quickstart.html \
-C Assorted\smemory\sleak\sfixes.\s(CVS\s1600)
-D 2004-06-15T16:51:01
+C Documentation\supdates\sand\schanges\sthe\spublish.sh\sscript.\s(CVS\s1602)
+D 2004-06-16T03:02:01
F Makefile.in ab7b0d5118e2da97bac66be8684a1034e3500f5a
F Makefile.linux-gcc a9e5a0d309fa7c38e7c14d3ecf7690879d3a5457
F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd
F doc/report1.txt a031aaf37b185e4fa540223cb516d3bccec7eeac
F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895
F ltmain.sh f6b283068efa69f06eb8aa1fe4bddfdbdeb35826
-F main.mk e02f35c8354fe9a0ab48fc87b0bcb3fb7a86d713
+F main.mk 26a2e950660b952a98fd2772d4375636a5c9651b
F mkdll.sh 68d34a961a1fdfa15ef27fc4f4740be583112124
-F publish.sh 2e579b7474d57b6debcead93c73a49eb8cb81718
+F publish.sh e772c09c4fb72f2323a1fb522259640e52040b15
F spec.template a38492f1c1dd349fc24cb0565e08afc53045304b
F sqlite.1 83f4a9d37bdf2b7ef079a82d54eaf2e3509ee6ea
F sqlite.def fc4f5734786fe4743cfe2aa98eb2da4b089edb5f
F tool/speedtest2.tcl ee2149167303ba8e95af97873c575c3e0fab58ff
F www/arch.fig d5f9752a4dbf242e9cfffffd3f5762b6c63b3bcf
F www/arch.png 82ef36db1143828a7abc88b1e308a5f55d4336f4
-F www/arch.tcl a40f956733cbd99e4aace05c9fb9d7a999c9477e
+F www/arch.tcl 3f4f9173a3b7dc05b0ea67ae0c942866558ad35d
F www/arch2.fig 613b5ac63511109064c2f93c5754ee662219937d
F www/arch2.gif 49c6bb36160f03ca2b89eaa5bfb1f560c7d68ee7
F www/audit.tcl 90e09d580f79c7efec0c7d6f447b7ec5c2dce5c0
F www/datatype3.tcl f48b05cafd5e54ae5c05e643169d5217ee51a244
F www/datatypes.tcl 566004b81c36877397ddbe6e1907aae6065f6b41
F www/docs.tcl a924a5043973a70c58b65abf1051ed8b1238864d
-F www/download.tcl 8c84f15695c92cb01486930055fdf5192995f474
+F www/download.tcl 075e21eb50ec6a3f29cdf2a011770a02187592eb
F www/dynload.tcl 02eb8273aa78cfa9070dd4501dca937fb22b466c
F www/faq.tcl 3a1776818d9bd973ab0c3048ec7ad6b1ad091ae5
F www/fileformat.tcl f71a06a0d533c7df408539c64113b4adeaf29764
-F www/formatchng.tcl 7ed8a5c871ab105f01e5defe1822ec39f70675bb
-F www/index.tcl 64435502af780d7cd813365d443b9b9344662ce4
+F www/formatchng.tcl d1dfecedfb25e122ab513a1e0948b15cb4f0be46
+F www/index.tcl a3d658c44b27ca28b0b660e2a3903ee39f052dea
F www/lang.tcl fc528581c4a406cabc138e2f17db5ef6f38615ff
F www/lockingv3.tcl afcd22f0f063989cff2f4d57bbc38d719b4c6e75
F www/mingw.tcl d96b451568c5d28545fefe0c80bee3431c73f69c
F www/nulls.tcl f31330db8c978e675f5cd263067b32b822effa6f
+F www/oldnews.tcl 3cfc9685d9d25eb26a69c2ce979432b26d5ae75e
F www/omitted.tcl 7bd62b6f0f53b60c5360895b16b3af8407bbca03
F www/opcode.tcl e8c421fd2c70c503b25cedb3f9617a1f387ac7ea
F www/quickstart.tcl 4e97bef825e6a4153c43afb9f97235fc4da278ab
F www/tclsqlite.tcl 19191cf2a1010eaeff74c51d83fd5f5a4d899075
F www/vdbe.tcl 59288db1ac5c0616296b26dce071c36cb611dfe9
F www/whentouse.tcl a8335bce47cc2fddb07f19052cb0cb4d9129a8e4
-P 59db58ebd30cd7c79c32f5a725620e740eff661d
-R 8e2d649247d3314adc65f3fdcaa9f1fe
-U danielk1977
-Z 80be8fa32cc9e1b101e22c8e2ab0aff3
+P 07b90f3690768e852384fbbde0ba59e69e24d1da
+R 3acf8389b7928b0e6bed5f904140c093
+U drh
+Z d8b4e54d3b0adc4de12efd128b05998c
-07b90f3690768e852384fbbde0ba59e69e24d1da
\ No newline at end of file
+e9a77f8972128550f6ff98dcf854eb7680eaee8b
\ No newline at end of file
cp $srcdir/Makefile.linux-gcc ./Makefile
chmod +x $srcdir/install-sh
-# Start building stuff.
+# Get the current version number - needed to help build filenames
+#
+VERS=`cat $srcdir/VERSION`
+VERSW=`sed 's/\./_/g' $srcdir/VERSION`
+
+# Start by building an sqlite shell for linux.
#
make clean
-make sqlite
-strip sqlite
-mv sqlite sqlite.bin
-rm -f sqlite.bin.gz
-gzip sqlite.bin
+make sqlite3
+strip sqlite3
+mv sqlite3 sqlite3-$VERS.bin
+gzip sqlite3-$VERS.bin
+mv sqlite3-$VERS.bin.gz doc
# Build the tclsqlite.so shared library for import into tclsh or wish
# under Linux
OPTS='-DUSE_TCL_STUBS=1 -DNDEBUG=1'
gcc -fPIC $OPTS -O2 -I. -I$TCLDIR -shared *.c $TCLSTUBLIB -o tclsqlite.so
strip tclsqlite.so
-mv tclsqlite.so ..
+mv tclsqlite.so tclsqlite-$VERS.so
+gzip tclsqlite-$VERS.so
+mv tclsqlite-$VERS.so.gz ../doc
rm tclsqlite.c
gcc -fPIC -DNDEBUG=1 -O2 -I. -shared *.c -o sqlite.so
strip sqlite.so
-mv sqlite.so ..
+mv sqlite.so sqlite-$VERS.so
+gzip sqlite-$VERS.so
+mv sqlite-$VERS.so.gz ../doc
cd ..
-rm -f tclsqlite.so.gz sqlite.so.gz
-gzip tclsqlite.so
-gzip sqlite.so
# Build the tclsqlite.dll shared library that can be imported into tclsh
# or wish on windows.
--target i386-mingw32 \
-dllname sqlite.dll -lmsvcrt *.o
i386-mingw32msvc-strip sqlite.dll
-mv sqlite.dll sqlite.def ..
+zip ../doc/tclsqlite-$VERSW.zip tclsqlite.dll
+zip ../doc/sqlitedll-$VERSW.zip sqlite.dll sqlite.def
cd ..
-rm -f tclsqlite.zip sqlitedll.zip
-zip tclsqlite.zip tclsqlite.dll
-zip sqlitedll.zip sqlite.dll sqlite.def
# Build the sqlite.exe executable for windows.
#
rm tclsqlite.c
OPTS='-DSTATIC_BUILD=1 -DNDEBUG=1'
i386-mingw32msvc-gcc -O2 $OPTS -I. -I$TCLDIR *.c -o sqlite.exe
-mv sqlite.exe ..
+zip ../doc/sqlite-$VERSW.zip sqlite.exe
cd ..
-rm -f sqlite.zip
-zip sqlite.zip sqlite.exe
# Construct a tarball of the source tree
#
cd $srcdir
cd ..
EXCLUDE=`find sqlite -print | grep CVS | sed 's,sqlite/, --exclude sqlite/,'`
-tar czf $ORIGIN/sqlite.tar.gz $EXCLUDE sqlite
+tar czf $ORIGIN/doc/sqlite-$VERS.tar.gz $EXCLUDE sqlite
cd $ORIGIN
-vers=`cat $srcdir/VERSION`
-rm -f sqlite-$vers.tar.gz
-ln sqlite.tar.gz sqlite-$vers.tar.gz
#
# Build RPMS (binary) and Source RPM
mkdir $HOME/rpm/SPECS
# create the spec file from the template
-sed s/SQLITE_VERSION/$vers/g $srcdir/spec.template > $HOME/rpm/SPECS/sqlite.spec
+sed s/SQLITE_VERSION/$VERS/g $srcdir/spec.template > $HOME/rpm/SPECS/sqlite.spec
# copy the source tarball to the rpm directory
-cp sqlite-$vers.tar.gz $HOME/rpm/SOURCES/.
+cp doc/sqlite-$VERS.tar.gz $HOME/rpm/SOURCES/.
# build all the rpms
rpm -ba $HOME/rpm/SPECS/sqlite.spec >& rpm-$vers.log
# copy the RPMs into the build directory.
-ln $HOME/rpm/RPMS/i386/sqlite*-$vers*.rpm .
-ln $HOME/rpm/SRPMS/sqlite-$vers*.rpm .
-
+mv $HOME/rpm/RPMS/i386/sqlite*-$vers*.rpm doc
+mv $HOME/rpm/SRPMS/sqlite-$vers*.rpm doc
# Build the website
#
-cp $srcdir/../historical/* .
-rm -rf doc
+cp $srcdir/../historical/* doc
make doc
-ln sqlite.bin.gz sqlite.zip sqlite*.tar.gz tclsqlite.so.gz tclsqlite.zip doc
-ln sqlitedll.zip sqlite.so.gz sqlite_source.zip doc
-ln *.rpm doc
#
# Run this Tcl script to generate the sqlite.html file.
#
-set rcsid {$Id: arch.tcl,v 1.12 2004/05/31 15:06:29 drh Exp $}
+set rcsid {$Id: arch.tcl,v 1.13 2004/06/16 03:02:04 drh Exp $}
source common.tcl
header {Architecture of SQLite}
puts {
the structure of SQLite for version 2.8.13 and following.
</p>
+<p>
+This document describes the structure for SQLite version 2.X.
+SQLite version 3.0.0 introduces many new features and capabilities.
+The basic architecture of the library remains the same. However,
+some of the details described here are different. For example,
+the code was in the file <b>os.c</b> has now been split out into
+several file, on for each operating system. And
+the prefix on the names of API routines changed from <b>sqlite_</b>
+to <b>sqlite3_</b>.
+</p>
+
<h3>Interface</h3>
<p>Much of the public interface to the SQLite library is implemented by
those symbols which form the API for SQLite) begin
with <b>sqlite_</b>.</p>
-<h3>SQL Command Process</h3>
+<h3>SQL Command Processor</h3>
<p>
<h3>Red/Black Tree</h3>
-<p>In-memory databases are stored in a red/black tree implementation
-contain in the <b>btree_rb.c</b> source file.
+<p>In SQLite version 2.X, in-memory databases are stored in a red/black
+tree implementation contain in the <b>btree_rb.c</b> source file. In
+version 3.0, the red/black tree implementation is omitted. In-memory
+databases use the same B-Tree and pager code with a special flag that
+tells the pager to maintain all data in cache and never write to the
+disk.
</p>
<h3>B-Tree</h3>
<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. All B-trees are stored in the
-same disk file. Each page of a B-tree is 1024 bytes in size. The key
-and data for an entry are stored together in an area called "payload".
-Up to 236 bytes of payload can be stored on the same page as the B-tree
-entry. Any additional payload is stored in a chain of overflow pages.</p>
+same disk file.</p>
<p>The interface to the B-tree subsystem is defined by the header file
<b>btree.h</b>.
#
# Run this TCL script to generate HTML for the download.html file.
#
-set rcsid {$Id: download.tcl,v 1.8 2004/05/31 16:04:08 drh Exp $}
+set rcsid {$Id: download.tcl,v 1.9 2004/06/16 03:02:04 drh Exp $}
source common.tcl
header {SQLite Download Page}
<table width="100%" cellpadding="5">
}
-
-proc Product {file desc} {
- if {![file exists $file]} return
- set size [file size $file]
- puts [subst {
-<tr>
-<td width="10"></td>
-<td align="right" valign="top">
-<a href="$file">$file</a><br>($size bytes)</td>
-<td width="5"></td>
-<td valign="top">[string trim $desc]</td>
-</tr>}]
+proc Product {pattern desc} {
+ regsub VERSION $pattern {([0-9a-z._]+)} p2
+ regsub VERSION $pattern {*} p3
+ set flist [glob -nocomplain $p3]
+ foreach file [lsort -dict $flist] {
+ if {![regexp ^$p2\$ $file all version]} continue
+ regsub -all _ $version . version
+ set size [file size $file]
+ puts "<tr><td width=\"10\"></td>"
+ puts "<td valign=\"top\" align=\"right\">"
+ puts "<a href=\"$file\">$file</a><br>($size bytes)</td>"
+ puts "<td width=\"5\"></td>"
+ regsub -all VERSION $desc $version d2
+ puts "<td valign=\"top\">[string trim $d2]</td></tr>"
+ }
}
proc Heading {title} {
Heading {Precompiled Binaries for Linux}
-Product sqlite.bin.gz {
- A command-line program for accessing and modifing SQLite databases.
+Product sqlite-VERSION.bin.gz {
+ A statically linked command-line program for accessing and modifing
+ SQLite databases.
See <a href="sqlite.html">the documentation</a> for additional information.
}
-Product tclsqlite.so.gz {
+Product tclsqlite-VERSION.so.gz {
Bindings for TCL. You can import this shared library into either
tclsh or wish to get SQLite database access from Tcl/Tk.
See <a href="tclsqlite.html">the documentation</a> for details.
}
-Product sqlite.so.gz {
+Product sqlite-VERSION.so.gz {
A precompiled shared-library for Linux. This is the same as
<b>tclsqlite.so.gz</b> but without the TCL bindings.
}
cd doc
-foreach name [lsort -dict [glob -nocomplain sqlite-*.i386.rpm]] {
- if {[regexp -- -devel- $name]} {
- Product $name {
- RPM containing documentation, header files, and static library.
- }
- } else {
- Product $name {
- RPM containing shared libraries and the <b>sqlite</b> command-line
- program.
- }
- }
+Product sqlite-devel-VERSION-1.i386.rpm {
+ RPM containing documentation, header files, and static library for
+ SQLite version VERSION.
+}
+Product sqlite-VERSION-1.i386.rpm {
+ RPM containing shared libraries and the <b>sqlite</b> command-line
+ program for SQLite version VERSION.
}
Heading {Precompiled Binaries For Windows}
-Product sqlite.zip {
+Product sqlite-VERSION.zip {
A command-line program for accessing and modifing SQLite databases.
See <a href="sqlite.html">the documentation</a> for additional information.
}
-Product tclsqlite.zip {
+Product tclsqlite-VERSION.zip {
Bindings for TCL. You can import this shared library into either
tclsh or wish to get SQLite database access from Tcl/Tk.
See <a href="tclsqlite.html">the documentation</a> for details.
}
-Product sqlitedll.zip {
+Product sqlitedll-VERSION.zip {
This is a DLL of the SQLite library without the TCL bindings.
The only external dependency is MSVCRT.DLL.
}
Heading {Source Code}
-Product {sqlite_source.zip} {
+Product {sqlite-source-VERSION.zip} {
This ZIP archive contains pure C source code for the SQLite library.
- Unlike the tarballs below, all of the preprocessing has already been
- done on these C source code, so you can just hand the files directly to
- your favorite C compiler. This file is provided as a service to
+ Unlike the tarballs below, all of the preprocessing and automatic
+ code generation has already been done on these C source code, so they
+ can be processed directly with any ordinary C compiler.
+ This file is provided as a service to
MS-Windows users who lack the build support infrastructure of Unix.
}
-foreach name [lsort -dict [glob -nocomplain sqlite-*.src.rpm]] {
- Product $name "RPM containing complete source code"
+Product {sqlite-VERSION.src.rpm} {
+ An RPM containing complete source code for SQLite version VERSION
}
-foreach name [lsort -dict -decreasing [glob -nocomplain sqlite-*.tar.gz]] {
- regexp {sqlite-(.*)\.tar\.gz} $name match vers
- Product $name "
- Version $vers of the source tree including all documentation.
- "
+Product {sqlite-VERSION.tar.gz} {
+ A tarball of the complete source tree for SQLite version VERSION
+ including all of the documentation.
}
puts {
#
# Run this Tcl script to generate the formatchng.html file.
#
-set rcsid {$Id: formatchng.tcl,v 1.10 2004/05/31 15:06:30 drh Exp $ }
+set rcsid {$Id: formatchng.tcl,v 1.11 2004/06/16 03:02:04 drh Exp $ }
source common.tcl
header {File Format Changes in SQLite}
puts {
</td>
</tr>
<tr>
- <td valign="top">2.8.13 to 3.0.0</td>
+ <td valign="top">2.8.14 to 3.0.0</td>
<td valign="top">(pending)</td>
<td><p>Version 3.0.0 is a major upgrade for SQLite that incorporates
support for UTF-16, BLOBs, and a more compact encoding that results
puts "<hr width=\"50%\">"
}
+newsitem {2004-Jun-18} {Version 3.0.0 (alpha) Released} {
+ The first alpha release of SQLite version 3.0 is available for
+ public review and comment. Version 3.0 enhances i18n support
+ through the use of UTF-16 and user-defined text collating sequences.
+ BLOBs can now be stored directly, without encoding.
+ A new file format results in databases that are 25% smaller (depending
+ on content). The code is also a little faster. In spite of the many
+ new features, the library footprint is still less than 235KB
+ (x86, gcc -O1).
+
+ Our intent is to freeze the file format and API on 2004-Jul-01.
+ Users are encouraged to review and evaluate this alpha release carefully
+ and submit any feedback prior to that date.
+
+ The 2.8 series of SQLite will continue to be supported with bug
+ fixes for the foreseeable future.
+}
+
newsitem {2004-Jun-09} {Version 2.8.14 Released} {
SQLite version 2.8.14 is a patch release to the stable 2.8 series.
There is no reason to upgrade if 2.8.13 is working ok for you.
going into version 3.0.0 which is due out soon.
}
-newsitem {2004-May-31} {CVS Access Temporarily Disabled} {
- Anonymous access to the CVS repository will be suspended
- for 2 weeks beginning on 2004-June-04. Everyone will still
- be able to download
- prepackaged source bundles, create or modify trouble tickets, or view
- change logs during the CVS service interruption. Full open access to the
- CVS repository will be restored on 2004-June-18.
-}
-
-newsitem {2004-Apr-23} {Work Begins On SQLite Version 3} {
- Work has begun on version 3 of SQLite. Version 3 is a major
- changes to both the C-language API and the underlying file format
- that will enable SQLite to better support internationalization.
- The first beta is schedule for release on 2004-July-01.
-
- Plans are to continue to support SQLite version 2.8 with
- bug fixes. But all new development will occur in version 3.0.
-}
-
puts {
+<p align="right"><a href="oldnews.html">Old news...</a></p>
</td></tr></table>
}
-footer {$Id: index.tcl,v 1.86 2004/06/09 23:15:22 drh Exp $}
+footer {$Id: index.tcl,v 1.87 2004/06/16 03:02:04 drh Exp $}
--- /dev/null
+#!/usr/bin/tclsh
+source common.tcl
+header {SQLite Older News}
+
+proc newsitem {date title text} {
+ puts "<h3>$date - $title</h3>"
+ regsub -all "\n( *\n)+" $text "</p>\n\n<p>" txt
+ puts "<p>$txt</p>"
+ puts "<hr width=\"50%\">"
+}
+
+newsitem {2004-May-31} {CVS Access Temporarily Disabled} {
+ Anonymous access to the CVS repository will be suspended
+ for 2 weeks beginning on 2004-June-04. Everyone will still
+ be able to download
+ prepackaged source bundles, create or modify trouble tickets, or view
+ change logs during the CVS service interruption. Full open access to the
+ CVS repository will be restored on 2004-June-18.
+}
+
+newsitem {2004-Apr-23} {Work Begins On SQLite Version 3} {
+ Work has begun on version 3 of SQLite. Version 3 is a major
+ changes to both the C-language API and the underlying file format
+ that will enable SQLite to better support internationalization.
+ The first beta is schedule for release on 2004-July-01.
+
+ Plans are to continue to support SQLite version 2.8 with
+ bug fixes. But all new development will occur in version 3.0.
+}
+footer {$Id: oldnews.tcl,v 1.1 2004/06/16 03:02:05 drh Exp $}