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:
parent
4b7ec2fe29
commit
8f082b0532
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user