Documentation updates for version 3.1.4. (CVS 2375)

FossilOrigin-Name: a7261f1590367932db23f5c8d6d785887df1e8dd
This commit is contained in:
drh 2005-03-11 04:39:58 +00:00
parent 6575a222d5
commit a8f9361f1d
6 changed files with 84 additions and 32 deletions

View File

@ -1,5 +1,5 @@
C Another\scase\sof\sreturning\sSQLITE_CORRUPT\swhen\sa\scorrupt\sdatabase\sfile\nis\sdetected.\s(CVS\s2374)
D 2005-03-10T17:06:34
C Documentation\supdates\sfor\sversion\s3.1.4.\s(CVS\s2375)
D 2005-03-11T04:39:58
F Makefile.in 76443a83549d1539105e12d13bd0054a05ab2214
F Makefile.linux-gcc a9e5a0d309fa7c38e7c14d3ecf7690879d3a5457
F README a01693e454a00cc117967e3f9fdab2d4d52e9bc1
@ -238,9 +238,9 @@ F www/arch2b.fig d22a2c9642d584b89d4088b1e51e2bb0f7c04bed
F www/audit.tcl 90e09d580f79c7efec0c7d6f447b7ec5c2dce5c0
F www/autoinc.tcl b357f5ba954b046ee35392ce0f884a2fcfcdea06
F www/c_interface.tcl b51b08591554c16a0c3ef718364a508ac25abc7e
F www/capi3.tcl f01802bf3413c603f320e396b951979942ba4ee0
F www/capi3ref.tcl c5a3ae75fc3505c034f3c4bbb62ab94cf359ac39
F www/changes.tcl fba1b5c968e6df123561e91b102b3a3a12eb5266
F www/capi3.tcl 7a7cc225fe02eb7ab861a6019b08baa0014409e1
F www/capi3ref.tcl aec15cee5db96cd7ad5658b9988ee2730bf58f86
F www/changes.tcl 167a925c072d5305a0741f71843d0c6a3d7081f0
F www/common.tcl de758130d54d95d151ea0d17a2ae5b92e1bb01de
F www/compile.tcl 65b26bdfc964b66c5f0af841718a52f9795ceb05
F www/conflict.tcl cdd0f4b59b0ba6d61f67e6a38f3ae45853bacb30
@ -256,7 +256,7 @@ F www/dynload.tcl 02eb8273aa78cfa9070dd4501dca937fb22b466c
F www/faq.tcl 1e348dec52dc0f21f4216fd6918c69c56daa4cfd
F www/fileformat.tcl 900c95b9633abc3dcfc384d9ddd8eb4876793059
F www/formatchng.tcl bfbf14dbf5181e771d06da7797767b0200b36d8a
F www/index.tcl c09198bfea01ecb547e232d9a1f98667b5056f25
F www/index.tcl fc30249384e99f8f16d81f0cdce3080208da630d
F www/lang.tcl 0e5aeb09864b9ae0746d8afaa6377193f1553486
F www/lockingv3.tcl f59b19d6c8920a931f096699d6faaf61c05db55f
F www/mingw.tcl d96b451568c5d28545fefe0c80bee3431c73f69c
@ -274,7 +274,7 @@ F www/tclsqlite.tcl e73f8f8e5f20e8277619433f7970060ab01088fc
F www/vdbe.tcl 095f106d93875c94b47367384ebc870517431618
F www/version3.tcl 092a01f5ef430d2c4acc0ae558d74c4bb89638a0
F www/whentouse.tcl 3e522a06ad41992023c80ca29a048ae2331ca5bd
P f11c6e745200525056ae7cf97b4bdf1c7f1db588
R aa18e74905e6647a1e0144af5f38bdf8
P 8710192797b5b22f29b2af90198d03664665bd83
R 5cdfb2a7c74fb9373942399ec1201a12
U drh
Z bdb3fe47d96b133342ba5ece7facc36d
Z 36aced3ee0f1f52c3cf4c20dc110d43d

View File

@ -1 +1 @@
8710192797b5b22f29b2af90198d03664665bd83
a7261f1590367932db23f5c8d6d785887df1e8dd

View File

@ -1,7 +1,14 @@
set rcsid {$Id: capi3.tcl,v 1.8 2005/02/16 23:43:34 danielk1977 Exp $}
set rcsid {$Id: capi3.tcl,v 1.9 2005/03/11 04:39:58 drh Exp $}
source common.tcl
header {C/C++ Interface For SQLite Version 3}
puts {
proc AddHyperlinks {txt} {
regsub -all {([^:alnum:>])(sqlite3_\w+)(\([^\)]*\))} $txt \
{\1<a href="capi3ref.html#\2">\2</a>\3} t2
puts $t2
}
AddHyperlinks {
<h2>C/C++ Interface For SQLite Version 3</h2>
<h3>1.0 Overview</h3>
@ -193,14 +200,14 @@ can be executed again.
</p>
<p>
The SQL statement may contain tokens of the form "?" or "?nnn" or ":nnn:"
where "nnn" is an integer. Such tokens represent unspecified literal values
(or wildcards) to be filled in later by the
The SQL statement may contain tokens of the form "?" or "?nnn" or ":aaa"
where "nnn" is an integer and "aaa" is an identifier.
Such tokens represent unspecified literal values (or "wildcards")
to be filled in later by the
<a href="capi3ref.html#sqlite3_bind_blob">sqlite3_bind</a> interface.
Each wildcard as an associated number given
by the "nnn" that follows the "?". If the "?" is not followed by an
integer, then its number one more than the number of prior wildcards
in the same SQL statement. It is allowed for the same wildcard
Each wildcard has an associated number which is its sequence in the
statement or the "nnn" in the case of a "?nnn" form.
It is allowed for the same wildcard
to occur more than once in the same SQL statement, in which case
all instance of that wildcard will be filled in with the same value.
Unbound wildcards have a value of NULL.
@ -273,7 +280,7 @@ then sqlite3_data_count() will return 0 whereas sqlite3_column_count() will
continue to return the number of columns in the result set.
</p>
<p>Returned data is examined using the other sqlite3_column_XXX() functions,
<p>Returned data is examined using the other sqlite3_column_***() functions,
all of which take a column number as their second parameter. Columns are
zero-indexed from left to right. Note that this is different to parameters,
which are indexed starting at one.

View File

@ -1,4 +1,4 @@
set rcsid {$Id: capi3ref.tcl,v 1.17 2004/12/07 02:14:52 drh Exp $}
set rcsid {$Id: capi3ref.tcl,v 1.18 2005/03/11 04:39:58 drh Exp $}
source common.tcl
header {C/C++ Interface For SQLite Version 3}
puts {
@ -151,17 +151,34 @@ api {} {
api {} {
int sqlite3_busy_handler(sqlite3*, int(*)(void*,int), void*);
} {
This routine identifies a callback function that is invoked
whenever an attempt is made to open a database table that is
currently locked by another process or thread. If the busy callback
is NULL, then sqlite3_exec() returns SQLITE_BUSY immediately if
it finds a locked table. If the busy callback is not NULL, then
sqlite3_exec() invokes the callback with two arguments. The
This routine identifies a callback function that might be invoked
whenever an attempt is made to open a database table
that another thread or process has locked.
If the busy callback is NULL, then SQLITE_BUSY is returned immediately
upon encountering the lock.
If the busy callback is not NULL, then the
callback might invoked with two arguments. The
second argument is the number of prior calls to the busy callback
for the same lock. If the
busy callback returns 0, then sqlite3_exec() immediately returns
SQLITE_BUSY. If the callback returns non-zero, then sqlite3_exec()
tries to open the table again and the cycle repeats.
busy callback returns 0, then no additional attempts are made to
access the database and SQLITE_BUSY is returned.
If the callback returns non-zero, then another attempt is made to open the
database for reading and the cycle repeats.
That a busy handler is registered does not guarantee that
it will be invoked when there is lock contention.
If SQLite determines that invoking the busy handler could result in
a deadlock, it will return SQLITE_BUSY instead.
Consider a scenario where one process is holding a read lock that
it is trying to promote to a reserved lock and
a second process is holding a reserved lock that it is trying
to promote to an exclusive lock. The first process cannot proceed
because it is blocked by the second and the second process cannot
proceed because it is blocked by the first. If both processes
invoke the busy handlers, neither will make any progress. Therefore,
SQLite returns SQLITE_BUSY for the first process, hoping that this
will induce the first process to release its read lock and allow
the second process to proceed.
The default busy callback is NULL.

View File

@ -21,6 +21,22 @@ proc chng {date desc} {
puts "<DD><P><UL>$desc</UL></P></DD>"
}
chng {2005 February 19 (3.1.4)} {
<li>Fix a bug in autovacuum that could cause database corruption if
a CREATE UNIQUE INDEX fails because of a constraint violation.
This problem only occurs if the new autovacuum feature introduced in
version 3.1 is turned on.</li>
<li>The F_FULLSYNC ioctl (currently only supported on OS-X) is disabled
if the synchronous pragma is set to something other than "full".</li>
<li>Add additional forward compatibility to the future version 3.2 database
file format.</li>
<li>Fix a bug in WHERE clauses of the form (rowid<'2')</li>
<li>New SQLITE_OMIT_... compile-time options added</li>
<li>Updates to the man page</li>
<li>Remove the use of strcasecmp() from the shell</li>
<li>Windows DLL exports symbols Tclsqlite_Init and Sqlite_Init</li>
}
chng {2005 February 19 (3.1.3)} {
<li>Fix a problem with VACUUM on databases from which tables containing
AUTOINCREMENT have been dropped.</li>

View File

@ -29,7 +29,7 @@ Features include:
less than 250KB code space (gcc on i486)</li>
<li><a href="speed.html">Faster</a> than popular client/server database
engines for most common operations.</li>
<li>Simple, easy to use <a href="c_interface.html">API</a>.</li>
<li>Simple, easy to use <a href="capi3.html">API</a>.</li>
<li><a href="tclsqlite.html">TCL bindings</a> included.
Bindings for many other languages
<a href="http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers">
@ -61,6 +61,18 @@ proc newsitem {date title text} {
puts "<hr width=\"50%\">"
}
newsitem {2005-Mar-10} {Version 3.1.4 Released} {
Version 3.1.4 fixes a critical bug that could cause database corruption
if the autovacuum mode of version 3.1.0 is turned on (it is off by
default) and a CREATE UNIQUE INDEX is executed within a transaction but
fails because the indexed columns are not unique. Anyone using the
autovacuum feature and unique indices should upgrade.
Other changes in version 3.1.4 include the ability to disable
the F_FULLSYNC ioctl() by setting "PRAGMA synchronous=on" instead
of the default "PRAGMA synchronous=full".
}
newsitem {2005-Feb-19} {Version 3.1.3 Released} {
Version 3.1.3 cleans up some minor issues discovered in version 3.1.2.
}
@ -107,4 +119,4 @@ puts {
<p align="right"><a href="oldnews.html">Old news...</a></p>
</td></tr></table>
}
footer {$Id: index.tcl,v 1.108 2005/02/19 13:46:25 drh Exp $}
footer {$Id: index.tcl,v 1.109 2005/03/11 04:39:58 drh Exp $}