]> granicus.if.org Git - postgresql/commitdiff
Don't accept names of complex types (ie, relation types) as being
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 12 Dec 2001 03:28:49 +0000 (03:28 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 12 Dec 2001 03:28:49 +0000 (03:28 +0000)
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

src/backend/parser/parse_func.c

index 7a594df35d46d3e45627b410a1e1cd4c226f3b9b..7739185133874b4f3b948c1e289ade2370e7c715 100644 (file)
@@ -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);