/ Check-in [f65df59e]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:More documentation updates (CVS 295)
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:f65df59e554c281ad1efa830f13f87488eb16845
User & Date: drh 2001-10-31 15:44:47
Context
2001-11-01
13:52
Comment changes only. (CVS 296) check-in: b2cb118f user: drh tags: trunk
2001-10-31
15:44
More documentation updates (CVS 295) check-in: f65df59e user: drh tags: trunk
2001-10-25
20:37
Make lemon 64-bit clean (CVS 294) check-in: 475e2fed user: drh tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to www/c_interface.tcl.

     1      1   #
     2      2   # Run this Tcl script to generate the sqlite.html file.
     3      3   #
     4         -set rcsid {$Id: c_interface.tcl,v 1.18 2001/10/19 16:44:58 drh Exp $}
            4  +set rcsid {$Id: c_interface.tcl,v 1.19 2001/10/31 15:44:47 drh Exp $}
     5      5   
     6      6   puts {<html>
     7      7   <head>
     8      8     <title>The C language interface to the SQLite library</title>
     9      9   </head>
    10     10   <body bgcolor=white>
    11     11   <h1 align=center>
................................................................................
   223    223   </p></dd>
   224    224   <dt>SQLITE_LOCKED</dt>
   225    225   <dd><p>This return code is similar to SQLITE_BUSY in that it indicates
   226    226   that the database is locked.  But the source of the lock is a recursive
   227    227   call to <b>sqlite_exec()</b>.  This return can only occur if you attempt
   228    228   to invoke sqlite_exec() from within a callback routine of a query
   229    229   from a prior invocation of sqlite_exec().  Recursive calls to
   230         -sqlite_exec() are allowed as long as no more they all read-only or do
          230  +sqlite_exec() are allowed as long as they do
   231    231   not attempt to write the same table.
   232    232   </p></dd>
   233    233   <dt>SQLITE_NOMEM</dt>
   234    234   <dd><p>This value is returned if a call to <b>malloc()</b> fails.
   235    235   </p></dd>
   236    236   <dt>SQLITE_READONLY</dt>
   237    237   <dd><p>This return code indicates that an attempt was made to write to
................................................................................
   441    441   result[2] = "host"<br>
   442    442   </blockquote>
   443    443   
   444    444   <p>Memory to hold the information returned by <b>sqlite_get_table()</b>
   445    445   is obtained from malloc().  But the calling function should not try
   446    446   to free this information directly.  Instead, pass the complete table
   447    447   to <b>sqlite_free_table()</b> when the table is no longer needed.
   448         -It is safe to call <b>sqlite_free_table()</b> will a NULL pointer such
          448  +It is safe to call <b>sqlite_free_table()</b> with a NULL pointer such
   449    449   as would be returned if the result set is empty.</p>
   450    450   
   451    451   <p>The <b>sqlite_get_table()</b> routine returns the same integer
   452    452   result code as <b>sqlite_exec()</b>.</p>
   453    453   
   454    454   <h2>Interrupting an SQLite operation</h2>
   455    455   
   456    456   <p>The <b>sqlite_interrupt()</b> function can be called from a
   457         -different thread or from a signal handler to the current database
          457  +different thread or from a signal handler to cause the current database
   458    458   operation to exit at its first opportunity.  When this happens,
   459    459   the <b>sqlite_exec()</b> routine (or the equivalent) that started
   460    460   the database operation will return SQLITE_INTERRUPT.</p>
   461    461   
   462    462   <h2>Testing for a complete SQL statement</h2>
   463    463   
   464    464   <p>The next interface routine to SQLite is a convenience function used
................................................................................
   508    508   <b>sqlite_encoding</b> character string just tells you how the library
   509    509   was compiled.</p>
   510    510   
   511    511   <h2>Changing the libraries response to locked files</h2>
   512    512   
   513    513   <p>The <b>sqlite_busy_handler()</b> procedure can be used to register
   514    514   a busy callback with an open SQLite database.  The busy callback will
   515         -be invoked whenever SQLite tries to open a locked that is locked.
          515  +be invoked whenever SQLite tries to open a file that is locked.
   516    516   The callback will typically do some other useful work, or perhaps sleep,
   517    517   in order to give the lock a chance to clear.  If the callback returns
   518    518   non-zero, then SQLite tries again to open the database and the cycle
   519    519   repeats.  If the callback returns zero, then SQLite aborts the current
   520    520   operation and returns SQLITE_BUSY.</p>
   521    521   
   522    522   <p>The arguments to <b>sqlite_busy_handler()</b> are the opaque

Changes to www/changes.tcl.

    12     12   }
    13     13   
    14     14   
    15     15   proc chng {date desc} {
    16     16     puts "<DT><B>$date</B></DT>"
    17     17     puts "<DD><P><UL>$desc</UL></P></DD>"
    18     18   }
           19  +
           20  +chng {2001 Oct ?? (2.0.8)} {
           21  +<li>Documentation updates</li>
           22  +}
    19     23   
    20     24   chng {2001 Oct 21 (2.0.7)} {
    21     25   <li>Any UTF-8 character or ISO8859 character can be used as part of
    22     26       an identifier.</li>
    23     27   <li>Patches from Christian Werner to improve ODBC compatibility and to
    24     28       fix a bug in the round() function.</li>
    25     29   <li>Plug some memory leaks that use to occur if malloc() failed.

Changes to www/index.tcl.

     1      1   #
     2      2   # Run this TCL script to generate HTML for the index.html file.
     3      3   #
     4         -set rcsid {$Id: index.tcl,v 1.44 2001/10/06 16:33:04 drh Exp $}
            4  +set rcsid {$Id: index.tcl,v 1.45 2001/10/31 15:44:47 drh Exp $}
     5      5   
     6      6   puts {<html>
     7      7   <head><title>SQLite: An SQL Database Engine In A C Library</title></head>
     8      8   <body bgcolor=white>
     9      9   <h1 align=center>SQLite: An SQL Database Engine In A C Library</h1>
    10     10   <p align=center>}
    11     11   puts "This page was last modified on [lrange $rcsid 3 4] GMT<br>"
................................................................................
   103    103   <li>A description of the <a href="opcode.html">virtual machine</a> that
   104    104       SQLite uses to access the database.</li>
   105    105   </ul>
   106    106   </p>
   107    107   
   108    108   <p>The SQLite source code is 35% comment.  These comments are
   109    109   another important source of information. </p>
          110  +
   110    111   }
   111    112   
   112    113   puts {
   113    114   <table align="right">
   114    115   <tr><td align="center">
   115    116   <a href="http://www.yahoogroups.com/subscribe/sqlite">
   116    117   <img src="http://www.egroups.com/img/ui/join.gif" border=0 /><br />
................................................................................
   118    119   </td></tr>
   119    120   </table>
   120    121   <a name="mailinglist" />
   121    122   <h2>Mailing List</h2>
   122    123   <p>A mailing list has been set up on yahooGroups for discussion of
   123    124   SQLite design issues or for asking questions about SQLite.</p>
   124    125   }
          126  +
          127  +puts {<h2>Professional Support and Custom Modifications</h2>}
          128  +
          129  +puts {
          130  +<p>
          131  +If you would like professional support for SQLite
          132  +or if you want custom modifications to SQLite preformed by the
          133  +original author, these services are available for a modest fee.
          134  +For additional information contact:</p>
          135  +
          136  +<blockquote>
          137  +D. Richard Hipp <br />
          138  +Hwaci - Applied Software Research <br />
          139  +704.948.4565 <br />
          140  +<a href="mailto:drh@hwaci.com">drh@hwaci.com</a>
          141  +</blockquote>
          142  +}
   125    143   
   126    144   puts {<h2>Building From Source</h2>}
   127    145   
   128    146   puts {
   129    147   <p>To build sqlite under Unix, just unwrap the tarball, create a separate
   130    148   build directory, run configure from the build directory and then
   131    149   type "make".  For example:</p>

Changes to www/speed.tcl.

     1      1   #
     2      2   # Run this Tcl script to generate the speed.html file.
     3      3   #
     4         -set rcsid {$Id: speed.tcl,v 1.3 2001/09/28 23:11:24 drh Exp $ }
            4  +set rcsid {$Id: speed.tcl,v 1.4 2001/10/31 15:44:48 drh Exp $ }
     5      5   
     6      6   puts {<html>
     7      7   <head>
     8      8     <title>Database Speed Comparison: SQLite versus PostgreSQL</title>
     9      9   </head>
    10     10   <body bgcolor=white>
    11     11   <h1 align=center>
................................................................................
   286    286   SQLite 1.0:   real   0.03   user   0.00   sys   0.02
   287    287   SQLite 2.0:   real   3.12   user   0.02   sys   0.31
   288    288   </pre></blockquote>
   289    289   
   290    290   <p>
   291    291   SQLite 2.0 is much slower at dropping tables.  This may be because
   292    292   both SQLite 1.0 and PostgreSQL can drop a table simply by unlinking
   293         -or renaming a file, since that both use one or more files per table.
          293  +or renaming a file, since both store database tables in separate files.
   294    294   SQLite 2.0, on the other hand, uses a single file for the entire
   295    295   database, so dropping a table involves moving lots of page of that
   296    296   file to the free-list, which takes time.
   297    297   </p>
   298    298   
   299    299   }
   300    300   puts {
   301    301   <p><hr /></p>
   302    302   <p><a href="index.html"><img src="/goback.jpg" border=0 />
   303    303   Back to the SQLite Home Page</a>
   304    304   </p>
   305    305   
   306    306   </body></html>}