From b2ca13ed4d7e84ba9a4b53210871c57a47e45fa4 Mon Sep 17 00:00:00 2001
From: jplyon
Date: Wed, 7 May 2003 03:59:10 +0000
Subject: [PATCH] Cleaned up keywords section. (CVS 959)
FossilOrigin-Name: bb609f96e00fd62d932601c4aa37bc17baa82257
---
manifest | 14 +++++-----
manifest.uuid | 2 +-
www/lang.tcl | 73 ++++++++++++++++++++++++++++++++++++++-------------
3 files changed, 63 insertions(+), 26 deletions(-)
diff --git a/manifest b/manifest
index f53daea036..d449f7e287 100644
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Restrain\sthe\sflattener\sin\sthe\spresence\sof\souter\sjoins.\s\sTicket\s#306.\s(CVS\s958)
-D 2003-05-06T20:35:16
+C Cleaned\sup\skeywords\ssection.\s(CVS\s959)
+D 2003-05-07T03:59:10
F Makefile.in 004acec253ecdde985c8ecd5b7c9accdb210378f
F Makefile.linux-gcc b86a99c493a5bfb402d1d9178dcdc4bd4b32f906
F README f1de682fbbd94899d50aca13d387d1b3fd3be2dd
@@ -155,7 +155,7 @@ F www/faq.tcl 12d1788d4abcfe1ff3054e17605df2418883bf6f
F www/fileformat.tcl d9b586416c0d099b82e02e469d532c9372f98f3f
F www/formatchng.tcl cbaf0f410096c71f86a7537cf9249fa04b9a659c
F www/index.tcl b155eba45136d19e7aa6ba979d4093180c335cf7
-F www/lang.tcl 56f4c1996795204317c850ecf039c851692625d4
+F www/lang.tcl 46b42bd1b22c6e18c17ebfe3893da57790761b79
F www/mingw.tcl d96b451568c5d28545fefe0c80bee3431c73f69c
F www/nulls.tcl 29497dac2bc5b437aa7e2e94577dad4d8933ed26
F www/omitted.tcl 118062f40a203fcb88b8d68ef1d7c0073ac191ec
@@ -165,7 +165,7 @@ F www/speed.tcl cb4c10a722614aea76d2c51f32ee43400d5951be
F www/sqlite.tcl ffde644361e1d8e2a44a235ff23ad3b43d640df2
F www/tclsqlite.tcl 1db15abeb446aad0caf0b95b8b9579720e4ea331
F www/vdbe.tcl 2013852c27a02a091d39a766bc87cff329f21218
-P fda637f453d35b74f676997fcf056a948ccd771b
-R ce92f17887cce1b923da966e242b319f
-U drh
-Z ab57ff50799dad75d8d41943b87540c0
+P 6d4b6597e560578253960d9876dc8c8657f41fef
+R 7baf27040092074ad3a30cf620346b84
+U jplyon
+Z cc6c263b53146ffd7c6d10d64ce2f2b8
diff --git a/manifest.uuid b/manifest.uuid
index fcf0939e77..efc87bc8dc 100644
--- a/manifest.uuid
+++ b/manifest.uuid
@@ -1 +1 @@
-6d4b6597e560578253960d9876dc8c8657f41fef
\ No newline at end of file
+bb609f96e00fd62d932601c4aa37bc17baa82257
\ No newline at end of file
diff --git a/www/lang.tcl b/www/lang.tcl
index b17d2092f2..5e12875d7d 100644
--- a/www/lang.tcl
+++ b/www/lang.tcl
@@ -1,7 +1,7 @@
#
# Run this Tcl script to generate the sqlite.html file.
#
-set rcsid {$Id: lang.tcl,v 1.53 2003/05/04 07:02:55 jplyon Exp $}
+set rcsid {$Id: lang.tcl,v 1.54 2003/05/07 03:59:10 jplyon Exp $}
puts {
@@ -1522,24 +1522,61 @@ puts {
The following keywords are used by SQLite. Most are either reserved
words in SQL-92 or were listed as potential reserved words. Those which
aren't are shown in italics. Not all of these words are actually used
-by SQLite. SQLite doesn't currently enforce reserved words, so most of
-these can actually be used for the names of SQLite objects such as
-tables, columns, and views, but they must be generally be enclosed by
-brackes or quotes to avoid confusing the parser.
+by SQLite. Keywords are not reserved in SQLite. Any Keyword can be used
+as an identifier for SQLite objects (columns, databases, indexes, tables,
+triggers, views, ...) but must generally be enclosed by brackets or
+quotes to avoid confusing the parser. Keyword matching in SQLite is
+case-insensitive.
-_ROWID_ ABORT AFTER ALL AND AS ASC ATTACH
-BEFORE BEGIN BETWEEN BY CASCADE CASE CHECK CLUSTER COLLATE
-COMMIT CONFLICT CONSTRAINT COPY CREATE CROSS
-DATABASE DEFAULT DEFERRED DEFERRABLE DELETE DELIMITERS
-DESC DETACH DISTINCT DROP EACH ELSE END EXCEPT EXPLAIN
-FAIL FOR FOREIGN FROM FULL GLOB GROUP HAVING IGNORE
-IMMEDIATE IN INDEX INITIALLY INNER INSERT INSTEAD
-INTERSECT INTO IS ISNULL JOIN KEY LEFT LIKE LIMIT MATCH NATURAL
-NOT NOTNULL NULL OF OFFSET ON OR ORDER OUTER PRAGMA
-PRIMARY RAISE REFERENCES REPLACE RESTRICT RIGHT ROLLBACK
-ROW ROWID SELECT SET STATEMENT TABLE TEMP
-TEMPORARY THEN TRANSACTION TRIGGER UNION UNIQUE UPDATE USING VACUUM
-VALUES VIEW WHEN WHERE
+Keywords can be used as identifiers in three ways:
+
+
+ 'keyword'
+ | Interpreted as a literal string if it occurs in a legal string
+ context, otherwise as an identifier.
+ |
"keyword"
+ | Interpreted as an identifier if it matches a known identifier
+ and occurs in a legal identifier context, otherwise as a string.
+ |
[keyword]
+ | Always interpreted as an identifer. (This notation is used
+ by MS Access and SQL Server.)
+ |
+
+Fallback Keywords
+
+These keywords can be used as identifiers for SQLite objects without
+delimiters.
+
+ ABORT AFTER ASC ATTACH BEFORE BEGIN DEFERRED CASCADE
+CLUSTER CONFLICT COPY CROSS DATABASE
+DELIMITERS DESC DETACH EACH END EXPLAIN FAIL
+FOR FULL IGNORE IMMEDIATE INITIALLY INNER INSTEAD KEY LEFT MATCH
+NATURAL OF OFFSET OUTER PRAGMA RAISE REPLACE
+RESTRICT RIGHT ROW STATEMENT TEMP TEMPORARY TRIGGER
+VACUUM VIEW
+
+Normal keywords
+
+These keywords can be used as identifiers for SQLite objects, but
+must be enclosed in brackets or quotes for SQLite to recognize them as
+an identifier.
+
+ ALL AND AS BETWEEN BY CASE CHECK COLLATE COMMIT CONSTRAINT CREATE
+DEFAULT DEFERRABLE DELETE DISTINCT DROP ELSE EXCEPT FOREIGN FROM
+GLOB GROUP HAVING IN INDEX INSERT INTERSECT INTO IS
+ISNULL JOIN LIKE LIMIT NOT NOTNULL NULL ON OR ORDER
+PRIMARY REFERENCES ROLLBACK SELECT SET TABLE THEN TRANSACTION UNION
+UNIQUE UPDATE USING VALUES WHEN WHERE
+
+Special words
+
+The following are not keywords in SQLite, but are used as names of
+system objects. They can be used as an identifier for a different
+type of object.
+
+ _ROWID_ MAIN OID ROWID SQLITE_MASTER
+SQLITE_TEMP_MASTER
+
}