diff --git a/manifest b/manifest index 4dff288452..0efe6969cc 100644 --- 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 diff --git a/manifest.uuid b/manifest.uuid index 7a74a87d8d..0f0664e41c 100644 --- a/manifest.uuid +++ b/manifest.uuid @@ -1 +1 @@ -974d42839b6ced9c9b9ea14abec0c4723388a991 \ No newline at end of file +f1a5808288e4204aee03531de0b9e6646062bd94 \ No newline at end of file diff --git a/www/arch.tcl b/www/arch.tcl index a32f9f592e..89e3b59e4c 100644 --- a/www/arch.tcl +++ b/www/arch.tcl @@ -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 {
@@ -12,7 +12,7 @@ puts { The Architecture Of SQLite } puts "-(This page was last modified on [lrange $rcsid 3 4] GMT) +(This page was last modified on [lrange $rcsid 3 4] UTC)
" puts { diff --git a/www/c_interface.tcl b/www/c_interface.tcl index 3b39270a77..7ca43a449d 100644 --- a/www/c_interface.tcl +++ b/www/c_interface.tcl @@ -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 { @@ -12,7 +12,7 @@ puts { The C language interface to the SQLite library } puts "-(This page was last modified on [lrange $rcsid 3 4] GMT) +(This page was last modified on [lrange $rcsid 3 4] UTC)
" puts { diff --git a/www/crosscompile.tcl b/www/crosscompile.tcl index 5f6ce1beaa..82357fd3d8 100644 --- a/www/crosscompile.tcl +++ b/www/crosscompile.tcl @@ -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 { @@ -12,7 +12,7 @@ puts { Notes On How To Compile SQLite Using The MinGW Cross-Compiler } puts "-(This page was last modified on [lrange $rcsid 3 4] GMT) +(This page was last modified on [lrange $rcsid 3 4] UTC)
" puts { diff --git a/www/download.tcl b/www/download.tcl index 2a4b82f159..105b8c1243 100644 --- a/www/download.tcl +++ b/www/download.tcl @@ -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 {}
-#puts "This page was last modified on [lrange $rcsid 3 4] GMT
"
+#puts "This page was last modified on [lrange $rcsid 3 4] UTC
"
#set vers [lindex $argv 0]
#puts "The latest SQLite version is $vers"
-#puts " created on [exec cat last_change] GMT"
+#puts " created on [exec cat last_change] UTC"
#puts {
+(This page was last modified on [lrange $rcsid 3 4] UTC) +
" + set cnt 1 proc faq {question answer} { @@ -130,7 +136,7 @@ faq { a typical command for transferring an SQLite databases between two machines:The command above assumes the name of the destination machine is sparc 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. } +faq { + Can multiple applications or multiple instances of the same + application access a single database file at the same time? +} { +-echo .dump | sqlite from.db | ssh sparc 'sqlite to.db' +echo .dump | sqlite from.db | ssh sparc sqlite to.db
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.
+ +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.
+ +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.
+ +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 sqlite_busy_handler() or + sqlite_busy_timeout() API functions. See the API documentation + for details.
+} + +faq { + Is SQLite threadsafe? +} { +Almost. In the source file named "os.c" there are two functions + named sqliteOsEnterMutex() and sqliteOsLeaveMutex(). 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.
+} + +faq { + How do I list all tables/indices contained in an SQLite database +} { +If you are running the sqlite command-line access program + you can type ".tables" to get a list of all tables. Or you + can type ".schema" 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.
+ +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 "SQLITE_MASTER". Every SQLite database + has an SQLITE_MASTER table that defines the schema for the database. + The SQLITE_MASTER table looks like this:
+++CREATE TABLE sqlite_master ( + type TEXT, + name TEXT, + tbl_name TEXT, + rootpage INTEGER, + sql TEXT +); +
For tables, the type field will always be 'table' and the + name field will be the name of the table. So to get a list of + all tables in the database, use the following SELECT command:
+++SELECT name FROM sqlite_master +WHERE type='table' +ORDER BY name; +
For indices, type is equal to 'index', name is the + name of the index and tbl_name is the name of the table to which + the index belongs. For both tables and indices, the sql 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 sql field + is NULL.
+ +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.
+ +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.
+} + # End of questions and answers. ############# diff --git a/www/index.tcl b/www/index.tcl index d7718da096..80e890a993 100644 --- a/www/index.tcl +++ b/www/index.tcl @@ -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 {}
-puts "This page was last modified on [lrange $rcsid 3 4] GMT
"
+puts "This page was last modified on [lrange $rcsid 3 4] UTC
"
set vers [lindex $argv 0]
puts "The latest SQLite version is $vers"
-puts " created on [exec cat last_change] GMT"
+puts " created on [exec cat last_change] UTC"
puts {
-(This page was last modified on [lrange $rcsid 3 4] GMT) +(This page was last modified on [lrange $rcsid 3 4] UTC)
" puts { diff --git a/www/mingw.tcl b/www/mingw.tcl index 6b64a0021e..b89b135b9b 100644 --- a/www/mingw.tcl +++ b/www/mingw.tcl @@ -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 { @@ -12,7 +12,7 @@ puts { Notes On How To Build MinGW As A Cross-Compiler } puts "-(This page was last modified on [lrange $rcsid 3 4] GMT) +(This page was last modified on [lrange $rcsid 3 4] UTC)
" puts { diff --git a/www/opcode.tcl b/www/opcode.tcl index cc042d329f..1110f36ecc 100644 --- a/www/opcode.tcl +++ b/www/opcode.tcl @@ -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 { @@ -12,7 +12,7 @@ puts { SQLite Virtual Machine Opcodes } puts "-(This page was last modified on [lrange $rcsid 3 4] GMT) +(This page was last modified on [lrange $rcsid 3 4] UTC)
" set fd [open [lindex $argv 0] r] diff --git a/www/speed.tcl b/www/speed.tcl index 102d6dda12..2833c810b8 100644 --- a/www/speed.tcl +++ b/www/speed.tcl @@ -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 { @@ -12,7 +12,7 @@ puts { Database Speed Comparison } puts "-(This page was last modified on [lrange $rcsid 3 4] GMT) +(This page was last modified on [lrange $rcsid 3 4] UTC)
" puts { diff --git a/www/sqlite.tcl b/www/sqlite.tcl index d8a23af3ed..5d4fb06acc 100644 --- a/www/sqlite.tcl +++ b/www/sqlite.tcl @@ -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 { @@ -12,7 +12,7 @@ puts { sqlite: A program to administer SQLite databases } puts "-(This page was last modified on [lrange $rcsid 3 4] GMT) +(This page was last modified on [lrange $rcsid 3 4] UTC)
" puts { diff --git a/www/tclsqlite.tcl b/www/tclsqlite.tcl index 4d913622ff..457c7221d2 100644 --- a/www/tclsqlite.tcl +++ b/www/tclsqlite.tcl @@ -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 { @@ -12,7 +12,7 @@ puts { The Tcl interface to the SQLite library } puts "-(This page was last modified on [lrange $rcsid 3 4] GMT) +(This page was last modified on [lrange $rcsid 3 4] UTC)
" puts { diff --git a/www/vdbe.tcl b/www/vdbe.tcl index 4a0775081e..c01ada4206 100644 --- a/www/vdbe.tcl +++ b/www/vdbe.tcl @@ -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 { @@ -12,7 +12,7 @@ puts { The Virtual Database Engine of SQLite } puts "-(This page was last modified on [lrange $rcsid 3 4] GMT) +(This page was last modified on [lrange $rcsid 3 4] UTC)
" puts {