Fix misleading PG_RE_THROW commentary
authorAlvaro Herrera <[email protected]>
Mon, 11 Feb 2019 18:55:09 +0000 (15:55 -0300)
committerAlvaro Herrera <[email protected]>
Mon, 11 Feb 2019 18:56:09 +0000 (15:56 -0300)
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]

src/include/utils/elog.h

index 648eedf5af7d4a8b845054441e3d891d7ce32583..7ac37fd270e9c283a6dbce0bd758e6586c6c8da7 100644 (file)
@@ -272,8 +272,10 @@ extern PGDLLIMPORT ErrorContextCallback *error_context_stack;
  *     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