Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Changes In Branch branch-3.7.6
Excluding Merge-Ins
This is equivalent to a diff from
e84c9353ca
to ef14f9a3d4
2011-05-19
| | |
17:14 |
|
(check-in: 6800ff0968 user: drh tags: trunk)
|
14:45 |
|
(Leaf
check-in: ef14f9a3d4 user: drh tags: branch-3.7.6)
|
12:59 |
|
(check-in: f3ea1f0a36 user: drh tags: branch-3.7.6)
|
2011-04-22
| | |
20:49 |
|
(check-in: e64e27e335 user: drh tags: trunk)
|
2011-04-20
| | |
11:01 |
|
(check-in: e84c9353ca user: drh tags: trunk)
|
10:46 |
|
(check-in: 372f970213 user: drh tags: trunk)
|
| | |
Changes to pages/changes.in.
︙ | | |
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
+
+
+
+
+
+
|
<a href="http://www.sqlite.org/src/timeline">
http://www.sqlite.org/src/timeline</a>.</p>
}
hd_close_aux
hd_enable_main 1
}
}
chng {2011 May 19 (3.7.6.3)} {
<li> Fix a problem with [WAL mode] which could cause transactions to
silently rollback if the [cache_size] is set very small (less than 10)
and SQLite comes under memory pressure.
}
chng {2011 April 17 (3.7.6.2)} {
<li> Fix the function prototype for the open(2) system call to agree with
POSIX. Without this fix, pthreads does not work correctly on NetBSD.
<li> SQLITE_SOURCE_ID:
"2011-04-17 17:25:17 154ddbc17120be2915eb03edc52af1225eb7cb5e"
<li> SHA1 for sqlite3.c: 806577fd524dd5f3bfd8d4d27392ed2752bc9701
|
︙ | | |
Changes to pages/download.in.
︙ | | |
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
|
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
|
-
+
-
+
|
<p>Note that a unix-like development environment, including a recent
version of <a href="http://www.tcl.tk/">Tcl</a>, is required in order to
build from the canonical sources.</p>
<blockquote>
<a href="http://www.sqlite.org/cgi/src">http://www.sqlite.org/cgi/src</a> (Dallas)<br>
<a href="http://www2.sqlite.org/cgi/src">http://www2.sqlite.org/cgi/src</a> (Atlanta)<br>
<a href="http://www2.sqlite.org/cgi/src">http://www2.sqlite.org/cgi/src</a> (Newark)<br>
<a href="http://www3.sqlite.org/cgi/src">http://www3.sqlite.org/cgi/src</a> (Fremont)<br>
</blockquote>
<p>The documentation is maintained in separate
[http://www.fossil-scm.org/ | Fossil] repositories located
at:</p>
<blockquote>
<a href="http://www.sqlite.org/cgi/docsrc">http://www.sqlite.org/cgi/docsrc</a> (Dallas)<br>
<a href="http://www2.sqlite.org/cgi/docsrc">http://www2.sqlite.org/cgi/docsrc</a> (Atlanta)<br>
<a href="http://www2.sqlite.org/cgi/docsrc">http://www2.sqlite.org/cgi/docsrc</a> (Newark)<br>
<a href="http://www3.sqlite.org/cgi/docsrc">http://www3.sqlite.org/cgi/docsrc</a> (Fremont)<br>
</blockquote>
|
Changes to pages/index.in.
︙ | | |
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
-
+
-
-
+
|
</td>
<td width="20"></td><td bgcolor="#044a64" width="1"></td><td width="20"></td>
<td valign="top">
<h3>Current Status</h3>
<p><ul>
<li><a href="releaselog/3_7_6_2.html">Version 3.7.6.2</a>
<li><a href="releaselog/3_7_6_3.html">Version 3.7.6.3</a>
of SQLite is recommended for all new development.
Upgrading from version 3.7.5 is optional.
Upgrading from all SQLite versions prior to 3.7.5 is recommended.</li>
Upgrading from all SQLite versions is recommended.</li>
</ul></p>
<h3>Common Links</h3>
<p><ul>
<li> <a href="features.html">Features</a> </li>
<li> <a href="faq.html">Frequently Asked Questions</a> </li>
|
︙ | | |
Changes to pages/news.in.
︙ | | |
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
11
12
13
14
15
16
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
regsub -all {(Version) (\d+)\.(\d+)\.(\d+)} $title \
{<a href="releaselog/\2_\3_\4.html">\0</a>} title
}
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 "<p>$txt</p>"
hd_resolve "<blockquote>$txt</blockquote>"
hd_puts "<hr width=\"50%\">"
}
newsitem {2011-May-19} {Version 3.7.6.3} {
SQLite [version 3.7.6.3] is a patch release that fixes a
[http://www.sqlite.org/src/info/2d1a5c67df | single bug]
associated with [WAL mode]. The bug has been in SQLite ever since WAL
was added, but the problem is very obscure and so nobody has noticed
before now. Nevertheless, all users are encouraged to upgrade to
version 3.7.6.3 or later.
The bug is this:
If the [cache_size] is set very small (less than 10) and SQLite comes
under memory pressure and if a multi-statement transaction is started
in which the last statement prior to COMMIT is a SELECT statement and if
a [checkpoint] occurs right after the transaction commit, then
it might happen that the transaction will be silently rolled back instead
of being committed.
The default setting for [cache_size] is 2000. So in most situations, this
bug will never appear. But sometimes programmers set [cache_size] to
very small values on gadgets and other low-memory devices in order to
save memory space. Such applications are vulnerable.
Note that this bug does <u>not</u> cause database corruption. It is
as if [ROLLBACK] were being run instead of [COMMIT] in some cases.
<b>Bug Details</b>
Transactions commit in WAL mode by adding a record onto the end of
the WAL (the write-ahead log) that contains a "commit" flag. So to
commit a transaction, SQLite takes all the pages that have changed
during that transaction, appends them to the WAL, and sets the commit
flag on the last page. Now, if SQLite comes under memory pressure, it
might try to free up memory space by writing changed pages to the WAL
prior to the commit. We call this "spilling" the cache to WAL. There
is nothing wrong with spilling cache to WAL. But if the
memory pressure is severe, it might be that by the time [COMMIT] is run,
all changed pages for the transaction have already been spilled to WAL
and there are no pages left to be written to WAL.
And with no unwritten pages, there was nothing to put the commit flag
on. And without a commit flag, the transaction would end up being
rolled back.
The fix to this problem was that if all changed pages has already
been written to the WAL when the commit was started, then page 1 of
the database will be written to the WAL again, so that there will always
be a page available on which to set the commit flag.
}
newsitem {2011-April-17} {Version 3.7.6.2} {
SQLite [version 3.7.6.2] adds a one-line bug fix to 3.7.6.1 that enables
pthreads to work correctly on NetBSD. The problem was a faulty function
signature for the open system call. The problem does not appear to have
any adverse impact on any system other than NetBSD.
|
︙ | | |
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
|
247
248
249
250
251
252
253
254
255
256
|
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
|
the WAL journaling mode.
SQLite version 3.7.0 also contains some query planner enhancements and
a few obscure bug fixes, but the only really big change is the addition
of WAL mode.
}
newsitem {2010-Mar-30} {Version 3.6.23.1} {
SQLite [version 3.6.23.1] is a patch release to fix a bug in the
offsets() function of [FTS3] at the request of the Mozilla.
}
newsitem {2010-Mar-09} {Version 3.6.23} {
SQLite [version 3.6.23] is a regular bimonthly release of SQLite.
Upgrading from the prior release is purely optional.
This release contains new pragmas: the [secure_delete pragma], and
the [compile_options pragma].
There are a new SQL functions: [sqlite_compileoption_used()]
and [sqlite_compileoption_get()].
New C/C++ interfaces: [sqlite3_compileoption_used()],
[sqlite3_compileoption_get()], [SQLITE_CONFIG_LOG], and
[sqlite3_log()].
This release also includes several minor bug fixes and performance
improvements. Support for [SQLITE_OMIT_FLOATING_POINT] is enhanced.
There are on-going improvements to [FTS3].
The ".genfkey" command in the [Command Line Interface] has been
removed. SQLite has supported standard SQL [foreign key constraints]
since [version 3.6.19] and so the ".genfkey" command was seen as
an anachronism.
}
newsitem {2010-Jan-06} {Version 3.6.22} {
SQLite [version 3.6.22] is a bug-fix release. Two bugs have been fixed
that might cause incorrect query results.
<ul>
<li>Ticket [http://www.sqlite.org/src/info/31338dca7e | 31338dca7e]
describes a
problem with queries that have a WHERE clause of the form (x AND y) OR z
where x and z come from one table of a join and y comes from a different
table.
<li> Ticket [http://www.sqlite.org/src/info/eb5548a849 | eb5548a849]
describes
a problem where the use of the CAST operator in the WHERE clause can lead
to incorrect results if the column being cast to a new datatype is also
used in the same WHERE clause without being cast.
</ul>
Both bugs are obscure,
but because they could arise in an application after deployment, it is
recommended that all applications upgrade SQLite to version 3.6.22.
This release also includes other minor bug fixes and performance
enhancements, especially in the [FTS3] extension.
}
</tcl>
<a href="oldnews.html">Old news...</a>
|
Changes to pages/oldnews.in.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
<?xml version="1.0" encoding="Windows-1252"?>
<title>SQLite Older News</title>
<tcl>
proc newsitem {date title text} {
regsub -all {[^a-z0-9]} $date _ tag
hd_puts "<a name=\"$tag\"></a>"
hd_puts "<h3>$date - $title</h3>"
regsub -all "\n( *\n)+" $text "</p>\n\n<p>" txt
hd_resolve "<p>$txt</p>"
hd_resolve "<blockquote>$txt</blockquote>"
hd_puts "<hr width=\"50%\">"
}
newsitem {2010-Mar-30} {Version 3.6.23.1} {
SQLite [version 3.6.23.1] is a patch release to fix a bug in the
offsets() function of [FTS3] at the request of the Mozilla.
}
newsitem {2010-Mar-09} {Version 3.6.23} {
SQLite [version 3.6.23] is a regular bimonthly release of SQLite.
Upgrading from the prior release is purely optional.
This release contains new pragmas: the [secure_delete pragma], and
the [compile_options pragma].
There are a new SQL functions: [sqlite_compileoption_used()]
and [sqlite_compileoption_get()].
New C/C++ interfaces: [sqlite3_compileoption_used()],
[sqlite3_compileoption_get()], [SQLITE_CONFIG_LOG], and
[sqlite3_log()].
This release also includes several minor bug fixes and performance
improvements. Support for [SQLITE_OMIT_FLOATING_POINT] is enhanced.
There are on-going improvements to [FTS3].
The ".genfkey" command in the [Command Line Interface] has been
removed. SQLite has supported standard SQL [foreign key constraints]
since [version 3.6.19] and so the ".genfkey" command was seen as
an anachronism.
}
newsitem {2010-Jan-06} {Version 3.6.22} {
SQLite [version 3.6.22] is a bug-fix release. Two bugs have been fixed
that might cause incorrect query results.
<ul>
<li>Ticket [http://www.sqlite.org/src/info/31338dca7e | 31338dca7e]
describes a
problem with queries that have a WHERE clause of the form (x AND y) OR z
where x and z come from one table of a join and y comes from a different
table.
<li> Ticket [http://www.sqlite.org/src/info/eb5548a849 | eb5548a849]
describes
a problem where the use of the CAST operator in the WHERE clause can lead
to incorrect results if the column being cast to a new datatype is also
used in the same WHERE clause without being cast.
</ul>
Both bugs are obscure,
but because they could arise in an application after deployment, it is
recommended that all applications upgrade SQLite to version 3.6.22.
This release also includes other minor bug fixes and performance
enhancements, especially in the [FTS3] extension.
}
newsitem {2009-Dec-07} {Version 3.6.21} {
SQLite [version 3.6.21] focuses on performance optimization. For
a certain set of traces, this version uses 12% fewer CPU instructions
than the previous release (as measured by Valgrind). In addition, the
[FTS3] extension has been through an extensive cleanup and rework and
the [sqlite3_trace()] interface has been modified to insert
|
︙ | | |
Changes to pages/wal.in.
1
2
3
4
5
6
7
8
9
|
1
2
3
4
5
6
7
8
9
|
-
+
|
<title>Write-Ahead Logging</title>
<tcl>hd_keywords {WAL} {write-ahead log}</tcl>
<tcl>hd_keywords {WAL} {write-ahead log} {WAL mode}</tcl>
<h1 align="center">Write-Ahead Logging</h1>
<p>The default method by which SQLite implements
[atomic commit | atomic commit and rollback] is a [rollback journal].
Beginning with [version 3.7.0], a new "Write-Ahead Log" option
(hereafter referred to as "WAL") is available.</p>
|
︙ | | |
Changes to remove_carets.sh.
︙ | | |
11
12
13
14
15
16
17
18
19
20
|
11
12
13
14
15
16
17
18
19
20
|
-
-
+
+
|
# ^(
# )^
# ^
#
echo 'Removing ^ characters '
find $1 -name '*.html' -print | grep -v matrix | while read file
do
mv $file x.html
sed -e 's/\^(//g' -e 's/)^//g' -e 's/\^//g' x.html >$file
mv "$file" x.html
sed -e 's/\^(//g' -e 's/)^//g' -e 's/\^//g' x.html >"$file"
done
|