I think actually what he needs is what Peter suggested upthread, namely to weaken the context-restriction on the int-to-bool cast.
Indeed... Peter's suggestion seems to have solved all my problems. So even though it probably shows just how embarrassingly bad my sql is... update pg_cast set castcontext = 'i' where (castsource = (select oid from pg_type where typname = 'bool') and casttarget = (select oid from pg_type where typname = 'int4')) or (castsource = (select oid from pg_type where typname = 'int4') and casttarget = (select oid from pg_type where typname = 'bool')) For the archives. Thanks to everyone. Anton ps. This is probably only for situations where it is absolutely necessary... but I am now passing my nunit tests! :-)