Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | The cache_size pragma should not reset the synchronous pragma. Ticket #1260. (CVS 2474) |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: |
2db2b32f269062b006ae5c4a302d116c |
User & Date: | drh 2005-05-22 20:30:39 |
Context
2005-05-23
| ||
04:51 | Add pFetch variable (used by SSE) to sqlite3 structure. (CVS 2475) check-in: 2a8ac869 user: danielk1977 tags: trunk | |
2005-05-22
| ||
20:30 | The cache_size pragma should not reset the synchronous pragma. Ticket #1260. (CVS 2474) check-in: 2db2b32f user: drh tags: trunk | |
20:12 | Never user a pointer to standard library routines malloc() and free(). This rule is to work around limitations of MSVC and the _fastcall calling convention. Ticket #1256. (CVS 2473) check-in: a39c4467 user: drh tags: trunk | |
Changes
Changes to src/pager.c.
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
....
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
|
** The pager is used to access a database disk file. It implements ** atomic commit and rollback through the use of a journal file that ** is separate from the database file. The pager also implements file ** locking to prevent two processes from writing the same database ** file simultaneously, or one process from reading the database while ** another is writing. ** ** @(#) $Id: pager.c,v 1.205 2005/05/21 02:48:09 drh Exp $ */ #ifndef SQLITE_OMIT_DISKIO #include "sqliteInt.h" #include "os.h" #include "pager.h" #include <assert.h> #include <string.h> ................................................................................ /* pager_reload_cache(pPager); */ } return rc; } /* ** Change the maximum number of in-memory pages that are allowed. ** ** The maximum number is the absolute value of the mxPage parameter. ** If mxPage is negative, the noSync flag is also set. noSync bypasses ** calls to sqlite3OsSync(). The pager runs much faster with noSync on, ** but if the operating system crashes or there is an abrupt power ** failure, the database file might be left in an inconsistent and ** unrepairable state. */ void sqlite3pager_set_cachesize(Pager *pPager, int mxPage){ if( mxPage>=0 ){ pPager->noSync = pPager->tempFile; if( pPager->noSync ) pPager->needSync = 0; }else{ pPager->noSync = 1; mxPage = -mxPage; } if( mxPage>10 ){ pPager->mxPage = mxPage; }else{ pPager->mxPage = 10; } } |
|
<
<
<
<
<
<
<
<
<
<
<
<
<
<
|
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
....
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
|
** The pager is used to access a database disk file. It implements ** atomic commit and rollback through the use of a journal file that ** is separate from the database file. The pager also implements file ** locking to prevent two processes from writing the same database ** file simultaneously, or one process from reading the database while ** another is writing. ** ** @(#) $Id: pager.c,v 1.206 2005/05/22 20:30:39 drh Exp $ */ #ifndef SQLITE_OMIT_DISKIO #include "sqliteInt.h" #include "os.h" #include "pager.h" #include <assert.h> #include <string.h> ................................................................................ /* pager_reload_cache(pPager); */ } return rc; } /* ** Change the maximum number of in-memory pages that are allowed. */ void sqlite3pager_set_cachesize(Pager *pPager, int mxPage){ if( mxPage>10 ){ pPager->mxPage = mxPage; }else{ pPager->mxPage = 10; } } |
Changes to test/pragma.test.
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
..
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
# May you share freely, never taking more than you give. # #*********************************************************************** # This file implements regression tests for SQLite library. # # This file implements tests for the PRAGMA command. # # $Id: pragma.test,v 1.35 2005/03/29 03:11:00 danielk1977 Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl # Test organization: # # pragma-1.*: Test cache_size, default_cache_size and synchronous on main db. ................................................................................ PRAGMA cache_size; PRAGMA default_cache_size; PRAGMA synchronous; } } {2000 2000 2} do_test pragma-1.2 { execsql { PRAGMA cache_size=1234; PRAGMA cache_size; PRAGMA default_cache_size; PRAGMA synchronous; } } {1234 2000 2} do_test pragma-1.3 { db close sqlite3 db test.db execsql { PRAGMA cache_size; PRAGMA default_cache_size; PRAGMA synchronous; |
|
>
|
|
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
..
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
# May you share freely, never taking more than you give. # #*********************************************************************** # This file implements regression tests for SQLite library. # # This file implements tests for the PRAGMA command. # # $Id: pragma.test,v 1.36 2005/05/22 20:30:39 drh Exp $ set testdir [file dirname $argv0] source $testdir/tester.tcl # Test organization: # # pragma-1.*: Test cache_size, default_cache_size and synchronous on main db. ................................................................................ PRAGMA cache_size; PRAGMA default_cache_size; PRAGMA synchronous; } } {2000 2000 2} do_test pragma-1.2 { execsql { PRAGMA synchronous=OFF; PRAGMA cache_size=1234; PRAGMA cache_size; PRAGMA default_cache_size; PRAGMA synchronous; } } {1234 2000 0} do_test pragma-1.3 { db close sqlite3 db test.db execsql { PRAGMA cache_size; PRAGMA default_cache_size; PRAGMA synchronous; |