Use the parser macro IS_BINARY_COMPATIBLE() to allow more success
authorThomas G. Lockhart
Mon, 17 Aug 1998 16:03:31 +0000 (16:03 +0000)
committerThomas G. Lockhart
Mon, 17 Aug 1998 16:03:31 +0000 (16:03 +0000)
 in type checking for DEFAULT contraint clauses.
Could do more type coersion later...

src/backend/catalog/heap.c

index 32150d926fbf037d6b07d68bef1261672d4cbeae..1d6708a076d487867ddb6a0c6a66e2fccb77b773 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *   $Header: /cvsroot/pgsql/src/backend/catalog/heap.c,v 1.56 1998/08/06 05:12:19 momjian Exp $
+ *   $Header: /cvsroot/pgsql/src/backend/catalog/heap.c,v 1.57 1998/08/17 16:03:31 thomas Exp $
  *
  * INTERFACE ROUTINES
  *     heap_create()           - Create an uncataloged heap relation
@@ -47,6 +47,7 @@
 #include "parser/parse_expr.h"
 #include "parser/parse_node.h"
 #include "parser/parse_type.h"
+#include "parser/parse_coerce.h"
 #include "rewrite/rewriteRemove.h"
 #include "storage/bufmgr.h"
 #include "storage/lmgr.h"
@@ -1519,7 +1520,8 @@ start:;
            goto start;
        }
    }
-   else if (exprType(expr) != atp->atttypid)
+   else if ((exprType(expr) != atp->atttypid)
+    && !IS_BINARY_COMPATIBLE(exprType(expr), atp->atttypid))
        elog(ERROR, "DEFAULT: type mismatched");
 
    adbin = nodeToString(expr);