Re: Number of dimensions of an array parameter

Поиск
Список
Период
Сортировка
От Thomas Hallgren
Тема Re: Number of dimensions of an array parameter
Дата
Msg-id 445FA4BA.2010203@tada.se
обсуждение исходный текст
Ответ на Re: Number of dimensions of an array parameter  (Martijn van Oosterhout <kleptog@svana.org>)
Список 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





В списке pgsql-hackers по дате отправления:

Предыдущее
От: Thomas Hallgren
Дата:
Сообщение: Re: Number of dimensions of an array parameter
Следующее
От: Peter Eisentraut
Дата:
Сообщение: Re: Remove behaviour of postmaster -o