From: Tom Lane Date: Wed, 12 Dec 2001 03:28:49 +0000 (+0000) Subject: Don't accept names of complex types (ie, relation types) as being X-Git-Tag: REL7_2_BETA4~1 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=990eb8552e69a492840d46b58ceb630a8a295e54;p=postgresql Don't accept names of complex types (ie, relation types) as being requests for implicit trivial coercions. Prevents sillinesses like this one: regression=# select x.int8_tbl.q1 from int8_tbl x; ERROR: fmgr_info: function 270997776: cache lookup failed --- diff --git a/src/backend/parser/parse_func.c b/src/backend/parser/parse_func.c index 7a594df35d..7739185133 100644 --- a/src/backend/parser/parse_func.c +++ b/src/backend/parser/parse_func.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/parser/parse_func.c,v 1.114 2001/11/12 00:00:55 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/parser/parse_func.c,v 1.115 2001/12/12 03:28:49 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -1165,7 +1165,8 @@ func_get_detail(char *funcname, targetType = GetSysCacheOid(TYPENAME, PointerGetDatum(funcname), 0, 0, 0); - if (OidIsValid(targetType)) + if (OidIsValid(targetType) && + !ISCOMPLEX(targetType)) { Oid sourceType = argtypes[0]; Node *arg1 = lfirst(fargs);