Re: concerns around pg_lsn - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: concerns around pg_lsn
Date
Msg-id 20190801082113.GA1608@paquier.xyz
Whole thread Raw
In response to Re: concerns around pg_lsn  (Jeevan Ladhe <jeevan.ladhe@enterprisedb.com>)
Responses Re: concerns around pg_lsn  (Jeevan Ladhe <jeevan.ladhe@enterprisedb.com>)
List pgsql-hackers
On Thu, Aug 01, 2019 at 12:39:26PM +0530, Jeevan Ladhe wrote:
> Here is a patch that takes care of addressing the flag issue including
> pg_lsn_in_internal() and others.

Your original patch for pg_lsn_in_internal() was right IMO, and the
new one is not.  In the numeric and float code paths, we have this
kind of pattern:
if (have_error)
{
    *have_error = true;
    return;
}
else
    elog(ERROR, "Boom. Show is over.");

But the pg_lsn.c portion does not have that.  have_error cannot be
NULL or the caller may fall into the trap of setting it to NULL and
miss some errors at parsing-time.  So I think that keeping the
assertion on (have_error != NULL) is necessary.
--
Michael

Attachment

pgsql-hackers by date:

Previous
From: Konstantin Knizhnik
Date:
Subject: Re: Global temporary tables
Next
From: Thomas Munro
Date:
Subject: Re: Proposal to suppress errors thrown by to_reg*()