Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Changes In Branch branch-3.8.10 Excluding Merge-Ins
This is equivalent to a diff from d33510f222 to a3a3160989
2015-07-01
| ||
17:34 | Fix a typo in the zero-malloc memory allocator documentation. (Leaf check-in: a3a3160989 user: drh tags: branch-3.8.10) | |
17:34 | Fix a typo in the zero-malloc memory allocator documentation. (check-in: fb40525c2c user: drh tags: trunk) | |
2015-06-26
| ||
19:17 | Make search.tcl more robust in the face of malformed MATCH queries. (check-in: f2337fb9a2 user: drh tags: branch-3.8.10) | |
2015-05-15
| ||
14:53 | Link from the ATTACH documentation page to the DETACH page. Increased information about TH3. These are cherry-picks from trunk. (check-in: 643e08dfb8 user: drh tags: branch-3.8.10) | |
2015-05-11
| ||
19:12 | Update fts3.html with a description of the matchinfo 'b' option. (check-in: 2dad241898 user: dan tags: trunk) | |
17:09 | Updates to the dbstat documentation to explain how it can be used to get information about attached databases other than "main". (check-in: d33510f222 user: drh tags: trunk) | |
16:03 | Fix a typo on the mostdeployed.html page. (check-in: 7da9280ceb user: drh tags: trunk) | |
Changes to pages/changes.in.
︙ | |||
14 15 16 17 18 19 20 21 22 23 24 25 26 27 | 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 | + + + + + + + + + + + | set nChng 0 proc chng {date desc {options {}}} { global nChng aChng set aChng($nChng) [list $date $desc $options] incr nChng } chng {2015-05-20 (3.8.10.2)} { <li>Fix an index corruption issue introduced by [version 3.8.7]. An index with a TEXT key can be corrupted by an [INSERT] into the corresponding table if the table has two nested triggers that convert the key value to INTEGER and back to TEXT again. Ticket [https://www.sqlite.org/src/info/34cd55d68e0e6e7c9a0711aab81a2ee3c354b4c0|34cd55d68e0] <li>SQLITE_SOURCE_ID: "2015-05-20 18:17:19 2ef4f3a5b1d1d0c4338f8243d40a2452cc1f7fe4" <li>SHA1 for sqlite3.c: 638abb77965332c956dbbd2c8e4248e84da4eb63 } {patchagainst 1 patchagainst 2} chng {2015-05-09 (3.8.10.1)} { <li>Make [sqlite3_compileoption_used()] responsive to the [SQLITE_ENABLE_DBSTAT_VTAB] compile-time option. <li>Fix a harmless warning in the [command-line shell] on some versions of MSVC. <li>Fix minor issues with the [dbstat virtual table]. <li>SQLITE_SOURCE_ID: "2015-05-09 12:14:55 05b4b1f2a937c06c90db70c09890038f6c98ec40" |
︙ |
Changes to pages/fileformat2.in.
︙ | |||
654 655 656 657 658 659 660 | 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 | - + - + - + - + - - - - + + + + | are the more significant and bits taken from the later bytes. </p> <p>The format of a cell depends on which kind of b-tree page the cell appears on. The following table shows the elements of a cell, in order of appearance, for the various b-tree page types.</p> <blockquote><dl> |
︙ |
Changes to pages/fts5.in.
︙ | |||
159 160 161 162 163 164 165 | 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 | - - - - + + + + - - - + + + + + + + + - - + | Within an FTS expression a <b>string</b> may be specified in one of two ways: <ul> <li> <p>By enclosing it in double quotes ("). Within a string, any embedded double quote characters may be escaped SQL-style - by adding a second double-quote character. |
︙ |
Changes to pages/index.in.
︙ | |||
68 69 70 71 72 73 74 | 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | - - + + + | </td> <td width="20"></td><td bgcolor="#044a64" width="1"></td><td width="20"></td> <td valign="top"> <h3>Current Status</h3> <p><ul> |
︙ |
Changes to pages/lang.in.
︙ | |||
400 401 402 403 404 405 406 | 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 | + + + - + | Section {ATTACH DATABASE} attach {attached *ATTACH} RecursiveBubbleDiagram attach-stmt </tcl> <p> ^The ATTACH DATABASE statement adds another database file to the current [database connection]. Database files that were previously attached can be removed using the [DETACH DATABASE] command. |
︙ |
Changes to pages/malloc.in.
︙ | |||
358 359 360 361 362 363 364 | 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 | - + | <h4>3.1.5 Experimental memory allocators</h4> <p>The name "memsys5" used for the zero-malloc memory allocator implies that there are several additional memory allocators available, and indeed there are. The default memory allocator is "memsys1". The debugging memory allocator is "memsys2". Those have already been covered.</p> |
︙ |
Changes to pages/news.in.
︙ | |||
14 15 16 17 18 19 20 21 22 23 24 25 26 27 | 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 | + + + + + + + + + + + + + + + + | 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 {2015-05-20} {Release 3.8.10.2} { <p>Yikes! Index corruption after a sequence of valid SQL statements! <p>It has been many years since anything like [https://www.sqlite.org/src/info/34cd55d6|this bug] has snuck into an official SQLite release. But for the pasts seven months ([version 3.8.7] through [version 3.8.10.1]) if you do an INSERT into a carefully crafted schema in which there are two nested triggers that convert an index key value from TEXT to INTEGER and then back to TEXT again, the INTEGER value might get inserted as the index key instead of the correct TEXT, resulting in index corruption. This patch release adds a single line of code to fix the problem. <p>If you do actually encounter this problem, running [REINDEX] on the damaged indexes will clear it. } newsitem {2015-05-09} {Release 3.8.10.1} { <p>The 3.8.10 release did not add the new [SQLITE_ENABLE_DBSTAT_VTAB] compile-time option to the [sqlite3_compileoption_used()] interface. This patch release fixes that omission. And while we are at it, the associated [dbstat virtual table] was enhanced slightly and a harmless compiler warning was fixed. |
︙ |
Changes to pages/pragma.in.
︙ | |||
1536 1537 1538 1539 1540 1541 1542 | 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 | + - + | } } </tcl> </ul></td></tr></table> <p>Notes: <ol> <li>Pragmas whose names are marked through in the list above are deprecated. They are not maintained. They continue to exist |
︙ |
Changes to pages/rescode.in.
︙ | |||
550 551 552 553 554 555 556 | 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 | - + | <li> Process A starts a read transaction on the database and does one or more SELECT statement. Process A keeps the transaction open. <li> Process B updates the database, changing values previous read by process A. <li> Process A now tries to write to the database. But process A's view of the database content is now obsolete because process B has modified the database file after process A read from it. Hence |
︙ |
Changes to pages/testing.in.
︙ | |||
668 669 670 671 672 673 674 | 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 | - + - + - - + + - + + + + - - + + + + + + + + + | "-g -fprofile-arcs -ftest-coverage" and then the test program is run. Then "gcov -b" is run to generate a coverage report. The coverage report is verbose and inconvenient to read, so the gcov-generated report is processed using some simple scripts to put it into a more human-friendly format. This entire process is automated using scripts, of course. |
︙ |
Changes to pages/th3.in.
︙ | |||
31 32 33 34 35 36 37 | 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 | - + - + - - + + - + - + | (Test coverage of the operating-system specific [VFSes] and extensions such as FTS and RTREE is less than 100%). </p></li> </ul> <p>TH3 was originally written for validation testing only, but has subsequently been used for development testing and debugging as well, and has proven very helpful in those roles. A full-coverage |
︙ | |||
117 118 119 120 121 122 123 | 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 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 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 | + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + | <p>Once the test program is generated, it is run with no arguments to perform the tests. Progress information as well as error diagnostics appear on standard output. (Alternative output arrangements can be made using a compile-time option for embedded devices that lack a standard output channel.) The program returns zero if there are no errors and non-zero if any problems were detected.</p> <p>Typical output from a single TH3 test program run looks like this: <blockquote><pre> With SQLite 3.8.11 2015-05-15 04:13:15 56ef98a04765c34c1c2f3ed7a6f03a732f3b886e -DSQLITE_COVERAGE_TEST -DSQLITE_NO_SYNC -DSQLITE_SYSTEM_MALLOC -DSQLITE_THREADSAFE=1 Config-begin c1. Begin c1.pager08 End c1.pager08 Begin c1.build33 End c1.build33 Begin c1.orderby01 End c1.orderby01 <i>... 15014 lines of output omitted ....</i> Begin 64k.syscall01 End 64k.syscall01 Begin 64k.build01 End 64k.build01 Begin 64k.auth01 End 64k.auth01 Config-end 64k. TH3 memory used: 6373738 Config-begin wal1. Begin wal1.wal37 End wal1.wal37 Config-end wal1. TH3 memory used: 100961 All 226 VDBE coverage points reached th3: 0 errors out of 1442264 tests in 213.741 seconds. 64-bit little-endian th3: SQLite 3.8.11 2015-05-15 04:13:15 56ef98a04765c34c1c2f3ed7a6f03a732f3b886e </pre></blockquote> <p>The output begins with a report of the [SQLITE_SOURCE_ID] (cross-checked again [sqlite3_sourceid()]) for the SQLite under test and the compile-time options used as reported by [sqlite3_compileoption_get()]. The output concludes with a summary of the test results and a repeat of the [SQLITE_SOURCE_ID]. If any errors are detected, additional lines detail the problem. The error reporting lines always begin with a single space character so that they can be quickly extracted from large output files using: <blockquote><pre> grep "^ " </pre></blockquote> <p>The default output shows the beginning and end of each configuration and test module combination. In the example above "c1" and "64k" are configurations and "pager08", "build33", "orderby01", etc. are test modules. Compile-time and run-time options are available to increase or decrease the amount of output. The output can be increased by showing each test case within each test module. The output can be decreased by degrees: omitting test modules starts and stops, omitting configuration starts and stops, and finally by omitting all output. <h3>3.1 Test Automation Scripts</h3> |
︙ |
Changes to search/search.tcl.
︙ | |||
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 | 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 | + + + + + + + + + + - - - - - + - + + | # Count the '"' characters in $::A(q). If there is an odd number of # occurences, add a " to the end of the query so that fts3 can parse # it without error. if {[regexp -all \x22 $::A(q)] % 2} { append ::A(q) \x22 } set ::TITLE "Results for: \"[htmlize $::A(q)]\"" # Set nRes to the total number of documents that the user's query matches. # set rc [catch { set nRes [db one { SELECT count(*) FROM page WHERE page MATCH $::A(q) }] }] if {$rc} { set ::A(q) "\"$::A(q)\"" set nRes [db one { SELECT count(*) FROM page WHERE page MATCH $::A(q) }] } #db func rank rank #db func erank erank # If the user has clicked the "Lucky" button and the query returns one or # more results, redirect the browser to the highest ranked result. If the # query returns zero results, fall through and display the "No results" # page as if the user had clicked "Search". # if {[info exists ::A(s)] && $::A(s) == "Lucky"} { set url [db one { SELECT url FROM page, pagedata WHERE page MATCH $::A(q) AND page.docid = pagedata.docid ORDER BY rank(matchinfo(page), nk, nt, nc) DESC }] if {$url != ""} { cgi_redirect $url } } |
︙ |