summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVadim B. Mikheev1997-06-11 05:20:05 +0000
committerVadim B. Mikheev1997-06-11 05:20:05 +0000
commit1561684a2d251cb51f4b5863678a7276b7758943 (patch)
tree49068fa37afe908bffc94e74ab6b7dbf9bb31505
parent0346ab7175daba4155d8bdbf431a47486acd67fb (diff)
Compare 'char' and 'text' lexicographically.
-rw-r--r--src/backend/access/nbtree/nbtcompare.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/backend/access/nbtree/nbtcompare.c b/src/backend/access/nbtree/nbtcompare.c
index 6729117960f..f005509be07 100644
--- a/src/backend/access/nbtree/nbtcompare.c
+++ b/src/backend/access/nbtree/nbtcompare.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtcompare.c,v 1.9 1997/05/22 00:07:15 scrappy Exp $
+ * $Header: /cvsroot/pgsql/src/backend/access/nbtree/nbtcompare.c,v 1.10 1997/06/11 05:20:05 vadim Exp $
*
* NOTES
* These functions are stored in pg_amproc. For each operator class
@@ -98,7 +98,7 @@ btabstimecmp(AbsoluteTime a, AbsoluteTime b)
int32
btcharcmp(char a, char b)
{
- return ((int32) (a - b));
+ return ((int32) ((uint8)a - (uint8)b));
}
int32
@@ -135,9 +135,9 @@ int32
bttextcmp(struct varlena *a, struct varlena *b)
{
int res;
+ unsigned char *ap, *bp;
#ifdef USE_LOCALE
- unsigned char *ap, *bp;
int la = VARSIZE(a) - VARHDRSZ;
int lb = VARSIZE(b) - VARHDRSZ;
@@ -155,7 +155,6 @@ bttextcmp(struct varlena *a, struct varlena *b)
pfree (bp);
#else
- char *ap, *bp;
int len = VARSIZE(a);
/* len is the length of the shorter of the two strings */
@@ -164,8 +163,8 @@ bttextcmp(struct varlena *a, struct varlena *b)
len -= VARHDRSZ;
- ap = VARDATA(a);
- bp = VARDATA(b);
+ ap = (unsigned char *) VARDATA(a);
+ bp = (unsigned char *) VARDATA(b);
/*
* If the two strings differ in the first len bytes, or if they're