From 15f82836bf9bc5d2d358f2d6cb7c41b7dbf106fb Mon Sep 17 00:00:00 2001
From: "Thomas G. Lockhart" <lockhart@fourpalms.org>
Date: Mon, 17 Aug 1998 16:03:31 +0000
Subject: [PATCH] Use the parser macro IS_BINARY_COMPATIBLE() to allow more
 success  in type checking for DEFAULT contraint clauses. Could do more type
 coersion later...

---
 src/backend/catalog/heap.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/backend/catalog/heap.c b/src/backend/catalog/heap.c
index 32150d926fb..1d6708a076d 100644
--- a/src/backend/catalog/heap.c
+++ b/src/backend/catalog/heap.c
@@ -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);
-- 
GitLab