1
0
mirror of https://github.com/postgres/postgres.git synced 2025-05-03 22:24:49 +03:00

Remove incorrect Asserts in buffile.c

Both BufFileSize() and BufFileAppend() contained Asserts to ensure the
given BufFile(s) had a valid fileset.  A valid fileset isn't required in
either of these functions, so remove the Asserts and adjust the
comments accordingly.

This was noticed while work was being done on a new patch to call
BufFileSize() on a BufFile without a valid fileset.  It seems there's
currently no code in the tree which could trigger these Asserts, so no
need to backpatch this, for now.

Reviewed-by: Peter Geoghegan, Matthias van de Meent, Tom Lane
Discussion: https://postgr.es/m/CAApHDvofgZT0VzydhyGH5MMb-XZzNDqqAbzf1eBZV5HDm3%2BosQ%40mail.gmail.com
This commit is contained in:
David Rowley 2024-07-04 09:44:34 +12:00
parent 2329cad1b9
commit 4331a11c62

View File

@ -857,9 +857,9 @@ BufFileSeekBlock(BufFile *file, int64 blknum)
}
/*
* Return the current fileset based BufFile size.
* Returns the amount of data in the given BufFile, in bytes.
*
* Counts any holes left behind by BufFileAppend as part of the size.
* Returned value includes the size of any holes left behind by BufFileAppend.
* ereport()s on failure.
*/
int64
@ -867,8 +867,6 @@ BufFileSize(BufFile *file)
{
int64 lastFileSize;
Assert(file->fileset != NULL);
/* Get the size of the last physical file. */
lastFileSize = FileSize(file->files[file->numFiles - 1]);
if (lastFileSize < 0)
@ -883,8 +881,7 @@ BufFileSize(BufFile *file)
}
/*
* Append the contents of source file (managed within fileset) to
* end of target file (managed within same fileset).
* Append the contents of the source file to the end of the target file.
*
* Note that operation subsumes ownership of underlying resources from
* "source". Caller should never call BufFileClose against source having
@ -908,10 +905,8 @@ BufFileAppend(BufFile *target, BufFile *source)
int newNumFiles = target->numFiles + source->numFiles;
int i;
Assert(target->fileset != NULL);
Assert(source->readOnly);
Assert(!source->dirty);
Assert(source->fileset != NULL);
if (target->resowner != source->resowner)
elog(ERROR, "could not append BufFile with non-matching resource owner");