On Wed, Jun 01, 2022 at 01:06:21PM -0400, Tom Lane wrote:
> Zhihong Yu <z...@yugabyte.com> writes:
>> It seems the variable can be initialized to the value of GUCNestLevel since
>> later in the func:
>>     /* Roll back any GUC changes executed by index functions */
>>     AtEOXact_GUC(false, save_nestlevel);
> 
> That seems pretty inappropriate.  If, thanks to some future thinko,
> control were able to reach the AtEOXact_GUC call despite not having
> called NewGUCNestLevel, we'd want that to fail.

+1

> It looks like
> AtEOXact_GUC asserts nestLevel > 0, so that either 0 or -1 would
> do as an "invalid" value; I'd lean a bit to using 0.

I only chose -1 to follow a117ceb's example in amcheck.  I have no
preference.

-- 
Nathan Bossart
Amazon Web Services: https://aws.amazon.com


Reply via email to