Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Make sure sqlite3_shutdown() completely disables the default pager cache mechanism in pcache1.c. Ticket #3872. Also fix some comments associated with configuring the page cache. (CVS 6668) |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: | 6240992cef5cb867d7a638f1906d05aa |
User & Date: | drh 2009-05-22 10:53:29 |
Context
2009-05-22
| ||
11:10 | Additional changes to pcache1 to prevent the page buffer memory from being configured if pcache1 is not enabled. Ticket #3872. (CVS 6669) check-in: 5153ad19 user: drh tags: trunk | |
10:53 | Make sure sqlite3_shutdown() completely disables the default pager cache mechanism in pcache1.c. Ticket #3872. Also fix some comments associated with configuring the page cache. (CVS 6668) check-in: 6240992c user: drh tags: trunk | |
01:02 | Add omitted word in the documentation for total_change_count(). ticket #3870. (CVS 6667) check-in: 3f6fd16f user: drh tags: trunk | |
Changes
Changes to src/main.c.
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
...
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
|
** ************************************************************************* ** Main file for the SQLite library. The routines in this file ** implement the programmer interface to the library. Routines in ** other files are for internal use by SQLite and should not be ** accessed by users of the library. ** ** $Id: main.c,v 1.553 2009/05/20 02:40:46 drh Exp $ */ #include "sqliteInt.h" #ifdef SQLITE_ENABLE_FTS3 # include "fts3.h" #endif #ifdef SQLITE_ENABLE_RTREE ................................................................................ /* Designate a buffer for scratch memory space */ sqlite3GlobalConfig.pScratch = va_arg(ap, void*); sqlite3GlobalConfig.szScratch = va_arg(ap, int); sqlite3GlobalConfig.nScratch = va_arg(ap, int); break; } case SQLITE_CONFIG_PAGECACHE: { /* Designate a buffer for scratch memory space */ sqlite3GlobalConfig.pPage = va_arg(ap, void*); sqlite3GlobalConfig.szPage = va_arg(ap, int); sqlite3GlobalConfig.nPage = va_arg(ap, int); break; } case SQLITE_CONFIG_PCACHE: { /* Specify an alternative malloc implementation */ sqlite3GlobalConfig.pcache = *va_arg(ap, sqlite3_pcache_methods*); break; } case SQLITE_CONFIG_GETPCACHE: { if( sqlite3GlobalConfig.pcache.xInit==0 ){ sqlite3PCacheSetDefault(); |
|
|
|
|
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
...
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
|
** ************************************************************************* ** Main file for the SQLite library. The routines in this file ** implement the programmer interface to the library. Routines in ** other files are for internal use by SQLite and should not be ** accessed by users of the library. ** ** $Id: main.c,v 1.554 2009/05/22 10:53:29 drh Exp $ */ #include "sqliteInt.h" #ifdef SQLITE_ENABLE_FTS3 # include "fts3.h" #endif #ifdef SQLITE_ENABLE_RTREE ................................................................................ /* Designate a buffer for scratch memory space */ sqlite3GlobalConfig.pScratch = va_arg(ap, void*); sqlite3GlobalConfig.szScratch = va_arg(ap, int); sqlite3GlobalConfig.nScratch = va_arg(ap, int); break; } case SQLITE_CONFIG_PAGECACHE: { /* Designate a buffer for page cache memory space */ sqlite3GlobalConfig.pPage = va_arg(ap, void*); sqlite3GlobalConfig.szPage = va_arg(ap, int); sqlite3GlobalConfig.nPage = va_arg(ap, int); break; } case SQLITE_CONFIG_PCACHE: { /* Specify an alternative page cache implementation */ sqlite3GlobalConfig.pcache = *va_arg(ap, sqlite3_pcache_methods*); break; } case SQLITE_CONFIG_GETPCACHE: { if( sqlite3GlobalConfig.pcache.xInit==0 ){ sqlite3PCacheSetDefault(); |
Changes to src/pcache1.c.
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
...
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
|
** ** This file implements the default page cache implementation (the ** sqlite3_pcache interface). It also contains part of the implementation ** of the SQLITE_CONFIG_PAGECACHE and sqlite3_release_memory() features. ** If the default page cache implementation is overriden, then neither of ** these two features are available. ** ** @(#) $Id: pcache1.c,v 1.12 2009/05/08 06:52:48 danielk1977 Exp $ */ #include "sqliteInt.h" typedef struct PCache1 PCache1; typedef struct PgHdr1 PgHdr1; typedef struct PgFreeslot PgFreeslot; ................................................................................ } /* ** Implementation of the sqlite3_pcache.xShutdown method. */ static void pcache1Shutdown(void *NotUsed){ UNUSED_PARAMETER(NotUsed); /* no-op */ } /* ** Implementation of the sqlite3_pcache.xCreate method. ** ** Allocate a new cache. */ |
|
|
|
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
...
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
|
** ** This file implements the default page cache implementation (the ** sqlite3_pcache interface). It also contains part of the implementation ** of the SQLITE_CONFIG_PAGECACHE and sqlite3_release_memory() features. ** If the default page cache implementation is overriden, then neither of ** these two features are available. ** ** @(#) $Id: pcache1.c,v 1.13 2009/05/22 10:53:29 drh Exp $ */ #include "sqliteInt.h" typedef struct PCache1 PCache1; typedef struct PgHdr1 PgHdr1; typedef struct PgFreeslot PgFreeslot; ................................................................................ } /* ** Implementation of the sqlite3_pcache.xShutdown method. */ static void pcache1Shutdown(void *NotUsed){ UNUSED_PARAMETER(NotUsed); memset(&pcache1, 0, sizeof(pcache1)); } /* ** Implementation of the sqlite3_pcache.xCreate method. ** ** Allocate a new cache. */ |