Logo Search packages:      
Sourcecode: maxdb-7.5.00 version File versions

virtual void Converter_IPageNoManager::HandleDBFull ( tgg00_TransContext &  Trans,
SAPDB_UInt  NumDataPagesRequested 
) [pure virtual]

Checks if the required count of pages is available. Note this function does not reserve any number of pages for this tasks, i.e. the information that a particular number is available is dirty and may be even false, when this task really tries to get wanted number of free pages.

Trans [in|out] transaction context
NumDataPagesRequested [in] number of pages wanted data base to gain free pages
  • If the required count of pages is not available, the task is suspended and waits until the wanted number of pages is available.
  • Sometimes tasks cannot be suspended since this could cause dead locks.
  • If a db full situation is detected and the calling task has a hugh number number of temporary pages consumed the error code e_no_more_temp_space is set to force a rollback. I fthe task is already in rollback state no error code is set.
  • If the db full occur during restart no suspend is made. Instead of that the error code e_no_more_perm_space is set.
  • In case of db full the cancel flag is checked and the error e_canceld might occur.

Implemented in Converter_Converter.

Referenced by bd999CheckSpace(), and Data_PageAccessManager::CheckSpace().

Generated by  Doxygen 1.6.0   Back to index