On Dec 17, 2007 12:24 PM, Tom Lane <[EMAIL PROTECTED]> wrote:
> "robert lazarski" <[EMAIL PROTECTED]> writes:
> > Is there any way to get the above insert to work as is, via a function
> > or some other way? I tried the function of another poster but it seems
> > there is already a cast built in for 8.1.9 for integer to boolean, and
> > it didn't work for me on the above insert.
>
> You could mark the built-in cast as assignment-only (I wouldn't
> recommend setting it to implicit, as it's not clear what cases
> that might break).
>
> d1=# create table foo (f1 bool);
> CREATE TABLE
> d1=# insert into foo values(1);
> ERROR:  column "f1" is of type boolean but expression is of type integer
> HINT:  You will need to rewrite or cast the expression.
> d1=# update pg_cast set castcontext = 'a' where castsource = 'int'::regtype
> d1-# and casttarget = 'bool'::regtype;
> UPDATE 1
> d1=# insert into foo values(1);
> INSERT 0 1
>
> Unfortunately this is something you'd have to do over after any database
> reload, because pg_dump won't preserve changes to the definitions of
> built-in objects.
>
>                         regards, tom lane
>

Snoopy dance <http://www.google.com/search?q=snoopy+dance> :-) That
worked great!!!

Kind regards,
Robert

---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
       subscribe-nomail command to [EMAIL PROTECTED] so that your
       message can get through to the mailing list cleanly

Reply via email to