Documentation Source Text

Check-in [685a544f00]
Login

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

Overview
Comment:Begin making documentation changes for the 3.7.16 release.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 685a544f00bd4dae824f9d6800c039f3ea1a9b74
User & Date: drh 2013-02-15 00:48:33
Context
2013-02-15
15:18
Update the change log and pragma documentation for 3.7.16. check-in: ba9b0b1040 user: drh tags: trunk
00:48
Begin making documentation changes for the 3.7.16 release. check-in: 685a544f00 user: drh tags: trunk
2013-02-12
13:49
Nokia back on the Sponsors section of the homepage. check-in: 8197ce8dbb user: drh tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to pages/changes.in.

    37     37         <a href="http://www.sqlite.org/src/timeline">
    38     38         http://www.sqlite.org/src/timeline</a>.</p>
    39     39       }
    40     40       hd_close_aux
    41     41       hd_enable_main 1
    42     42     }
    43     43   }
           44  +
           45  +chng {2013-03-12 (3.7.16)} {
           46  +<li>Added the [PRAGMA foreign_key_check] command.
           47  +<li>Added new extended error codes for all SQLITE_CONSTRAINT errors
           48  +<li>Improved optimization of queries containing aggregate min() or max().
           49  +<li>Enhance virtual tables so that they can potentially use an index when
           50  +    the WHERE clause contains the IN operator.
           51  +<li>Allow indices to be used for sorting even if prior terms of the index
           52  +    are constrained by IN operators in the WHERE clause.
           53  +<li>Enhance the [PRAGMA table_info] command so that the "pk" column is an
           54  +    increasing integer to show the order of columns in the primary key.
           55  +<li>Enhance the query optimizer to exploit transitive join constraints.
           56  +<li>Performance improvements in the query optimizer.
           57  +<li>Allow the error message from [PRAGMA integrity_check] to be longer than
           58  +    20000 bytes.
           59  +<li>Improved name resolution for deeply nested queries.
           60  +<li>Added the test_regexp.c module as a demonstration of how to implement
           61  +    the REGEXP operator.
           62  +<li>Improved error messages in the [RTREE] extension.
           63  +<li>Enhance the [command-line shell] so that a non-zero argument to the
           64  +    ".exit" command causes the shell to exist immediately without cleanly
           65  +    shutting down the database connection.
           66  +<li>Improved error messages for invalid boolean arguments to dot-commands
           67  +    in the [command-line shell].
           68  +<li>Remove all uses of umask() in the unix VFS.
           69  +<li>Added the [PRAGMA vdbe_debug] command.
           70  +
           71  +<li>Bug fix: Issue an error message if the 16-bit reference counter on a
           72  +    view overflows due to an overly complex query.
           73  +<li>Bug fix: Avoid leaking memory on LIMIT and OFFSET clauses in deeply
           74  +    nested UNION ALL queries.
           75  +<li>Bug fix: Make sure the schema is up-to-date prior to running pragmas
           76  +    table_info, index_list, index_info, and foreign_key_list.
           77  +}
    44     78   
    45     79   chng {2013-01-09 (3.7.15.2)} {
    46     80   <li>Fix a bug, introduced in [version 3.7.15], that causes an ORDER BY clause
    47     81       to be optimized out of a three-way join when the ORDER BY is actually
    48     82       required.	
    49     83       Ticket [http://www.sqlite.org/src/info/598f5f7596b055 | 598f5f7596b055]
    50     84   

Changes to pages/index.in.

    91     91   
    92     92   </td>
    93     93   <td width="20"></td><td bgcolor="#044a64" width="1"></td><td width="20"></td>
    94     94   <td valign="top">
    95     95   <h3>Current Status</h3>
    96     96   
    97     97   <p><ul>
    98         -<li><a href="releaselog/3_7_15_2.html">Version 3.7.15.2</a>
           98  +<li><a href="releaselog/3_7_16.html">Version 3.7.16</a>
    99     99   of SQLite is recommended for all new development.
          100  +Upgrading from version 3.7.15.2 is optional.
   100    101   Upgrading from all other SQLite versions
   101    102   is recommended.</li>
   102    103   </ul></p>
   103    104   
   104    105   <h3>Common Links</h3>
   105    106   
   106    107   <p><ul>

Changes to pages/pragma.in.

   961    961   
   962    962   Pragma foreign_key_list {
   963    963       <p>^(<b>PRAGMA foreign_key_list(</b><i>table-name</i><b>);</b></p>
   964    964   
   965    965       <p>This pragma returns one row for each foreign key that references
   966    966       a column in the argument table.)^
   967    967   }
          968  +
          969  +Pragma foreign_key_check {
          970  +    <p>^(<b>PRAGMA foreign_key_check;)^</b></p>
          971  +
          972  +    <p>The foreign_key_check pragma checks the database for 
          973  +    [foreign key constraints] that are violated and returns one row of
          974  +    output for each violation.  There are four columns in each result row.
          975  +    The first column is the name of the table that contains the REFERENCES
          976  +    clause.  The second column is the [rowid] of the row the that that
          977  +    contains the invalid REFERENCES clause.  The third column is the name
          978  +    of the table that is referred to. The fourth column is the index of
          979  +    the specific foreign key constraint that failed.  The fourth column
          980  +    in the output of the foreign_key_check pragma is the same integer as
          981  +    the first column in the output of the foreign_key_list pragma.</p>
          982  +}
   968    983   
   969    984   Pragma freelist_count {
   970    985       <p>^(<b>PRAGMA freelist_count;</b></p>
   971    986       <p>Return the number of unused pages in the database file.)^</p>
   972    987   }
   973    988   
   974    989   Pragma index_info {
................................................................................
   994   1009   }
   995   1010   
   996   1011   Pragma table_info {
   997   1012       <p>^(<b>PRAGMA table_info(</b><i>table-name</i><b>);</b></p>
   998   1013       <p>This pragma returns one row for each column in the named table.)^
   999   1014       ^Columns in the result set include the column name,
  1000   1015       data type, whether or not the column can be NULL, and the default
  1001         -    value for the column.</p>
         1016  +    value for the column.  ^The "pk" column in the result set is zero
         1017  +    for columns that are not part of the primary key, and is the index of
         1018  +    the column in the primary key for columns that are part of the primary
         1019  +    key.</p>
  1002   1020   }
  1003   1021   
  1004   1022   Pragma {schema_version user_version} {
  1005   1023       <p><b>PRAGMA schema_version; 
  1006   1024          <br>PRAGMA schema_version = </b><i>integer </i><b>;
  1007   1025          <br>PRAGMA user_version;
  1008   1026          <br>PRAGMA user_version = </b><i>integer </i><b>;</b>
................................................................................
  1093   1111       <p>If SQLite has been compiled with the [SQLITE_DEBUG] compile-time
  1094   1112       option, then the vdbe_listing pragma can be used to cause a complete
  1095   1113       listing of the virtual machine opcodes to appear on standard output
  1096   1114       as each statement is evaluated.
  1097   1115       With listing is on, the entire content of a program is printed
  1098   1116       just prior to beginning execution.  The statement
  1099   1117       executes normally after the listing is printed.
         1118  +    This feature is used for debugging SQLite itself.  See the 
         1119  +    <a href="vdbe.html#trace">VDBE documentation</a> for more 
         1120  +    information.</p>
         1121  +}
         1122  +
         1123  +DebugPragma vdbe_debug {
         1124  +    <p><b>PRAGMA vdbe_debug = </b><i>boolean</i><b>;</b></p>
         1125  +
         1126  +    DISCLAIMER
         1127  +
         1128  +    <p>If SQLite has been compiled with the [SQLITE_DEBUG] compile-time
         1129  +    option, then the vdbe_debug pragma can be used to cause a complete
         1130  +    listing of the virtual machine opcodes to appear on standard output
         1131  +    as each statement is evaluated, and to cause each to cause virtual
         1132  +    machine opcodes to be printed on standard output as they are evaluated.
         1133  +    (In other words, vdbe_debug is a combination of vdbe_listing and
         1134  +    vdbe_trace.)  In addition, the vdbe_debug pragma also enables tracing
         1135  +    of calls to sqlite3VdbeAddOp() during code generation.
  1100   1136       This feature is used for debugging SQLite itself.  See the 
  1101   1137       <a href="vdbe.html#trace">VDBE documentation</a> for more 
  1102   1138       information.</p>
  1103   1139   }
  1104   1140   
  1105   1141   Pragma wal_checkpoint {
  1106   1142       <p><b>PRAGMA </b><i>database</i><b>.wal_checkpoint;</b><br>