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
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 |