| 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: | Whole Thread | Raw Message | 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) |