mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Improve error messages in md.c. When a filesystem operation like open() or
fsync() fails, say "file" rather than "relation" when printing the filename. This makes messages that display block numbers a bit confusing. For example, in message 'could not read block 150000 of file "base/1234/5678.1"', 150000 is the block number from the beginning of the relation, ie. segment 0, not 150000th block within that segment. Per discussion, users aren't usually interested in the exact location within the file, so we can live with that. To ease constructing error messages, add FilePathName(File) function to return the pathname of a virtual fd.
This commit is contained in:
@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/storage/file/fd.c,v 1.149 2009/06/11 14:49:01 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/storage/file/fd.c,v 1.150 2009/08/05 18:01:54 heikki Exp $
|
||||
*
|
||||
* NOTES:
|
||||
*
|
||||
@ -1319,6 +1319,20 @@ FileTruncate(File file, off_t offset)
|
||||
return returnCode;
|
||||
}
|
||||
|
||||
/*
|
||||
* Return the pathname associated with an open file.
|
||||
*
|
||||
* The returned string points to an internal buffer, which is valid until
|
||||
* the file is closed.
|
||||
*/
|
||||
char *
|
||||
FilePathName(File file)
|
||||
{
|
||||
Assert(FileIsValid(file));
|
||||
|
||||
return VfdCache[file].fileName;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Routines that want to use stdio (ie, FILE*) should use AllocateFile
|
||||
|
Reference in New Issue
Block a user