mirror of
				https://github.com/postgres/postgres.git
				synced 2025-10-28 11:55:03 +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:
		| @@ -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. |  * ereport()s on failure. | ||||||
|  */ |  */ | ||||||
| int64 | int64 | ||||||
| @@ -867,8 +867,6 @@ BufFileSize(BufFile *file) | |||||||
| { | { | ||||||
| 	int64		lastFileSize; | 	int64		lastFileSize; | ||||||
|  |  | ||||||
| 	Assert(file->fileset != NULL); |  | ||||||
|  |  | ||||||
| 	/* Get the size of the last physical file. */ | 	/* Get the size of the last physical file. */ | ||||||
| 	lastFileSize = FileSize(file->files[file->numFiles - 1]); | 	lastFileSize = FileSize(file->files[file->numFiles - 1]); | ||||||
| 	if (lastFileSize < 0) | 	if (lastFileSize < 0) | ||||||
| @@ -883,8 +881,7 @@ BufFileSize(BufFile *file) | |||||||
| } | } | ||||||
|  |  | ||||||
| /* | /* | ||||||
|  * Append the contents of source file (managed within fileset) to |  * Append the contents of the source file to the end of the target file. | ||||||
|  * end of target file (managed within same fileset). |  | ||||||
|  * |  * | ||||||
|  * Note that operation subsumes ownership of underlying resources from |  * Note that operation subsumes ownership of underlying resources from | ||||||
|  * "source".  Caller should never call BufFileClose against source having |  * "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			newNumFiles = target->numFiles + source->numFiles; | ||||||
| 	int			i; | 	int			i; | ||||||
|  |  | ||||||
| 	Assert(target->fileset != NULL); |  | ||||||
| 	Assert(source->readOnly); | 	Assert(source->readOnly); | ||||||
| 	Assert(!source->dirty); | 	Assert(!source->dirty); | ||||||
| 	Assert(source->fileset != NULL); |  | ||||||
|  |  | ||||||
| 	if (target->resowner != source->resowner) | 	if (target->resowner != source->resowner) | ||||||
| 		elog(ERROR, "could not append BufFile with non-matching resource owner"); | 		elog(ERROR, "could not append BufFile with non-matching resource owner"); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user