Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Documentation updates and changes the publish.sh script. (CVS 1602) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
e9a77f8972128550f6ff98dcf854eb76 |
User & Date: | drh 2004-06-16 03:02:01.000 |
Context
2004-06-16
| ||
07:45 | Fix two more memory leaks. (CVS 1603) (check-in: 98b48704a1 user: danielk1977 tags: trunk) | |
03:02 | Documentation updates and changes the publish.sh script. (CVS 1602) (check-in: e9a77f8972 user: drh tags: trunk) | |
2004-06-15
| ||
16:51 | Assorted memory leak fixes. (CVS 1600) (check-in: 07b90f3690 user: danielk1977 tags: trunk) | |
Changes
Changes to main.mk.
︙ | ︙ | |||
418 419 420 421 422 423 424 425 426 427 428 429 430 431 | lang.html: $(TOP)/www/lang.tcl tclsh $(TOP)/www/lang.tcl >lang.html lockingv3.html: $(TOP)/www/lockingv3.tcl tclsh $(TOP)/www/lockingv3.tcl >lockingv3.html omitted.html: $(TOP)/www/omitted.tcl tclsh $(TOP)/www/omitted.tcl >omitted.html opcode.html: $(TOP)/www/opcode.tcl $(TOP)/src/vdbe.c tclsh $(TOP)/www/opcode.tcl $(TOP)/src/vdbe.c >opcode.html mingw.html: $(TOP)/www/mingw.tcl | > > > | 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 | lang.html: $(TOP)/www/lang.tcl tclsh $(TOP)/www/lang.tcl >lang.html 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 opcode.html: $(TOP)/www/opcode.tcl $(TOP)/src/vdbe.c tclsh $(TOP)/www/opcode.tcl $(TOP)/src/vdbe.c >opcode.html mingw.html: $(TOP)/www/mingw.tcl |
︙ | ︙ | |||
477 478 479 480 481 482 483 484 485 486 487 488 489 490 | fileformat.html \ formatchng.html \ index.html \ lang.html \ lockingv3.html \ mingw.html \ nulls.html \ omitted.html \ opcode.html \ quickstart.html \ speed.html \ sqlite.gif \ sqlite.html \ support.html \ | > | 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 | fileformat.html \ formatchng.html \ index.html \ lang.html \ lockingv3.html \ mingw.html \ nulls.html \ oldnews.html \ omitted.html \ opcode.html \ quickstart.html \ speed.html \ sqlite.gif \ sqlite.html \ support.html \ |
︙ | ︙ |
Changes to publish.sh.
︙ | ︙ | |||
12 13 14 15 16 17 18 | srcdir=`echo "$0" | sed 's%\(^.*\)/[^/][^/]*$%\1%'` # Get the makefile. # cp $srcdir/Makefile.linux-gcc ./Makefile chmod +x $srcdir/install-sh | > > > > | > | | | < | > | > > | > > < < < | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | srcdir=`echo "$0" | sed 's%\(^.*\)/[^/][^/]*$%\1%'` # Get the makefile. # cp $srcdir/Makefile.linux-gcc ./Makefile chmod +x $srcdir/install-sh # 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 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 # make target_source rm sqlite_source.zip cd tsrc zip ../sqlite_source.zip * rm shell.c TCLDIR=/home/drh/tcltk/8.2linux 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 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 sqlite-$VERS.so gzip sqlite-$VERS.so mv sqlite-$VERS.so.gz ../doc cd .. # Build the tclsqlite.dll shared library that can be imported into tclsh # or wish on windows. # make target_source cd tsrc rm shell.c |
︙ | ︙ | |||
151 152 153 154 155 156 157 | --def sqlite.def -v --export-all \ --driver-name i386-mingw32msvc-gcc \ --dlltool-name i386-mingw32msvc-dlltool \ --as i386-mingw32msvc-as \ --target i386-mingw32 \ -dllname sqlite.dll -lmsvcrt *.o i386-mingw32msvc-strip sqlite.dll | > | < < < | < < | < < < | | | | < | < < < < | 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 | --def sqlite.def -v --export-all \ --driver-name i386-mingw32msvc-gcc \ --dlltool-name i386-mingw32msvc-dlltool \ --as i386-mingw32msvc-as \ --target i386-mingw32 \ -dllname sqlite.dll -lmsvcrt *.o i386-mingw32msvc-strip sqlite.dll zip ../doc/tclsqlite-$VERSW.zip tclsqlite.dll zip ../doc/sqlitedll-$VERSW.zip sqlite.dll sqlite.def cd .. # Build the sqlite.exe executable for windows. # make target_source cd tsrc rm tclsqlite.c OPTS='-DSTATIC_BUILD=1 -DNDEBUG=1' i386-mingw32msvc-gcc -O2 $OPTS -I. -I$TCLDIR *.c -o sqlite.exe zip ../doc/sqlite-$VERSW.zip sqlite.exe cd .. # Construct a tarball of the source tree # ORIGIN=`pwd` cd $srcdir cd .. EXCLUDE=`find sqlite -print | grep CVS | sed 's,sqlite/, --exclude sqlite/,'` tar czf $ORIGIN/doc/sqlite-$VERS.tar.gz $EXCLUDE sqlite cd $ORIGIN # # Build RPMS (binary) and Source RPM # # Make sure we are properly setup to build RPMs # echo "%HOME %{expand:%%(cd; pwd)}" > $HOME/.rpmmacros echo "%_topdir %{HOME}/rpm" >> $HOME/.rpmmacros mkdir $HOME/rpm mkdir $HOME/rpm/BUILD mkdir $HOME/rpm/SOURCES mkdir $HOME/rpm/RPMS 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 # copy the source tarball to the rpm directory 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. mv $HOME/rpm/RPMS/i386/sqlite*-$vers*.rpm doc mv $HOME/rpm/SRPMS/sqlite-$vers*.rpm doc # Build the website # cp $srcdir/../historical/* doc make doc |
Changes to www/arch.tcl.
1 2 3 | # # Run this Tcl script to generate the sqlite.html file. # | | | 1 2 3 4 5 6 7 8 9 10 11 | # # Run this Tcl script to generate the sqlite.html file. # set rcsid {$Id: arch.tcl,v 1.13 2004/06/16 03:02:04 drh Exp $} source common.tcl header {Architecture of SQLite} puts { <h2>The Architecture Of SQLite</h2> <h3>Introduction</h3> |
︙ | ︙ | |||
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | method is the primary interface, and sqlite_exec is implemented using sqlite_compile. Externally, this change is an enhancement that maintains backwards compatibility. But internally, the plumbing is very different. The diagram at the right shows the structure of SQLite for version 2.8.13 and following. </p> <h3>Interface</h3> <p>Much of the public interface to the SQLite library is implemented by functions found in the <b>main.c</b> source file though some routines are scattered about in other files where they can have access to data structures with file scope. The <b>sqlite_get_table()</b> routine is implemented in <b>table.c</b>. <b>sqlite_step()</b> is found in <b>vdbe.c</b>. <b>sqlite_mprintf()</b> is found in <b>printf.c</b>. The Tcl interface is implemented by <b>tclsqlite.c</b>. More information on the C interface to SQLite is <a href="c_interface.html">available separately</a>.<p> <p>To avoid name collisions with other software, all external symbols in the SQLite library begin with the prefix <b>sqlite</b>. Those symbols that are intended for external use (in other words, those symbols which form the API for SQLite) begin with <b>sqlite_</b>.</p> | > > > > > > > > > > > | | 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 | method is the primary interface, and sqlite_exec is implemented using sqlite_compile. Externally, this change is an enhancement that maintains backwards compatibility. But internally, the plumbing is very different. The diagram at the right shows 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 functions found in the <b>main.c</b> source file though some routines are scattered about in other files where they can have access to data structures with file scope. The <b>sqlite_get_table()</b> routine is implemented in <b>table.c</b>. <b>sqlite_step()</b> is found in <b>vdbe.c</b>. <b>sqlite_mprintf()</b> is found in <b>printf.c</b>. The Tcl interface is implemented by <b>tclsqlite.c</b>. More information on the C interface to SQLite is <a href="c_interface.html">available separately</a>.<p> <p>To avoid name collisions with other software, all external symbols in the SQLite library begin with the prefix <b>sqlite</b>. Those symbols that are intended for external use (in other words, those symbols which form the API for SQLite) begin with <b>sqlite_</b>.</p> <h3>SQL Command Processor</h3> <p> <h3>Tokenizer</h3> <p>When a string containing SQL statements is to be executed, the interface passes that string to the tokenizer. The job of the tokenizer |
︙ | ︙ | |||
142 143 144 145 146 147 148 | <p>The backend is an abstraction layer that presents a uniform interface to the virtual machine for either the B-Tree drivers for disk-based databases or the Red/Black Tree driver for in-memory databases. The <b>btree.h</b> source file contains the details.</p> <h3>Red/Black Tree</h3> | | | > > > > | < < < | 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 | <p>The backend is an abstraction layer that presents a uniform interface to the virtual machine for either the B-Tree drivers for disk-based databases or the Red/Black Tree driver for in-memory databases. The <b>btree.h</b> source file contains the details.</p> <h3>Red/Black Tree</h3> <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.</p> <p>The interface to the B-tree subsystem is defined by the header file <b>btree.h</b>. </p> <h3>Page Cache</h3> |
︙ | ︙ |
Changes to www/download.tcl.
1 2 3 | # # Run this TCL script to generate HTML for the download.html file. # | | < | > > > | > > | < < | | | | > | < > | | > | | < < | | > | < | | | < < | | | | | | > | | | < < | > | < | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | # # Run this TCL script to generate HTML for the download.html file. # set rcsid {$Id: download.tcl,v 1.9 2004/06/16 03:02:04 drh Exp $} source common.tcl header {SQLite Download Page} puts { <h2>SQLite Download Page</h1> <table width="100%" cellpadding="5"> } 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} { puts "<tr><td colspan=4><big><b>$title</b></big></td></tr>" } Heading {Precompiled Binaries for Linux} 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-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-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 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-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-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-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-VERSION.zip} { This ZIP archive contains pure C source code for the SQLite library. 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. } Product {sqlite-VERSION.src.rpm} { An RPM containing complete source code for SQLite version VERSION } Product {sqlite-VERSION.tar.gz} { A tarball of the complete source tree for SQLite version VERSION including all of the documentation. } puts { </table> <a name="cvs"> <h3>Direct Access To The Sources Via Anonymous CVS</h3> |
︙ | ︙ |
Changes to www/formatchng.tcl.
1 2 3 | # # Run this Tcl script to generate the formatchng.html file. # | | | 1 2 3 4 5 6 7 8 9 10 11 | # # Run this Tcl script to generate the formatchng.html file. # 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 { <h2>File Format Changes in SQLite</h2> <p> From time to time, enhancements or bug fixes require a change to |
︙ | ︙ | |||
163 164 165 166 167 168 169 | transaction, then you try to examine the database using version 2.7.6 or earlier. The 2.7.6 code will not be able to read the journal file and thus will not be able to rollback the incomplete transaction to restore the database.</p> </td> </tr> <tr> | | | 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 | transaction, then you try to examine the database using version 2.7.6 or earlier. The 2.7.6 code will not be able to read the journal file and thus will not be able to rollback the incomplete transaction to restore the database.</p> </td> </tr> <tr> <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 in database files that are typically 25% to 35% smaller. The new file format is radically different and completely incompatible with the version 2 file format.</p> </td> |
︙ | ︙ |
Changes to www/index.tcl.
︙ | ︙ | |||
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | 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-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. This is only a bug-fix release. Most developement effort is going into version 3.0.0 which is due out soon. } | > > > > > > > > > > > > > > > > > > < < < < < < < < < < < < < < < < < < < > | | 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 | 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-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. This is only a bug-fix release. Most developement effort is going into version 3.0.0 which is due out soon. } puts { <p align="right"><a href="oldnews.html">Old news...</a></p> </td></tr></table> } footer {$Id: index.tcl,v 1.87 2004/06/16 03:02:04 drh Exp $} |
Added www/oldnews.tcl.
> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | #!/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 $} |