Questions on domain on composite / casts ignoring domains

Started by Jim Nasbyabout 11 years ago2 messages
#1Jim Nasby
Jim.Nasby@BlueTreble.com

I'm trying to create what amounts to a new type. This would be rather easy if I could perform a CHECK on a composite type, which I could do if I could create a domain on top of a composite. Is there any reason in particular that hasn't been done?

As an alternative, I tried accomplishing this with a straight domain. That would work, except for this:

WARNING: cast will be ignored because the source data type is a domain

Why do we ignore casts from domains to other data types? I'm guessing because it's simply not what domains were meant for?
--
Jim Nasby, Data Architect, Blue Treble Consulting
Data in Trouble? Get it in Treble! http://BlueTreble.com

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#2David G Johnston
david.g.johnston@gmail.com
In reply to: Jim Nasby (#1)
Re: Questions on domain on composite / casts ignoring domains

Jim Nasby-5 wrote

I'm trying to create what amounts to a new type. This would be rather easy
if I could perform a CHECK on a composite type, which I could do if I
could create a domain on top of a composite. Is there any reason in
particular that hasn't been done?

As an alternative, I tried accomplishing this with a straight domain. That
would work, except for this:

WARNING: cast will be ignored because the source data type is a domain

Why do we ignore casts from domains to other data types? I'm guessing
because it's simply not what domains were meant for?

A domain is a base type with a constraint. When you cast you already know
the existing value is valid and the system simply uses the cast available
for the base type instead. i.e., You cannot have a domain with a different
cast rule than the base type over which it is defined.

Likely the lack of capability is simply a matter of complexity in the face
of somewhat uncommon usage and limited resources.

David J.

--
View this message in context: http://postgresql.1045698.n5.nabble.com/Questions-on-domain-on-composite-casts-ignoring-domains-tp5823745p5823763.html
Sent from the PostgreSQL - hackers mailing list archive at Nabble.com.

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers