Btree
int fileBtreeCursor(Btree *pBt, int iTable, int wrFlag, BtCursor **ppCur){
Btree *pBt = pCur->pBt;
Btree *pBt = pCur->pBt;
Btree *pBt = pCur->pBt;
Btree *pBt = pCur->pBt;
Btree *pBt = pCur->pBt;
static int allocatePage(Btree *pBt, MemPage **ppPage, Pgno *pPgno, Pgno nearby){
static int freePage(Btree *pBt, void *pPage, Pgno pgno){
static int clearCell(Btree *pBt, Cell *pCell){
Btree *pBt, /* The whole Btree. Needed to allocate pages */
static void reparentChildPages(Btree *pBt, MemPage *pPage){
static void dropCell(Btree *pBt, MemPage *pPage, int idx, int sz){
static void insertCell(Btree *pBt, MemPage *pPage, int i, Cell *pCell, int sz){
static void relinkCellList(Btree *pBt, MemPage *pPage){
static int balance(Btree *pBt, MemPage *pPage, BtCursor *pCur){
Btree *pBt = pCur->pBt;
Btree *pBt = pCur->pBt;
static int fileBtreeCreateTable(Btree *pBt, int *piTable){
static int clearDatabasePage(Btree *pBt, Pgno pgno, int freePageFlag){
static int fileBtreeClearTable(Btree *pBt, int iTable){
static int fileBtreeDropTable(Btree *pBt, int iTable){
static int copyCell(Btree *pBtFrom, BTree *pBtTo, Cell *pCell){
Btree *pBtFrom,
Btree *pBtTo,
static int fileBtreeGetMeta(Btree *pBt, int *aMeta){
static int fileBtreeUpdateMeta(Btree *pBt, int *aMeta){
static int fileBtreePageDump(Btree *pBt, int pgno, int recursive){
Btree *pBt = pCur->pBt;
static Pager *fileBtreePager(Btree *pBt){
Btree *pBt; /* The tree being checked out */
Btree *pBt;
char *fileBtreeIntegrityCheck(Btree *pBt, int *aRoot, int nRoot){
static const char *fileBtreeGetFilename(Btree *pBt){
static int fileBtreeCopyFile(Btree *pBtTo, Btree *pBtFrom){
typedef Btree Bt;
Btree *pBt; /* The Btree to which this cursor belongs */
static int cellSize(Btree *pBt, Cell *pCell){
static void defragmentPage(Btree *pBt, MemPage *pPage){
static int allocateSpace(Btree *pBt, MemPage *pPage, int nByte){
static void freeSpace(Btree *pBt, MemPage *pPage, int start, int size){
static void zeroPage(Btree *pBt, MemPage *pPage){
Btree **ppBtree /* Pointer to new Btree object written here */
Btree *pBt;
static int fileBtreeClose(Btree *pBt){
static int fileBtreeSetCacheSize(Btree *pBt, int mxPage){
static int fileBtreeSetSafetyLevel(Btree *pBt, int level){
static int lockBtree(Btree *pBt){
static void unlockBtreeIfUnused(Btree *pBt){
static int newDatabase(Btree *pBt){
static int fileBtreeBeginTrans(Btree *pBt){
static int fileBtreeCommit(Btree *pBt){
static int fileBtreeRollback(Btree *pBt){
static int fileBtreeBeginCkpt(Btree *pBt){
static int fileBtreeCommitCkpt(Btree *pBt){
static int fileBtreeRollbackCkpt(Btree *pBt){
typedef struct Btree Btree;
int (*Close)(Btree*);
int (*SetCacheSize)(Btree*, int);
int (*SetSafetyLevel)(Btree*, int);
int (*BeginTrans)(Btree*);
int (*Commit)(Btree*);
int (*Rollback)(Btree*);
int (*BeginCkpt)(Btree*);
int (*CommitCkpt)(Btree*);
int (*RollbackCkpt)(Btree*);
int (*CreateTable)(Btree*, int*);
int (*CreateIndex)(Btree*, int*);
int (*DropTable)(Btree*, int);
int (*ClearTable)(Btree*, int);
int (*Cursor)(Btree*, int iTable, int wrFlag, BtCursor **ppCur);
int (*GetMeta)(Btree*, int*);
int (*UpdateMeta)(Btree*, int*);
char *(*IntegrityCheck)(Btree*, int*, int);
const char *(*GetFilename)(Btree*);
int (*Copyfile)(Btree*,Btree*);
struct Pager *(*Pager)(Btree*);
int (*PageDump)(Btree*, int, int);
int sqliteBtreeOpen(const char *zFilename, int mode, int nPg, Btree **ppBtree);
int sqliteRbtreeOpen(const char *zFilename, int mode, int nPg, Btree **ppBtree);
(int(*)(Btree*)) memRbtreeClose,
(int(*)(Btree*,int)) memRbtreeSetCacheSize,
(int(*)(Btree*,int)) memRbtreeSetSafetyLevel,
(int(*)(Btree*)) memRbtreeBeginTrans,
(int(*)(Btree*)) memRbtreeCommit,
(int(*)(Btree*)) memRbtreeRollback,
(int(*)(Btree*)) memRbtreeBeginCkpt,
(int(*)(Btree*)) memRbtreeCommitCkpt,
(int(*)(Btree*)) memRbtreeRollbackCkpt,
(int(*)(Btree*,int*)) memRbtreeCreateTable,
(int(*)(Btree*,int*)) memRbtreeCreateTable,
(int(*)(Btree*,int)) memRbtreeDropTable,
(int(*)(Btree*,int)) memRbtreeClearTable,
(int(*)(Btree*,int,int,BtCursor**)) memRbtreeCursor,
(int(*)(Btree*,int*)) memRbtreeGetMeta,
(int(*)(Btree*,int*)) memRbtreeUpdateMeta,
(char*(*)(Btree*,int*,int)) memRbtreeIntegrityCheck,
(const char*(*)(Btree*)) memRbtreeGetFilename,
(int(*)(Btree*,Btree*)) memRbtreeCopyFile,
(struct Pager*(*)(Btree*)) memRbtreePager,
(int(*)(Btree*,int,int)) memRbtreePageDump,
Btree **ppBtree
Btree **ppBtree){ /* Pointer to new Btree object written here */
int mode, int nPg, Btree **ppBtree);
Btree *pBt; /* The B*Tree structure for this database file */
Btree *pBt;
Btree *pBt;
Btree *pBt;
Btree *pBt;
Btree *pBt;
Btree *pBt;
Btree *pBt;
Btree *pBt;
Btree *pBt;
Btree *pBt;
Btree *pBt;
Btree *pBt;
Btree *pBt;
Btree *pBt;
Btree *pBt;
Btree *pBt;
Btree *pX;
Btree *pBt; /* Separate file holding temporary table */