[DOCS] User defined type without single quotes

2013-04-04 Thread Rodrigo Barboza
Hello.
I defined a new type to represent an unsigned int, but when I try do run a
query it complains because it is not quoted and casted to my type.

Suppose I have a table:

-- my_uint32 is my new type
CREATE TABLE test (a my_uin32);

If I try to run this insert, postgres complain about the type:
INSERT INTO teste (a) VALUES (10);

But this one works:
NSERT INTO teste (a) VALUES ('10'::my_uint);

Is there a way to avoid the single quotes?


Re: [DOCS] User defined type without single quotes

2013-04-13 Thread Rodrigo Barboza
Thank you, Peter!


On Sat, Apr 13, 2013 at 10:06 AM, Peter Eisentraut  wrote:

> On Thu, 2013-04-04 at 19:50 -0300, Rodrigo Barboza wrote:
> > -- my_uint32 is my new type
> > CREATE TABLE test (a my_uin32);
> >
> > If I try to run this insert, postgres complain about the type:
> > INSERT INTO teste (a) VALUES (10);
> >
> > But this one works:
> > NSERT INTO teste (a) VALUES ('10'::my_uint);
> >
> > Is there a way to avoid the single quotes?
> >
> A constant like 10 is initially assigned one of the integer types (the
> exact rules are in the documentation).  In order to be able to store
> that into a column of a custom type, you need to define a cast between
> the integer type and your type with at least assignment context.
>
>