Documentation Source Text

Check-in [3b8a91bbce]
Login

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

Overview
Comment:Merge changes from the 3.25 branch.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 3b8a91bbce5ced4dc5f8383c92a72eae6ee36647bd87ce7b923a99d687f18210
User & Date: drh 2018-11-07 20:07:33.405
Context
2018-11-12
13:39
Begin adding a change log for version 3.26.0. (check-in: a74a421c12 user: drh tags: trunk)
2018-11-07
20:07
Merge changes from the 3.25 branch. (check-in: 3b8a91bbce user: drh tags: trunk)
17:35
Improvements to the documentation of the busy method in the TCL interface. Words contributed by flightaware. (check-in: bf23032b75 user: drh tags: branch-3.25)
2018-10-25
20:19
Merge changes from the 3.25 branch. (check-in: efd5b055b2 user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Deleted images/foreignlogos/bloomberg.gif.

cannot compute difference between binary files

Added images/foreignlogos/bloomberg.png.

cannot compute difference between binary files

Changes to pages/changes.in.
17
18
19
20
21
22
23

















24
25
26
27
28
29
30
proc chng {date desc {options {}}} {
  global nChng aChng xrefChng
  set aChng($nChng) [list $date $desc $options]
  set xrefChng($date) $nChng
  incr nChng
}


















chng {2018-09-25 (3.25.2)} {
<li> Add the [PRAGMA legacy_alter_table=ON] command that causes the
     "ALTER TABLE RENAME" command to behave as it did in SQLite versions 3.24.0
     and earlier: references to the renamed table inside the bodies of triggers
     and views are not updated.  This new pragma provides a compatibility
     work around for older programs that expected the older, wonky behavior
     of ALTER TABLE RENAME.







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
proc chng {date desc {options {}}} {
  global nChng aChng xrefChng
  set aChng($nChng) [list $date $desc $options]
  set xrefChng($date) $nChng
  incr nChng
}

chng {2018-11-05 (3.25.3)} {
<li> Disallow the use of [window functions] in the recursive part of
     a CTE. Ticket [https://sqlite.org/src/info/e8275b415a2f03bee|e8275b415a2f03bee]
<li> Fix the behavior of typeof() and length() on virtual tables.  Ticket
     [https://sqlite.org/src/info/69d642332d25aa3b7315a6d385|69d642332d25aa3b7315a6d385]
<li> Strengthen defenses against deliberately corrupted database files.
<li> Fix a problem in the query planner that results when a row-value expression
     is used with a PRIMARY KEY with redundant columns.  Ticket
     [https://sqlite.org/src/info/1a84668dcfdebaf12415d|1a84668dcfdebaf12415d]
<li> Fix the query planner so that it works correctly for IS NOT NULL operators
     in the ON clause of a LEFT JOIN with the SQLITE_ENABLE_STAT4 compile-time option.
     [https://sqlite.org/src/info/65eb38f6e46de8c75e188a17ec|65eb38f6e46de8c75e188a17ec]
<p><b>Hashes:</b>
<li>SQLITE_SOURCE_ID: "2018-11-05 20:37:38 89e099fbe5e13c33e683bef07361231ca525b88f7907be7092058007b75036f2"
<li>SHA3-256 for sqlite3.c: 45586e4df74de3a43f3a1f8c7a78c3c3f02edce01af7d10cafe68bb94476a5c5
} {patchagainst 1 patchagainst 2 patchagainst 3}

chng {2018-09-25 (3.25.2)} {
<li> Add the [PRAGMA legacy_alter_table=ON] command that causes the
     "ALTER TABLE RENAME" command to behave as it did in SQLite versions 3.24.0
     and earlier: references to the renamed table inside the bodies of triggers
     and views are not updated.  This new pragma provides a compatibility
     work around for older programs that expected the older, wonky behavior
     of ALTER TABLE RENAME.
Changes to pages/chronology.in.
24
25
26
27
28
29
30

31
32
33
34
35
36
37
#    ORDER BY mtime DESC;
#
# A small amount of manual editing and de-duplication followed.
#
# Manually edit the list for each subsequent release.
#      
foreach line [split {

fb90e7189a|2018-09-25|Version 3.25.2
2ac9003de4|2018-09-18|Version 3.25.1
b63af6c3bd|2018-09-15|Version 3.25.0
c7ee083322|2018-06-04|Version 3.24.0
4bb2294022|2018-04-10|Version 3.23.1
736b53f57f|2018-04-02|Version 3.23.0
0c55d17973|2018-01-22|Version 3.22.0







>







24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#    ORDER BY mtime DESC;
#
# A small amount of manual editing and de-duplication followed.
#
# Manually edit the list for each subsequent release.
#      
foreach line [split {
89e099fbe5|2018-11-05|Version 3.25.3
fb90e7189a|2018-09-25|Version 3.25.2
2ac9003de4|2018-09-18|Version 3.25.1
b63af6c3bd|2018-09-15|Version 3.25.0
c7ee083322|2018-06-04|Version 3.24.0
4bb2294022|2018-04-10|Version 3.23.1
736b53f57f|2018-04-02|Version 3.23.0
0c55d17973|2018-01-22|Version 3.22.0
Changes to pages/index.in.
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[full-featured SQL|full-featured], [public-domain],
SQL database engine.
SQLite is the [most used] database engine in the world.
<a class="button" href="about.html">More Info</a></p>

<hr class="xhr">
<span class="hdrfont">Latest Release:&nbsp;&nbsp;</span>
<a href="releaselog/3_25_2.html">Version 3.25.2</a> ([dateof:3.25.2]).
<a class="button" href="download.html">Download</a>
<a class="button" href="chronology.html">Prior Releases</a>

<div class="mobileonly">
<hr class="xhr">
<h3>Common Links</h3>
<tcl>common_links</tcl>







|







10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[full-featured SQL|full-featured], [public-domain],
SQL database engine.
SQLite is the [most used] database engine in the world.
<a class="button" href="about.html">More Info</a></p>

<hr class="xhr">
<span class="hdrfont">Latest Release:&nbsp;&nbsp;</span>
<a href="releaselog/3_25_3.html">Version 3.25.3</a> ([dateof:3.25.3]).
<a class="button" href="download.html">Download</a>
<a class="button" href="chronology.html">Prior Releases</a>

<div class="mobileonly">
<hr class="xhr">
<h3>Common Links</h3>
<tcl>common_links</tcl>
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
  {name   Mozilla
   url    https://www.mozilla.com/
   image  mozilla.gif
   blurb  "Working to preserve choice and innovation on the internet."
  }
  {name   Bloomberg
   url    https://www.bloomberg.com/
   image  bloomberg.gif
   blurb  "A world leader in financial-information technology."
  }
  {name   Bentley
   url    https://www.bentley.com/
   image  bentley.gif
   blurb  "Comprehensive software solutions for Sustaining Infrastructure."
  }







|







47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
  {name   Mozilla
   url    https://www.mozilla.com/
   image  mozilla.gif
   blurb  "Working to preserve choice and innovation on the internet."
  }
  {name   Bloomberg
   url    https://www.bloomberg.com/
   image  bloomberg.png
   blurb  "A world leader in financial-information technology."
  }
  {name   Bentley
   url    https://www.bentley.com/
   image  bentley.gif
   blurb  "Comprehensive software solutions for Sustaining Infrastructure."
  }
Changes to pages/news.in.
14
15
16
17
18
19
20






21
22
23
24
25
26
27
  hd_puts "<h3>$date - $title</h3>"
  regsub -all "\n( *\n)+" $text "</p>\n\n<p>" txt
  regsub -all {[Tt]icket #(\d+)} $txt \
      {<a href="http://www.sqlite.org/cvstrac/tktview?tn=\1">\0</a>} txt
  hd_resolve "<blockquote>$txt</blockquote>"
  hd_puts "<hr width=\"50%\">"
}







newsitem {2018-09-25} {Release 3.25.2} {
SQLite [version 3.25.2] is another patch against 3.25.0 that fixes still
more problems associated with the new [window function] feature and the
[ALTER TABLE] enhancements.  Of particular note is the new
[PRAGMA legacy_alter_table=ON] command, which causes the ALTER TABLE RENAME
command to behave in the same goofy way that it did before the enhancements







>
>
>
>
>
>







14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
  hd_puts "<h3>$date - $title</h3>"
  regsub -all "\n( *\n)+" $text "</p>\n\n<p>" txt
  regsub -all {[Tt]icket #(\d+)} $txt \
      {<a href="http://www.sqlite.org/cvstrac/tktview?tn=\1">\0</a>} txt
  hd_resolve "<blockquote>$txt</blockquote>"
  hd_puts "<hr width=\"50%\">"
}

newsitem {2018-11-05} {Release 3.25.3} {
SQLite [version 3.25.3] is a third patch against 3.25.0 that fixes various
problems that have come to light and which seem serious enough to 
justify a patch.
}

newsitem {2018-09-25} {Release 3.25.2} {
SQLite [version 3.25.2] is another patch against 3.25.0 that fixes still
more problems associated with the new [window function] feature and the
[ALTER TABLE] enhancements.  Of particular note is the new
[PRAGMA legacy_alter_table=ON] command, which causes the ALTER TABLE RENAME
command to behave in the same goofy way that it did before the enhancements
Changes to pages/prosupport.in.
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
a suite of test cases for SQLite that provide 100% branch test coverage
(and 100% modified condition/decision coverage) for the core SQLite in
an as-deployed configuration using only published and documented interfaces.
TH3 is designed for use with embedded devices, and is compatible with
DO-178B.  Every release of the public-domain SQLite is tested using TH3,
and so all users benefit from the TH3 tests.  But the TH3 tests are not
themselves public.  Hardware or system manufactures who want to have
TH3 test run on their systems can negotiation a service agreement to have
the SQLite Developers run those tests.</p>

<h2>About The SQLite Team</h2>

<p>Paid support options and products are provided by
Hipp, Wyrick &amp; Company, Inc., (Hwaci), a 
<a href="http://en.wikipedia.org/wiki/Georgia_(U.S._state)">Georgia</a>







|







240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
a suite of test cases for SQLite that provide 100% branch test coverage
(and 100% modified condition/decision coverage) for the core SQLite in
an as-deployed configuration using only published and documented interfaces.
TH3 is designed for use with embedded devices, and is compatible with
DO-178B.  Every release of the public-domain SQLite is tested using TH3,
and so all users benefit from the TH3 tests.  But the TH3 tests are not
themselves public.  Hardware or system manufactures who want to have
TH3 test run on their systems can negotiate a service agreement to have
the SQLite Developers run those tests.</p>

<h2>About The SQLite Team</h2>

<p>Paid support options and products are provided by
Hipp, Wyrick &amp; Company, Inc., (Hwaci), a 
<a href="http://en.wikipedia.org/wiki/Georgia_(U.S._state)">Georgia</a>
Changes to pages/tclsqlite.in.
531
532
533
534
535
536
537




538
539
540
541
542
543
544
it is invoke.  The argument is the number of prior calls to the busy
callback for the current locking event.  It is intended that
the callback will do some other useful work for a short while 
(such as service GUI events) then return
so that the lock can be tried again.  The callback procedure should
return "0" if it wants SQLite to try again to open the database and
should return "1" if it wants SQLite to abandon the current operation.




}

##############################################################################
METHOD enable_load_extension {

<p>The extension loading mechanism of SQLite (accessed using the
[load_extension()] SQL function) is turned off by default.  This is







>
>
>
>







531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
it is invoke.  The argument is the number of prior calls to the busy
callback for the current locking event.  It is intended that
the callback will do some other useful work for a short while 
(such as service GUI events) then return
so that the lock can be tried again.  The callback procedure should
return "0" if it wants SQLite to try again to open the database and
should return "1" if it wants SQLite to abandon the current operation.
<p>
If the busy method is invoked without an argument, the name of the callback
procedure last set by the busy method is returned.  If no callback procedure
has been set, an empty string is returned.
}

##############################################################################
METHOD enable_load_extension {

<p>The extension loading mechanism of SQLite (accessed using the
[load_extension()] SQL function) is turned off by default.  This is