pcache.h File Reference

Go to the source code of this file.

Classes

struct  PgHdr

Defines

#define PGHDR_IN_JOURNAL   0x001
#define PGHDR_DIRTY   0x002
#define PGHDR_NEED_SYNC   0x004
#define PGHDR_NEED_READ   0x008
#define PGHDR_REUSE_UNLIKELY   0x010
#define PGHDR_DONT_WRITE   0x020
#define sqlite3PcacheAssertFlags(A, B, C)

Typedefs

typedef struct PgHdr PgHdr
typedef struct PCache PCache

Functions

int sqlite3PcacheInitialize (void)
void sqlite3PcacheShutdown (void)
void sqlite3PCacheBufferSetup (void *, int sz, int n)
void * sqlite3PCacheMalloc (int sz)
void sqlite3PCacheFree (void *)
void sqlite3PcacheOpen (int szPage, int szExtra, int bPurgeable, int(*xStress)(void *, PgHdr *), void *pStress, PCache *pToInit)
void sqlite3PcacheSetPageSize (PCache *, int)
int sqlite3PcacheSize (void)
int sqlite3PcacheFetch (PCache *, Pgno, int createFlag, PgHdr **)
void sqlite3PcacheRelease (PgHdr *)
void sqlite3PcacheDrop (PgHdr *)
void sqlite3PcacheMakeDirty (PgHdr *)
void sqlite3PcacheMakeClean (PgHdr *)
void sqlite3PcacheCleanAll (PCache *)
void sqlite3PcacheMove (PgHdr *, Pgno)
void sqlite3PcacheTruncate (PCache *, Pgno x)
PgHdrsqlite3PcacheDirtyList (PCache *)
void sqlite3PcacheClose (PCache *)
void sqlite3PcacheClearFlags (PCache *, int mask)
int sqlite3PcacheZeroOrOneDirtyPages (PCache *)
int sqlite3PcacheClear (PCache *)
int sqlite3PcacheRefCount (PCache *)
void sqlite3PcacheRef (PgHdr *)
int sqlite3PcachePageRefcount (PgHdr *)
int sqlite3PcachePagecount (PCache *)
int sqlite3PcacheGetCachesize (PCache *)
void sqlite3PcacheSetCachesize (PCache *, int)

Define Documentation

#define PGHDR_DIRTY   0x002
#define PGHDR_DONT_WRITE   0x020

Definition at line 61 of file pcache.h.

Referenced by pager_write_pagelist(), sqlite3PagerDontWrite(), and sqlite3PcacheMakeDirty().

#define PGHDR_IN_JOURNAL   0x001
#define PGHDR_NEED_READ   0x008

Definition at line 59 of file pcache.h.

Referenced by pager_get_content(), sqlite3PagerAcquire(), and sqlite3PagerDontRollback().

#define PGHDR_NEED_SYNC   0x004
#define PGHDR_REUSE_UNLIKELY   0x010

Definition at line 60 of file pcache.h.

Referenced by pcacheAddToLruList(), and sqlite3PcacheMove().

#define sqlite3PcacheAssertFlags ( A,
B,
 ) 

Definition at line 125 of file pcache.h.

Referenced by sqlite3PagerBegin(), sqlite3PcacheCleanAll(), and syncJournal().


Typedef Documentation

typedef struct PCache PCache

Definition at line 21 of file pcache.h.

typedef struct PgHdr PgHdr

Definition at line 20 of file pcache.h.


Function Documentation

void sqlite3PCacheBufferSetup ( void *  ,
int  sz,
int  n 
)

Definition at line 388 of file pcache.c.

References pcache_g, and PgFreeslot::pNext.

Referenced by sqlite3_initialize().

void sqlite3PcacheCleanAll ( PCache  ) 
int sqlite3PcacheClear ( PCache  ) 

Definition at line 985 of file pcache.c.

References PCache::nRef, pcacheClear(), pcacheEnterMutex, pcacheExitMutex, and SQLITE_OK.

Referenced by pager_reset().

void sqlite3PcacheClearFlags ( PCache ,
int  mask 
)
void sqlite3PcacheClose ( PCache  ) 
PgHdr* sqlite3PcacheDirtyList ( PCache  ) 

Definition at line 1070 of file pcache.c.

References pcacheSortDirtyList(), PgHdr::pDirty, PCache::pDirty, and PgHdr::pNext.

Referenced by sqlite3PagerCommitPhaseOne().

void sqlite3PcacheDrop ( PgHdr  ) 
int sqlite3PcacheFetch ( PCache ,
Pgno  ,
int  createFlag,
PgHdr **   
)
void sqlite3PCacheFree ( void *   ) 
int sqlite3PcacheGetCachesize ( PCache  ) 

Definition at line 1144 of file pcache.c.

References PCache::nMax.

int sqlite3PcacheInitialize ( void   ) 
void sqlite3PcacheMakeClean ( PgHdr  ) 

Definition at line 827 of file pcache.c.

References PgHdr::flags, pcacheEnterMutex, pcacheExitMutex, pcacheMakeClean(), and PGHDR_DIRTY.

Referenced by makeClean(), and pagerStress().

void sqlite3PcacheMakeDirty ( PgHdr  ) 
void* sqlite3PCacheMalloc ( int  sz  ) 
void sqlite3PcacheMove ( PgHdr ,
Pgno   
)
void sqlite3PcacheOpen ( int  szPage,
int  szExtra,
int  bPurgeable,
int(*)(void *, PgHdr *)  xStress,
void *  pStress,
PCache pToInit 
)
int sqlite3PcachePagecount ( PCache  ) 

Definition at line 1092 of file pcache.c.

References PCache::nPage.

Referenced by pagerSharedLock().

int sqlite3PcachePageRefcount ( PgHdr  ) 

Definition at line 1085 of file pcache.c.

References PgHdr::nRef.

Referenced by sqlite3PagerPageRefcount().

void sqlite3PcacheRef ( PgHdr  ) 

Definition at line 768 of file pcache.c.

References PgHdr::nRef.

Referenced by sqlite3PagerRef().

int sqlite3PcacheRefCount ( PCache  ) 
void sqlite3PcacheRelease ( PgHdr  ) 
void sqlite3PcacheSetCachesize ( PCache ,
int   
)
void sqlite3PcacheSetPageSize ( PCache ,
int   
)

Definition at line 668 of file pcache.c.

References PCache::nPage, and PCache::szPage.

Referenced by sqlite3PagerSetPagesize().

void sqlite3PcacheShutdown ( void   ) 

Definition at line 624 of file pcache.c.

References pcache, and pcache_g.

Referenced by sqlite3_shutdown().

int sqlite3PcacheSize ( void   ) 

Definition at line 631 of file pcache.c.

Referenced by sqlite3PagerOpen().

void sqlite3PcacheTruncate ( PCache ,
Pgno  x 
)
int sqlite3PcacheZeroOrOneDirtyPages ( PCache  ) 

ContextLogger2—ContextLogger2 Logger Daemon Internals—Generated on Mon May 2 13:50:01 2011 by Doxygen 1.6.1