Multiple anyelement types

Started by ITAGAKI Takahiroover 17 years ago2 messages
#1ITAGAKI Takahiro
itagaki.takahiro@oss.ntt.co.jp

I'm working on improvements of orafce.
http://pgfoundry.org/projects/orafce

I found postgres supports only one type of anyelement at one time
when I added nvl2() and decode(). I'd like to use multiple types of
anyelement something like:

template < typename Expr, typename Ret >
CREATE FUNCTION nvl(Expr, Ret, Ret) RETURNS Ret

template < typename Expr, typename Ret >
CREATE FUNCTION decode(Expr, Expr, Ret, ..., Ret) RETURNS Ret

I don't mean to propose the above C++-like syntax, but such feature
is important to develop a generic porting tool. Two independent
anyelements are enough for me, but three or more might be better
for general use.

What syntax is suitable for postgres? Comments welcome.

Regards,
---
ITAGAKI Takahiro
NTT Open Source Software Center

#2Pavel Stehule
pavel.stehule@gmail.com
In reply to: ITAGAKI Takahiro (#1)
Re: Multiple anyelement types

He

2008/8/11 ITAGAKI Takahiro <itagaki.takahiro@oss.ntt.co.jp>:

I'm working on improvements of orafce.
http://pgfoundry.org/projects/orafce

I found postgres supports only one type of anyelement at one time
when I added nvl2() and decode(). I'd like to use multiple types of
anyelement something like:

template < typename Expr, typename Ret >
CREATE FUNCTION nvl(Expr, Ret, Ret) RETURNS Ret

template < typename Expr, typename Ret >
CREATE FUNCTION decode(Expr, Expr, Ret, ..., Ret) RETURNS Ret

I don't mean to propose the above C++-like syntax, but such feature
is important to develop a generic porting tool. Two independent
anyelements are enough for me, but three or more might be better
for general use.

it's good idea - I though so 2 independent types are enough:
anyelement2, enyarray2. If you are C coder, you should use "any" type.

regards
Pavel Stehule

Show quoted text

What syntax is suitable for postgres? Comments welcome.

Regards,
---
ITAGAKI Takahiro
NTT Open Source Software Center

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers