Documentation Source Text

Check-in [bb404327e3]
Login

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

Overview
Comment:Add tentative release notes for 3.7.9. Update the documentation on the length() and upper() SQL functions.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: bb404327e31e92429e504d393c3cf964d78ecac6
User & Date: drh 2011-10-19 17:14:35
Context
2011-10-19
19:51
Tweaks to the changes.html page. check-in: 7e0c741ddc user: drh tags: trunk
17:14
Add tentative release notes for 3.7.9. Update the documentation on the length() and upper() SQL functions. check-in: bb404327e3 user: drh tags: trunk
2011-10-13
15:55
Change exit(1) to return(1) in the quick-start demo programs to avoid having to #include stdlib.h. check-in: 4a03d52003 user: drh 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/src/timeline">
      http://www.sqlite.org/src/timeline</a>.</p>
    }
    hd_close_aux
    hd_enable_main 1
  }
}







































chng {2011 September 19 (3.7.8)} {
<li> Orders of magnitude performance improvement for [CREATE INDEX] on
     very large tables.
<li> Improved the windows VFS to better defend against interference
     from anti-virus software.
<li> Improved query plan optimization when the DISTINCT keyword is present.







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







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
      <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 November 11 (3.7.9)} {
<li>If a search token (on the right-hand side of the MATCH operator) in
    [FTS4] begins with "&#94;" then that token must be the first in its field
    of the document.  <b>** Potentially Incompatible Change **</b>
<li>Added options [SQLITE_DBSTATUS_CACHE_HIT] and [SQLITE_DBSTATUS_CACHE_MISS]
    to the [sqlite3_db_status()] interface.
<li>Removed support for [SQLITE_ENABLE_STAT2], replacing it with the much
    more capable [SQLITE_ENABLE_STAT3] option.
<li>Enhancements to the sqlite3_analyzer utility program, including the
    --pageinfo and --stats options and support for multiplexed databases.
<li>Enhance the [sqlite3_data_count()] interface so that it can be used to
    determine if SQLITE_DONE has been seen on the prepared statement.
<li>Added the SQLITE_FCNTL_OVERWRITE file-control by which the SQLite core
    indicates to the VFS that the current transaction will overwrite the
    entire database file.
<li>Increase the default [lookaside memory allocator] allocation size from
    100 to 128 bytes.
<li>Enhanced the query planner so that it can factor terms in an our of
    OR expressions in the WHERE clause in an effort to find better indices.
<li>Added the SQLITE_DIRECT_OVERFLOW_READ compile-time option, causing overflow
    pages to be read directly from the database file, bypassing the page cache.
<li>Remove limits on the magnitude of precision and width value in the
    format specifiers of the [sqlite3_mprintf()] family of string rendering
    routines.
<li>Fix a bug that prevent [ALTER TABLE | ALTER TABLE ... RENAME] from working
    on some virtual tables in a database with a UTF16 encoding.
<li>Fix a bug in ASCII-to-float conversion that causes slow performance and
    incorrect results when converting numbers with ridiculously large exponents.
<li>Fix a bug that causes incorrect results in aggregate queries that use
    multiple aggregate functions whose arguments contain complicated expressions
    that differ only in the case of string literals contained within those
    expressions.
<li>Fix a bug that prevented the [page_count] and [quick_check] pragmas from
    working correctly if their names were capitalized.
<li>Fix a bug that caused [VACUUM] to fail if the [count_changes pragma] was
    engaged.
}

chng {2011 September 19 (3.7.8)} {
<li> Orders of magnitude performance improvement for [CREATE INDEX] on
     very large tables.
<li> Improved the windows VFS to better defend against interference
     from anti-virus software.
<li> Improved query plan optimization when the DISTINCT keyword is present.

Changes to pages/index.in.

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_8.html">Version 3.7.8</a>
of SQLite is recommended for all new development.
Upgrading from version 3.7.6.3 or 3.7.7 or 3.7.7.1 is optional.
Upgrading from all other SQLite versions is recommended.</li>
</ul></p>

<h3>Common Links</h3>

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







|

|







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_9.html">Version 3.7.9</a>
of SQLite is recommended for all new development.
Upgrading from version 3.7.6.3, 3.7.7, 3.7.7.1, or 3.7.8 is optional.
Upgrading from all other SQLite versions is recommended.</li>
</ul></p>

<h3>Common Links</h3>

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

Changes to pages/lang.in.

2076
2077
2078
2079
2080
2081
2082
2083
2084



2085
2086
2087
2088
2089
2090
2091
....
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175



2176
2177
2178
2179
2180
2181
2182
  of the last row insert from the database connection which invoked the
  function.
  ^The last_insert_rowid() SQL function is a wrapper around the
  [sqlite3_last_insert_rowid()] C/C++ interface function.
}

funcdef {length(X)} {} {
  ^The length(X) function returns the length of X in 
  characters if X is a string, or in bytes if X is a blob.



  ^If X is NULL then length(X) is NULL.
  ^If X is numeric then length(X) returns the length of a string
  representation of X.
}

funcdef {like(X,Y) like(X,Y,Z)} {} {
  ^The like() function is used to implement the
................................................................................
  searches its arguments from left to right for an argument that defines a
  collating function and uses that collating function for all string
  comparisons.  ^If neither argument to nullif() defines a collating function
  then the BINARY is used.
}

funcdef {quote(X)} {} {
  ^The quote(X) function returns a string which is the value of
  its argument suitable for inclusion into another SQL statement.
  ^Strings are surrounded by single-quotes with escapes on interior quotes
  as needed.  ^BLOBs are encoded as hexadecimal literals.



}

funcdef {random()} {} {
  ^The random() function returns a pseudo-random integer
  between -9223372036854775808 and +9223372036854775807.
}








|
|
>
>
>







 







|
|


>
>
>







2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
....
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
  of the last row insert from the database connection which invoked the
  function.
  ^The last_insert_rowid() SQL function is a wrapper around the
  [sqlite3_last_insert_rowid()] C/C++ interface function.
}

funcdef {length(X)} {} {
  ^For a string value X, the length(X) function returns the number of 
  characters (not bytes) in X prior to the first NUL character.
  Since SQLite strings do not normally contain NUL characters, the length(X)
  function will usually return the total number of characters in the string X.
  ^For a blob value X, length(X) returns the number of bytes in the blob.
  ^If X is NULL then length(X) is NULL.
  ^If X is numeric then length(X) returns the length of a string
  representation of X.
}

funcdef {like(X,Y) like(X,Y,Z)} {} {
  ^The like() function is used to implement the
................................................................................
  searches its arguments from left to right for an argument that defines a
  collating function and uses that collating function for all string
  comparisons.  ^If neither argument to nullif() defines a collating function
  then the BINARY is used.
}

funcdef {quote(X)} {} {
  ^The quote(X) function returns the text of an SQL literal which
  is the value of its argument suitable for inclusion into an SQL statement.
  ^Strings are surrounded by single-quotes with escapes on interior quotes
  as needed.  ^BLOBs are encoded as hexadecimal literals.
  ^Strings with embedded NUL characters cannot be represented as string
  literals in SQL and hence the returned string literal is truncated prior
  to the first NUL.
}

funcdef {random()} {} {
  ^The random() function returns a pseudo-random integer
  between -9223372036854775808 and +9223372036854775807.
}