Annotation of embedaddon/sqlite3/src/test_btree.c, revision 1.1
1.1 ! misho 1: /*
! 2: ** 2007 May 05
! 3: **
! 4: ** The author disclaims copyright to this source code. In place of
! 5: ** a legal notice, here is a blessing:
! 6: **
! 7: ** May you do good and not evil.
! 8: ** May you find forgiveness for yourself and forgive others.
! 9: ** May you share freely, never taking more than you give.
! 10: **
! 11: *************************************************************************
! 12: ** Code for testing the btree.c module in SQLite. This code
! 13: ** is not included in the SQLite library. It is used for automated
! 14: ** testing of the SQLite library.
! 15: */
! 16: #include "btreeInt.h"
! 17: #include <tcl.h>
! 18:
! 19: /*
! 20: ** Usage: sqlite3_shared_cache_report
! 21: **
! 22: ** Return a list of file that are shared and the number of
! 23: ** references to each file.
! 24: */
! 25: int sqlite3BtreeSharedCacheReport(
! 26: void * clientData,
! 27: Tcl_Interp *interp,
! 28: int objc,
! 29: Tcl_Obj *CONST objv[]
! 30: ){
! 31: #ifndef SQLITE_OMIT_SHARED_CACHE
! 32: extern BtShared *sqlite3SharedCacheList;
! 33: BtShared *pBt;
! 34: Tcl_Obj *pRet = Tcl_NewObj();
! 35: for(pBt=GLOBAL(BtShared*,sqlite3SharedCacheList); pBt; pBt=pBt->pNext){
! 36: const char *zFile = sqlite3PagerFilename(pBt->pPager);
! 37: Tcl_ListObjAppendElement(interp, pRet, Tcl_NewStringObj(zFile, -1));
! 38: Tcl_ListObjAppendElement(interp, pRet, Tcl_NewIntObj(pBt->nRef));
! 39: }
! 40: Tcl_SetObjResult(interp, pRet);
! 41: #endif
! 42: return TCL_OK;
! 43: }
! 44:
! 45: /*
! 46: ** Print debugging information about all cursors to standard output.
! 47: */
! 48: void sqlite3BtreeCursorList(Btree *p){
! 49: #ifdef SQLITE_DEBUG
! 50: BtCursor *pCur;
! 51: BtShared *pBt = p->pBt;
! 52: for(pCur=pBt->pCursor; pCur; pCur=pCur->pNext){
! 53: MemPage *pPage = pCur->apPage[pCur->iPage];
! 54: char *zMode = pCur->wrFlag ? "rw" : "ro";
! 55: sqlite3DebugPrintf("CURSOR %p rooted at %4d(%s) currently at %d.%d%s\n",
! 56: pCur, pCur->pgnoRoot, zMode,
! 57: pPage ? pPage->pgno : 0, pCur->aiIdx[pCur->iPage],
! 58: (pCur->eState==CURSOR_VALID) ? "" : " eof"
! 59: );
! 60: }
! 61: #endif
! 62: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>