Re: updates for handling optional argument in system functions - Mailing list pgsql-hackers

From Mark Wong
Subject Re: updates for handling optional argument in system functions
Date
Msg-id airKicKeRJaaoMF5@ltdrgnflg2
Whole thread
In response to Re: updates for handling optional argument in system functions  ("Tristan Partin" <tristan@partin.io>)
Responses Re: updates for handling optional argument in system functions
List pgsql-hackers
On Fri, Jun 05, 2026 at 09:04:34PM +0000, Tristan Partin wrote:
> > Patch 1
> >
> > -  proargtypes => 'oid bool', prosrc => 'pg_get_ruledef_ext' },
> > +  proargtypes => 'oid bool', proargnames => '{rule,pretty}',
> > +  proargdefaults => '{false}',prosrc => 'pg_get_ruledef' },
> 
> There is a space missing before prosrc in the added line.
> 
> Other than that one comment, this looks good to me.

Oops, v8.1 attached to correct that white space.

> I am a little confused how proargdefaults works given the function takes 
> two arguments, but you only defined one default, so how does the parser 
> know that the false default is in reference to "pretty". I do see there 
> is other precedent for this pattern, so it is correct.

I believe that's handled in InsertOneProargdefaultsValue() in
src/backend/bootstrap/bootstrap.c, right below the comment:

   /* The values should correspond to the last N argtypes */

Regards,
Mark

Attachment

pgsql-hackers by date:

Previous
From: Fujii Masao
Date:
Subject: Re: Fix race in ReplicationSlotRelease for ephemeral slots
Next
From: m.litsarev@postgrespro.ru
Date:
Subject: Fix warning: ‘startpos’ may be used uninitialized in function ‘results_differ’