-C A\sproported\sfix\sfor\sticket\s#374.\s(CVS\s1047)
-D 2003-07-07T10:47:10
+C Enhance\sthe\sC/C++\sdocumentation\sto\sclarify\sthe\smeaning\sof\sthe\sreturn\svalue\nfrom\ssqlite_changes().\s\sTicket\s#383.\s(CVS\s1048)
+D 2003-07-08T23:42:25
F Makefile.in 9ad23ed4ca97f9670c4496432e3fbd4b3760ebde
F Makefile.linux-gcc b86a99c493a5bfb402d1d9178dcdc4bd4b32f906
F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd
F www/arch.png 82ef36db1143828a7abc88b1e308a5f55d4336f4
F www/arch.tcl 44b589fc01d6829d43447ab40588b00aec5b9734
F www/audit.tcl 90e09d580f79c7efec0c7d6f447b7ec5c2dce5c0
-F www/c_interface.tcl 5b54a6f65b70b02da2f6df4f8a23a4b10032e89e
+F www/c_interface.tcl acacd31d4441de900e09ee48b5ffdef0162d8dc3
F www/changes.tcl 424e5fff460670f1249270ce69b91e8b1f036aa6
F www/conflict.tcl 81dd21f9a679e60aae049e9dd8ab53d59570cda2
F www/datatypes.tcl 0cb28565580554fa7e03e8fcb303e87ce57757ae
F www/sqlite.tcl 3c83b08cf9f18aa2d69453ff441a36c40e431604
F www/tclsqlite.tcl 1db15abeb446aad0caf0b95b8b9579720e4ea331
F www/vdbe.tcl 9b9095d4495f37697fd1935d10e14c6015e80aa1
-P 1d4c92c7325f69ee84b901a2de74a306ace134b6
-R 98f295873ba2a9a8b9e49e8059d2a1d4
+P a49ee69e98df80b479aa6bb97a9af9c6abf04e3f
+R df294d7db0117d537360e6dfc3d8b829
U drh
-Z 1caec2ad5fd7972fd1f54511299aff27
+Z abfd41d53707aa73aacfecb7fb8f6695
#
# Run this Tcl script to generate the sqlite.html file.
#
-set rcsid {$Id: c_interface.tcl,v 1.37 2003/03/01 19:45:35 drh Exp $}
+set rcsid {$Id: c_interface.tcl,v 1.38 2003/07/08 23:42:25 drh Exp $}
puts {<html>
<head>
<h3>3.2 The number of rows that changed</h3>
<p>The <b>sqlite_changes</b> API function returns the number of rows
-that were inserted, deleted, or modified during the most recent
-<b>sqlite_exec</b> call of by <b>sqlite_step</b> calls since the
-most recent <b>sqlite_compile</b>. The number reported includes any changes
+that have been inserted, deleted, or modified since the database was
+last quiescent. A "quiescent" database is one in which there are
+no outstanding calls to <b>sqlite_exec</b> and no VMs created by
+<b>sqlite_compile</b> that have not been finalized by <b>sqlite_finalize</b>.
+In common usage, <b>sqlite_changes</b> returns the number
+of rows inserted, deleted, or modified by the most recent <b>sqlite_exec</b>
+call or since the most recent <b>sqlite_compile</b>. But if you have
+nested calls to <b>sqlite_exec</b> (that is, if the callback routine
+of one <b>sqlite_exec</b> invokes another <b>sqlite_exec</b>) or if
+you invoke <b>sqlite_compile</b> to create a new VM while there is
+still another VM in existance, then
+the meaning of the number returned by <b>sqlite_changes</b> is more
+complex.
+The number reported includes any changes
that were later undone by a ROLLBACK or ABORT. But rows that are
deleted because of a DROP TABLE are <em>not</em> counted.</p>