AW: AW: SQL99 functions

From: Zeugswetter Andreas SB <ZeugswetterA(at)wien(dot)spardat(dot)at>
To: "'Tom Lane'" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Thomas Lockhart <lockhart(at)alumni(dot)caltech(dot)edu>, Hackers List <pgsql-hackers(at)postgresql(dot)org>
Subject: AW: AW: SQL99 functions
Date: 2000-06-28 08:16:16
Message-ID: 219F68D65015D011A8E000006F8590C605BA59A1@sdexcsrv1.f000.d0188.sd.spardat.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


> Zeugswetter Andreas SB <ZeugswetterA(at)wien(dot)spardat(dot)at> writes:
> >> Thomas Lockhart <lockhart(at)alumni(dot)caltech(dot)edu> writes:
> >>>> create table t1 (x int);
> >>>> create function foo (out int) returns int as ...;
> >>>> select foo(x) from t1;
> >>
> >>>> will give two columns for the result.
> >>
> >> You've *got* to be kidding.
> >>
> >> To name just one problem with that, where do I put an AS to relabel
> >> the extra column?
>
> > It gets the name of the variable ( here "out"), no way to rename it,
> > but no problem since you can name the variable however you like.
>
> What? OUT is a keyword there; I don't see any explicit name for the
> function's formal parameter at all.

To not look *that* stupid the mistake I made was:
I thought the parameter name was not optional

The default for in|out|"in out" is "in" thus I read the function as foo
("out" IN int)
(of course if it was an IN var it does'nt produce an out column and
thus need no label, mistake 2)

In Oracle the syntax is:
varname [IN|OUT|IN OUT] type

Andreas

Browse pgsql-hackers by date

  From Date Subject
Next Message Zeugswetter Andreas SB 2000-06-28 08:26:22 AW: AW: Proposal: More flexible backup/restore via pg_d ump
Previous Message Zeugswetter Andreas SB 2000-06-28 07:48:54 AW: Big 7.1 open items