]> git.ipfire.org Git - thirdparty/sqlite.git/commitdiff
Documentation updates. (CVS 2726)
authordrh <drh@noemail.net>
Tue, 20 Sep 2005 01:36:30 +0000 (01:36 +0000)
committerdrh <drh@noemail.net>
Tue, 20 Sep 2005 01:36:30 +0000 (01:36 +0000)
FossilOrigin-Name: 6ec8883c366532948e619830ff7d9f63b79fc08b

manifest
manifest.uuid
www/optoverview.tcl

index e85c2407bce7f9ca0c6065d9b7d88bad6effdc3c..4639da52b6b456fccaca85f18446e7289ffb9195 100644 (file)
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C ON-clause\sterms\sin\sa\sLEFT\sJOIN\sthat\srestrict\sonly\sthe\sleft\stable,\sshould\snot\nreally\srestrict\sthe\sleft\stable\sbut\sinstead\srows\sthat\sfail\sto\smeet\sthe\scondition\nto\sbe\sjoined\swith\sNULL\srows\sfrom\sthe\sright\stable.\s(CVS\s2725)
-D 2005-09-19T21:05:49
+C Documentation\supdates.\s(CVS\s2726)
+D 2005-09-20T01:36:30
 F Makefile.in 12784cdce5ffc8dfb707300c34e4f1eb3b8a14f1
 F Makefile.linux-gcc 06be33b2a9ad4f005a5f42b22c4a19dab3cbb5c7
 F README 9c4e2d6706bdcc3efdd773ce752a8cdab4f90028
@@ -300,7 +300,7 @@ F www/omitted.tcl 658ebdc83781ac419dc8a08b3f6cf93929023470
 F www/opcode.tcl 5bd68059416b223515a680d410a9f7cb6736485f
 F www/optimizer.tcl d6812a10269bd0d7c488987aac0ad5036cace9dc
 F www/optimizing.tcl f0b2538988d1bbad16cbfe63ec6e8f48c9eb04e5
-F www/optoverview.tcl 5ff8a1c38722fa9f5cb3e1b8010f6b91c5a45693
+F www/optoverview.tcl 28b6f114a33bfd91bbe3440611ceed6090587211
 F www/pragma.tcl 44f7b665ca598ad24724f35991653638a36a6e3f
 F www/quickstart.tcl 6f6f694b6139be2d967b1492eb9a6bdf7058aa60
 F www/speed.tcl 656ed5be8cc9d536353e1a96927b925634a62933
@@ -311,7 +311,7 @@ F www/tclsqlite.tcl ddcf912ea48695603c8ed7efb29f0812ef8d1b49
 F www/vdbe.tcl 87a31ace769f20d3627a64fa1fade7fed47b90d0
 F www/version3.tcl a99cf5f6d8bd4d5537584a2b342f0fb9fa601d8b
 F www/whentouse.tcl 97e2b5cd296f7d8057e11f44427dea8a4c2db513
-P b32e9ec2480f9da2c2ea705ed3c88ca77b77cf2a
-R 30beedb46fba1ce2f76a3f1396f53cb5
+P ea10f9785e3c5248dafcc297f3a2c5465b6e0dba
+R 6ad171a801eb8b84ac88c34ad2f04d27
 U drh
-Z a986dad9151bb581e7854782adc6d5e8
+Z 23a34f97623654d558cd9b041aa96deb
index a570b9b2ee3f96120dff824f93dc28fab4a1c443..b08c6382368799dca4b8618a32d8fa4e77578cf4 100644 (file)
@@ -1 +1 @@
-ea10f9785e3c5248dafcc297f3a2c5465b6e0dba
\ No newline at end of file
+6ec8883c366532948e619830ff7d9f63b79fc08b
\ No newline at end of file
index b963c1a41247e56f2bf59942f4c82568a82f409a..aa7b542ff6e13de5343d6d4a71e9262ff4a5a62e 100644 (file)
@@ -1,7 +1,7 @@
 #
 # Run this TCL script to generate HTML for the goals.html file.
 #
-set rcsid {$Id: optoverview.tcl,v 1.3 2005/08/31 13:48:35 drh Exp $}
+set rcsid {$Id: optoverview.tcl,v 1.4 2005/09/20 01:36:30 drh Exp $}
 source common.tcl
 header {The SQLite Query Optimizer Overview}
 
@@ -25,8 +25,8 @@ proc IMAGE {name {caption {}}} {
   puts "</center>"
 }
 proc PARAGRAPH {text} {
-  regsub -all "/(\[^\n/\]+)/" $text {<i>\1</i>} t2
-  regsub -all "\\*(\[^\n*\]+)\\*" $t2 {<tt><b><big>\1</big></b></tt>} t3
+  # regsub -all "/(\[a-zA-Z0-9\]+)/" $text {<i>\1</i>} t2
+  regsub -all "\\*(\[^\n*\]+)\\*" $text {<tt><b><big>\1</big></b></tt>} t3
   puts "<p>$t3</p>\n"
 }
 set level(0) 0
@@ -165,7 +165,7 @@ PARAGRAPH {
   virtual terms themselves never causes tests to be performed on
   input rows.
   Thus if the BETWEEN term is not used as an index constraint and
-  instead must be used to test input rows, the /expr1/ expression is
+  instead must be used to test input rows, the <i>expr1</i> expression is
   only evaluated once.
 }
 
@@ -187,7 +187,7 @@ SYNTAX {
 PARAGRAPH {
   The rewritten term then might go on to constraint an index using the
   normal rules for *IN* operators.
-  Note that /column/ must be the same column in every OR-connected subterm,
+  Note that <i>column</i> must be the same column in every OR-connected subterm,
   although the column can occur on either the left or the right side of
   the *=* operator.
 }
@@ -271,12 +271,12 @@ PARAGRAPH {
 }
 PARAGRAPH {
   Suppose the initial sequence of non-wildcard characters on the right-hand
-  side of the LIKE or GLOB operator is /x/.  We are using a single 
+  side of the LIKE or GLOB operator is <i>x</i>.  We are using a single 
   character to denote this non-wildcard prefix but the reader should
   understand that the prefix can consist of more than 1 character.
-  Let /y/ the smallest string that is the same length as /x/ but which
-  compares greater than /x/.  For example, if /x/ is *hello* then
-  /y/ would be *hellp*.
+  Let <i>y</i> the smallest string that is the same length as /x/ but which
+  compares greater than <i>x</i>.  For example, if <i>x</i> is *hello* then
+  <i>y</i> would be *hellp*.
   The LIKE and GLOB optimizations consist of adding two virtual terms
   like this:
 }
@@ -288,8 +288,8 @@ PARAGRAPH {
   tested against each input row even if the virtual terms are used to
   constrain an index.  This is because we do not know what additional
   constraints may be imposed by characters to the right
-  of the /x/ prefix.  However, if there is only a single global wildcard
-  to the right of /x/, then the original LIKE or GLOB test is disabled.
+  of the <i>x</i> prefix.  However, if there is only a single global wildcard
+  to the right of <i>x</i>, then the original LIKE or GLOB test is disabled.
   In other words, if the pattern is like this:
 }
 SYNTAX {
@@ -335,6 +335,14 @@ PARAGRAPH {
   over the older SQL89 comma-join syntax.  They both end up accomplishing
   exactly the same thing.
 }
+PARAGRAPH {
+  Join reordering is automatic and usually works well enough that
+  programmer do not have to think about it.  But occasionally some
+  hints from the programmer are needed.  For a description of when
+  hints might be necessary and how to provide those hints, see the
+  <a href="http://www.sqlite.org/cvstrac/wiki?p=QueryPlans">QueryPlans</a>
+  page in the Wiki.
+}
 
 HEADING 1 {Choosing between multiple indices} multi_index