Documentation Source Text

Check-in [265fde6eac]
Login

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

Overview
Comment:Merge change-log enhancements from the 3.8.0 branch into trunk.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 265fde6eacca166ed691605ccef1695d562dda74
User & Date: drh 2013-09-02 14:24:52
Context
2013-09-13
14:52
Add documentation for the fts4 unicode61 "tokenchars" and "separators" options. check-in: 00c7833d65 user: dan tags: trunk
2013-09-02
14:24
Merge change-log enhancements from the 3.8.0 branch into trunk. check-in: 265fde6eac user: drh tags: trunk
14:20
In the change log for patch releases, repeat the changes of the main release for the page containing changes of the just the patch release, but do not repeat the main release changes in the overall change log. check-in: affc1a3589 user: drh tags: branch-3.8.0
2013-08-31
14:32
Add documentation for the fts4 unicode61 tokenizer option "remove_diacritics=0". check-in: f5d1d7106f user: dan tags: trunk
Changes
Hide Diffs Side-by-Side Diffs Ignore Whitespace Patch

Changes to pages/changes.in.

     8      8   http://www.sqlite.org/src/timeline</a> and
     9      9   <a href="http://www.sqlite.org/src/timeline?t=release">
    10     10   http://www.sqlite.org/src/timeline?t=release</a>
    11     11   </p>
    12     12   
    13     13   <tcl>
    14     14   set nChng 0
    15         -proc chng {date desc} {
    16         -  global DEST nChng
    17         -  if {[regexp {\(([0-9.]+)\)} $date all vers]} {
    18         -    set label [string map {. _} $vers]
    19         -    hd_fragment version_$label
    20         -  }
    21         -  hd_puts "<h3>$date</h3>"
    22         -  hd_resolve "<p><ul>$desc</ul></p>"
    23         -  if {[regexp {\((3\.\d+\.[.0-9]+)[ a-zA-Z]*\)} $date all vers]} {
    24         -    set tag [string trim [string map {. _} $vers]]
    25         -    file mkdir $DEST/releaselog
    26         -    set filename releaselog/$tag.html
    27         -    hd_open_aux $filename
    28         -    hd_header "SQLite Release $vers On $date"
    29         -    hd_keywords "Version $vers" "*version $vers"
    30         -    hd_enable_main 0
    31         -    hd_puts "<h2>SQLite Release $vers On $date</h2>"
    32         -    regsub -all {<a href="(?!http:)} $desc {<a href="../} desc
    33         -    hd_resolve "<p><ul>$desc</ul></p>"
    34         -    hd_puts {
    35         -      <p>A <a href="../changes.html">complete list of SQLite releases</a>
    36         -      in a single page is also available.  A detailed history of every
    37         -      check-in is available at
    38         -      <a href="http://www.sqlite.org/src/timeline">
    39         -      http://www.sqlite.org/src/timeline</a>.</p>
    40         -    }
    41         -    hd_close_aux
    42         -    hd_enable_main 1
    43         -    incr nChng
    44         -    if {$nChng==1 && [file exists $DEST/$filename]} {
    45         -      file copy -force $DEST/$filename $DEST/releaselog/current.html
    46         -    }
    47         -  }
           15  +proc chng {date desc {options {}}} {
           16  +  global nChng aChng
           17  +  set aChng($nChng) [list $date $desc $options]
           18  +  incr nChng
    48     19   }
    49     20   
    50     21   chng {2013-10-?? (3.8.1)} {
    51     22   <li>Add support for SQLITE_ENABLE_STAT4
    52     23   <li>Add the [SQLITE_MINIMUM_FILE_DESCRIPTOR] compile-time option
    53     24   <li>Add the win32-longpath VFS on windows.
    54     25   }
    55     26   
    56     27   chng {2013-08-29 (3.8.0.1)} {
    57         -<li>Add support for [partial indexes]</li>
    58         -<li>Cut-over to the [next generation query planner] for faster and better query plans.
    59         -<li>The [EXPLAIN QUERY PLAN] output no longer shows an estimate of the number of 
    60         -    rows generated by each loop in a join.
    61         -<li>Added the [FTS4 notindexed option], allowing non-indexed columns in an FTS4 table.
    62         -<li>Added the [SQLITE_STMTSTATUS_VM_STEP] option to [sqlite3_stmt_status()].
    63         -<li>Added the [cache_spill pragma].
    64         -<li>Added the [query_only pragma].
    65         -<li>Added the [defer_foreign_keys pragma] and the
    66         -    [sqlite3_db_status](db, [SQLITE_DBSTATUS_DEFERRED_FKS],...) C-language interface.
    67         -<li>Added the "percentile()" function as a [loadable extension] in the ext/misc
    68         -    subdirectory of the source tree.
    69         -<li>Added the [SQLITE_ALLOW_URI_AUTHORITY] compile-time option.
    70         -<li>Add the [sqlite3_cancel_auto_extension(X)] interface.
    71         -<li>A running SELECT statement that lacks a FROM clause (or any other statement that
    72         -    never reads or writes from any database file) will not prevent a read
    73         -    transaction from closing.
    74         -<li>Add the [SQLITE_DEFAULT_AUTOMATIC_INDEX] compile-time option.  Setting this option
    75         -    to 0 disables automatic indices by default.
    76         -<li>Issue an [SQLITE_WARNING_AUTOINDEX] warning on the [SQLITE_CONFIG_LOG] whenever
    77         -    the query planner uses an automatic index.
    78         -<li>Added the [SQLITE_FTS3_MAX_EXPR_DEPTH] compile-time option.
    79         -<li>Added an optional 5th parameter defining the collating sequence to the 
    80         -    next_char() extension SQL function.
    81         -<li>The [SQLITE_BUSY_SNAPSHOT] extended error code is returned in WAL mode when
    82         -    a read transaction cannot be upgraded to a write transaction because the read is
    83         -    on an older snapshot.
    84         -<li>Enhancements to the sqlite3_analyzer utility program to provide size
    85         -    information separately for each individual index of a table, in addition to
    86         -    the aggregate size.
    87         -<li>Allow read transactions to be freely opened and closed by SQL statements run 
    88         -    from within the implementation of [application-defined SQL functions] if the
    89         -    function is called by a SELECT statement that does not access any database table.
    90         -<li>Disable the use of posix_fallocate() on all (unix) systems unless the
    91         -    HAVE_POSIX_FALLOCATE compile-time option is used.
    92         -<li>Update the ".import" command in the [command-line shell] to support multi-line
    93         -    fields and correct RFC-4180 quoting and to issue warning and/or error messages
    94         -    if the input text is not strictly RFC-4180 compliant.
    95         -<li>Bug fix: In the [unicode61] tokenizer of [FTS4], treat all private code points
    96         -    as identifier symbols.
    97         -<li>Bug fix: Bare identifiers in ORDER BY clauses bind more tightly to output column
    98         -    names, but identifiers in expressions bind more tightly to input column names.
    99         -    Identifiers in GROUP BY clauses always prefer output column names, however.
   100         -<li>Bug fixes: Multiple problems in the legacy query optimizer were fixed by the 
   101         -    move to [NGQP].
   102         -</ul><p>The above are changes since [version 3.7.17].  The differences
   103         -between 3.8.0 and 3.8.0.1 are as follows:</p><ul>
   104     28   <li>Fix an off-by-one error that caused quoted empty string at the end of a 
   105     29   CRNL-terminated line of CSV input to be misread by the command-line shell.
   106     30   <li>Fix a query planner bug involving a LEFT JOIN with a BETWEEN or LIKE/GLOB
   107     31   constraint and then another INNER JOIN to the right that involves an OR constraint.
   108     32   <li>Fix a query planner bug that could result in a segfault when querying tables
   109     33   with a UNIQUE or PRIMARY KEY constraint with more than four columns.
   110     34   
   111     35   <li>SQLITE_SOURCE_ID: 
   112     36       "2013-08-29 17:35:01 352362bc01660edfbda08179d60f09e2038a2f49"
   113     37   <li>SHA1 for sqlite3.c: 99906bf63e6cef63d6f3d7f8526ac4a70e76559e
   114         -}
           38  +} {inadditionto 1}
   115     39   
   116     40   chng {2013-08-26 (3.8.0)} {
   117     41   <li>Add support for [partial indexes]</li>
   118     42   <li>Cut-over to the [next generation query planner] for faster and better query plans.
   119     43   <li>The [EXPLAIN QUERY PLAN] output no longer shows an estimate of the number of 
   120     44       rows generated by each loop in a join.
   121     45   <li>Added the [FTS4 notindexed option], allowing non-indexed columns in an FTS4 table.
................................................................................
   257    181       to that same file.  See ticket 
   258    182       [http://www.sqlite.org/src/info/7ff3120e4f | 7ff3120e4f] for further
   259    183       information.
   260    184   
   261    185   <li>SQLITE_SOURCE_ID: 
   262    186       "2013-04-12 11:52:43 cbea02d93865ce0e06789db95fd9168ebac970c7"
   263    187   <li>SHA1 for sqlite3.c: d466b54789dff4fb0238b9232e74896deaefab94
   264         -}
          188  +} {inadditionto 2 inadditionto 1}
   265    189   
   266    190   chng {2013-03-29 (3.7.16.1)} {
   267    191   <li>Fix for a bug in the ORDER BY optimizer that was introduced in
   268    192       [version 3.7.15] which would sometimes optimize out the sorting step
   269    193       when in fact the sort was required.
   270    194       Ticket [http://www.sqlite.org/src/info/a179fe7465 | a179fe7465]
   271    195   <li>Fix a long-standing bug in the [CAST expression] that would recognize UTF16
................................................................................
   279    203       Ticket [http://www.sqlite.org/src/info/6bfb98dfc0c | 6bfb98dfc0c].
   280    204   <li>The SQLITE_OMIT_MERGE_SORT option has been removed.  The merge sorter is
   281    205       now a required component of SQLite.
   282    206   <li>Fixed lots of spelling errors in the source-code comments
   283    207   <li>SQLITE_SOURCE_ID: 
   284    208       "2013-03-29 13:44:34 527231bc67285f01fb18d4451b28f61da3c4e39d"
   285    209   <li>SHA1 for sqlite3.c: 7a91ceceac9bcf47ceb8219126276e5518f7ff5a
   286         -}
          210  +} {inadditionto 1}
   287    211   
   288    212   chng {2013-03-18 (3.7.16)} {
   289    213   <li>Added the [PRAGMA foreign_key_check] command.
   290    214   <li>Added new extended error codes for all SQLITE_CONSTRAINT errors
   291    215   <li>Added the SQLITE_READONLY_ROLLBACK extended error code for when a database
   292    216       cannot be opened because it needs rollback recovery but is read-only.
   293    217   <li>Added SQL functions [unicode(A)] and [char(X1,...,XN)].
................................................................................
  3229   3153   files.</li>
  3230   3154   <li>And many, many bug fixes...</li>
  3231   3155   }
  3232   3156   
  3233   3157   chng {2000-05-29} {
  3234   3158   <li>Initial Public Release of Alpha code</li>
  3235   3159   }
         3160  +
         3161  +# Generate the change log documents
         3162  +#
         3163  +for {set i 0} {$i<$nChng} {incr i} {
         3164  +  foreach {date desc options} $aChng($i) break
         3165  +  if {[regexp {\(([0-9.]+)\)} $date all vers]} {
         3166  +    set label [string map {. _} $vers]
         3167  +    hd_fragment version_$label
         3168  +  }
         3169  +  hd_puts "<h3>$date</h3>"
         3170  +  hd_resolve "<p><ul>$desc</ul></p>"
         3171  +  if {[regexp {\((3\.\d+\.[.0-9]+)[ a-zA-Z]*\)} $date all vers]} {
         3172  +    set tag [string trim [string map {. _} $vers]]
         3173  +    file mkdir $DEST/releaselog
         3174  +    set filename releaselog/$tag.html
         3175  +    hd_open_aux $filename
         3176  +    hd_header "SQLite Release $vers On $date"
         3177  +    hd_keywords "Version $vers" "*version $vers"
         3178  +    hd_enable_main 0
         3179  +    hd_puts "<h2>SQLite Release $vers On $date</h2>"
         3180  +    regsub -all {<a href="(?!http:)} $desc {<a href="../} desc
         3181  +    foreach {key value} $options {
         3182  +      if {$key=="inadditionto"} {
         3183  +        set d2 [lindex $aChng([expr {$i+$value}]) 1]
         3184  +        regsub {<li>SQLITE_SOURCE_ID.*$} $d2 {} d2
         3185  +        hd_resolve "<p><ul>$d2</ul></p>"
         3186  +      }
         3187  +    }
         3188  +    hd_resolve "<p><ul>$desc</ul></p>"
         3189  +    hd_puts {
         3190  +      <p>A <a href="../changes.html">complete list of SQLite releases</a>
         3191  +      in a single page is also available.  A detailed history of every
         3192  +      check-in is available at
         3193  +      <a href="http://www.sqlite.org/src/timeline">
         3194  +      http://www.sqlite.org/src/timeline</a>.</p>
         3195  +    }
         3196  +    hd_close_aux
         3197  +    hd_enable_main 1
         3198  +    if {$nChng==0 && [file exists $DEST/$filename]} {
         3199  +      file copy -force $DEST/$filename $DEST/releaselog/current.html
         3200  +    }
         3201  +  }
         3202  +}
         3203  +
  3236   3204   </tcl>
  3237   3205   </dl>