Tweak select_common_type() to deal with possibility of multiple preferred
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 17 Dec 2000 04:32:29 +0000 (04:32 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 17 Dec 2000 04:32:29 +0000 (04:32 +0000)
types in a category --- it was taking the last preferred type among the
inputs, rather than the first one as intended.

src/backend/parser/parse_coerce.c

index fe4d22fb114387ca50d703138485f54447fbc551..97b3d239406349d9d7cd3d927ce18c68e6cc163b 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/parser/parse_coerce.c,v 2.51 2000/12/15 18:02:47 tgl Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/parser/parse_coerce.c,v 2.52 2000/12/17 04:32:29 tgl Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -364,6 +364,7 @@ select_common_type(List *typeids, const char *context)
                     context, typeidTypeName(ptype), typeidTypeName(ntype));
            }
            else if (IsPreferredType(pcategory, ntype)
+                    && !IsPreferredType(pcategory, ptype)
                     && can_coerce_type(1, &ptype, &ntype))
            {
                /*