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().