Documentation Source Text

Check-in [9d89e82c5d]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Comment:Fix documentation typos.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 9d89e82c5d5b8696e6c7f78c83548edf18ca85eabd5fda2893889711ad8ecd45
User & Date: drh 2018-05-09 10:10:56
Merge fixes from the 3.23 branch. check-in: cc22fb914a user: drh tags: trunk
Fix documentation typos. check-in: 9d89e82c5d user: drh tags: trunk
More details on the UPSERT documentation. check-in: 7ca811b29f user: drh tags: trunk
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to pages/

    30     30        valid arguments to DEFAULT.
    31     31   <li> Added the sorter-reference optimization as a compile-time option.
    32     32        Only available if compiled with SQLITE_ENABLE_SORTER_REFERENCES.
    33     33   <li> Improve the format of the [EXPLAIN QUERY PLAN] raw output, so that
    34     34        it gives better information about the query plan and about the
    35     35        relationships between the various components of the plan.
    36     36   <li> The [CLI] automatically intercepts the raw [EXPLAIN QUERY PLAN] 
    37         -     output an reformats it into an ASCII-art graph.
           37  +     output and reformats it into an ASCII-art graph.
    38     38   <li> Enhance the query planner to allow the [OR optimization] to proceed
    39     39        even if the OR expression has also been converted into an IN
    40     40        expression.  Uses of the OR optimization are now also 
    41     41        [eqp-or-opt|more clearly shown] in the [EXPLAIN QUERY PLAN] output.
    42     42   <p><b>Performance:</b>
    43     43   <li> [UPDATE] avoids writing database pages that do not actually change.
    44     44        For example, "UPDATE t1 SET x=25 WHERE y=?" becomes a no-op if the

Changes to pages/

    53     53   
    54     54   <p> In automatic EXPLAIN QUERY PLAN mode, the shell automatically runs
    55     55   a separate EXPLAIN QUERY PLAN query for each statement you enter and
    56     56   displays the result before actually running the query.  Use the
    57     57   ".eqp off" command to turn automatic EXPLAIN QUERY PLAN mode back off.
    58     58   
    59     59   <p>^(EXPLAIN QUERY PLAN is most useful on a SELECT statement,
    60         -but may also be appear with other statements that read data from database
           60  +but may also appear with other statements that read data from database
    61     61   tables (e.g. UPDATE, DELETE, INSERT INTO ... SELECT).)^
    62     62   
    63     63   <h2>Table and Index Scans</h2>
    64     64   
    65     65   <p>
    66     66     When processing a SELECT (or other) statement, SQLite may retrieve data from
    67     67     database tables in a variety of ways. It may scan through all the records in
   134    134   </codeblock>)^
   135    135   
   136    136   <p>
   137    137     ^The order of the entries indicates the nesting order. In
   138    138     this case, the scan of table t1 using index i2 is the outer loop (since it
   139    139     appears first)
   140    140     and the full-table scan of table t2 is the inner loop (since it appears
   141         -  last).  In the
          141  +  last).
   142    142     In the following example, the positions of t1 and t2 in the FROM 
   143    143     clause of the SELECT are reversed. The query strategy remains the same.
   144         -  The output from EXPLAIN QUERY PLAN shows how the query is acctually
          144  +  The output from EXPLAIN QUERY PLAN shows how the query is actually
   145    145     evaluated, not how it is specified in the SQL statement.
   146    146   ^(<codeblock>
   147    147       sqlite&gt; EXPLAIN QUERY PLAN SELECT t1.*, t2.* FROM t2, t1 WHERE t1.a=1 AND t1.b>2;
   148    148       QUERY PLAN
   149    149       |--SEARCH TABLE t1 USING INDEX i2 (a=? AND b>?)
   150    150       `--SCAN TABLE t2
   151    151   </codeblock>)^