"blah" is not a domain error

Lists: pgsql-bugs
From: "Jim C(dot) Nasby" <jnasby(at)pervasive(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: "blah" is not a domain error
Date: 2006-05-24 21:18:24
Message-ID: 20060524211823.GJ59464@pervasive.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-bugs

I know domain support is pretty broken, so maybe this is a known issue...

decibel=# create table test(m money);
CREATE TABLE
decibel=# insert into test values('-1.00');
INSERT 0 1
decibel=# alter domain money add check(money>0);
ERROR: "money" is not a domain
decibel=# drop domain money;
ERROR: "money" is not a domain
decibel=# \dD
List of domains
Schema | Name | Type | Modifier | Check
--------+------+------+----------+-------
(0 rows)

decibel=# \d test
Table "public.test"
Column | Type | Modifiers
--------+-------+-----------
m | money |

decibel=# create domain money as numeric(99,2);
ERROR: type "money" already exists
decibel=# select version();
version
-------------------------------------------------------------------------------------------------------------------------------------------------------
PostgreSQL 8.1.2 on powerpc-apple-darwin8.4.0, compiled by GCC powerpc-apple-darwin8-gcc-4.0.0 (GCC) 4.0.0 20041026 (Apple Computer, Inc. build 4061)
(1 row)

decibel=#
--
Jim C. Nasby, Sr. Engineering Consultant jnasby(at)pervasive(dot)com
Pervasive Software http://pervasive.com work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Jim C(dot) Nasby" <jnasby(at)pervasive(dot)com>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: "blah" is not a domain error
Date: 2006-05-24 21:29:34
Message-ID: 2279.1148506174@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-bugs

"Jim C. Nasby" <jnasby(at)pervasive(dot)com> writes:
> I know domain support is pretty broken, so maybe this is a known issue...

What are you concerned about exactly? It looks perfectly reasonable
to me. "money" is a base type not a domain.

regards, tom lane


From: "Jim C(dot) Nasby" <jnasby(at)pervasive(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: "blah" is not a domain error
Date: 2006-05-26 21:44:29
Message-ID: 20060526214429.GZ59464@pervasive.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-bugs

On Wed, May 24, 2006 at 05:29:34PM -0400, Tom Lane wrote:
> "Jim C. Nasby" <jnasby(at)pervasive(dot)com> writes:
> > I know domain support is pretty broken, so maybe this is a known issue...
>
> What are you concerned about exactly? It looks perfectly reasonable
> to me. "money" is a base type not a domain.

Oops... I thought we'd removed it.

Shouldn't it be an error to create a domain that conflicts with an existing
type?

bench=# create domain money as numeric(21,2);
CREATE DOMAIN
bench=# drop domain money;
ERROR: "money" is not a domain
bench=# create domain money as numeric(21,2);
ERROR: type "money" already exists
bench=# select version();
version
------------------------------------------------------------------------------------------------------
PostgreSQL 8.2devel on x86_64-unknown-freebsd6.0, compiled by GCC gcc (GCC) 3.4.4 [FreeBSD] 20050518
(1 row)

bench=#
--
Jim C. Nasby, Sr. Engineering Consultant jnasby(at)pervasive(dot)com
Pervasive Software http://pervasive.com work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461


From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Jim C(dot) Nasby" <jnasby(at)pervasive(dot)com>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: "blah" is not a domain error
Date: 2006-05-26 23:24:50
Message-ID: 2603.1148685890@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-bugs

"Jim C. Nasby" <jnasby(at)pervasive(dot)com> writes:
> Shouldn't it be an error to create a domain that conflicts with an existing
> type?

It is, if you create it in the same schema. "money", along with all the
other built-in types, is in pg_catalog not public.

regards, tom lane