Amul Sul <sulamul@gmail.com> writes:
> [ v5_Add-RelationGetSmgr-inline-function.patch ]
Pushed with minor cosmetic adjustments.
RelationCopyStorage() kind of gives me the willies.
It's not really an smgr-level function, but we call it
everywhere with smgr pointers that belong to relcache entries:
/* copy main fork */
- RelationCopyStorage(rel->rd_smgr, dstrel, MAIN_FORKNUM,
+ RelationCopyStorage(RelationGetSmgr(rel), dstrel, MAIN_FORKNUM,
rel->rd_rel->relpersistence);
So that would fail hard if a relcache flush could occur inside
that function. It seems impossible today, so I settled for
just annotating the function to that effect. But it won't
surprise me a bit if somebody breaks it in future due to not
having read/understood the comment.
regards, tom lane