Artifact
3c6adcbc50b991866855f1977ff172eb6d901271 :
File
mptest/config01.test
— part of check-in
[ea1404a10a]
at
2013-04-15 17:03:42
on branch trunk
— Refactoring the mmap interface. The controlling pragma is now "mmap_size"
instead of "mmap_limit". Also change SQLITE_CONFIG_MMAP_LIMIT and
SQLITE_FCNTL_MMAP_LIMIT to SQLITE_CONFIG_MMAP_SIZE and
SQLITE_FCNTL_MMAP_SIZE, respecctively.
The default mmap_size is now always 0, meaning that
memory mapped I/O is off by default. There is a new compile-time option
SQLITE_MAX_MMAP_SIZE that determines a hard upper bound on the mmap_size.
Setting SQLITE_MAX_MMAP_SIZE to zero disables the memory-mapped I/O logic
and causes it to be omitted from the build. An extra argument is added
to SQLITE_CONFIG_MMAP_SIZE that can optionally lower the SQLITE_MAX_MMAP_SIZE
at start-time. The SQLITE_MAX_MMAP_SIZE is zero for platforms where we
know that it does not work, meaning that it cannot be turned on by mistake
on those platforms.
(user:
drh
size: 950)
[more...]
0000: 2f 2a 0a 2a 2a 20 43 6f 6e 66 69 67 75 72 65 20 /*.** Configure
0010: 66 69 76 65 20 74 61 73 6b 73 20 69 6e 20 64 69 five tasks in di
0020: 66 66 65 72 65 6e 74 20 77 61 79 73 2c 20 74 68 fferent ways, th
0030: 65 6e 20 72 75 6e 20 74 65 73 74 73 2e 0a 2a 2f en run tests..*/
0040: 0a 2d 2d 69 66 20 76 66 73 6e 61 6d 65 28 29 20 .--if vfsname()
0050: 47 4c 4f 42 20 27 75 6e 69 78 27 0a 50 52 41 47 GLOB 'unix'.PRAG
0060: 4d 41 20 70 61 67 65 5f 73 69 7a 65 3d 38 31 39 MA page_size=819
0070: 32 3b 0a 2d 2d 74 61 73 6b 20 31 0a 20 20 50 52 2;.--task 1. PR
0080: 41 47 4d 41 20 6a 6f 75 72 6e 61 6c 5f 6d 6f 64 AGMA journal_mod
0090: 65 3d 50 45 52 53 49 53 54 3b 0a 20 20 50 52 41 e=PERSIST;. PRA
00a0: 47 4d 41 20 6d 6d 61 70 5f 73 69 7a 65 3d 30 3b GMA mmap_size=0;
00b0: 0a 2d 2d 65 6e 64 0a 2d 2d 74 61 73 6b 20 32 0a .--end.--task 2.
00c0: 20 20 50 52 41 47 4d 41 20 6a 6f 75 72 6e 61 6c PRAGMA journal
00d0: 5f 6d 6f 64 65 3d 54 52 55 4e 43 41 54 45 3b 0a _mode=TRUNCATE;.
00e0: 20 20 50 52 41 47 4d 41 20 6d 6d 61 70 5f 73 69 PRAGMA mmap_si
00f0: 7a 65 3d 32 38 36 37 32 3b 0a 2d 2d 65 6e 64 0a ze=28672;.--end.
0100: 2d 2d 74 61 73 6b 20 33 0a 20 20 50 52 41 47 4d --task 3. PRAGM
0110: 41 20 6a 6f 75 72 6e 61 6c 5f 6d 6f 64 65 3d 4d A journal_mode=M
0120: 45 4d 4f 52 59 3b 0a 2d 2d 65 6e 64 0a 2d 2d 74 EMORY;.--end.--t
0130: 61 73 6b 20 34 0a 20 20 50 52 41 47 4d 41 20 6a ask 4. PRAGMA j
0140: 6f 75 72 6e 61 6c 5f 6d 6f 64 65 3d 4f 46 46 3b ournal_mode=OFF;
0150: 0a 2d 2d 65 6e 64 0a 2d 2d 74 61 73 6b 20 34 0a .--end.--task 4.
0160: 20 20 50 52 41 47 4d 41 20 6d 6d 61 70 5f 73 69 PRAGMA mmap_si
0170: 7a 65 28 32 36 38 34 33 35 34 35 36 29 3b 0a 2d ze(268435456);.-
0180: 2d 65 6e 64 0a 2d 2d 73 6f 75 72 63 65 20 6d 75 -end.--source mu
0190: 6c 74 69 77 72 69 74 65 30 31 2e 74 65 73 74 0a ltiwrite01.test.
01a0: 2d 2d 77 61 69 74 20 61 6c 6c 0a 50 52 41 47 4d --wait all.PRAGM
01b0: 41 20 70 61 67 65 5f 73 69 7a 65 3d 31 36 33 38 A page_size=1638
01c0: 34 3b 0a 56 41 43 55 55 4d 3b 0a 43 52 45 41 54 4;.VACUUM;.CREAT
01d0: 45 20 54 41 42 4c 45 20 70 67 73 7a 28 74 61 73 E TABLE pgsz(tas
01e0: 6b 69 64 2c 20 73 7a 20 49 4e 54 45 47 45 52 29 kid, sz INTEGER)
01f0: 3b 0a 2d 2d 74 61 73 6b 20 31 0a 20 20 49 4e 53 ;.--task 1. INS
0200: 45 52 54 20 49 4e 54 4f 20 70 67 73 7a 20 56 41 ERT INTO pgsz VA
0210: 4c 55 45 53 28 31 2c 20 65 76 61 6c 28 27 50 52 LUES(1, eval('PR
0220: 41 47 4d 41 20 70 61 67 65 5f 73 69 7a 65 27 29 AGMA page_size')
0230: 29 3b 0a 2d 2d 65 6e 64 0a 2d 2d 74 61 73 6b 20 );.--end.--task
0240: 32 0a 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 2. INSERT INTO
0250: 70 67 73 7a 20 56 41 4c 55 45 53 28 32 2c 20 65 pgsz VALUES(2, e
0260: 76 61 6c 28 27 50 52 41 47 4d 41 20 70 61 67 65 val('PRAGMA page
0270: 5f 73 69 7a 65 27 29 29 3b 0a 2d 2d 65 6e 64 0a _size'));.--end.
0280: 2d 2d 74 61 73 6b 20 33 0a 20 20 49 4e 53 45 52 --task 3. INSER
0290: 54 20 49 4e 54 4f 20 70 67 73 7a 20 56 41 4c 55 T INTO pgsz VALU
02a0: 45 53 28 33 2c 20 65 76 61 6c 28 27 50 52 41 47 ES(3, eval('PRAG
02b0: 4d 41 20 70 61 67 65 5f 73 69 7a 65 27 29 29 3b MA page_size'));
02c0: 0a 2d 2d 65 6e 64 0a 2d 2d 74 61 73 6b 20 34 0a .--end.--task 4.
02d0: 20 20 49 4e 53 45 52 54 20 49 4e 54 4f 20 70 67 INSERT INTO pg
02e0: 73 7a 20 56 41 4c 55 45 53 28 34 2c 20 65 76 61 sz VALUES(4, eva
02f0: 6c 28 27 50 52 41 47 4d 41 20 70 61 67 65 5f 73 l('PRAGMA page_s
0300: 69 7a 65 27 29 29 3b 0a 2d 2d 65 6e 64 0a 2d 2d ize'));.--end.--
0310: 74 61 73 6b 20 35 0a 20 20 49 4e 53 45 52 54 20 task 5. INSERT
0320: 49 4e 54 4f 20 70 67 73 7a 20 56 41 4c 55 45 53 INTO pgsz VALUES
0330: 28 35 2c 20 65 76 61 6c 28 27 50 52 41 47 4d 41 (5, eval('PRAGMA
0340: 20 70 61 67 65 5f 73 69 7a 65 27 29 29 3b 0a 2d page_size'));.-
0350: 2d 65 6e 64 0a 2d 2d 73 6f 75 72 63 65 20 6d 75 -end.--source mu
0360: 6c 74 69 77 72 69 74 65 30 31 2e 74 65 73 74 0a ltiwrite01.test.
0370: 2d 2d 77 61 69 74 20 61 6c 6c 0a 53 45 4c 45 43 --wait all.SELEC
0380: 54 20 73 7a 20 46 52 4f 4d 20 70 67 73 7a 3b 0a T sz FROM pgsz;.
0390: 2d 2d 6d 61 74 63 68 20 31 36 33 38 34 20 31 36 --match 16384 16
03a0: 33 38 34 20 31 36 33 38 34 20 31 36 33 38 34 20 384 16384 16384
03b0: 31 36 33 38 34 0a 16384.