From: drh Date: Wed, 16 Jun 2004 03:02:00 +0000 (+0000) Subject: Documentation updates and changes the publish.sh script. (CVS 1602) X-Git-Tag: version-3.6.10~4477 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7b93ed3d48769e4908eb9b1d64bc87187da7976b;p=thirdparty%2Fsqlite.git Documentation updates and changes the publish.sh script. (CVS 1602) FossilOrigin-Name: e9a77f8972128550f6ff98dcf854eb7680eaee8b --- diff --git a/main.mk b/main.mk index 33e227c68d..2ae10051eb 100644 --- a/main.mk +++ b/main.mk @@ -422,6 +422,9 @@ lang.html: $(TOP)/www/lang.tcl 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 @@ -481,6 +484,7 @@ DOC = \ lockingv3.html \ mingw.html \ nulls.html \ + oldnews.html \ omitted.html \ opcode.html \ quickstart.html \ diff --git a/manifest b/manifest index 3aa520ae78..8ce04374f3 100644 --- a/manifest +++ b/manifest @@ -1,5 +1,5 @@ -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 @@ -17,9 +17,9 @@ F doc/lemon.html f0f682f50210928c07e562621c3b7e8ab912a538 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 @@ -187,7 +187,7 @@ F tool/speedtest.tcl 06c76698485ccf597b9e7dbb1ac70706eb873355 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 @@ -203,16 +203,17 @@ F www/copyright.tcl 82c9670c7ddb0311912ab7fe24703f33c531066c 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 @@ -222,7 +223,7 @@ F www/support.tcl 1801397edd271cc39a2aadd54e701184b5181248 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 diff --git a/manifest.uuid b/manifest.uuid index e9f7be2add..38bdd5ba65 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -07b90f3690768e852384fbbde0ba59e69e24d1da \ No newline at end of file +e9a77f8972128550f6ff98dcf854eb7680eaee8b \ No newline at end of file diff --git a/publish.sh b/publish.sh index 171565e28b..2f5eac16dd 100644 --- a/publish.sh +++ b/publish.sh @@ -16,14 +16,19 @@ srcdir=`echo "$0" | sed 's%\(^.*\)/[^/][^/]*$%\1%'` 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 @@ -38,15 +43,16 @@ TCLSTUBLIB=$TCLDIR/libtclstub8.2g.a 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. @@ -155,11 +161,9 @@ i386-mingw32msvc-dllwrap \ --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. # @@ -168,10 +172,8 @@ cd tsrc 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 # @@ -179,11 +181,8 @@ ORIGIN=`pwd` 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 @@ -201,24 +200,19 @@ mkdir $HOME/rpm/SRPMS 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 diff --git a/www/arch.tcl b/www/arch.tcl index b96b602319..0161634b7d 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.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 { @@ -39,6 +39,17 @@ the plumbing is very different. The diagram at the right shows the structure of SQLite for version 2.8.13 and following.

+

+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 os.c has now been split out into +several file, on for each operating system. And +the prefix on the names of API routines changed from sqlite_ +to sqlite3_. +

+

Interface

Much of the public interface to the SQLite library is implemented by @@ -58,7 +69,7 @@ Those symbols that are intended for external use (in other words, those symbols which form the API for SQLite) begin with sqlite_.

-

SQL Command Process

+

SQL Command Processor

@@ -146,8 +157,12 @@ The btree.h source file contains the details.

Red/Black Tree

-

In-memory databases are stored in a red/black tree implementation -contain in the btree_rb.c source file. +

In SQLite version 2.X, in-memory databases are stored in a red/black +tree implementation contain in the btree_rb.c 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.

B-Tree

@@ -155,10 +170,7 @@ contain in the btree_rb.c source file.

An SQLite database is maintained on disk using a B-tree implementation found in the btree.c 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.

+same disk file.

The interface to the B-tree subsystem is defined by the header file btree.h. diff --git a/www/download.tcl b/www/download.tcl index 5de76e3594..4ee2f8edaf 100644 --- a/www/download.tcl +++ b/www/download.tcl @@ -1,7 +1,7 @@ # # 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} @@ -10,18 +10,21 @@ puts { } - -proc Product {file desc} { - if {![file exists $file]} return - set size [file size $file] - puts [subst { - - - - - -}] +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 "" + puts "" + puts "" + regsub -all VERSION $desc $version d2 + puts "" + } } proc Heading {title} { @@ -30,71 +33,67 @@ 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 the documentation 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 the documentation for details. } -Product sqlite.so.gz { +Product sqlite-VERSION.so.gz { A precompiled shared-library for Linux. This is the same as tclsqlite.so.gz 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 sqlite 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 sqlite 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 the documentation 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 the documentation 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 { diff --git a/www/formatchng.tcl b/www/formatchng.tcl index b1095b5e52..24ddd8c710 100644 --- a/www/formatchng.tcl +++ b/www/formatchng.tcl @@ -1,7 +1,7 @@ # # 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 { @@ -167,7 +167,7 @@ occurred since version 1.0.0: - +
-$file
($size bytes)
[string trim $desc]
" + puts "$file
($size bytes)
[string trim $d2]
2.8.13 to 3.0.02.8.14 to 3.0.0 (pending)

Version 3.0.0 is a major upgrade for SQLite that incorporates support for UTF-16, BLOBs, and a more compact encoding that results diff --git a/www/index.tcl b/www/index.tcl index a61d3ac361..c07e70ddd2 100644 --- a/www/index.tcl +++ b/www/index.tcl @@ -58,6 +58,24 @@ proc newsitem {date title text} { puts "


" } +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. @@ -65,26 +83,8 @@ newsitem {2004-Jun-09} {Version 2.8.14 Released} { 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 { +

Old news...

} -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 $} diff --git a/www/oldnews.tcl b/www/oldnews.tcl new file mode 100644 index 0000000000..63a4eb0ef1 --- /dev/null +++ b/www/oldnews.tcl @@ -0,0 +1,30 @@ +#!/usr/bin/tclsh +source common.tcl +header {SQLite Older News} + +proc newsitem {date title text} { + puts "

$date - $title

" + regsub -all "\n( *\n)+" $text "

\n\n

" txt + puts "

$txt

" + puts "
" +} + +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 $}