diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2001-12-12 03:28:49 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2001-12-12 03:28:49 +0000 |
commit | 990eb8552e69a492840d46b58ceb630a8a295e54 (patch) | |
tree | 0b6b2ae2c18515057dca789570ccf19e4b82071a /src | |
parent | 3dd85bcb08440bae6210114124aa0002a83c957c (diff) | |
download | postgresql-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')
-rw-r--r-- | src/backend/parser/parse_func.c | 5 |
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); |