Re: updates for handling optional argument in system functions

Tristan Partin <tristan@partin.io>

From: "Tristan Partin" <tristan@partin.io>
To: "Mark Wong" <markwkm@gmail.com>
Cc: <pgsql-hackers@lists.postgresql.org>
Date: 2026-06-05T21:04:34Z
Lists: pgsql-hackers
> 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.

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.

-- 
Tristan Partin
PostgreSQL Contributors Team
AWS (https://aws.amazon.com)



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Simplify creation of built-in functions with default arguments.