[Author: zork]
[google-gears.git] / gears / third_party / sqlite_google / www / omitted.tcl
blob23241e7d698b79720656c9b5157fc5cad099eb22
2 # Run this script to generated a omitted.html output file
4 set rcsid {$Id: omitted.tcl,v 1.10 2005/11/03 00:41:18 drh Exp $}
5 source common.tcl
6 header {SQL Features That SQLite Does Not Implement}
7 puts {
8 <h2>SQL Features That SQLite Does Not Implement</h2>
10 <p>
11 Rather than try to list all the features of SQL92 that SQLite does
12 support, it is much easier to list those that it does not.
13 Unsupported features of SQL92 are shown below.</p>
15 <p>
16 The order of this list gives some hint as to when a feature might
17 be added to SQLite. Those features near the top of the list are
18 likely to be added in the near future. There are no immediate
19 plans to add features near the bottom of the list.
20 </p>
22 <table cellpadding="10">
25 proc feature {name desc} {
26 puts "<tr><td valign=\"top\"><b><nobr>$name</nobr></b></td>"
27 puts "<td width=\"10\">&nbsp;</th>"
28 puts "<td valign=\"top\">$desc</td></tr>"
31 feature {FOREIGN KEY constraints} {
32 FOREIGN KEY constraints are parsed but are not enforced.
35 feature {Complete trigger support} {
36 There is some support for triggers but it is not complete. Missing
37 subfeatures include FOR EACH STATEMENT triggers (currently all triggers
38 must be FOR EACH ROW), INSTEAD OF triggers on tables (currently
39 INSTEAD OF triggers are only allowed on views), and recursive
40 triggers - triggers that trigger themselves.
43 feature {Complete ALTER TABLE support} {
44 Only the RENAME TABLE and ADD COLUMN variants of the
45 ALTER TABLE command are supported. Other kinds of ALTER TABLE operations
46 such as
47 DROP COLUMN, ALTER COLUMN, ADD CONSTRAINT, and so forth are omitted.
50 feature {Nested transactions} {
51 The current implementation only allows a single active transaction.
54 feature {RIGHT and FULL OUTER JOIN} {
55 LEFT OUTER JOIN is implemented, but not RIGHT OUTER JOIN or
56 FULL OUTER JOIN.
59 feature {Writing to VIEWs} {
60 VIEWs in SQLite are read-only. You may not execute a DELETE, INSERT, or
61 UPDATE statement on a view. But you can create a trigger
62 that fires on an attempt to DELETE, INSERT, or UPDATE a view and do
63 what you need in the body of the trigger.
66 feature {GRANT and REVOKE} {
67 Since SQLite reads and writes an ordinary disk file, the
68 only access permissions that can be applied are the normal
69 file access permissions of the underlying operating system.
70 The GRANT and REVOKE commands commonly found on client/server
71 RDBMSes are not implemented because they would be meaningless
72 for an embedded database engine.
75 puts {
76 </table>
78 <p>
79 If you find other SQL92 features that SQLite does not support, please
80 add them to the Wiki page at
81 <a href="http://www.sqlite.org/cvstrac/wiki?p=UnsupportedSql">
82 http://www.sqlite.org/cvstrac/wiki?p=Unsupported</a>
83 </p>
85 footer $rcsid