Commit 3bdede39 authored by Heikki Linnakangas's avatar Heikki Linnakangas

Fix IsBinaryCoercible to not confuse a cast using in/out functions

with binary compatibility.

Backpatch to 8.4 where INOUT casts were introduced.
parent 0ea0afa4
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
* *
* *
* IDENTIFICATION * IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/parser/parse_coerce.c,v 2.181 2010/02/26 02:00:52 momjian Exp $ * $PostgreSQL: pgsql/src/backend/parser/parse_coerce.c,v 2.182 2010/03/04 09:39:53 heikki Exp $
* *
*------------------------------------------------------------------------- *-------------------------------------------------------------------------
*/ */
...@@ -1792,7 +1792,7 @@ IsBinaryCoercible(Oid srctype, Oid targettype) ...@@ -1792,7 +1792,7 @@ IsBinaryCoercible(Oid srctype, Oid targettype)
return false; /* no cast */ return false; /* no cast */
castForm = (Form_pg_cast) GETSTRUCT(tuple); castForm = (Form_pg_cast) GETSTRUCT(tuple);
result = (castForm->castfunc == InvalidOid && result = (castForm->castmethod == COERCION_METHOD_BINARY &&
castForm->castcontext == COERCION_CODE_IMPLICIT); castForm->castcontext == COERCION_CODE_IMPLICIT);
ReleaseSysCache(tuple); ReleaseSysCache(tuple);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment