Subject: User defined type without single quotes

From: Rodrigo Barboza <[email-masked]>
Date: Thu, 4 Apr 2013 19:50:49 -0300

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?

---

From: Peter Eisentraut <[email-masked]>
Date: Sat, 13 Apr 2013 09:06:43 -0400

> 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.

-- 
Sent via pgsql-docs mailing list ([email-masked])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-docs

---

From: Rodrigo Barboza <[email-masked]>
Date: Sat, 13 Apr 2013 14:23:14 -0300

Thank you, Peter!