Re: Another issue in default-values patch: defaults expanded too soon

From: "Robert Haas" <robertmhaas(at)gmail(dot)com>
To: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Another issue in default-values patch: defaults expanded too soon
Date: 2008-12-17 04:00:31
Message-ID: 603c8f070812162000i29496a6at2188ac498cad6d86@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Dec 16, 2008 at 9:18 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> "Robert Haas" <robertmhaas(at)gmail(dot)com> writes:
>> I wonder whether the whole architecture is wrong here. Perhaps when a
>> function is created with N arguments of which M have default values,
>> we should actually create M entries in pg_proc: one for each possible
>> number of arguments from N-M up through N.
>
> That's been considered and rejected before, in the context of the
> variadic-function patch which has a lot of the same issues. What it
> mostly does is bloat pg_proc.

Only if you have a large number of functions with a large number of
optional arguments each. That's possible, I suppose, but it hardly
seems likely, or worth worrying about.

>> I think this would kill all of the problems reported thus far at one
>> blow.
>
> No, it doesn't resolve any of them ... particularly not the ones
> associated with defaults for polymorphics.

I think that's hyperbole. You would probably still need to forbid
non-polymorphic defaults for polymorphic parameters (you might be able
to make NULL work, and maybe the empty array for anyarray... not
sure), but I think that most of the other issues you raised would be
addressed by my proposal. You may hate it anyway; I'm OK with that.
:-)

...Robert

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2008-12-17 04:03:06 Re: Variadic parameters vs parameter defaults
Previous Message Brendan Jurd 2008-12-17 03:43:53 Re: Variadic parameters vs parameter defaults