Documentation Source Text

Check-in [4dd308afff]
Login

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

Overview
Comment:Initial documentation updates for mmap_limit.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 4dd308afff741bd45668970a12bae6b7f7fc4e2c
User & Date: drh 2013-04-08 02:12:58.003
Context
2013-04-10
15:02
Do not include sessions APIs in the main API documentation. (check-in: db41739574 user: drh tags: trunk)
2013-04-08
02:12
Initial documentation updates for mmap_limit. (check-in: 4dd308afff user: drh tags: trunk)
2013-04-04
01:18
Change the version number to 3.7.17 and begin the change log. (check-in: e78c01d305 user: drh tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to pages/changes.in.
40
41
42
43
44
45
46




47
48
49
50
51
52
53
    hd_close_aux
    hd_enable_main 1
  }
}

chng {2013-??-?? (3.7.17)} {
<li>Use of memory mapping to improve I/O performance on windows, linux, and macOS-X.




}

chng {2013-03-29 (3.7.16.1)} {
<li>Fix for a bug in the ORDER BY optimizer that was introduced in
    [version 3.7.15] which would sometimes optimize out the sorting step
    when in fact the sort was required.
    Ticket [http://www.sqlite.org/src/info/a179fe7465 | a179fe7465]







>
>
>
>







40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
    hd_close_aux
    hd_enable_main 1
  }
}

chng {2013-??-?? (3.7.17)} {
<li>Use of memory mapping to improve I/O performance on windows, linux, and macOS-X.
    This changes includes the [PRAGMA mmap_limit] command, 
    the [sqlite3_config]([SQLITE_CONFIG_MMAP_LIMIT]) start-time configuration
    option, the [SQLITE_DEFAULT_MMAP_LIMIT] compile-time option, and the
    [sqlite3_file_control](db, [SQLITE_FCNTL_MMAP_LIMIT], ...) file-control.
}

chng {2013-03-29 (3.7.16.1)} {
<li>Fix for a bug in the ORDER BY optimizer that was introduced in
    [version 3.7.15] which would sometimes optimize out the sorting step
    when in fact the sort was required.
    Ticket [http://www.sqlite.org/src/info/a179fe7465 | a179fe7465]
Changes to pages/compile.in.
83
84
85
86
87
88
89









90
91
92
93
94
95
96
  [foreign key constraints] is enabled or disabled by default for
  new database connections.  Each database connection can always turn
  enforcement of foreign key constraints on and off and run-time using
  the [foreign_keys pragma].  Enforcement of foreign key constraints
  is normally off by default, but if this compile-time parameter is
  set to 1, enforcement of foreign key constraints will be on by default.
}










COMPILE_OPTION {SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=<i>&lt;bytes&gt;</i>} {
  This option sets the size limit on [rollback journal] files in
  [journal_mode pragma | persistent journal mode] and
  [locking_mode | exclusive locking mode] and on the size of the
  write-ahead log file in [WAL mode]. When this 
  compile-time option is omitted there is no upper bound on the







>
>
>
>
>
>
>
>
>







83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
  [foreign key constraints] is enabled or disabled by default for
  new database connections.  Each database connection can always turn
  enforcement of foreign key constraints on and off and run-time using
  the [foreign_keys pragma].  Enforcement of foreign key constraints
  is normally off by default, but if this compile-time parameter is
  set to 1, enforcement of foreign key constraints will be on by default.
}

COMPILE_OPTION {SQLITE_DEFAULT_MMAP_LIMIT=<i>N</i>} {
  This macro sets the default maximum number of bytes that will be used
  for memory mapped I/O for each open database file.  If the <i>N</i>
  is zero, then memory mapped I/O is disabled by default.  This
  compile-time limit can be modified at start-time using the
  [sqlite3_config]([SQLITE_CONFIG_MMAP_LIMIT]) call, or at run-time
  using the [mmap_limit pragma].
}

COMPILE_OPTION {SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT=<i>&lt;bytes&gt;</i>} {
  This option sets the size limit on [rollback journal] files in
  [journal_mode pragma | persistent journal mode] and
  [locking_mode | exclusive locking mode] and on the size of the
  write-ahead log file in [WAL mode]. When this 
  compile-time option is omitted there is no upper bound on the
Changes to pages/pragma.in.
621
622
623
624
625
626
627























628
629
630
631
632
633
634
   [WAL | WAL journal mode], then the locking mode cannot be changed to
   NORMAL until after exiting WAL journal mode. 
   ^If the locking mode is NORMAL when first entering WAL
   journal mode, then the locking mode can be changed between NORMAL and
   EXCLUSIVE and back again at any time and without needing to exit
   WAL journal mode.</p>
}
























Pragma page_size {
   <p>^(<b>PRAGMA page_size;
       <br>PRAGMA page_size = </b><i>bytes</i><b>;</b></p>
    <p>Query or set the page size of the database.)^ ^The page
    size must be a power of two between 512 and 65536 inclusive.
    </p>







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







621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
   [WAL | WAL journal mode], then the locking mode cannot be changed to
   NORMAL until after exiting WAL journal mode. 
   ^If the locking mode is NORMAL when first entering WAL
   journal mode, then the locking mode can be changed between NORMAL and
   EXCLUSIVE and back again at any time and without needing to exit
   WAL journal mode.</p>
}

Pragma mmap_limit {
    <p>^(<br><b>PRAGMA </b><i>database</i><b>.mmap_limit;
         <br>PRAGMA </b><i>database</i><b>.mmap_limit=</b><i>N</i></p>

    <p>Query or change the maximum number of bytes that are set
       aside for memory-mapped I/O on a single database.  The first form
       (without an argument) queries the current limit.  The second
       form (with a numeric argument) sets the limit for the specified
       database, or for all databases if the optional database name is
       omitted.  In the second form, if the database name is omitted, the
       limit that is set becomes the default limit for all databases that
       are added to the [database connection] by subsequent [ATTACH]
       statements.</p>

    <p>The argument N is the maximum number of bytes of the database file
       that will be accessed using memory-mapped I/O.  If N is zero then
       memory mapped I/O is disabled.  If N is negative, then the limit
       reverts to the default value determined by the most recent
       [sqlite3_config]([SQLITE_CONFIG_MMAP_LIMIT]), or to the compile
       time default determined by [SQLITE_DEFAULT_MMAP_LIMIT] if not
       start-time limit has been set.</p>
}

Pragma page_size {
   <p>^(<b>PRAGMA page_size;
       <br>PRAGMA page_size = </b><i>bytes</i><b>;</b></p>
    <p>Query or set the page size of the database.)^ ^The page
    size must be a power of two between 512 and 65536 inclusive.
    </p>