From: Heikki Linnakangas Date: Thu, 4 Mar 2010 09:40:01 +0000 (+0000) Subject: Fix IsBinaryCoercible to not confuse a cast using in/out functions X-Git-Tag: REL8_4_3~15 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ba8df78d9097365239b83befb9d1b1970f3ec15d;p=postgresql Fix IsBinaryCoercible to not confuse a cast using in/out functions with binary compatibility. Backpatch to 8.4 where INOUT casts were introduced. --- diff --git a/src/backend/parser/parse_coerce.c b/src/backend/parser/parse_coerce.c index 0aec4a850e..6a627a7cbe 100644 --- a/src/backend/parser/parse_coerce.c +++ b/src/backend/parser/parse_coerce.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/parser/parse_coerce.c,v 2.177 2009/06/11 14:49:00 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/parser/parse_coerce.c,v 2.177.2.1 2010/03/04 09:40:01 heikki Exp $ * *------------------------------------------------------------------------- */ @@ -1843,7 +1843,7 @@ IsBinaryCoercible(Oid srctype, Oid targettype) return false; /* no cast */ castForm = (Form_pg_cast) GETSTRUCT(tuple); - result = (castForm->castfunc == InvalidOid && + result = (castForm->castmethod == COERCION_METHOD_BINARY && castForm->castcontext == COERCION_CODE_IMPLICIT); ReleaseSysCache(tuple);