From: | David Johnston <polobo(at)yahoo(dot)com> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: type aliases |
Date: | 2014-02-15 15:57:44 |
Message-ID: | 1392479864641-5792207.post@n5.nabble.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
James Harper wrote
>>
>> You probably should define your domain like this:
>>
>> CREATE DOMAIN myvarchar varchar(42);
>>
>
> That's what I thought, so it won't do what I want. I need to be able to
> set the length at the time of declaration.
>
> So suppose I wanted to implement myvarchar in C. In my _in function, how
> do I know how big my column declaration is? Eg if someone tries to insert
> 50 characters into my 42 character field, how do I get the declared length
> and then tell postgres that the data to be inserted is too big?
>
> Thanks
>
> James
IMO. You are abusing the type system to implement things that should be
defined using CHECK constraints. If indeed you are working with string I
would avoid length-limited type mods and rely on checks/constraints. There
isn't any viable alternative for numeric scale/precision type modifiers
though :(
There is no current way for a function body to examine the type modifiers of
its input, domain or otherwise.
David J.
--
View this message in context: http://postgresql.1045698.n5.nabble.com/type-aliases-tp5792148p5792207.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2014-02-15 17:25:01 | Re: type aliases |
Previous Message | Clemens Eisserer | 2014-02-15 13:16:50 | Re: Will modifications to unlogged tables also be flused to disk? |