The old verbiage indicated that PG_RE_THROW is optional, which is not
really true. This has confused many people, so it seems worth fixing.
Discussion: https://postgr.es/m/
20190206160958[email protected]
* PG_END_TRY();
*
* (The braces are not actually necessary, but are recommended so that
- * pgindent will indent the construct nicely.) The error recovery code
- * can optionally do PG_RE_THROW() to propagate the same error outwards.
+ * pgindent will indent the construct nicely.) The error recovery code
+ * can either do PG_RE_THROW to propagate the error outwards, or do a
+ * (sub)transaction abort. Failure to do so may leave the system in an
+ * inconsistent state for further processing.
*
* Note: while the system will correctly propagate any new ereport(ERROR)
* occurring in the recovery section, there is a small limit on the number