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.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 5b0295da937c3f34e180d6a697fb8dedc47a7d6c
User & Date: drh 2016-05-02 12:42:38
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
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to pages/changes.in.

37
38
39
40
41
42
43




44
45
46
47
48
49
50
....
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
....
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
<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)}}

................................................................................
  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
................................................................................
      }
      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.  







>
>
>
>







 







|







 







|







37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
....
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
....
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
<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)}}

................................................................................
  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
................................................................................
      }
      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.