From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Hannu Krosing <hannu(at)tm(dot)ee> |
Cc: | Joe Conway <mail(at)joeconway(dot)com>, "Hackers (PostgreSQL)" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: SQL99 ARRAY support proposal |
Date: | 2003-03-10 14:49:47 |
Message-ID: | 17166.1047307787@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers pgsql-patches |
Hannu Krosing <hannu(at)tm(dot)ee> writes:
> Joe Conway kirjutas E, 10.03.2003 kell 05:35:
>> CREATE OR REPLACE FUNCTION array_push (anyarray, anyscalar)
>> RETURNS anyarray
> could you make it
> RETURNS typeof($1)
Not directly --- we have to fit the return-type info into an OID field.
We could fake it by inventing one or more pseudotypes, "SAMEASPARAMn".
But I think I like better the notion of extending my bound-together-
ANYARRAY-and-ANYELEMENT proposal,
http://archives.postgresql.org/pgsql-hackers/2003-03/msg00319.php
Suppose that we do that, and then further say that ANYARRAY or
ANYELEMENT appearing as the return type implies that the return type
is actually the common element or array type. Then we have such
useful behaviors as:
array_push(anyarray, anyelement) returns anyarray
array_pop(anyarray) returns anyelement
array_subscript(anyarray, int) yields anyelement
singleton_array(anyelement) yields anyarray
The last three cases cannot be handled by a SAMEASPARAM construct.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Justin Clift | 2003-03-10 14:51:32 | Re: Who puts the Windows binaries on the FTP server? |
Previous Message | Tom Lane | 2003-03-10 14:40:55 | Re: Cursors and backwards scans and SCROLL |
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2003-03-10 15:45:35 | Re: String changes |
Previous Message | Hannu Krosing | 2003-03-10 06:57:53 | Re: SQL99 ARRAY support proposal |