datatypes.html: $(TOP)/www/datatypes.tcl
tclsh $(TOP)/www/datatypes.tcl >datatypes.html
+quickstart.html: $(TOP)/www/quickstart.tcl
+ tclsh $(TOP)/www/quickstart.tcl >quickstart.html
+
# Files to be published on the website.
#
formatchng.html \
conflict.html \
omitted.html \
- datatypes.html
+ datatypes.html \
+ quickstart.html
doc: $(DOC)
mkdir -p doc
-C Additional\stest\scases\sand\sdocumentation\supdates.\s(CVS\s717)
-D 2002-08-15T11:48:13
+C More\sdocumentation\supdates.\s(CVS\s718)
+D 2002-08-15T13:45:17
F Makefile.in 6291a33b87d2a395aafd7646ee1ed562c6f2c28c
F Makefile.linux-gcc b86a99c493a5bfb402d1d9178dcdc4bd4b32f906
F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd
F install-sh 9d4de14ab9fb0facae2f48780b874848cbf2f895
F libtool c56e618713c9510a103bda6b95f3ea3900dcacd6
F ltmain.sh e9ed72eb1d690f447c13945eaf69e28af531eda1
-F main.mk 6f0f1cfd611e5ead3e7487b0e8b60ccb17d9fc0b
+F main.mk 8a44951de2a6791646fe65a11d47f43223d23e86
F publish.sh a7a8d23e6525bd25d4f5ba9b0fc6edc107d94050
F spec.template 238f7db425a78dc1bb7682e56e3834c7270a3f5e
F sqlite.1 83f4a9d37bdf2b7ef079a82d54eaf2e3509ee6ea
F www/changes.tcl df6f06b1aa97ef285c744bf19ec3efddf707b05f
F www/conflict.tcl 81dd21f9a679e60aae049e9dd8ab53d59570cda2
F www/crosscompile.tcl 3622ebbe518927a3854a12de51344673eb2dd060
-F www/datatypes.tcl a555ff9f5121aab9d7cffcec4c1d8c86ad79c4ee
-F www/download.tcl 29aa6679ca29621d10613f60ebbbda18f4b91c49
+F www/datatypes.tcl d528c3e29e1b289f27b44c164feace2541e4f261
+F www/download.tcl 0932d7f4f0e8b2adbbd22fac73132f86e43ab4a9
F www/dynload.tcl 02eb8273aa78cfa9070dd4501dca937fb22b466c
F www/faq.tcl 9262ad6f7f25ab253a9771ab1fbd48a1a14f2957
F www/formatchng.tcl b4449e065d2da38b6563bdf12cf46cfe1d4d765e
-F www/index.tcl 9af69527a26895ec56ad920d4c51541c3e5643a6
+F www/index.tcl 43dc2ae4b6d39d9923ab49adbdf25e6f729acb9d
F www/lang.tcl a2785964e80627381e953849e227a3ff2a38cb09
F www/mingw.tcl f1c7c0a7f53387dd9bb4f8c7e8571b7561510ebc
-F www/omitted.tcl 7a6d6598e6a6a09bf54a02e0aff0f29e407d9f11
+F www/omitted.tcl aa5145a79f5a8919ac41885c30007da9face1d48
F www/opcode.tcl 33c5f2061a05c5d227c72b84c080b3bf74c74f8b
+F www/quickstart.tcl 247f2ba9009f8114036080e758e7d9d3b884dd32
F www/speed.tcl 7fc83f1b018e1ecc451838449542c3079ed12425
F www/sqlite.tcl ae3dcfb077e53833b59d4fcc94d8a12c50a44098
F www/tclsqlite.tcl 1db15abeb446aad0caf0b95b8b9579720e4ea331
F www/vdbe.tcl 2013852c27a02a091d39a766bc87cff329f21218
-P 66a0f6a8e25e3eeed78eba4b63b097f921c79d99
-R cf9944ebe55162967e3e3ce76c6f7260
+P 048b16c111693727482642e2a19a74a91458fc80
+R 6efb031218c7f978d135ae50d0d8e6c1
U drh
-Z 8cc0e2bc226abcbf418a7651cce9d7b1
+Z 1e0a5248b18dfae467225acd1f95aa8e
-048b16c111693727482642e2a19a74a91458fc80
\ No newline at end of file
+9c0400aa7a0244605828fa6450ea1cc723240b16
\ No newline at end of file
#
# Run this script to generated a datatypes.html output file
#
-set rcsid {$Id: datatypes.tcl,v 1.3 2002/08/15 11:48:14 drh Exp $}
+set rcsid {$Id: datatypes.tcl,v 1.4 2002/08/15 13:45:17 drh Exp $}
puts {<html>
<head>
i TIMESTAMP,
j NUMERIC(10,5)
k VARYING CHARACTER (24),
- l NATIVE VARYING CHAR(16)
+ l NATIONAL VARYING CHARACTER(16)
);
</pre></blockquote>
#
# Run this TCL script to generate HTML for the download.html file.
#
-set rcsid {$Id: download.tcl,v 1.5 2002/03/30 14:15:52 drh Exp $}
+set rcsid {$Id: download.tcl,v 1.6 2002/08/15 13:45:17 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] UTC<br>"
-#set vers [lindex $argv 0]
-#puts "The latest SQLite version is <b>$vers</b>"
-#puts " created on [exec cat last_change] UTC"
-#puts {</p>}
+<h1 align=center>SQLite Download Page</h1>
+<table width="100%" cellpadding="5">
+}
-puts {<h2>Precompiled Binaries For Linux</h2>}
proc Product {file desc} {
if {![file exists $file]} return
set size [file size $file]
puts [subst {
-<table cellpadding="15">
<tr>
-<td width="200" align="right" valign="top">
-<a href="$file">$file</a><br>($size bytes)
-</td>
+<td width="10"></td>
+<td align="right" valign="top">
+<a href="$file">$file</a><br>($size bytes)</td>
+<td width="5"></td>
<td valign="top">[string trim $desc]</td>
-</tr>
-</table>}]
+</tr>}]
+}
+
+proc Heading {title} {
+ puts "<tr><td colspan=4><big><b>$title</b></big></td></tr>"
}
+Heading {Precompiled Binaries for Linux}
+
Product sqlite.bin.gz {
A command-line program for accessing and modifing SQLite databases.
See <a href="sqlite.html">the documentation</a> for additional information.
}
}
-puts {<h2>Precompiled Binaries For Windows</h2>}
+Heading {Precompiled Binaries For Windows}
Product sqlite.zip {
A command-line program for accessing and modifing SQLite databases.
The only external dependency is MSVCRT.DLL.
}
-puts {<h2>Source Code</h2>}
+Heading {Source Code}
Product {sqlite_source.zip} {
This ZIP archive contains pure C source code for the SQLite library.
}
puts {
+</table>
<p><hr /></p>
<p>
<a href="index.html"><img src="/goback.jpg" border=0 />
#
# Run this TCL script to generate HTML for the index.html file.
#
-set rcsid {$Id: index.tcl,v 1.65 2002/08/14 00:08:13 drh Exp $}
+set rcsid {$Id: index.tcl,v 1.66 2002/08/15 13:45:17 drh Exp $}
puts {<html>
<head><title>SQLite: An SQL Database Engine In A C Library</title></head>
<li><a href="download.html">Download</a></li>
<li><a href="http://cvs.hwaci.com:2080/sqlite/timeline">Change Log</a></li>
<li><a href="http://cvs.hwaci.com:2080/sqlite/tktnew">Report a bug</a></li>
+<li><a href="quickstart.html">Quick start</a></li>
</ul>
</td></tr></table>
</td></tr>
<p>The following documentation is currently available:</p>
<p><ul>
+<li>A <a href="quickstart.html">Quick Start</a> guide to using SQLite in
+ 5 minutes or less.</li>
<li><a href="faq.html">Frequently Asked Questions</a> are available online.</li>
<li>Information on the <a href="sqlite.html">sqlite</a>
command-line utility.</li>
#
# Run this script to generated a omitted.html output file
#
-set rcsid {$Id: omitted.tcl,v 1.1 2002/08/14 00:08:14 drh Exp $}
+set rcsid {$Id: omitted.tcl,v 1.2 2002/08/15 13:45:17 drh Exp $}
puts {<html>
<head>
<p>
Rather than try to list all the features of SQL92 that SQLite does
support, it is much easier to list those that it does not.
-The following are features of of SQL92 that SQLite does not implement.
+Unsupported features of SQL92 are shown below.</p>
+
+<p>
+The order of this list gives some hint as to when a feature might
+be added to SQLite. Those features near the top of the list are
+likely to be added in the near future. There are no immediate
+plans to add features near the bottom of the list.
</p>
<table cellpadding="10">
proc feature {name desc} {
puts "<tr><td valign=\"top\"><b><nobr>$name</nobr></b></td>"
+ puts "<td width=\"10\"> </th>"
puts "<td valign=\"top\">$desc</td></tr>"
}
-feature {RIGHT and FULL OUTER JOIN} {
- LEFT OUTER JOIN is implemented, but not RIGHT OUTER JOIN or
- FULL OUTER JOIN.
-}
-
feature {CHECK constraints} {
CHECK constraints are parsed but they are not enforced.
NOT NULL and UNIQUE constraints are enforced, however.
}
-feature {FOREIGN KEY constraints} {
- FOREIGN KEY constraints are parsed but are ignored.
-}
-
-feature {GRANT and REVOKE} {
- Since SQLite reads and writes an ordinary disk file, the
- only access permissions that can be applied are the normal
- file access permissions of the underlying operating system.
- The GRANT and REVOKE commands commonly found on client/server
- RDBMSes are not implemented because they would be meaningless
- for an embedded database engine.
+feature {Variable subqueries} {
+ Subqueries must be static. They are evaluated only once. They may not,
+ therefore, refer to variables in the containing query.
}
-feature {DELETE, INSERT, and UPDATE on VIEWs} {
- VIEWs in SQLite are read-only. But you can create a trigger
- that fires on an attempt to DELETE, INSERT, or UPDATE a view and do
- what you need in the body of the trigger.
+feature {FOREIGN KEY constraints} {
+ FOREIGN KEY constraints are parsed but are not enforced.
}
feature {ALTER TABLE} {
SELECT count(x) FROM (SELECT DISTINCT x FROM tbl);
}
-feature {Variable subqueries} {
- Subqueries must be static. They are evaluated only once. They must not,
- therefore, refer to variables in the containing query.
+feature {RIGHT and FULL OUTER JOIN} {
+ LEFT OUTER JOIN is implemented, but not RIGHT OUTER JOIN or
+ FULL OUTER JOIN.
+}
+
+feature {Writing to VIEWs} {
+ VIEWs in SQLite are read-only. You may not execute a DELETE, INSERT, or
+ UPDATE statement on a view. But you can create a trigger
+ that fires on an attempt to DELETE, INSERT, or UPDATE a view and do
+ what you need in the body of the trigger.
+}
+
+feature {GRANT and REVOKE} {
+ Since SQLite reads and writes an ordinary disk file, the
+ only access permissions that can be applied are the normal
+ file access permissions of the underlying operating system.
+ The GRANT and REVOKE commands commonly found on client/server
+ RDBMSes are not implemented because they would be meaningless
+ for an embedded database engine.
}
puts {
--- /dev/null
+#
+# Run this TCL script to generate HTML for the quickstart.html file.
+#
+set rcsid {$Id: quickstart.tcl,v 1.1 2002/08/15 13:45:17 drh Exp $}
+
+puts {<html>
+<head><title>SQLite In 5 Minutes Or Less</title></head>
+<body bgcolor=white>
+<h1 align=center>SQLite In 5 Minutes Or Less</h1>}
+
+puts {
+<p>Here is what you do to start experimenting with SQLite without having
+to do a lot of tedious reading and configuration:</p>
+
+<h2>Download The Code</h2>
+
+<ul>
+<li><p>Get a copy of the prebuild binaries for your machine, or get a copy
+of the sources and compile them yourself. Visit
+the <a href="download.html">download</a> page for more information.</p></li>
+</ul>
+
+<h2>Create A New Database</h2>
+
+<ul>
+<li><p>At a shell or DOS prompt, enter: "<b>sqlite test.db</b>". This will
+create a new database named "test.db". (You can use a different name if
+you like.)</p></li>
+<li><p>Enter SQL commands at the prompt to create and populate the
+new database.</p></li>
+</ul>
+
+<h2>Write Programs That Use SQLite</h2>
+
+<ul>
+<li><p>Below is a simple TCL program that demonstrates how to use
+the TCL interface to SQLite. The program executes the SQL statements
+given as the second argument on the database defined by the first
+argument.</p>
+
+<blockquote><pre>
+#!/usr/bin/tclsh
+if {$argc!=2} {
+ puts stderr "Usage: %s DATABASE SQL-STATEMENT"
+ exit 1
+}
+load /usr/lib/tclsqlite.so Sqlite
+sqlite db [lindex $argv 0]
+db eval [lindex $argv 1] x {
+ foreach v $x(*) {
+ puts "$v = $x($v)"
+ }
+ puts ""
+}
+db close
+</pre></blockquote>
+</li>
+
+<li><p>Below is a simple C program that demonstrates how to use
+the C/C++ interface to SQLite. The name of a database is given by
+the first argument and the second argument is one or more SQL statements
+to execute against the database.</p>
+
+<blockquote><pre>
+#include <stdio.h>
+#include <sqlite.h>
+
+static int callback(void *NotUsed, int argc, char **argv, char **azColName){
+ int i;
+ for(i=0; i<argc; i++){
+ printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
+ }
+ printf("\n");
+ return 0;
+}
+
+int main(int argc, char **argv){
+ sqlite *db;
+ char *zErrMsg = 0;
+ int rc;
+
+ if( argc!=3 ){
+ fprintf(stderr, "Usage: %s DATABASE SQL-STATEMENT\n", argv[0]);
+ exit(1);
+ }
+ db = sqlite_open(argv[1], 0, &zErrMsg);
+ if( db==0 ){
+ fprintf(stderr, "Can't open database: %s\n", &zErrMsg);
+ exit(1);
+ }
+ rc = sqlite_exec(db, argv[2], callback, 0, &zErrMsg);
+ if( rc!=SQLITE_OK ){
+ fprintf(stderr, "SQL error: %s\n", zErrMsg);
+ }
+ sqlite_close(db);
+ return 0;
+}
+</pre></blockquote>
+</li>
+</ul>
+}
+
+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>}