// PD_TRACE_DECLARE_FUNCTION ( SDB__DMSSU_TOTALDATAPAGES, "_dmsStorageUnit::totalDataPages" ) INT64 _dmsStorageUnit::totalDataPages( UINT32 type ) const { INT64 totalDataPages = 0 ; const dmsStorageUnitHeader *dataHeader = NULL ; PD_TRACE_ENTRY ( SDB__DMSSU_TOTALDATAPAGES ) ; if ( !_pDataSu || !_pIndexSu || !_pLobSu ) { goto done ; } if ( type & DMS_SU_DATA ) { dataHeader = _pDataSu->getHeader() ; totalDataPages += dataHeader->_pageNum ; } if ( type & DMS_SU_INDEX ) { dataHeader = _pIndexSu->getHeader() ; totalDataPages += dataHeader->_pageNum ; } if ( ( type & DMS_SU_LOB ) && _pLobSu->isOpened() ) { totalDataPages += _pLobSu->getHeader()->_pageNum ; } done: PD_TRACE1 ( SDB__DMSSU_TOTALDATAPAGES, PD_PACK_LONG ( totalDataPages ) ) ; PD_TRACE_EXIT ( SDB__DMSSU_TOTALDATAPAGES ) ; return totalDataPages ; }
// PD_TRACE_DECLARE_FUNCTION ( SDB__DMSSU_TOTALDATASIZE, "_dmsStorageUnit::totalDataSize" ) INT64 _dmsStorageUnit::totalDataSize( UINT32 type ) const { INT64 totalSize = 0 ; PD_TRACE_ENTRY ( SDB__DMSSU_TOTALDATASIZE ) ; if ( !_pDataSu || !_pIndexSu || !_pLobSu ) { goto done ; } if ( type & DMS_SU_DATA ) { totalSize += ( totalDataPages( DMS_SU_DATA ) << _pDataSu->pageSizeSquareRoot() ) ; } if ( type & DMS_SU_INDEX ) { totalSize += ( totalDataPages( DMS_SU_INDEX ) << _pDataSu->pageSizeSquareRoot() ) ; } if ( ( type & DMS_SU_LOB ) && _pLobSu->isOpened() ) { totalSize += _pLobSu->getLobData()->getDataSz() ; } done: PD_TRACE1 ( SDB__DMSSU_TOTALDATASIZE, PD_PACK_LONG ( totalSize ) ) ; PD_TRACE_EXIT ( SDB__DMSSU_TOTALDATASIZE ) ; return totalSize ; }
// PD_TRACE_DECLARE_FUNCTION ( SDB__PMDEDUCB_CONTXTPEEK, "_pmdEDUCB::contextPeek" ) SINT64 _pmdEDUCB::contextPeek () { PD_TRACE_ENTRY ( SDB__PMDEDUCB_CONTXTPEEK ); ossScopedLock _lock ( &_mutex, EXCLUSIVE ) ; SINT64 contextID = -1 ; std::set<SINT64>::const_iterator it ; if ( _contextList.empty() ) goto done ; it = _contextList.begin() ; contextID = (*it) ; _contextList.erase(it) ; done : PD_TRACE1 ( SDB__PMDEDUCB_CONTXTPEEK, PD_PACK_LONG(contextID) ); PD_TRACE_EXIT ( SDB__PMDEDUCB_CONTXTPEEK ); return contextID ; }
// PD_TRACE_DECLARE_FUNCTION ( SDB__DMSSU_TOTALSIZE, "_dmsStorageUnit::totalSize" ) INT64 _dmsStorageUnit::totalSize( UINT32 type ) const { INT64 totalSize = 0 ; const dmsStorageUnitHeader *dataHeader = NULL ; PD_TRACE_ENTRY ( SDB__DMSSU_TOTALSIZE ) ; if ( !_pDataSu || !_pIndexSu || !_pLobSu ) { goto done ; } if ( type & DMS_SU_DATA ) { dataHeader = _pDataSu->getHeader() ; totalSize += ( (INT64)( dataHeader->_storageUnitSize ) << _pDataSu->pageSizeSquareRoot() ) ; } if ( type & DMS_SU_INDEX ) { dataHeader = _pIndexSu->getHeader() ; totalSize += ( (INT64)( dataHeader->_storageUnitSize ) << _pDataSu->pageSizeSquareRoot() ) ; } if ( ( type & DMS_SU_LOB ) && _pLobSu->isOpened() ) { totalSize += ( (INT64)( _pLobSu->getHeader()->_storageUnitSize ) << _pLobSu->pageSizeSquareRoot() ) ; totalSize += _pLobSu->getLobData()->getFileSz() ; } done: PD_TRACE1 ( SDB__DMSSU_TOTALSIZE, PD_PACK_LONG ( totalSize ) ) ; PD_TRACE_EXIT ( SDB__DMSSU_TOTALSIZE ) ; return totalSize ; }