Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Update the change log for the 3.22.0 release. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
a897222d1580aee38de7877889f027f7 |
User & Date: | drh 2018-01-04 03:33:38.542 |
Context
2018-01-04
| ||
16:33 | Add a documentation page that overviews Lemon, its history, and its importance to SQLite. (check-in: 106ae9b8df user: drh tags: trunk) | |
03:33 | Update the change log for the 3.22.0 release. (check-in: a897222d15 user: drh tags: trunk) | |
2018-01-01
| ||
17:54 | Add documentation for the introspection pragmas that were really added in version 3.20.0 (check-in: 73444ff7b8 user: drh tags: trunk) | |
Changes
Changes to pages/changes.in.
︙ | ︙ | |||
17 18 19 20 21 22 23 | proc chng {date desc {options {}}} { global nChng aChng xrefChng set aChng($nChng) [list $date $desc $options] set xrefChng($date) $nChng incr nChng } | | > > > > > > | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | 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 | proc chng {date desc {options {}}} { global nChng aChng xrefChng set aChng($nChng) [list $date $desc $options] set xrefChng($date) $nChng incr nChng } chng {2018-02-00 (3.22.0)} { <li> The output of [sqlite3_trace()] now shows each individual SQL statements run within a trigger. <li> Add the ability to read from [WAL mode] databases even if the application lacks write permission on the database and its containing directory, as long as the -shm and -wal files exist in that directory. <li> Added the [rtreecheck()] scalar SQL function to the [R-Tree extension]. <li> Query planner enhancements: <ol type='a'> <li> The optimization of using an index to quickly compute an aggregate min() or max() is extended to work with [indexes on expressions]. <li> The decision of whether to implement a FROM-clause subquery as a co-routine or using query flattening now considers whether the result set of the outer query is "complex" (if it contains functions or expression subqueries). A complex result set bias the decision toward the use of co-routines. <li> Avoiding query plans that use indexes with unknown collating functions. <li> Omit unused LEFT JOINs even if they are not the right-most joins of a query. </ol> <li> Other performance optimizations: <ol type='a'> <li> A smaller and faster implementation of text to floating-point conversion subroutine: sqlite3AtoF(). <li> The LEMON parser generator creates a faster parser. <li> Use the strcspn() C-library routine to speed up the LIKE and GLOB operators. str</ol> <li> Improvements to the [command-line shell]: <ol type='a'> <li> The ".schema" command shows the structure of virtual tables inside of a comment. <li> Added the ".expert" command <li> Added the ".eqp trigger" variant of the ".eqp" command <li> Enhance the ".lint fkey-indexes" command so that it works with [WITHOUT ROWID] tables. </ol> <li> Added the [https://sqlite.org/src/file/ext/misc/btreeinfo.c|sqlite_btreeinfo] eponymous virtual table for introspecting and estimating the sizes of the btrees in a database. <li> Enhance the [SQLITE_ENABLE_UPDATE_DELETE_LIMIT] compile-time option so that it works for [WITHOUT ROWID] tables. <li> Provide the sqlite_unsupported_offset(X) SQL function that returns the byte offset into the database file to the beginning of the record holding value X, when compiling with -DSQLITE_ENABLE_OFFSET_SQL_FUNC. } chng {2017-10-24 (3.21.0)} { <li> Take advantage of the atomic-write capabilities in the [https://en.wikipedia.org/wiki/F2FS|F2FS filesystem] when available, for greatly reduced transaction overhead. This currently requires the [SQLITE_ENABLE_BATCH_ATOMIC_WRITE] compile-time option. |
︙ | ︙ |
Changes to pages/rtree.in.
︙ | ︙ | |||
561 562 563 564 565 566 567 | <p> ^Two or more MATCH operators are allowed in the same WHERE clause, as long as they are connected by AND operators. However, the R*Tree query engine only contains a single priority queue. ^The priority assigned to each node in the search is the lowest priority returned by any of the MATCH operators. | > > > > > > > > > > > > > > > > > > | 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 | <p> ^Two or more MATCH operators are allowed in the same WHERE clause, as long as they are connected by AND operators. However, the R*Tree query engine only contains a single priority queue. ^The priority assigned to each node in the search is the lowest priority returned by any of the MATCH operators. <h1>Implementation Details</h1> <p> The following sections describe some low-level details of the R*Tree implementation, that might be useful for trouble-shooting or performance analysis. <h2>Shadow Tables</h2> <p><i>TBD</i> <tcl>hd_fragment rtreecheck rtreecheck()</tcl> <h2>Integrity Check using the rtreecheck() SQL function</h2> <p>The scalar SQL function rtreecheck(R) or rtreecheck(S,R) runs an integrity check on the rtree table named R containing in database S. The function returns a human-language description of any problems found, or the string 'ok' if everything is ok. |