From: | Joe Conway <mail(at)joeconway(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | "Patches (PostgreSQL)" <pgsql-patches(at)postgresql(dot)org> |
Subject: | Re: [HACKERS] Missing array support |
Date: | 2003-07-01 00:37:02 |
Message-ID: | 3F00D7AE.9090503@joeconway.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers pgsql-patches |
Tom Lane wrote:
> What I've done instead is not to weaken type checking, but simply to
> postpone all checking of the body of a SQL function to runtime if it
> has any polymorphic arguments. At runtime, we know the actual types
> for the arguments, and we know the actual assigned result type, and
> then we can run the normal checking operations without any problem.
As usual, big improvement in what I submitted. Thanks.
> Applied patch attached, just FYI. (It still needs documentation
> updates, which I trust you will supply later.)
Yup, you have my gold plated IOU on the doc cleanup for all this stuff.
One note; this change
> Oid
> ! get_fn_expr_rettype(FunctionCallInfo fcinfo)
> {
[snip]
> Oid
> ! get_fn_expr_rettype(FmgrInfo *flinfo)
> {
is a good example why some things, particularly PLs, are better off
being in the main source tree rather than on gborg (or someplace else).
PL/R uses get_fn_expr_rettype() and get_fn_expr_argtype(), so it's now
broken as of CVS tip :(
I know the license issue is the primary reason why PL/R is not in the
main source tree, but I bring it up because I think the tendency to push
things out and over to gborg has been too strong lately.
Joe
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2003-07-01 00:44:59 | Re: Dllist public/private part |
Previous Message | Tom Lane | 2003-07-01 00:15:12 | Re: [HACKERS] Missing array support |
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2003-07-01 00:49:42 | Re: [HACKERS] Missing array support |
Previous Message | Tom Lane | 2003-07-01 00:30:34 | Re: Patch for listing runtime option details through server executable (pg_guc) |