Re: updates for handling optional argument in system functions

From: Mark Wong <markwkm(at)gmail(dot)com>
To: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: Re: updates for handling optional argument in system functions
Date: 2026-01-20 18:15:13
Message-ID: aW_GMVYZqGnebYLE@o
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi everyone,

On Tue, Dec 09, 2025 at 03:28:59PM -0800, Mark Wong wrote:
> Hi everyone,
>
> I noticed how it was preferred to define optional arguments with the
> system functions in system_functions.sql instead of defining them in
> pg_proc.dat.
>
> I took a gross stab at updating the ones that ended in _ext, which
> turned out to be 7 declarations across 6 system functions, and created a
> patch per system function, hoping it would be easier to review.
>
> Perhaps the most interesting thing to share is the total reduction of
> the lines of code, although system_functions.sql only grows:
>
> src/backend/catalog/system_functions.sql | 49 ++++++++
> src/backend/utils/adt/ruleutils.c | 130 ----------------------
> src/include/catalog/pg_proc.dat | 36 ++----
> 3 files changed, 56 insertions(+), 159 deletions(-)
>
>
> Is that something we want?

I fixed an error caught by the address sanitizer in CI [1] and am uploading a
new patchset. The only change is to 2 lines in
v2-0005-Handle-pg_get_expr-default-args-in-system_functio.patch to update a
call to pg_get_expr with the correct number of arguments in tablecmds.c.

Regards,
Mark

[1] https://cirrus-ci.com/task/6109065824174080
--
Mark Wong <markwkm(at)gmail(dot)com>
EDB https://enterprisedb.com

Attachment Content-Type Size
v2-0001-Handle-pg_get_ruledef-default-args-in-system_func.patch text/x-diff 3.1 KB
v2-0002-Handle-pg_get_viewdef-default-args-in-system_func.patch text/x-diff 4.5 KB
v2-0003-Handle-pg_get_indexdef-default-args-in-system_fun.patch text/x-diff 3.3 KB
v2-0004-Handle-pg_get_constraintdef-default-args-in-syste.patch text/x-diff 3.2 KB
v2-0005-Handle-pg_get_expr-default-args-in-system_functio.patch text/x-diff 3.8 KB
v2-0006-Handle-pg_get_triggerdef-default-args-in-system_f.patch text/x-diff 3.0 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2026-01-20 18:31:53 Re: Can we remove support for standard_conforming_strings = off yet?
Previous Message Jacob Champion 2026-01-20 18:02:16 Re: Custom oauth validator options