Skip to content
Snippets Groups Projects
Commit 5fe090c5 authored by Bruce Momjian's avatar Bruce Momjian
Browse files

Completion of varchar rollback.

parent 35be7302
No related branches found
No related tags found
No related merge requests found
......@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/utils/adt/varchar.c,v 1.20 1998/01/08 03:15:06 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/utils/adt/varchar.c,v 1.21 1998/01/08 04:19:16 momjian Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -144,7 +144,7 @@ varcharin(char *s, int dummy, int typlen)
result = (char *) palloc(len);
VARSIZE(result) = len;
memmove(VARDATA(result), s, len - VARHDRSZ);
strncpy(VARDATA(result), s, len - VARHDRSZ);
return (result);
}
......@@ -333,11 +333,11 @@ bpcharcmp(char *arg1, char *arg2)
static int
vcTruelen(char *arg)
{
char *s = arg + VARHDRSZ;
char *s = VARDATA(arg);
int i;
int len;
len = *(int32 *) arg - VARHDRSZ;
len = VARSIZE(arg) - VARHDRSZ;
for (i = 0; i < len; i++)
{
if (*s++ == '\0')
......@@ -363,8 +363,8 @@ varchareq(char *arg1, char *arg2)
if (arg1 == NULL || arg2 == NULL)
return ((bool) 0);
len1 = VARSIZE(arg1);
len2 = VARSIZE(arg2);
len1 = vcTruelen(arg1);
len2 = vcTruelen(arg2);
if (len1 != len2)
return 0;
......@@ -380,8 +380,8 @@ varcharne(char *arg1, char *arg2)
if (arg1 == NULL || arg2 == NULL)
return ((bool) 0);
len1 = VARSIZE(arg1);
len2 = VARSIZE(arg2);
len1 = vcTruelen(arg1);
len2 = vcTruelen(arg2);
if (len1 != len2)
return 1;
......@@ -398,8 +398,8 @@ varcharlt(char *arg1, char *arg2)
if (arg1 == NULL || arg2 == NULL)
return ((bool) 0);
len1 = VARSIZE(arg1);
len2 = VARSIZE(arg2);
len1 = vcTruelen(arg1);
len2 = vcTruelen(arg2);
cmp = strncmp(VARDATA(arg1), VARDATA(arg2), Min(len1, len2));
if (cmp == 0)
......@@ -417,8 +417,8 @@ varcharle(char *arg1, char *arg2)
if (arg1 == NULL || arg2 == NULL)
return ((bool) 0);
len1 = VARSIZE(arg1);
len2 = VARSIZE(arg2);
len1 = vcTruelen(arg1);
len2 = vcTruelen(arg2);
cmp = strncmp(VARDATA(arg1), VARDATA(arg2), Min(len1, len2));
if (0 == cmp)
......@@ -436,8 +436,8 @@ varchargt(char *arg1, char *arg2)
if (arg1 == NULL || arg2 == NULL)
return ((bool) 0);
len1 = VARSIZE(arg1);
len2 = VARSIZE(arg2);
len1 = vcTruelen(arg1);
len2 = vcTruelen(arg2);
cmp = strncmp(VARDATA(arg1), VARDATA(arg2), Min(len1, len2));
if (cmp == 0)
......@@ -455,8 +455,8 @@ varcharge(char *arg1, char *arg2)
if (arg1 == NULL || arg2 == NULL)
return ((bool) 0);
len1 = VARSIZE(arg1);
len2 = VARSIZE(arg2);
len1 = vcTruelen(arg1);
len2 = vcTruelen(arg2);
cmp = strncmp(VARDATA(arg1), VARDATA(arg2), Min(len1, len2));
if (0 == cmp)
......@@ -473,8 +473,8 @@ varcharcmp(char *arg1, char *arg2)
len2;
int cmp;
len1 = VARSIZE(arg1);
len2 = VARSIZE(arg2);
len1 = vcTruelen(arg1);
len2 = vcTruelen(arg2);
cmp = (strncmp(VARDATA(arg1), VARDATA(arg2), Min(len1, len2)));
if ((0 == cmp) && (len1 != len2))
return (int32) (len1 < len2 ? -1 : 1);
......@@ -539,7 +539,7 @@ hashvarchar(struct varlena * key)
int loop;
keydata = VARDATA(key);
keylen = VARSIZE((char *) key);
keylen = vcTruelen((char *) key);
#define HASHC n = *keydata++ + 65599 * n
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment