"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 ---------------------------(end of broadcast)--------------------------- TIP 6: explain analyze is your friend