Documentation Source Text

Check-in [5cbf9f2c9d]
Login

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

Overview
Comment:Wording improvements and typo fixes.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256:5cbf9f2c9d91c9f40b4888fcb68dfc2b9bd226cf2be2da4b905f0d7ec3f17f54
User & Date: drh 2018-01-18 20:15:50
Context
2018-01-18
20:26
Another simplification to the change log. check-in: e040454680 user: drh tags: trunk
20:15
Wording improvements and typo fixes. check-in: 5cbf9f2c9d user: drh tags: trunk
19:07
Update the size and speed spreadsheet. Simplifications to text in the CLI document. check-in: 2fac94a5a3 user: drh tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to pages/changes.in.

18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
..
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
  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_v2()] 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> Added the [sqlite3_vtab_nochange()] and [sqlite3_value_nochange()] interfaces
     to help virtual table implementations optimize UPDATE operations.
................................................................................
  <li> The [https://sqlite.org/src/file/ext/misc/appendvfs.c|Append VFS] is a
       [VFS shim] that allows an SQLite database to be appended to some other
       file.  This allows (for example) a database to be appended to an
       executable that then opens and reads the database.
</ol>
<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 biases 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







|







 







|



>
|



|

|
|







18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
..
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
  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_v2()] now shows each individual SQL statement
     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> Added the [sqlite3_vtab_nochange()] and [sqlite3_value_nochange()] interfaces
     to help virtual table implementations optimize UPDATE operations.
................................................................................
  <li> The [https://sqlite.org/src/file/ext/misc/appendvfs.c|Append VFS] is a
       [VFS shim] that allows an SQLite database to be appended to some other
       file.  This allows (for example) a database to be appended to an
       executable that then opens and reads the database.
</ol>
<li> Query planner enhancements:
<ol type='a'>
  <li> The optimization that uses 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 flattener|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 biases the decision toward the use of co-routines.
  <li> The planner avoids query plans that use indexes with unknown
       collating functions.
  <li> The planner omits 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

Changes to pages/cli.in.

725
726
727
728
729
730
731
732
733
734
735
736
737
738
739

<tclscript>DisplayCode {
sqlite> (((.excel)))
sqlite> (((SELECT * FROM tab;)))
}</tclscript>

<p>
The code above writes the output of the query as CSV into a temporary
file, invokes the default handler for CSV files (usually the preferred
spreadsheet program such as Excel or LibreOffice), then deletes the
temporary file.  This is essentially a short-hand method of doing
the sequence of ".csv", ".once", and ".system" commands described above.

<p>
The ".excel" command is really an alias for ".once -x".  The -x option







|







725
726
727
728
729
730
731
732
733
734
735
736
737
738
739

<tclscript>DisplayCode {
sqlite> (((.excel)))
sqlite> (((SELECT * FROM tab;)))
}</tclscript>

<p>
The command above writes the output of the query as CSV into a temporary
file, invokes the default handler for CSV files (usually the preferred
spreadsheet program such as Excel or LibreOffice), then deletes the
temporary file.  This is essentially a short-hand method of doing
the sequence of ".csv", ".once", and ".system" commands described above.

<p>
The ".excel" command is really an alias for ".once -x".  The -x option