]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Update the FAQ. Change the GMT timezone label to UTC on all files. (CVS 318)
authordrh <drh@noemail.net>
Sat, 24 Nov 2001 13:23:04 +0000 (13:23 +0000)
committerdrh <drh@noemail.net>
Sat, 24 Nov 2001 13:23:04 +0000 (13:23 +0000)
FossilOrigin-Name: f1a5808288e4204aee03531de0b9e6646062bd94

15 files changed:
manifest
manifest.uuid
www/arch.tcl
www/c_interface.tcl
www/crosscompile.tcl
www/download.tcl
www/faq.tcl
www/index.tcl
www/lang.tcl
www/mingw.tcl
www/opcode.tcl
www/speed.tcl
www/sqlite.tcl
www/tclsqlite.tcl
www/vdbe.tcl

index 4dff28845267f5aefe24af153189f570120999d5..0efe6969cc5fd495f4521f65139a27b36908f7ea 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Version\s2.1.3\s(CVS\s458)
-D 2001-11-24T00:45:00
+C Update\sthe\sFAQ.\s\sChange\sthe\sGMT\stimezone\slabel\sto\sUTC\son\sall\sfiles.\s(CVS\s318)
+D 2001-11-24T13:23:05
 F Makefile.in 352fed589f09dd94347e0bb391d047118ebd6105
 F Makefile.template b6c3d3ba089e97e3a721e967f3151350f36cb42b
 F README a4c0ba11354ef6ba0776b400d057c59da47a4cc0
@@ -102,22 +102,22 @@ F tool/renumberOps.awk 6d067177ad5f8d711b79577b462da9b3634bd0a9
 F tool/report1.txt 9eae07f26a8fc53889b45fc833a66a33daa22816
 F www/arch.fig d5f9752a4dbf242e9cfffffd3f5762b6c63b3bcf
 F www/arch.png 82ef36db1143828a7abc88b1e308a5f55d4336f4
-F www/arch.tcl 03b521d252575f93b9c52f7c8b0007011512fcfb
-F www/c_interface.tcl d446234c1d3ed747fcefd30e972a19f2b2fc0e05
+F www/arch.tcl 72a0c80e9054cc7025a50928d28d9c75c02c2b8b
+F www/c_interface.tcl 1b05a758844273509800b04aa38841fab8dd9891
 F www/changes.tcl 0a54872839461f49b7300b36571d342f0ef0d4fb
-F www/crosscompile.tcl c99efacb3aefaa550c6e80d91b240f55eb9fd33e
-F www/download.tcl 3e51c9ff1326b0a182846134987301310dff7d60
+F www/crosscompile.tcl 3622ebbe518927a3854a12de51344673eb2dd060
+F www/download.tcl 1ea61f9d89a2a5a9b2cee36b0d5cf97321bdefe0
 F www/dynload.tcl 02eb8273aa78cfa9070dd4501dca937fb22b466c
-F www/faq.tcl 55c7fbb5490d045a3e8223e41b51d8b93310b52c
-F www/index.tcl 7e1afccc37548b7107f666105749bfe7d99d267b
-F www/lang.tcl f0e953bfeaaba4c33117ec4bca639dd71ba0e13e
-F www/mingw.tcl fc5f4ba9d336b6e8c97347cc6496d6162461ef60
-F www/opcode.tcl 7989ed328316454c7030dcdb60f09ae1e017286d
-F www/speed.tcl 212a91d555384e01873160d6a189f1490c791bc2
-F www/sqlite.tcl 6a21242a272e9c0939a04419a51c3d50cae33e3e
-F www/tclsqlite.tcl 13d50723f583888fc80ae1a38247c0ab415066fa
-F www/vdbe.tcl eb4e1768cffa266cbbb7133488022a7a6cb278d9
-P fc2aae04578c305304a45ec6b76d3ab216cc7526
-R 4107b50dd67a5b31593969d21ca32f97
+F www/faq.tcl f1fd488bef706934f6e13cc56bc642ae09c72515
+F www/index.tcl 6d6d847dd3e39e9aa7b0c9b8f3144819ff3f9f51
+F www/lang.tcl 87ba01664d4ae7126a4a25bcf04407c8ea5a626b
+F www/mingw.tcl f1c7c0a7f53387dd9bb4f8c7e8571b7561510ebc
+F www/opcode.tcl 1d60621d3550b9723447bd2dc6875d97290bec5f
+F www/speed.tcl 83457b2bf6bb430900bd48ca3dd98264d9a916a5
+F www/sqlite.tcl 8b5884354cb615049aed83039f8dfe1552a44279
+F www/tclsqlite.tcl 880ef67cb4f2797b95bf1368fc4e0d8ca0fda956
+F www/vdbe.tcl 2013852c27a02a091d39a766bc87cff329f21218
+P 974d42839b6ced9c9b9ea14abec0c4723388a991
+R 510051e75409b6b257f01060b1675252
 U drh
-Z e3ec2c565db6eedb5055591c44e9acbb
+Z 99119da7cfe58575444c98fda1901651
index 7a74a87d8de3b16a7b5b266fa0841ff520e84211..0f0664e41cb01b3750ca395009061dd908b23f8a 100644 (file)
@@ -1 +1 @@
-974d42839b6ced9c9b9ea14abec0c4723388a991
\ No newline at end of file
+f1a5808288e4204aee03531de0b9e6646062bd94
\ No newline at end of file
index a32f9f592ec0446e56bf2a047419ceff5ff747af..89e3b59e4caf184437020e32c2116e87436d6cd8 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Run this Tcl script to generate the sqlite.html file.
 #
-set rcsid {$Id: arch.tcl,v 1.6 2001/09/28 23:11:24 drh Exp $}
+set rcsid {$Id: arch.tcl,v 1.7 2001/11/24 13:23:05 drh Exp $}
 
 puts {<html>
 <head>
@@ -12,7 +12,7 @@ puts {<html>
 The Architecture Of SQLite
 </h1>}
 puts "<p align=center>
-(This page was last modified on [lrange $rcsid 3 4] GMT)
+(This page was last modified on [lrange $rcsid 3 4] UTC)
 </p>"
 
 puts {
index 3b39270a77d69d398088181e91fe6ac465af8475..7ca43a449d8c790d9b1a4bcc36b985b86ccb1704 100644 (file)
@@ -1,7 +1,7 @@
 #
 # 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 $}
+set rcsid {$Id: c_interface.tcl,v 1.20 2001/11/24 13:23:05 drh Exp $}
 
 puts {<html>
 <head>
@@ -12,7 +12,7 @@ puts {<html>
 The C language interface to the SQLite library
 </h1>}
 puts "<p align=center>
-(This page was last modified on [lrange $rcsid 3 4] GMT)
+(This page was last modified on [lrange $rcsid 3 4] UTC)
 </p>"
 
 puts {
index 5f6ce1beaa9faa0781b442b5c049529e35bc7ad0..82357fd3d87df997aef0e94447fe38dd79a749b2 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Run this Tcl script to generate the crosscompile.html file.
 #
-set rcsid {$Id: crosscompile.tcl,v 1.4 2001/01/31 13:28:09 drh Exp $}
+set rcsid {$Id: crosscompile.tcl,v 1.5 2001/11/24 13:23:05 drh Exp $}
 
 puts {<html>
 <head>
@@ -12,7 +12,7 @@ puts {<html>
 Notes On How To Compile SQLite Using The MinGW Cross-Compiler
 </h1>}
 puts "<p align=center>
-(This page was last modified on [lrange $rcsid 3 4] GMT)
+(This page was last modified on [lrange $rcsid 3 4] UTC)
 </p>"
 
 puts {
index 2a4b82f1595c61d10546b8e03468be9bc9de27af..105b8c12430e781454eeac7159c4e671b2287b23 100644 (file)
@@ -1,17 +1,17 @@
 #
 # Run this TCL script to generate HTML for the download.html file.
 #
-set rcsid {$Id: download.tcl,v 1.1 2001/10/06 16:33:04 drh Exp $}
+set rcsid {$Id: download.tcl,v 1.2 2001/11/24 13:23:05 drh Exp $}
 
 puts {<html>
 <head><title>SQLite Download Page</title></head>
 <body bgcolor=white>
 <h1 align=center>SQLite Download Page</h1>}
 #<p align=center>}
-#puts "This page was last modified on [lrange $rcsid 3 4] GMT<br>"
+#puts "This page was last modified on [lrange $rcsid 3 4] UTC<br>"
 #set vers [lindex $argv 0]
 #puts "The latest SQLite version is <b>$vers</b>"
-#puts " created on [exec cat last_change] GMT"
+#puts " created on [exec cat last_change] UTC"
 #puts {</p>}
 
 puts {<h2>Precompiled Binaries For Linux</h2>}
index d300a7a397b4bf46df2b965729d4cc118e5bcc1d..1e1e650ec376710ef2ad24bb4c9778a2138f46a0 100644 (file)
@@ -1,6 +1,8 @@
 #
 # Run this script to generated a faq.html output file
 #
+set rcsid {$Id: faq.tcl,v 1.2 2001/11/24 13:23:05 drh Exp $}
+
 puts {<html>
 <head>
   <title>SQLite Frequently Asked Questions</title>
@@ -8,6 +10,10 @@ puts {<html>
 <body bgcolor="white">
 <h1 align="center">Frequently Asked Questions</h1>
 }
+puts "<p align=center>
+(This page was last modified on [lrange $rcsid 3 4] UTC)
+</p>"
+
 
 set cnt 1
 proc faq {question answer} {
@@ -130,7 +136,7 @@ faq {
   a typical command for transferring an SQLite databases between two
   machines:
 <blockquote><pre>
-echo .dump | sqlite from.db | ssh sparc 'sqlite to.db'
+echo .dump | sqlite from.db | ssh sparc sqlite to.db
 </pre></blockquote>
   The command above assumes the name of the destination machine is
   <b>sparc</b> and that you have SSH running on both the source and
@@ -140,6 +146,94 @@ echo .dump | sqlite from.db | ssh sparc 'sqlite to.db'
   while redirecting input from the temporary file.</p>
 }
 
+faq {
+  Can multiple applications or multiple instances of the same
+  application access a single database file at the same time?
+} {
+  <p>Multiple processes can have the same database open at the same
+  time.  On unix systems, multiple processes can be doing a SELECT
+  at the same time.  But only one process can be making changes to
+  the database at once.  On windows, only a single process can be
+  reading from the database at one time since Win95/98/ME does not
+  support reader/writer locks.</p>
+
+  <p>The locking mechanism used to control simultaneous access might
+  not work correctly if the database file is kept on an NFS filesystem.
+  You should avoid putting SQLite database files on NFS if multiple
+  processes might try to access the file at the same time.</p>
+
+  <p>Locking in SQLite is very course-grained.  SQLite locks the
+  entire database.  Big database servers (PostgreSQL, MySQL, Oracle, etc.)
+  generally have finer grained locking, such as locking on a single
+  table or a single row within a table.  If you have a massively
+  parallel database application, you should consider using a big database
+  server instead of SQLite.</p>
+
+  <p>When SQLite tries to access a file that is locked by another
+  process, the default behavior is to return SQLITE_BUSY.  You can
+  adjust this behavior from C code using the <b>sqlite_busy_handler()</b> or
+  <b>sqlite_busy_timeout()</b> API functions.  See the API documentation
+  for details.</p>
+}
+
+faq {
+  Is SQLite threadsafe?
+} {
+  <p>Almost.  In the source file named "<b>os.c</b>" there are two functions
+  named <b>sqliteOsEnterMutex()</b> and <b>sqliteOsLeaveMutex()</b>.  In
+  the default distribution these functions are stubs.  They do not do anything.
+  If you change them so that they actually implement a mutex, then SQLite
+  will be threadsafe.  But because these routines are stubs, the default
+  SQLite distribution is not threadsafe.</p>
+}
+
+faq {
+  How do I list all tables/indices contained in an SQLite database
+} {
+  <p>If you are running the <b>sqlite</b> command-line access program
+  you can type "<b>.tables</b>" to get a list of all tables.  Or you
+  can type "<b>.schema</b>" to see the complete database schema including
+  all tables and indices.  Either of these commands can be followed by
+  a LIKE pattern that will restrict the tables that are displayed.</p>
+
+  <p>From within a C/C++ program (or a script using Tcl/Ruby/Perl/Python
+  bindings) you can get access to table and index names by doing a SELECT
+  on a special table named "<b>SQLITE_MASTER</b>".  Every SQLite database
+  has an SQLITE_MASTER table that defines the schema for the database.
+  The SQLITE_MASTER table looks like this:</p>
+<blockquote><pre>
+CREATE TABLE sqlite_master (
+  type TEXT,
+  name TEXT,
+  tbl_name TEXT,
+  rootpage INTEGER,
+  sql TEXT
+);
+</pre></blockquote>
+  <p>For tables, the <b>type</b> field will always be <b>'table'</b> and the
+  <b>name</b> field will be the name of the table.  So to get a list of
+  all tables in the database, use the following SELECT command:</p>
+<blockquote><pre>
+SELECT name FROM sqlite_master
+WHERE type='table'
+ORDER BY name;
+</pre></blockquote>
+  <p>For indices, <b>type</b> is equal to <b>'index'</b>, <b>name</b> is the
+  name of the index and <b>tbl_name</b> is the name of the table to which
+  the index belongs.  For both tables and indices, the <b>sql</b> field is
+  the text of the original CREATE TABLE or CREATE INDEX statement that
+  created the table or index.  For automatically created indices (used
+  to implement the PRIMARY KEY or UNIQUE constraints) the <b>sql</b> field
+  is NULL.</p>
+
+  <p>The SQLITE_MASTER table is read-only.  You cannot change this table
+  using UPDATE, INSERT, or DELETE.  The table is automatically updated by
+  CREATE TABLE, CREATE INDEX, DROP TABLE, and DROP INDEX commands.</p>
+
+  <p>Temporary tables do not appear in the SQLITE_MASTER table.  At this time
+  there is no way to get a listing of temporary tables and indices.</p>
+}
+
 # End of questions and answers.
 #############
 
index d7718da09633786933c6d1127355323cb9896f1c..80e890a993daebc49829951f4b0ce28b839944bb 100644 (file)
@@ -1,17 +1,17 @@
 #
 # Run this TCL script to generate HTML for the index.html file.
 #
-set rcsid {$Id: index.tcl,v 1.48 2001/11/24 00:31:47 drh Exp $}
+set rcsid {$Id: index.tcl,v 1.49 2001/11/24 13:23:05 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>"
+puts "This page was last modified on [lrange $rcsid 3 4] UTC<br>"
 set vers [lindex $argv 0]
 puts "The latest SQLite version is <b>$vers</b>"
-puts " created on [exec cat last_change] GMT"
+puts " created on [exec cat last_change] UTC"
 puts {</p>}
 
 puts {<h2>Introduction</h2>
index 8c4f74c1abcd6ae0d8a4f841e6060a0253338b2a..2eabeb4c3bad927950162ff338e5c2f6de12e926 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Run this Tcl script to generate the sqlite.html file.
 #
-set rcsid {$Id: lang.tcl,v 1.15 2001/11/06 14:10:42 drh Exp $}
+set rcsid {$Id: lang.tcl,v 1.16 2001/11/24 13:23:05 drh Exp $}
 
 puts {<html>
 <head>
@@ -12,7 +12,7 @@ puts {<html>
 SQL As Understood By SQLite
 </h1>}
 puts "<p align=center>
-(This page was last modified on [lrange $rcsid 3 4] GMT)
+(This page was last modified on [lrange $rcsid 3 4] UTC)
 </p>"
 
 puts {
index 6b64a0021e926af74b477415973a274aae647f8b..b89b135b9b4305caa1112da12023529f183211da 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Run this Tcl script to generate the crosscompile.html file.
 #
-set rcsid {$Id: mingw.tcl,v 1.2 2000/07/31 19:16:32 drh Exp $}
+set rcsid {$Id: mingw.tcl,v 1.3 2001/11/24 13:23:05 drh Exp $}
 
 puts {<html>
 <head>
@@ -12,7 +12,7 @@ puts {<html>
 Notes On How To Build MinGW As A Cross-Compiler
 </h1>}
 puts "<p align=center>
-(This page was last modified on [lrange $rcsid 3 4] GMT)
+(This page was last modified on [lrange $rcsid 3 4] UTC)
 </p>"
 
 puts {
index cc042d329f22b3b8880ecf6b9264c9d50db23b5e..1110f36eccf338b18f3460fba68d81fb4b7bbd07 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Run this Tcl script to generate the sqlite.html file.
 #
-set rcsid {$Id: opcode.tcl,v 1.7 2001/11/01 14:41:34 drh Exp $}
+set rcsid {$Id: opcode.tcl,v 1.8 2001/11/24 13:23:05 drh Exp $}
 
 puts {<html>
 <head>
@@ -12,7 +12,7 @@ puts {<html>
 SQLite Virtual Machine Opcodes
 </h1>}
 puts "<p align=center>
-(This page was last modified on [lrange $rcsid 3 4] GMT)
+(This page was last modified on [lrange $rcsid 3 4] UTC)
 </p>"
 
 set fd [open [lindex $argv 0] r]
index 102d6dda1207484dc4e0c57e6ce8611b697ebc92..2833c810b8c89fe3458f84295b45cc0dfbca3215 100644 (file)
@@ -1,7 +1,7 @@
 #
 # 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 $ }
+set rcsid {$Id: speed.tcl,v 1.5 2001/11/24 13:23:05 drh Exp $ }
 
 puts {<html>
 <head>
@@ -12,7 +12,7 @@ puts {<html>
 Database Speed Comparison
 </h1>}
 puts "<p align=center>
-(This page was last modified on [lrange $rcsid 3 4] GMT)
+(This page was last modified on [lrange $rcsid 3 4] UTC)
 </p>"
 
 puts {
index d8a23af3ed498ba407b8b6284b1ebdf2c5df2770..5d4fb06acccea10a0edbcbb67d74701ec93a4694 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Run this Tcl script to generate the sqlite.html file.
 #
-set rcsid {$Id: sqlite.tcl,v 1.15 2001/09/28 23:11:24 drh Exp $}
+set rcsid {$Id: sqlite.tcl,v 1.16 2001/11/24 13:23:05 drh Exp $}
 
 puts {<html>
 <head>
@@ -12,7 +12,7 @@ puts {<html>
 sqlite: A program to administer SQLite databases
 </h1>}
 puts "<p align=center>
-(This page was last modified on [lrange $rcsid 3 4] GMT)
+(This page was last modified on [lrange $rcsid 3 4] UTC)
 </p>"
 
 puts {
index 4d913622ffb2e3811d3f48b75c338d0f0bd3b501..457c7221d2cfe36a0841fc558c16cacaef7d6473 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Run this Tcl script to generate the tclsqlite.html file.
 #
-set rcsid {$Id: tclsqlite.tcl,v 1.4 2001/09/20 01:44:44 drh Exp $}
+set rcsid {$Id: tclsqlite.tcl,v 1.5 2001/11/24 13:23:05 drh Exp $}
 
 puts {<html>
 <head>
@@ -12,7 +12,7 @@ puts {<html>
 The Tcl interface to the SQLite library
 </h1>}
 puts "<p align=center>
-(This page was last modified on [lrange $rcsid 3 4] GMT)
+(This page was last modified on [lrange $rcsid 3 4] UTC)
 </p>"
 
 puts {
index 4a0775081e456a44919e925b688789a81124a022..c01ada420639aa8828be92f5d57365566d137292 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Run this Tcl script to generate the vdbe.html file.
 #
-set rcsid {$Id: vdbe.tcl,v 1.8 2001/11/21 02:21:13 drh Exp $}
+set rcsid {$Id: vdbe.tcl,v 1.9 2001/11/24 13:23:05 drh Exp $}
 
 puts {<html>
 <head>
@@ -12,7 +12,7 @@ puts {<html>
 The Virtual Database Engine of SQLite
 </h1>}
 puts "<p align=center>
-(This page was last modified on [lrange $rcsid 3 4] GMT)
+(This page was last modified on [lrange $rcsid 3 4] UTC)
 </p>"
 
 puts {