Documentation Source Text

Check-in [4b07b4204a]
Login

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

Overview
Comment:Begin preparing the website for the 3.6.15 release.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:4b07b4204a894c2a0dd73ff1047958369532ae07
User & Date: drh 2009-06-08 13:39:09
Context
2009-06-08
13:39
Begin preparing the website for the 3.6.15 release. check-in: 4b07b4204a user: drh tags: trunk
07:19
Change the form of the tags used to embed svg images. check-in: cd56d0a98c user: dan tags: trunk
06:23
Add a few lines to btreemodule.html. check-in: 982ca6b660 user: dan 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
      <a href="http://www.sqlite.org/cvstrac/timeline">
      http://www.sqlite.org/cvstrac/timeline</a>.</p>
    }
    hd_close_aux
    hd_enable_main 1
  }
}






















chng {2009 May 25 (3.6.14.2)} {
<li>Fix a code generator bug introduced in [version 3.6.14].  This bug
    can cause incorrect query results under obscure circumstances.
    [Ticket #3879].
}








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







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
      <a href="http://www.sqlite.org/cvstrac/timeline">
      http://www.sqlite.org/cvstrac/timeline</a>.</p>
    }
    hd_close_aux
    hd_enable_main 1
  }
}

chng {2009 June 15 (3.6.15)} {
<li>Refactor the internal representation of SQL expressions so that they
    use less memory on embedded platforms.
<li>Reduce the amount of stack space used
<li>Fix an 64-bit alignment bug on HP/UX and Sparc
<li>The [sqlite3_create_function()] family of interfaces now return
    [SQLITE_MISUSE] instead of [SQLITE_ERROR] when passed invalid
    parameter combinations.
<li>When new tables are created using CREATE TABLE ... AS SELECT ... the
    datatype of the columns is the simplified SQLite datatype (TEXT, INT,
    REAL, NUMERIC, or BLOB) instead of a copy of the original datatype from
    the source table.
<li>Resolve race conditions when checking for a hot rollback journal.
<li>The [sqlite3_shutdown()] interface frees all mutexes under windows.
<li>Enhanced robustness against corrupt database files
<li>Continuing improvements to the test suite and fixes to obscure
    bugs and inconsistencies that the test suite improvements are
    uncovering.
   
}

chng {2009 May 25 (3.6.14.2)} {
<li>Fix a code generator bug introduced in [version 3.6.14].  This bug
    can cause incorrect query results under obscure circumstances.
    [Ticket #3879].
}

Changes to pages/index.in.

76
77
78
79
80
81
82
83
84

85
86
87
88
89
90
91
92

</td>
<td width="20"></td><td bgcolor="#80a796" width="1"></td><td width="20"></td>
<td valign="top">
<h3>Current Status</h3>

<p><ul>
<li><a href="releaselog/3_6_14_2.html">Version 3.6.14.2</a>
of SQLite is recommended for all new development.  Upgrading from

version 3.6.12 and 3.6.13 is optional.  Upgrading from versions 3.6.11 and
earlier or version 3.6.14 and 3.6.14.1 is recommended.</li>
</ul></p>

<h3>Common Links</h3>

<p><ul>
<li> <a href="features.html">Features</a> </li>







|

>
|







76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93

</td>
<td width="20"></td><td bgcolor="#80a796" width="1"></td><td width="20"></td>
<td valign="top">
<h3>Current Status</h3>

<p><ul>
<li><a href="releaselog/3_6_15.html">Version 3.6.15</a>
of SQLite is recommended for all new development.  Upgrading from
version 3.6.12, 3.6.13, and 3.6.14.2 is optional.
Upgrading from versions 3.6.11 and
earlier or version 3.6.14 and 3.6.14.1 is recommended.</li>
</ul></p>

<h3>Common Links</h3>

<p><ul>
<li> <a href="features.html">Features</a> </li>

Changes to pages/news.in.

14
15
16
17
18
19
20






21
22
23
24
25
26
27
...
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
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
261
262
263
264
265
266
  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_puts "<hr width=\"50%\">"
}







newsitem {2009-May-25} {Version 3.6.14.2} {
  SQLite [version 3.6.14.2] fixes an obscure bug in the code generator
  (<a href="http://www.sqlite.org/cvstrac/tktview?tn=3879">ticket #3879</a>)
  section of SQLite which can potentially cause incorrect query results.
  The changes from the prior release consist of only this one bug fix,
  check-in <a href="http://www.sqlite.org/cvstrac/chngview?cn=6676">[6676]</a>
................................................................................

  These are substantial changes.  Even so, the
  <a href="testing.html">release testing</a> for SQLite
  has become so extensive that the developers have high confidence that
  this release is stable and ready for production use.
}

newsitem {2008-Dec-16} {Version 3.6.7} {
  SQLite [version 3.6.7] contains a major cleanup of the Unix driver,
  and support for the new Proxy Locking mechanism on MacOSX.  Though
  the Unix driver is reorganized, its functionality is the same and so
  applications should not notice a difference.
}

newsitem {2008-Nov-26} {Version 3.6.6.2} {
  This release fixes a bug that was introduced into SQLite [version 3.6.6]
  and which seems like it might be able to cause database corruption.  This
  bug was detected during stress testing.  It has not been seen in the wild.
  An analysis of the problem suggests that the bug might be able to cause
  database corruption, however focused efforts to find a real-world test
  cases that actually causes database corruption have so far been unsuccessful.
  Hence, the likelihood of this bug causing problems is low.  Nevertheless,
  we have decided to do an emergency branch release out of an abundance of
  caution.

  The [version 3.6.6.2] release also fixes a obscure memory leak that
  can occur following a disk I/O error.
}

newsitem {2008-Nov-22} {Version 3.6.6.1} {
  This release fixes a bug that was introduced into SQLite [version 3.6.4]
  and that can cause database corruption in obscure cases.  This bug has
  never been seen in the wild; it was first detected by internal stress
  tests and required substantial analysis before it could be shown to 
  potentially lead to corruption.  So we feel that SQLite versions 3.6.4,
  3.6.5, and 3.6.6 are safe to use for development work.  But upgrading
  to this patch release or later is recommended prior to deploying
  products that incorporate SQLite.

  We have taken the unusual step of issuing a patch release in order to
  get the fix for this bug into circulation quickly.  SQLite version 3.6.7
  will continue on its normal path of development with an anticipated
  release in mid December.  
}
  

newsitem {2008-Nov-19} {Version 3.6.6} {
  SQLite [version 3.6.5] is released.  This is a quick turn-around release
  that fixes a bug in virtual tables and FTS3 that snuck into
  [version 3.6.5].  This release also adds the new
  [sqlite3_pcache_methods | application-defined page cache] mechanism.
}

newsitem {2008-Nov-12} {Version 3.6.5} {
  SQLite [version 3.6.5] is released.  There are various minor feature
  enhancements and numerous obscure bug fixes. 
  The [version 3.6.5|change log] contains the details.  Upgrading is
  optional.
}

newsitem {2008-Nov-01} {Bloomberg Joins SQLite Consortium} {
  The SQLite developers are honored to announce that
  <a href="http://www.bloomberg.com/">Bloomberg</a> has joined the
  [SQLite Consortium].
}

newsitem {2008-Oct-15} {Version 3.6.4} {
  SQLite version 3.6.4 adds new features designed to help applications
  detect when indices are not being used on query.  There are also some
  important performance improvements.  Upgrading is optional.
}

newsitem {2008-Sep-22} {Version 3.6.3} {
  SQLite version 3.6.3 fixes a bug in SELECT DISTINCT that was introduced
  by the previous version.  No new features are added.  Upgrading is
  recommended for all applications that make use of DISTINCT.
}

newsitem {2008-Aug-30} {Version 3.6.2} {
  SQLite version 3.6.2 contains rewrites of the page-cache subsystem and
  the procedures for matching identifiers to table columns in SQL statements.
  These changes are designed to better modularize the code and make it more
  maintainable and reliable moving forward.  Nearly 5000 non-comment lines 
  of core code (about 11.3%) have changed
  from the previous release.  Nevertheless, there should be no
  application-visible changes, other than bug fixes.
}

newsitem {2008-Aug-06} {Version 3.6.1} {
  SQLite version 3.6.1 is a stabilization and performance enhancement
  release.  
}


</tcl>

<a href="oldnews.html">Old news...</a>







>
>
>
>
>
>







 







<
<
<
<
<
|

<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
...
176
177
178
179
180
181
182





183
184
















































































185
186
187
  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_puts "<hr width=\"50%\">"
}

newsitem {2009-Jun-15} {Version 3.6.15} {
  SQLite [version 3.6.15] is a general maintenance release containing
  performance and robustness enhancements and fixes for various obscure
  bugs.  
}

newsitem {2009-May-25} {Version 3.6.14.2} {
  SQLite [version 3.6.14.2] fixes an obscure bug in the code generator
  (<a href="http://www.sqlite.org/cvstrac/tktview?tn=3879">ticket #3879</a>)
  section of SQLite which can potentially cause incorrect query results.
  The changes from the prior release consist of only this one bug fix,
  check-in <a href="http://www.sqlite.org/cvstrac/chngview?cn=6676">[6676]</a>
................................................................................

  These are substantial changes.  Even so, the
  <a href="testing.html">release testing</a> for SQLite
  has become so extensive that the developers have high confidence that
  this release is stable and ready for production use.
}
























































































</tcl>

<a href="oldnews.html">Old news...</a>

Changes to pages/oldnews.in.

5
6
7
8
9
10
11





















































































12
13
14
15
16
17
18
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_puts "<hr width=\"50%\">"





















































































}

newsitem {2008-July-16} {Version 3.6.0 beta} {
  Version 3.6.0 makes changes to the [sqlite3_vfs | VFS] object in order
  to make SQLite more easily portable to a wider variety of platforms.
  There are potential incompatibilities with some legacy applications.
  See the [35to36 | 35to36.html] document for details.







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







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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
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_puts "<hr width=\"50%\">"
}
newsitem {2008-Dec-16} {Version 3.6.7} {
  SQLite [version 3.6.7] contains a major cleanup of the Unix driver,
  and support for the new Proxy Locking mechanism on MacOSX.  Though
  the Unix driver is reorganized, its functionality is the same and so
  applications should not notice a difference.
}

newsitem {2008-Nov-26} {Version 3.6.6.2} {
  This release fixes a bug that was introduced into SQLite [version 3.6.6]
  and which seems like it might be able to cause database corruption.  This
  bug was detected during stress testing.  It has not been seen in the wild.
  An analysis of the problem suggests that the bug might be able to cause
  database corruption, however focused efforts to find a real-world test
  cases that actually causes database corruption have so far been unsuccessful.
  Hence, the likelihood of this bug causing problems is low.  Nevertheless,
  we have decided to do an emergency branch release out of an abundance of
  caution.

  The [version 3.6.6.2] release also fixes a obscure memory leak that
  can occur following a disk I/O error.
}

newsitem {2008-Nov-22} {Version 3.6.6.1} {
  This release fixes a bug that was introduced into SQLite [version 3.6.4]
  and that can cause database corruption in obscure cases.  This bug has
  never been seen in the wild; it was first detected by internal stress
  tests and required substantial analysis before it could be shown to 
  potentially lead to corruption.  So we feel that SQLite versions 3.6.4,
  3.6.5, and 3.6.6 are safe to use for development work.  But upgrading
  to this patch release or later is recommended prior to deploying
  products that incorporate SQLite.

  We have taken the unusual step of issuing a patch release in order to
  get the fix for this bug into circulation quickly.  SQLite version 3.6.7
  will continue on its normal path of development with an anticipated
  release in mid December.  
}
  

newsitem {2008-Nov-19} {Version 3.6.6} {
  SQLite [version 3.6.5] is released.  This is a quick turn-around release
  that fixes a bug in virtual tables and FTS3 that snuck into
  [version 3.6.5].  This release also adds the new
  [sqlite3_pcache_methods | application-defined page cache] mechanism.
}

newsitem {2008-Nov-12} {Version 3.6.5} {
  SQLite [version 3.6.5] is released.  There are various minor feature
  enhancements and numerous obscure bug fixes. 
  The [version 3.6.5|change log] contains the details.  Upgrading is
  optional.
}

newsitem {2008-Nov-01} {Bloomberg Joins SQLite Consortium} {
  The SQLite developers are honored to announce that
  <a href="http://www.bloomberg.com/">Bloomberg</a> has joined the
  [SQLite Consortium].
}

newsitem {2008-Oct-15} {Version 3.6.4} {
  SQLite version 3.6.4 adds new features designed to help applications
  detect when indices are not being used on query.  There are also some
  important performance improvements.  Upgrading is optional.
}

newsitem {2008-Sep-22} {Version 3.6.3} {
  SQLite version 3.6.3 fixes a bug in SELECT DISTINCT that was introduced
  by the previous version.  No new features are added.  Upgrading is
  recommended for all applications that make use of DISTINCT.
}

newsitem {2008-Aug-30} {Version 3.6.2} {
  SQLite version 3.6.2 contains rewrites of the page-cache subsystem and
  the procedures for matching identifiers to table columns in SQL statements.
  These changes are designed to better modularize the code and make it more
  maintainable and reliable moving forward.  Nearly 5000 non-comment lines 
  of core code (about 11.3%) have changed
  from the previous release.  Nevertheless, there should be no
  application-visible changes, other than bug fixes.
}

newsitem {2008-Aug-06} {Version 3.6.1} {
  SQLite version 3.6.1 is a stabilization and performance enhancement
  release.  
}

newsitem {2008-July-16} {Version 3.6.0 beta} {
  Version 3.6.0 makes changes to the [sqlite3_vfs | VFS] object in order
  to make SQLite more easily portable to a wider variety of platforms.
  There are potential incompatibilities with some legacy applications.
  See the [35to36 | 35to36.html] document for details.

Changes to pages/privatebranch.in.

46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
...
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
<a href="http://www.fossil-scm.org">fossil software configuration management</a>
system to set up two branches.  One branch (the "public branch" or "trunk")
contains the published SQLite sources and the other branch is the 
private branch which contains the code that is customized for the project.
Whenever a new public release of SQLite is made, that release is added to
the public branch and then the changes are merged into the private branch.</p>

<p>This document proposed to use
<a href="http://www.fossil-scm.org/">fossil</a>,
but any other distributed software configuration management system such as
<a href="http://www.monotone.ca/">monotone</a> or
<a href="http://www.selenic.com/mercurial/wiki/">mercurial</a> (a.k.a. "hg"), or
<a href="http://www.git-scm.org/">git</a> could serve just as well.
The concept will be the same, 
though the specifics of the procedure will vary.</p>
................................................................................
<p>The "merge" command attempts to apply all the changes between
circles (1) and (4) to the files in the local checkout.  Note that
circle (5) has not been created yet.  You will need to run the
"commit" to create circle (5).</p>

<p>It might be that there are conflicts in the merge.  Conflicts
occur when the same line of code was changed in different ways between
circles (1) and "4 versus circles (2) and (3).  The merge command will
announce any conflicts and will include both versions of the conflicting
lines in the output.  You will need to bring up the files that contain
conflicts and manually resolve the conflicts.</p>

<p>After resolving conflicts, many users like to compile and test the
new version before committing it to the repository.  Or you can commit
first and test later.  Either way, run the "<tt>fossil commit</tt>"







|







 







|







46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
...
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
<a href="http://www.fossil-scm.org">fossil software configuration management</a>
system to set up two branches.  One branch (the "public branch" or "trunk")
contains the published SQLite sources and the other branch is the 
private branch which contains the code that is customized for the project.
Whenever a new public release of SQLite is made, that release is added to
the public branch and then the changes are merged into the private branch.</p>

<p>This document proposes to use
<a href="http://www.fossil-scm.org/">fossil</a>,
but any other distributed software configuration management system such as
<a href="http://www.monotone.ca/">monotone</a> or
<a href="http://www.selenic.com/mercurial/wiki/">mercurial</a> (a.k.a. "hg"), or
<a href="http://www.git-scm.org/">git</a> could serve just as well.
The concept will be the same, 
though the specifics of the procedure will vary.</p>
................................................................................
<p>The "merge" command attempts to apply all the changes between
circles (1) and (4) to the files in the local checkout.  Note that
circle (5) has not been created yet.  You will need to run the
"commit" to create circle (5).</p>

<p>It might be that there are conflicts in the merge.  Conflicts
occur when the same line of code was changed in different ways between
circles (1) and (4) versus circles (2) and (3).  The merge command will
announce any conflicts and will include both versions of the conflicting
lines in the output.  You will need to bring up the files that contain
conflicts and manually resolve the conflicts.</p>

<p>After resolving conflicts, many users like to compile and test the
new version before committing it to the repository.  Or you can commit
first and test later.  Either way, run the "<tt>fossil commit</tt>"