Type modifiers for DOMAIN

Takahiro Itagaki <itagaki.takahiro@oss.ntt.co.jp>

From: Takahiro Itagaki <itagaki.takahiro@oss.ntt.co.jp>
To: pgsql-hackers@postgresql.org
Date: 2010-01-06T06:12:13Z
Lists: pgsql-hackers
Hi,

I'm trying to use DOMAIN as just synonym types for database migration.
For example,
    =# CREATE DOMAIN varchar2 AS pg_catalog.varchar;
    =# CREATE DOMAIN number AS pg_catalog.numeric;

Domains were created successfully, but I cannot use type modifiers for them.
    =# CREATE TABLE tbl (v varchar2(10));
    ERROR:  type modifier is not allowed for type "varchar2"

What reason do we have not to inherit typmodin/typmodout from the base type?
I found a comment in DefineDomain(),
    /* Domains never accept typmods, so no typmodin/typmodout needed */
but can we relax the restriction? This feature would be useful for migration
from other DBMSes that have non-standard data types.

Regards,
---
Takahiro Itagaki
NTT Open Source Software Center