| From: | Thomas Hallgren <thomas(at)tada(dot)se> | 
|---|---|
| To: | Martijn van Oosterhout <kleptog(at)svana(dot)org> | 
| Cc: | Stefan Kaltenbrunner <stefan(at)kaltenbrunner(dot)cc>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> | 
| Subject: | Re: Number of dimensions of an array parameter | 
| Date: | 2006-05-08 20:06:18 | 
| Message-ID: | 445FA4BA.2010203@tada.se | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
Martijn van Oosterhout wrote:
> On Mon, May 08, 2006 at 07:31:14PM +0200, Thomas Hallgren wrote:
>   
>> Would it be hard to enforce a real check? The implementation could use 
>> GUC settings like 'enforce_array_dimensions' and 'enforce_array_lengths' 
>> that could be set to false for the legacy implementations that rely on 
>> the current behavior. I know Tom added the ability to have NULL values 
>> in the arrays. Perhaps now is the time to improve the type semantics as 
>> well?
>>     
>
> The big probem is where do you store the number of declared dimensions?
> It's not stored anywhere, so there's nowhere to check against either.
> If we can fix that first we might get to the checking part.
>
> test=# create function foo(int[][]) returns int4 as 'select 1' language sql;
> CREATE FUNCTION
> test=# \df foo
>                    List of functions
>  Result data type | Schema | Name | Argument data types 
> ------------------+--------+------+---------------------
>  integer          | public | foo  | integer[]
> (1 row)
>
>   
Let each type have it's own entry in pg_type. I.e. let the int[] and 
int[][] be two distinct types (like int and int[] already are). In 
addition, perhaps introduce a new syntax that denotes 'arbitrary number 
of dimensions' and let that too be a distinct type.
Regards,
Thomas Hallgren
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2006-05-08 20:08:40 | Re: performance question (something to do w/ parameterized | 
| Previous Message | Tom Lane | 2006-05-08 19:58:29 | Re: intarray internals |