Documentation Source Text

Check-in [268f62bc5a]
Login

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

Overview
Comment:Add documentation for the SQLITE_MAX_MEMORY compile-time option.
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 268f62bc5aa6567cf656be10f27895fcd639b266
User & Date: drh 2017-03-10 16:37:23
Context
2017-03-14
02:17
Modify althttpd.c to allow web content in the ".well-known" directory. check-in: 10a66e4535 user: drh tags: trunk
2017-03-10
16:37
Add documentation for the SQLITE_MAX_MEMORY compile-time option. check-in: 268f62bc5a user: drh tags: trunk
2017-03-09
13:36
Initial work on improving the CLI documentation. Much more needed here. check-in: fcac2a0e45 user: drh tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to pages/changes.in.

32
33
34
35
36
37
38

39
40
41
42
43
44
45
<li>Enhance [PRAGMA integrity_check] and [PRAGMA quick_check] so that they verify
    [CHECK constraints].
<li>Enhance the query plans for joins to detect empty tables early and
    halt without doing unnecessary work.
<li>Enhance the [sqlite3_mprintf()] family of interfaces and the [printf SQL function]
    to put comma separators at the thousands marks for integers, if the "," format modifier
    is used in between the "%" and the "d" (example: "%,d").

<li>Various performance improvements.
<p><b>Bug Fixes:</b>
<li>Ensure that indexed expressions with collating sequences are handled correctly.
    Fix for ticket [https://www.sqlite.org/src/info/eb703ba7b50c1a5|eb703ba7b50c1a5].
<li>Fix a bug in the 'start of ...' modifiers for the [date and time functions].
    Ticket [https://www.sqlite.org/src/info/6097cb92745327a1|6097cb92745327a1]
<li>In the [RBU extension], add extra sync operations to avoid the possibility of







>







32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<li>Enhance [PRAGMA integrity_check] and [PRAGMA quick_check] so that they verify
    [CHECK constraints].
<li>Enhance the query plans for joins to detect empty tables early and
    halt without doing unnecessary work.
<li>Enhance the [sqlite3_mprintf()] family of interfaces and the [printf SQL function]
    to put comma separators at the thousands marks for integers, if the "," format modifier
    is used in between the "%" and the "d" (example: "%,d").
<li>Added the -D[SQLITE_MAX_MEMORY]=<i>N</i> compile-time option.
<li>Various performance improvements.
<p><b>Bug Fixes:</b>
<li>Ensure that indexed expressions with collating sequences are handled correctly.
    Fix for ticket [https://www.sqlite.org/src/info/eb703ba7b50c1a5|eb703ba7b50c1a5].
<li>Fix a bug in the 'start of ...' modifiers for the [date and time functions].
    Ticket [https://www.sqlite.org/src/info/6097cb92745327a1|6097cb92745327a1]
<li>In the [RBU extension], add extra sync operations to avoid the possibility of

Changes to pages/compile.in.

325
326
327
328
329
330
331





332
333
334
335
336
337
338
...
424
425
426
427
428
429
430

















431
432
433
434
435
436
437
}

COMPILE_OPTION {SQLITE_DEFAULT_MEMSTATUS=<i>&lt;1 or 0&gt;</i>} {
  This macro is used to determine whether or not the features enabled and
  disabled using the SQLITE_CONFIG_MEMSTATUS argument to [sqlite3_config()]
  are available by default. The default value is 1 ([SQLITE_CONFIG_MEMSTATUS]
  related features enabled).





}

COMPILE_OPTION {SQLITE_DEFAULT_PCACHE_INITSZ=<i>N</i>} {
  This macro determines the number of pages initially allocated by the 
  page cache module when [SQLITE_CONFIG_PAGECACHE] configuration option is
  not use and memory for the page cache is obtained from [sqlite3_malloc()]
  instead.  The number of pages set by this macro are allocated in a single
................................................................................
  10 years of active use.  So for more users, it is probably safe to
  enable this compile-time option and thereby save a little CPU time
  on LIKE queries.
  <p>
  This compile-time option affects the SQL [LIKE] operator only and has
  no impact on the [sqlite3_strlike()] C-language interface.
}


















COMPILE_OPTION {SQLITE_MAX_MMAP_SIZE=<i>N</i>} {
  This macro sets a hard upper bound on the amount of address space that
  can be used by any single database for memory-mapped I/O.
  Setting this value to 0 completely disables memory-mapped I/O and
  causes logic associated with memory-mapped I/O to be omitted from the
  build.  This option does change the default memory-mapped I/O address







>
>
>
>
>







 







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







325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
...
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
}

COMPILE_OPTION {SQLITE_DEFAULT_MEMSTATUS=<i>&lt;1 or 0&gt;</i>} {
  This macro is used to determine whether or not the features enabled and
  disabled using the SQLITE_CONFIG_MEMSTATUS argument to [sqlite3_config()]
  are available by default. The default value is 1 ([SQLITE_CONFIG_MEMSTATUS]
  related features enabled).
  <p>
  The [sqlite3_memory_used()] and [sqlite3_memory_highwater()] interfaces,
  the [sqlite3_status64]([SQLITE_STATUS_MEMORY_USED]) interface,
  and the [SQLITE_MAX_MEMORY] compile-time option are all non-functional
  when memory usage tracking is disabled.
}

COMPILE_OPTION {SQLITE_DEFAULT_PCACHE_INITSZ=<i>N</i>} {
  This macro determines the number of pages initially allocated by the 
  page cache module when [SQLITE_CONFIG_PAGECACHE] configuration option is
  not use and memory for the page cache is obtained from [sqlite3_malloc()]
  instead.  The number of pages set by this macro are allocated in a single
................................................................................
  10 years of active use.  So for more users, it is probably safe to
  enable this compile-time option and thereby save a little CPU time
  on LIKE queries.
  <p>
  This compile-time option affects the SQL [LIKE] operator only and has
  no impact on the [sqlite3_strlike()] C-language interface.
}

COMPILE_OPTION {SQLITE_MAX_MEMORY=<i>N</i>} {
  This option limits the total amount of memory that SQLite will request
  from malloc() to <i>N</i> bytes.  Any attempt by SQLite to allocate
  new memory that would cause the sum of all allocations held by SQLite to exceed
  <i>N</i> bytes will result in an out-of-memory error.
  This is a hard upper limit.  See also the [sqlite3_soft_heap_limit()]
  interface.
  <p>
  This limit is only functional if memory usage statistics are available via
  the [sqlite3_memory_used()] and [sqlite3_status64]([SQLITE_STATUS_MEMORY_USED])
  interfaces.  Without that memory usage information, SQLite has no way of
  knowing when it is about to go over the limit, and thus is unable to prevent
  the excess memory allocation.  Memory usage tracking is turned on by default,
  but can be disabled at compile-time using the [SQLITE_DEFAULT_MEMSTATUS] option,
  or at start-time using [sqlite3_config]([SQLITE_CONFIG_MEMSTATUS]).
}

COMPILE_OPTION {SQLITE_MAX_MMAP_SIZE=<i>N</i>} {
  This macro sets a hard upper bound on the amount of address space that
  can be used by any single database for memory-mapped I/O.
  Setting this value to 0 completely disables memory-mapped I/O and
  causes logic associated with memory-mapped I/O to be omitted from the
  build.  This option does change the default memory-mapped I/O address