Tom Lane wrote:
> Vincenzo Romano <vincenzo.rom...@notorand.it> writes:
>   
>> I tried this:
>> tmp1=# CREATE DOMAIN real as numeric;
>> [ and got confused between this domain and the built-in "real" ]
>>     
>
>   
>> It looks like to me this is a bug and also the documentation seems to 
>> confirm:
>> "The domain name must be unique among the types and domains existing
>> in its schema."
>>     
>
> No bug.  The REAL keyword is treated as an alias for pg_catalog.float4,
> but even if it weren't an alias, it would exist in schema pg_catalog.
> Thus there is not a name conflict with your domain, which (I suppose)
> was created in the "public" schema.
>
>                       regards, tom lane
>
>   
Really, I can't see how quoting an identifier should change the
behaviour or resolved type.  In the non-quoted version it uses the
pg_catalog.float4 and in the quoted version it uses the domain.  This
doesn't seem right at all.  I would have expected it would reject both
t1 and t2 inserts on the basic real and "real" both map to
pg_catalog.float4.  The documentation indicates that pg_catalog is
always searched first.  If it is, the domain from public should always
use the pg_catalog version.

Russell

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

Reply via email to