]> granicus.if.org Git - postgresql/commitdiff
Allow CASE statement to contain *only* untyped result clauses or nulls.
authorThomas G. Lockhart <lockhart@fourpalms.org>
Mon, 13 Sep 1999 04:14:56 +0000 (04:14 +0000)
committerThomas G. Lockhart <lockhart@fourpalms.org>
Mon, 13 Sep 1999 04:14:56 +0000 (04:14 +0000)
 Almost worked before, but forgot one place to check.
 Reported by Tatsuo Ishii.
Still does not do the right thing if inserting into a non-string target
 column. Should look for a type coersion later, but doesn't.

src/backend/parser/parse_expr.c

index a2280a745112cd06b693dab1e6288da8ca60952d..ee9d307728300c418f53b8aba07a30b5a84fe03d 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.57 1999/08/25 23:21:34 tgl Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/parser/parse_expr.c,v 1.58 1999/09/13 04:14:56 thomas Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -410,7 +410,8 @@ transformExpr(ParseState *pstate, Node *expr, int precedence)
                                         * only bother with conversion if not NULL and
                                         * different type...
                                         */
-                                       if (wtype && (wtype != ptype))
+                                       if (wtype && (wtype != UNKNOWNOID)
+                                               && (wtype != ptype))
                                        {
                                                if (can_coerce_type(1, &wtype, &ptype))
                                                {