From: | Peter Eisentraut <Peter(dot)Eisentraut(at)Sun(dot)COM> |
---|---|
To: | PG Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Distinct types |
Date: | 2008-10-31 12:37:28 |
Message-ID: | 490AFC08.8040500@Sun.COM |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Here is an implementation of distinct types, known from SQL99 and
beyond. They are like domains, except that they don't have defaults or
constraints and they do not allow implicit casting to their base type.
The latter aspect is what makes them distinct types. They are useful to
create more type-safe database schemas, to prevent using generic types
such as text or int for everything and then mixing them in inappropriate
ways. This is something domains are not useful for. Much of the
internals are shared with domains nevertheless. The difference is
really only the casting behavior.
To create a distinct type, just run
CREATE TYPE mystring AS text;
Attachment | Content-Type | Size |
---|---|---|
distinct-types.diff | text/plain | 20.4 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Heikki Linnakangas | 2008-10-31 13:15:35 | Re: Synchronous replication patch v1 |
Previous Message | Sam Mason | 2008-10-31 12:19:54 | Re: array_agg and array_accum (patch) |