8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-23 06:43:04 +01:00

Gstat will have problems if it has to seek to a db page beyond 4GB from BOF, because we detect a problem that didn't happen. I put the check that appears in my old VC6 MSDN examples and that matches Vulcan's logic.

This commit is contained in:
robocop 2005-09-26 08:43:49 +00:00
parent 4b7ec2fe29
commit 8f082b0532

View File

@ -1485,13 +1485,17 @@ static const pag* db_read( SLONG page_number)
(fil->fil_desc, (LONG) liOffset.LowPart, &liOffset.HighPart, (fil->fil_desc, (LONG) liOffset.LowPart, &liOffset.HighPart,
FILE_BEGIN) == (DWORD) -1) FILE_BEGIN) == (DWORD) -1)
{ {
int lastError = GetLastError();
if (lastError != NO_ERROR)
{
#ifdef SERVICE_THREAD #ifdef SERVICE_THREAD
CMD_UTIL_put_svc_status(tddba->dba_service_blk->svc_status, CMD_UTIL_put_svc_status(tddba->dba_service_blk->svc_status,
GSTAT_MSG_FAC, 30, GSTAT_MSG_FAC, 30,
0, NULL, 0, NULL, 0, NULL, 0, NULL, 0, NULL); 0, NULL, 0, NULL, 0, NULL, 0, NULL, 0, NULL);
// msg 30: Can't read a database page // msg 30: Can't read a database page
#endif #endif
db_error(GetLastError()); db_error(lastError);
}
} }
SLONG actual_length; SLONG actual_length;