Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | More documentation updates (CVS 295) |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
f65df59e554c281ad1efa830f13f8748 |
User & Date: | drh 2001-10-31 15:44:47.000 |
Context
2001-11-01
| ||
13:52 | Comment changes only. (CVS 296) (check-in: b2cb118fb7 user: drh tags: trunk) | |
2001-10-31
| ||
15:44 | More documentation updates (CVS 295) (check-in: f65df59e55 user: drh tags: trunk) | |
2001-10-25
| ||
20:37 | Make lemon 64-bit clean (CVS 294) (check-in: 475e2fedda user: drh tags: trunk) | |
Changes
Changes to www/c_interface.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: c_interface.tcl,v 1.19 2001/10/31 15:44:47 drh Exp $} puts {<html> <head> <title>The C language interface to the SQLite library</title> </head> <body bgcolor=white> <h1 align=center> |
︙ | ︙ | |||
223 224 225 226 227 228 229 | </p></dd> <dt>SQLITE_LOCKED</dt> <dd><p>This return code is similar to SQLITE_BUSY in that it indicates that the database is locked. But the source of the lock is a recursive call to <b>sqlite_exec()</b>. This return can only occur if you attempt to invoke sqlite_exec() from within a callback routine of a query from a prior invocation of sqlite_exec(). Recursive calls to | | | 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 | </p></dd> <dt>SQLITE_LOCKED</dt> <dd><p>This return code is similar to SQLITE_BUSY in that it indicates that the database is locked. But the source of the lock is a recursive call to <b>sqlite_exec()</b>. This return can only occur if you attempt to invoke sqlite_exec() from within a callback routine of a query from a prior invocation of sqlite_exec(). Recursive calls to sqlite_exec() are allowed as long as they do not attempt to write the same table. </p></dd> <dt>SQLITE_NOMEM</dt> <dd><p>This value is returned if a call to <b>malloc()</b> fails. </p></dd> <dt>SQLITE_READONLY</dt> <dd><p>This return code indicates that an attempt was made to write to |
︙ | ︙ | |||
441 442 443 444 445 446 447 | result[2] = "host"<br> </blockquote> <p>Memory to hold the information returned by <b>sqlite_get_table()</b> is obtained from malloc(). But the calling function should not try to free this information directly. Instead, pass the complete table to <b>sqlite_free_table()</b> when the table is no longer needed. | | | | 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 | result[2] = "host"<br> </blockquote> <p>Memory to hold the information returned by <b>sqlite_get_table()</b> is obtained from malloc(). But the calling function should not try to free this information directly. Instead, pass the complete table to <b>sqlite_free_table()</b> when the table is no longer needed. It is safe to call <b>sqlite_free_table()</b> with a NULL pointer such as would be returned if the result set is empty.</p> <p>The <b>sqlite_get_table()</b> routine returns the same integer result code as <b>sqlite_exec()</b>.</p> <h2>Interrupting an SQLite operation</h2> <p>The <b>sqlite_interrupt()</b> function can be called from a different thread or from a signal handler to cause the current database operation to exit at its first opportunity. When this happens, the <b>sqlite_exec()</b> routine (or the equivalent) that started the database operation will return SQLITE_INTERRUPT.</p> <h2>Testing for a complete SQL statement</h2> <p>The next interface routine to SQLite is a convenience function used |
︙ | ︙ | |||
508 509 510 511 512 513 514 | <b>sqlite_encoding</b> character string just tells you how the library was compiled.</p> <h2>Changing the libraries response to locked files</h2> <p>The <b>sqlite_busy_handler()</b> procedure can be used to register a busy callback with an open SQLite database. The busy callback will | | | 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 | <b>sqlite_encoding</b> character string just tells you how the library was compiled.</p> <h2>Changing the libraries response to locked files</h2> <p>The <b>sqlite_busy_handler()</b> procedure can be used to register a busy callback with an open SQLite database. The busy callback will be invoked whenever SQLite tries to open a file that is locked. The callback will typically do some other useful work, or perhaps sleep, in order to give the lock a chance to clear. If the callback returns non-zero, then SQLite tries again to open the database and the cycle repeats. If the callback returns zero, then SQLite aborts the current operation and returns SQLITE_BUSY.</p> <p>The arguments to <b>sqlite_busy_handler()</b> are the opaque |
︙ | ︙ |
Changes to www/changes.tcl.
︙ | ︙ | |||
12 13 14 15 16 17 18 19 20 21 22 23 24 25 | } proc chng {date desc} { puts "<DT><B>$date</B></DT>" puts "<DD><P><UL>$desc</UL></P></DD>" } chng {2001 Oct 21 (2.0.7)} { <li>Any UTF-8 character or ISO8859 character can be used as part of an identifier.</li> <li>Patches from Christian Werner to improve ODBC compatibility and to fix a bug in the round() function.</li> <li>Plug some memory leaks that use to occur if malloc() failed. | > > > > | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | } proc chng {date desc} { puts "<DT><B>$date</B></DT>" puts "<DD><P><UL>$desc</UL></P></DD>" } chng {2001 Oct ?? (2.0.8)} { <li>Documentation updates</li> } chng {2001 Oct 21 (2.0.7)} { <li>Any UTF-8 character or ISO8859 character can be used as part of an identifier.</li> <li>Patches from Christian Werner to improve ODBC compatibility and to fix a bug in the round() function.</li> <li>Plug some memory leaks that use to occur if malloc() failed. |
︙ | ︙ |
Changes to www/index.tcl.
1 2 3 | # # Run this TCL script to generate HTML for the index.html file. # | | | 1 2 3 4 5 6 7 8 9 10 11 | # # Run this TCL script to generate HTML for the index.html file. # set rcsid {$Id: index.tcl,v 1.45 2001/10/31 15:44:47 drh Exp $} puts {<html> <head><title>SQLite: An SQL Database Engine In A C Library</title></head> <body bgcolor=white> <h1 align=center>SQLite: An SQL Database Engine In A C Library</h1> <p align=center>} puts "This page was last modified on [lrange $rcsid 3 4] GMT<br>" |
︙ | ︙ | |||
103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | <li>A description of the <a href="opcode.html">virtual machine</a> that SQLite uses to access the database.</li> </ul> </p> <p>The SQLite source code is 35% comment. These comments are another important source of information. </p> } puts { <table align="right"> <tr><td align="center"> <a href="http://www.yahoogroups.com/subscribe/sqlite"> <img src="http://www.egroups.com/img/ui/join.gif" border=0 /><br /> Click to subscribe to sqlite</a> </td></tr> </table> <a name="mailinglist" /> <h2>Mailing List</h2> <p>A mailing list has been set up on yahooGroups for discussion of SQLite design issues or for asking questions about SQLite.</p> } puts {<h2>Building From Source</h2>} puts { <p>To build sqlite under Unix, just unwrap the tarball, create a separate build directory, run configure from the build directory and then type "make". For example:</p> | > > > > > > > > > > > > > > > > > > | 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 | <li>A description of the <a href="opcode.html">virtual machine</a> that SQLite uses to access the database.</li> </ul> </p> <p>The SQLite source code is 35% comment. These comments are another important source of information. </p> } puts { <table align="right"> <tr><td align="center"> <a href="http://www.yahoogroups.com/subscribe/sqlite"> <img src="http://www.egroups.com/img/ui/join.gif" border=0 /><br /> Click to subscribe to sqlite</a> </td></tr> </table> <a name="mailinglist" /> <h2>Mailing List</h2> <p>A mailing list has been set up on yahooGroups for discussion of SQLite design issues or for asking questions about SQLite.</p> } puts {<h2>Professional Support and Custom Modifications</h2>} puts { <p> If you would like professional support for SQLite or if you want custom modifications to SQLite preformed by the original author, these services are available for a modest fee. For additional information contact:</p> <blockquote> D. Richard Hipp <br /> Hwaci - Applied Software Research <br /> 704.948.4565 <br /> <a href="mailto:drh@hwaci.com">drh@hwaci.com</a> </blockquote> } puts {<h2>Building From Source</h2>} puts { <p>To build sqlite under Unix, just unwrap the tarball, create a separate build directory, run configure from the build directory and then type "make". For example:</p> |
︙ | ︙ |
Changes to www/speed.tcl.
1 2 3 | # # Run this Tcl script to generate the speed.html file. # | | | 1 2 3 4 5 6 7 8 9 10 11 | # # Run this Tcl script to generate the speed.html file. # set rcsid {$Id: speed.tcl,v 1.4 2001/10/31 15:44:48 drh Exp $ } puts {<html> <head> <title>Database Speed Comparison: SQLite versus PostgreSQL</title> </head> <body bgcolor=white> <h1 align=center> |
︙ | ︙ | |||
286 287 288 289 290 291 292 | SQLite 1.0: real 0.03 user 0.00 sys 0.02 SQLite 2.0: real 3.12 user 0.02 sys 0.31 </pre></blockquote> <p> SQLite 2.0 is much slower at dropping tables. This may be because both SQLite 1.0 and PostgreSQL can drop a table simply by unlinking | | | 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 | SQLite 1.0: real 0.03 user 0.00 sys 0.02 SQLite 2.0: real 3.12 user 0.02 sys 0.31 </pre></blockquote> <p> SQLite 2.0 is much slower at dropping tables. This may be because both SQLite 1.0 and PostgreSQL can drop a table simply by unlinking or renaming a file, since both store database tables in separate files. SQLite 2.0, on the other hand, uses a single file for the entire database, so dropping a table involves moving lots of page of that file to the free-list, which takes time. </p> } puts { <p><hr /></p> <p><a href="index.html"><img src="/goback.jpg" border=0 /> Back to the SQLite Home Page</a> </p> </body></html>} |