From d838e30f13028d37a383b7adb1f7f6e094df1496 Mon Sep 17 00:00:00 2001
From: "Marc G. Fournier" <scrappy@hub.org>
Date: Mon, 15 Jul 1996 19:11:23 +0000
Subject: [PATCH] Submitted by Openlink, requires -DOPENLINK_PATCHES in
 Makefile.global

varchar.diff
------------
This patch was necessary for the OpenLink Postgres Database Agent.
I think this fixes a bug anyway.

The following query demonstrates this bug:

  create table foo (bar varchar);
  insert into foo values ('');          -- no problem
  select * from foo where bar = '';     -- fails
---
 src/backend/utils/adt/varchar.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/backend/utils/adt/varchar.c b/src/backend/utils/adt/varchar.c
index 341ad94f009..f33295d27db 100644
--- a/src/backend/utils/adt/varchar.c
+++ b/src/backend/utils/adt/varchar.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/utils/adt/varchar.c,v 1.1.1.1 1996/07/09 06:22:05 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/utils/adt/varchar.c,v 1.2 1996/07/15 19:11:23 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -68,8 +68,13 @@ bpcharin(char *s, int dummy, int typlen)
 	typlen = len + 4;
     }
     
+#ifndef OPENLINK_PATCHES
     if (len < 1 || len > 4096)
 	elog(WARN, "bpcharin: length of char() must be between 1 and 4096");
+#else
+    if (len > 4096)
+	elog(WARN, "bpcharin: length of char() must be less than 4096");
+#endif
     
     result = (char *) palloc(typlen);
     *(int32*)result = typlen;
@@ -132,8 +137,13 @@ varcharin(char *s, int dummy, int typlen)
 	typlen = len + 4;
     }
     
+#ifndef OPENLINK_PATCHES
     if (len < 1 || len > 4096)
 	elog(WARN, "bpcharin: length of char() must be between 1 and 4096");
+#else
+    if (len > 4096)
+	elog(WARN, "varcharin: length of char() must be less than 4096");
+#endif
     
     result = (char *) palloc(typlen);
     *(int32*)result = typlen;
-- 
GitLab