Search Postgresql Archives

Re: composite type and domain

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Scott Bailey wrote:
Grzegorz Jaśkiewicz wrote:
Why is it not possible to create domain on composite type ?

Consider the example, I got (a bytea, b timestamp, c timestamp). Where
b < c always, and both b and c have some default value, a can stay
null.
Now, I don't want to go berserk, and create aditional table for that,
because type is shared between two tables. But it would be nice, to be
able to create domain based on that type.
Any reasons I can't , or is it just something I do wrong?

That's on 8.3/8.4


I think Postgres' type system is as good any and better than most... even if it doesn't do what you are asking. They ALL have their problems.

What I do is handle it in the constructors. So if someone passes b > c it swaps them. It doesn't help for casts, so I'm careful to always use the constructors.

I wrote a couple articles about doing this in Postgres and Oracle on my blog.

http://scottrbailey.wordpress.com/2009/05/19/timespan-postgresql/

Scott

I was also thinking that if you wanted more of the domain behavior; your constructors could throw an exception rather than silently swapping b and c, as I chose to do.

Scott

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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux