Documentation Source Text

Check-in [47c781b488]
Login

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

Overview
Comment:Document the change to PRAGMA cache_size in which a negative argument can be used to set the cache size in kibibytes.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 47c781b488becf2936ad6628578005a5de0ae034
User & Date: drh 2012-01-02 15:48:23.130
Context
2012-01-03
15:14
Updates to the psow and testing documents. (check-in: d30b4960c1 user: drh tags: trunk)
2012-01-02
15:48
Document the change to PRAGMA cache_size in which a negative argument can be used to set the cache size in kibibytes. (check-in: 47c781b488 user: drh tags: trunk)
2011-12-31
00:20
Add hyperlinks to source documetns on the requirements.html page. Add mention of the psow query parameter to the uri.html page. (check-in: b69af062e6 user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to pages/changes.in.
58
59
60
61
62
63
64



65
66
67
68
69
70
71
    the [SQLITE_IOCAP_POWERSAFE_OVERWRITE] I/O capability, the
    [SQLITE_POWERSAFE_OVERWRITE] compile-time option, and the
    "psow=BOOLEAN" query parameter for [URI filenames].
<li>Added the [sqlite3_db_release_memory()] interface and the
    [shrink_memory pragma].
<li>Added the [sqlite3_db_filename()] interface.
<li>Added the [sqlite3_stmt_busy()] interface.



<li>Enhanced the default memory allocator to make use of _msize() on windows,
    malloc_size() on Mac, and malloc_usable_size() on Linux.
<li>Enhanced the query planner to support index queries with range constraints
    on the rowid.
<li>Enhanced the query planner flattening logic to allow UNION ALL compounds
    to be promoted upwards to replace a simple wrapper SELECT even if the
    compounds are joins.







>
>
>







58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
    the [SQLITE_IOCAP_POWERSAFE_OVERWRITE] I/O capability, the
    [SQLITE_POWERSAFE_OVERWRITE] compile-time option, and the
    "psow=BOOLEAN" query parameter for [URI filenames].
<li>Added the [sqlite3_db_release_memory()] interface and the
    [shrink_memory pragma].
<li>Added the [sqlite3_db_filename()] interface.
<li>Added the [sqlite3_stmt_busy()] interface.
<li>If the argument to [PRAGMA cache_size] is negative N, that means to use
    approximately -1024*N bytes of memory for the page cache regardless of
    the page size.
<li>Enhanced the default memory allocator to make use of _msize() on windows,
    malloc_size() on Mac, and malloc_usable_size() on Linux.
<li>Enhanced the query planner to support index queries with range constraints
    on the rowid.
<li>Enhanced the query planner flattening logic to allow UNION ALL compounds
    to be promoted upwards to replace a simple wrapper SELECT even if the
    compounds are joins.
Changes to pages/pragma.in.
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

    <p>^When the auto_vacuum pragma is invoked with no arguments, it
    returns the current auto_vacuum mode.</p>
}

Pragma cache_size {
    <p>^(<b>PRAGMA cache_size;
       <br>PRAGMA cache_size = </b><i>Number-of-pages</i><b>;</b></p>

    <p>Query or change the suggested maximum number of database disk pages
    that SQLite will hold in memory at once per open database file.)^  Whether
    or not this suggestion is honored is at the discretion of the
    [sqlite3_pcache_methods2 | Application Defined Page Cache].

    Alternative application-defined page cache implementations
    may choose to interpret the suggested cache size in different ways
    or to ignore it all together.
    ^The default suggested cache size is 2000.</p>

    <p>^The suggested cache size is set to the absolute value of the
    <i>Number-of-pages</i> argument given to this pragma.</p>



    <p>^When you change the cache size using the cache_size pragma, the
    change only endures for the current session.  ^The cache size reverts
    to the default value when the database is closed and reopened.  Use
    the [default_cache_size]
    pragma to check the cache size permanently.</p>
}

Pragma case_sensitive_like {
    <p><b>PRAGMA case_sensitive_like = </b><i>boolean</i><b>;</b></p>
    <p>^(The default behavior of the [LIKE] operator is to ignore case
    for ASCII characters. Hence, by default <b>'a' LIKE 'A'</b> is
    true.)^  ^The case_sensitive_like pragma installs a new application-defined







|
>




>
|


|

|
|
>
>



|
<
<







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

    <p>^When the auto_vacuum pragma is invoked with no arguments, it
    returns the current auto_vacuum mode.</p>
}

Pragma cache_size {
    <p>^(<b>PRAGMA cache_size;
       <br>PRAGMA cache_size = </b><i>pages</i><b>;
       <br>PRAGMA cache_size = -</b><i>kibibytes</i><b>;</b></p>
    <p>Query or change the suggested maximum number of database disk pages
    that SQLite will hold in memory at once per open database file.)^  Whether
    or not this suggestion is honored is at the discretion of the
    [sqlite3_pcache_methods2 | Application Defined Page Cache].
    The default page cache that is built into SQLite honors the request,
    however alternative application-defined page cache implementations
    may choose to interpret the suggested cache size in different ways
    or to ignore it all together.
    ^The default suggested cache size is 2000 pages.</p>

    <p>^If the argument N is positive then the suggested cache size is set 
    to N. ^If the argument N is negative, then the
    number of cache pages is adjusted to use approximately N*1024 bytes
    of memory.</p>

    <p>^When you change the cache size using the cache_size pragma, the
    change only endures for the current session.  ^The cache size reverts
    to the default value when the database is closed and reopened.</p>


}

Pragma case_sensitive_like {
    <p><b>PRAGMA case_sensitive_like = </b><i>boolean</i><b>;</b></p>
    <p>^(The default behavior of the [LIKE] operator is to ignore case
    for ASCII characters. Hence, by default <b>'a' LIKE 'A'</b> is
    true.)^  ^The case_sensitive_like pragma installs a new application-defined