"blah" is not a domain error

Started by Jim Nasbyalmost 20 years ago4 messagesbugs
Jump to latest
#1Jim Nasby
Jim.Nasby@BlueTreble.com

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@pervasive.com
Pervasive Software http://pervasive.com work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Jim Nasby (#1)
Re: "blah" is not a domain error

"Jim C. Nasby" <jnasby@pervasive.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

#3Jim Nasby
Jim.Nasby@BlueTreble.com
In reply to: Tom Lane (#2)
Re: "blah" is not a domain error

On Wed, May 24, 2006 at 05:29:34PM -0400, Tom Lane wrote:

"Jim C. Nasby" <jnasby@pervasive.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@pervasive.com
Pervasive Software http://pervasive.com work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461

#4Tom Lane
tgl@sss.pgh.pa.us
In reply to: Jim Nasby (#3)
Re: "blah" is not a domain error

"Jim C. Nasby" <jnasby@pervasive.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