diff options
author | Marc G. Fournier <scrappy@hub.org> | 1996-07-15 19:11:23 +0000 |
---|---|---|
committer | Marc G. Fournier <scrappy@hub.org> | 1996-07-15 19:11:23 +0000 |
commit | d838e30f13028d37a383b7adb1f7f6e094df1496 (patch) | |
tree | 5c0b982c02d493da3b12a618733541999eb14861 /src | |
parent | 76145bd74b0fcf367200b2cf09f8858df8db7d53 (diff) | |
download | postgresql-d838e30f13028d37a383b7adb1f7f6e094df1496.tar.gz postgresql-d838e30f13028d37a383b7adb1f7f6e094df1496.zip |
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
Diffstat (limited to 'src')
-rw-r--r-- | src/backend/utils/adt/varchar.c | 12 |
1 files changed, 11 insertions, 1 deletions
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; |