Unable to create an array of a domain

Поиск
Список
Период
Сортировка
От Mark Gibson
Тема Unable to create an array of a domain
Дата
Msg-id 4084FBF9.5020807@cromwell.co.uk
обсуждение исходный текст
Ответы Re: Unable to create an array of a domain  (Rod Taylor <pg@rbt.ca>)
Список pgsql-hackers
Hi,   I've recently been trying to make use of domains but have
encountered some violations of the rule of least surprise.
(PostgreSQL 7.4.2)

I couldn't create an array of a domain, eg:
   CREATE DOMAIN mydomain AS integer;
   CREATE TABLE mytable (       stuff   mydomain[]   );

results in:
   ERROR:  type "mydomain[]" does not exist

I noticed that the type '_mydomain' doesn't exist in pg_type, so I tried:
   CREATE DOMAIN _mydomain AS mydomain[];
   ERROR:  type "mydomain[]" does not exist

(hmmm, chicken/egg), so let's try:
   CREATE DOMAIN _mydomain AS integer[];

This worked, and now the create table statement above also works, and I can
insert into the table using the array input syntax too.

I have a few concerns though:

Is there any reason why a domain cannot use another domain as it's base 
type?
eg:   CREATE DOMAIN anotherdomain AS mydomain;
   ERROR:  "mydomain" is not a valid base type for a domain

And why isn't an array type created for a domain?
(Is there a way to create an array for a domain without resorting to an
array of the domain's base type?)

Cheers

-- 
Mark Gibson <gibsonm |AT| cromwell |DOT| co |DOT| uk>
Web Developer & Database Admin
Cromwell Tools Ltd.
Leicester, England.



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

Предыдущее
От: Karel Zak
Дата:
Сообщение: Re: pg_encoding not needed anymore
Следующее
От: Rod Taylor
Дата:
Сообщение: Re: Unable to create an array of a domain