* As mentioned in comments in utils/rel.h, the in-same-transaction test
- * is not completely reliable, since in rare cases rd_createSubid or
- * rd_newRelfilenodeSubid can be cleared before the end of the transaction.
+ * is not always set correctly, since in rare cases rd_newRelfilenodeSubid
+ * can be cleared before the end of the transaction. The exact case is
+ * when a relation sets a new relfilenode twice in same transaction, yet
+ * the second one fails in an aborted subtransaction, e.g.
* However this is OK since at worst we will fail to make the optimization.
* Also, if the target file is new-in-transaction, we assume that checking
* which subtransaction created it is crucial for correctness
- * Note that because the test is unreliable in case of relcache reset
- * we cannot guarantee that we can honour the request to FREEZE.
- * If we cannot honour the request we do so silently, firstly to
- * avoid noise for the user and also to avoid obscure test failures.
+ * As noted above rd_newRelfilenodeSubid is not set in all cases
+ * where we can apply the optimization, so in those rare cases
+ * where we cannot honour the request we do so silently.