Cleaning description better for second line in search results
/*** 2001 September 15**** The author disclaims copyright to this source code. In place of** a legal notice, here is a blessing:**** May you do good and not evil.** May you find forgiveness for yourself and forgive others.** May you share freely, never taking more than you give.***************************************************************************** This header file defines the interface that the sqlite B-Tree file** subsystem. See comments in the source code for a detailed description** of what each interface routine does.**** @(#) $Id: btree.h 1282 2008-11-13 09:31:33Z LarsPson $*/#ifndef _BTREE_H_#define _BTREE_H_/* TODO: This definition is just included so other modules compile. It** needs to be revisited.*/#define SQLITE_N_BTREE_META 10/*** If defined as non-zero, auto-vacuum is enabled by default. Otherwise** it must be turned on for each database using "PRAGMA auto_vacuum = 1".*/#ifndef SQLITE_DEFAULT_AUTOVACUUM #define SQLITE_DEFAULT_AUTOVACUUM 0#endif#define BTREE_AUTOVACUUM_NONE 0 /* Do not do auto-vacuum */#define BTREE_AUTOVACUUM_FULL 1 /* Do full auto-vacuum */#define BTREE_AUTOVACUUM_INCR 2 /* Incremental vacuum *//*** Forward declarations of structure*/typedef struct Btree Btree;typedef struct BtCursor BtCursor;typedef struct BtShared BtShared;typedef struct BtreeMutexArray BtreeMutexArray;/*** This structure records all of the Btrees that need to hold** a mutex before we enter sqlite3VdbeExec(). The Btrees are** are placed in aBtree[] in order of aBtree[]->pBt. That way,** we can always lock and unlock them all quickly.*/struct BtreeMutexArray { int nMutex; Btree *aBtree[SQLITE_MAX_ATTACHED+1];};int sqlite3BtreeOpen( const char *zFilename, /* Name of database file to open */ sqlite3 *db, /* Associated database connection */ Btree **, /* Return open Btree* here */ int flags, /* Flags */ int vfsFlags /* Flags passed through to VFS open */);/* The flags parameter to sqlite3BtreeOpen can be the bitwise or of the** following values.**** NOTE: These values must match the corresponding PAGER_ values in** pager.h.*/#define BTREE_OMIT_JOURNAL 1 /* Do not use journal. No argument */#define BTREE_NO_READLOCK 2 /* Omit readlocks on readonly files */#define BTREE_MEMORY 4 /* In-memory DB. No argument */#define BTREE_READONLY 8 /* Open the database in read-only mode */#define BTREE_READWRITE 16 /* Open for both reading and writing */#define BTREE_CREATE 32 /* Create the database if it does not exist *//* Additional values for the 4th argument of sqlite3BtreeOpen that** are not associated with PAGER_ values.*/#define BTREE_PRIVATE 64 /* Never share with other connections */int sqlite3BtreeClose(Btree*);int sqlite3BtreeSetCacheSize(Btree*,int);int sqlite3BtreeSetSafetyLevel(Btree*,int,int);int sqlite3BtreeSyncDisabled(Btree*);int sqlite3BtreeSetPageSize(Btree*,int,int);int sqlite3BtreeGetPageSize(Btree*);int sqlite3BtreeMaxPageCount(Btree*,int);int sqlite3BtreeGetReserve(Btree*);int sqlite3BtreeSetAutoVacuum(Btree *, int);int sqlite3BtreeGetAutoVacuum(Btree *);int sqlite3BtreeBeginTrans(Btree*,int);int sqlite3BtreeCommitPhaseOne(Btree*, const char *zMaster);int sqlite3BtreeCommitPhaseTwo(Btree*);int sqlite3BtreeCommit(Btree*);int sqlite3BtreeRollback(Btree*);int sqlite3BtreeBeginStmt(Btree*);int sqlite3BtreeCommitStmt(Btree*);int sqlite3BtreeRollbackStmt(Btree*);int sqlite3BtreeCreateTable(Btree*, int*, int flags);int sqlite3BtreeIsInTrans(Btree*);int sqlite3BtreeIsInStmt(Btree*);int sqlite3BtreeIsInReadTrans(Btree*);void *sqlite3BtreeSchema(Btree *, int, void(*)(void *));int sqlite3BtreeSchemaLocked(Btree *);int sqlite3BtreeLockTable(Btree *, int, u8);const char *sqlite3BtreeGetFilename(Btree *);const char *sqlite3BtreeGetDirname(Btree *);const char *sqlite3BtreeGetJournalname(Btree *);int sqlite3BtreeCopyFile(Btree *, Btree *);int sqlite3BtreeIncrVacuum(Btree *);/* The flags parameter to sqlite3BtreeCreateTable can be the bitwise OR** of the following flags:*/#define BTREE_INTKEY 1 /* Table has only 64-bit signed integer keys */#define BTREE_ZERODATA 2 /* Table has keys only - no data */#define BTREE_LEAFDATA 4 /* Data stored in leaves only. Implies INTKEY */int sqlite3BtreeDropTable(Btree*, int, int*);int sqlite3BtreeClearTable(Btree*, int);int sqlite3BtreeGetMeta(Btree*, int idx, u32 *pValue);int sqlite3BtreeUpdateMeta(Btree*, int idx, u32 value);void sqlite3BtreeTripAllCursors(Btree*, int);int sqlite3BtreeCursor( Btree*, /* BTree containing table to open */ int iTable, /* Index of root page */ int wrFlag, /* 1 for writing. 0 for read-only */ int(*)(void*,int,const void*,int,const void*), /* Key comparison function */ void*, /* First argument to compare function */ BtCursor **ppCursor /* Returned cursor */);int sqlite3BtreeCloseCursor(BtCursor*);int sqlite3BtreeMoveto(BtCursor*,const void *pKey,i64 nKey,int bias,int *pRes);int sqlite3BtreeDelete(BtCursor*);int sqlite3BtreeInsert(BtCursor*, const void *pKey, i64 nKey, const void *pData, int nData, int nZero, int bias);int sqlite3BtreeFirst(BtCursor*, int *pRes);int sqlite3BtreeLast(BtCursor*, int *pRes);int sqlite3BtreeNext(BtCursor*, int *pRes);int sqlite3BtreeEof(BtCursor*);int sqlite3BtreeFlags(BtCursor*);int sqlite3BtreePrevious(BtCursor*, int *pRes);int sqlite3BtreeKeySize(BtCursor*, i64 *pSize);int sqlite3BtreeKey(BtCursor*, u32 offset, u32 amt, void*);sqlite3 *sqlite3BtreeCursorDb(const BtCursor*);const void *sqlite3BtreeKeyFetch(BtCursor*, int *pAmt);const void *sqlite3BtreeDataFetch(BtCursor*, int *pAmt);int sqlite3BtreeDataSize(BtCursor*, u32 *pSize);int sqlite3BtreeData(BtCursor*, u32 offset, u32 amt, void*);char *sqlite3BtreeIntegrityCheck(Btree*, int *aRoot, int nRoot, int, int*);struct Pager *sqlite3BtreePager(Btree*);int sqlite3BtreePutData(BtCursor*, u32 offset, u32 amt, void*);void sqlite3BtreeCacheOverflow(BtCursor *);#ifdef SQLITE_TESTint sqlite3BtreeCursorInfo(BtCursor*, int*, int);void sqlite3BtreeCursorList(Btree*);int sqlite3BtreePageDump(Btree*, int, int recursive);#endif/*** If we are not using shared cache, then there is no need to** use mutexes to access the BtShared structures. So make the** Enter and Leave procedures no-ops.*/#if !defined(SQLITE_OMIT_SHARED_CACHE) && SQLITE_THREADSAFE void sqlite3BtreeEnter(Btree*); void sqlite3BtreeLeave(Btree*); int sqlite3BtreeHoldsMutex(Btree*); void sqlite3BtreeEnterCursor(BtCursor*); void sqlite3BtreeLeaveCursor(BtCursor*); void sqlite3BtreeEnterAll(sqlite3*); void sqlite3BtreeLeaveAll(sqlite3*); int sqlite3BtreeHoldsAllMutexes(sqlite3*); void sqlite3BtreeMutexArrayEnter(BtreeMutexArray*); void sqlite3BtreeMutexArrayLeave(BtreeMutexArray*); void sqlite3BtreeMutexArrayInsert(BtreeMutexArray*, Btree*);#else# define sqlite3BtreeEnter(X)# define sqlite3BtreeLeave(X)# define sqlite3BtreeHoldsMutex(X) 1# define sqlite3BtreeEnterCursor(X)# define sqlite3BtreeLeaveCursor(X)# define sqlite3BtreeEnterAll(X)# define sqlite3BtreeLeaveAll(X)# define sqlite3BtreeHoldsAllMutexes(X) 1# define sqlite3BtreeMutexArrayEnter(X)# define sqlite3BtreeMutexArrayLeave(X)# define sqlite3BtreeMutexArrayInsert(X,Y)#endif#endif /* _BTREE_H_ */