Documentation Source Text

Check-in [5b0295da93]
Login

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

Overview
Comment:Update the change log with the new DELETE optimization bug fix.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 5b0295da937c3f34e180d6a697fb8dedc47a7d6c
User & Date: drh 2016-05-02 12:42:38.687
Context
2016-05-03
17:20
Fix typo in the change log. (check-in: ee23402710 user: drh tags: trunk)
2016-05-02
12:42
Update the change log with the new DELETE optimization bug fix. (check-in: 5b0295da93 user: drh tags: trunk)
11:03
Updates to the change log for 3.13.0. (check-in: 53e8efc79e user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to pages/changes.in.
37
38
39
40
41
42
43




44
45
46
47
48
49
50
<li>Added the [sqlite3_db_config](db,[SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION]) interface
    which allows the [sqlite3_load_extension()] C-API to be enabled while keeping the
    [load_extension()] SQL function disabled for security.
<li>Change the [temporary directory search algorithm] on Unix to allow directories
    read and execute permission, but without read permission, to serve as temporary
    directories.  Apply this same standard to the "." fallback directory.
<p><b>Bug Fixes:</b>




<li>When checking for the WHERE-clause push-down optimization, verify that all terms
    of the compound inner SELECT are non-aggregate, not just the last term. Fix for ticket
    [https://www.sqlite.org/src/info/f7f8c97e97597|f7f8c97e97597].
<li>Fix a locking race condition in Windows that can occur when two or more processes
    attempt to recover the same [hot journal] at the same time.
} {backport {2016-04-18 (3.12.2)} backport {2016-04-08 (3.12.1)}}








>
>
>
>







37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<li>Added the [sqlite3_db_config](db,[SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION]) interface
    which allows the [sqlite3_load_extension()] C-API to be enabled while keeping the
    [load_extension()] SQL function disabled for security.
<li>Change the [temporary directory search algorithm] on Unix to allow directories
    read and execute permission, but without read permission, to serve as temporary
    directories.  Apply this same standard to the "." fallback directory.
<p><b>Bug Fixes:</b>
<li>Fix a problem with the multi-row one-pass DELETE optimization that was
    causing it to compute incorrect answers with a self-referential subquery in
    the WHERE clause.  Fix for ticket
    [https://www.sqlite.org/src/info/dc6ebeda9396087|dc6ebeda9396087]
<li>When checking for the WHERE-clause push-down optimization, verify that all terms
    of the compound inner SELECT are non-aggregate, not just the last term. Fix for ticket
    [https://www.sqlite.org/src/info/f7f8c97e97597|f7f8c97e97597].
<li>Fix a locking race condition in Windows that can occur when two or more processes
    attempt to recover the same [hot journal] at the same time.
} {backport {2016-04-18 (3.12.2)} backport {2016-04-08 (3.12.1)}}

4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
  foreach {key value} $options {
    if {$key=="backport"} {
      if {[info exists xrefChng($value)]} {set value $xrefChng($value)}
      set c2 $aChng([expr {$i+$value}])
      regexp {([-0-9]+) \((3\.\d+\.[.0-9]+)[ a-zA-Z]*\)} [lindex $c2 0] all xdate xvers
      set d2 [lindex $c2 1]
      regsub {(<p>[^\n]*\n)?<li>SQLITE_SOURCE_ID.*$} $d2 {} d2
      hd_resolve "<p><b>Changes backported into patch release $xvers ($xdate):</b></p>\n"
      hd_resolve "$d2\n"
    }
  }
  hd_resolve "</ul></p>\n"
  if {[regexp {([-0-9]+) \((3\.\d+\.[.0-9]+)[ a-zA-Z]*\)} $date all dateonly vers]} {
    set tag [string trim [string map {. _} $vers]]
    file mkdir $DEST/releaselog







|







4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
  foreach {key value} $options {
    if {$key=="backport"} {
      if {[info exists xrefChng($value)]} {set value $xrefChng($value)}
      set c2 $aChng([expr {$i+$value}])
      regexp {([-0-9]+) \((3\.\d+\.[.0-9]+)[ a-zA-Z]*\)} [lindex $c2 0] all xdate xvers
      set d2 [lindex $c2 1]
      regsub {(<p>[^\n]*\n)?<li>SQLITE_SOURCE_ID.*$} $d2 {} d2
      hd_resolve "<p><b>Bug fixes backported into patch release $xvers ($xdate):</b></p>\n"
      hd_resolve "$d2\n"
    }
  }
  hd_resolve "</ul></p>\n"
  if {[regexp {([-0-9]+) \((3\.\d+\.[.0-9]+)[ a-zA-Z]*\)} $date all dateonly vers]} {
    set tag [string trim [string map {. _} $vers]]
    file mkdir $DEST/releaselog
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
      }
      if {$key=="backport"} {
        if {[info exists xrefChng($value)]} {set value $xrefChng($value)}
        set c2 $aChng([expr {$i+$value}])
        regexp {([-0-9]+) \((3\.\d+\.[.0-9]+)[ a-zA-Z]*\)} [lindex $c2 0] all date vers
        set d2 [lindex $c2 1]
        regsub {(<p>[^\n]*\n)?<li>SQLITE_SOURCE_ID.*$} $d2 {} d2
        hd_resolve "<p><b>Changes backported into patch release $vers ($date):</b></p>\n"
        hd_resolve "$d2\n"
      }
    }
    hd_resolve "</ul></p>\n"
    hd_resolve {
      <p>A [complete list of SQLite releases]
      in a single page and a [chronology] are both also available.  







|







4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
      }
      if {$key=="backport"} {
        if {[info exists xrefChng($value)]} {set value $xrefChng($value)}
        set c2 $aChng([expr {$i+$value}])
        regexp {([-0-9]+) \((3\.\d+\.[.0-9]+)[ a-zA-Z]*\)} [lindex $c2 0] all date vers
        set d2 [lindex $c2 1]
        regsub {(<p>[^\n]*\n)?<li>SQLITE_SOURCE_ID.*$} $d2 {} d2
        hd_resolve "<p><b>Bug fixes backported into patch release $vers ($date):</b></p>\n"
        hd_resolve "$d2\n"
      }
    }
    hd_resolve "</ul></p>\n"
    hd_resolve {
      <p>A [complete list of SQLite releases]
      in a single page and a [chronology] are both also available.