aboutsummaryrefslogtreecommitdiff
path: root/src/backend/parser/parse_func.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2001-12-12 03:28:49 +0000
committerTom Lane <tgl@sss.pgh.pa.us>2001-12-12 03:28:49 +0000
commit990eb8552e69a492840d46b58ceb630a8a295e54 (patch)
tree0b6b2ae2c18515057dca789570ccf19e4b82071a /src/backend/parser/parse_func.c
parent3dd85bcb08440bae6210114124aa0002a83c957c (diff)
downloadpostgresql-990eb8552e69a492840d46b58ceb630a8a295e54.tar.gz
postgresql-990eb8552e69a492840d46b58ceb630a8a295e54.zip
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
Diffstat (limited to 'src/backend/parser/parse_func.c')
-rw-r--r--src/backend/parser/parse_func.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/backend/parser/parse_func.c b/src/backend/parser/parse_func.c
index 7a594df35d4..77391851338 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);