Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit5fe090c

Browse files
committed
Completion of varchar rollback.
1 parent35be730 commit5fe090c

File tree

1 file changed

+19
-19
lines changed

1 file changed

+19
-19
lines changed

‎src/backend/utils/adt/varchar.c

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
*
88
*
99
* IDENTIFICATION
10-
* $Header: /cvsroot/pgsql/src/backend/utils/adt/varchar.c,v 1.20 1998/01/0803:15:06 momjian Exp $
10+
* $Header: /cvsroot/pgsql/src/backend/utils/adt/varchar.c,v 1.21 1998/01/0804:19:16 momjian Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -144,7 +144,7 @@ varcharin(char *s, int dummy, int typlen)
144144

145145
result= (char*)palloc(len);
146146
VARSIZE(result)=len;
147-
memmove(VARDATA(result),s,len-VARHDRSZ);
147+
strncpy(VARDATA(result),s,len-VARHDRSZ);
148148

149149
return (result);
150150
}
@@ -333,11 +333,11 @@ bpcharcmp(char *arg1, char *arg2)
333333
staticint
334334
vcTruelen(char*arg)
335335
{
336-
char*s=arg+VARHDRSZ;
336+
char*s=VARDATA(arg);
337337
inti;
338338
intlen;
339339

340-
len=*(int32*)arg-VARHDRSZ;
340+
len=VARSIZE(arg)-VARHDRSZ;
341341
for (i=0;i<len;i++)
342342
{
343343
if (*s++=='\0')
@@ -363,8 +363,8 @@ varchareq(char *arg1, char *arg2)
363363

364364
if (arg1==NULL||arg2==NULL)
365365
return ((bool)0);
366-
len1=VARSIZE(arg1);
367-
len2=VARSIZE(arg2);
366+
len1=vcTruelen(arg1);
367+
len2=vcTruelen(arg2);
368368

369369
if (len1!=len2)
370370
return0;
@@ -380,8 +380,8 @@ varcharne(char *arg1, char *arg2)
380380

381381
if (arg1==NULL||arg2==NULL)
382382
return ((bool)0);
383-
len1=VARSIZE(arg1);
384-
len2=VARSIZE(arg2);
383+
len1=vcTruelen(arg1);
384+
len2=vcTruelen(arg2);
385385

386386
if (len1!=len2)
387387
return1;
@@ -398,8 +398,8 @@ varcharlt(char *arg1, char *arg2)
398398

399399
if (arg1==NULL||arg2==NULL)
400400
return ((bool)0);
401-
len1=VARSIZE(arg1);
402-
len2=VARSIZE(arg2);
401+
len1=vcTruelen(arg1);
402+
len2=vcTruelen(arg2);
403403

404404
cmp=strncmp(VARDATA(arg1),VARDATA(arg2),Min(len1,len2));
405405
if (cmp==0)
@@ -417,8 +417,8 @@ varcharle(char *arg1, char *arg2)
417417

418418
if (arg1==NULL||arg2==NULL)
419419
return ((bool)0);
420-
len1=VARSIZE(arg1);
421-
len2=VARSIZE(arg2);
420+
len1=vcTruelen(arg1);
421+
len2=vcTruelen(arg2);
422422

423423
cmp=strncmp(VARDATA(arg1),VARDATA(arg2),Min(len1,len2));
424424
if (0==cmp)
@@ -436,8 +436,8 @@ varchargt(char *arg1, char *arg2)
436436

437437
if (arg1==NULL||arg2==NULL)
438438
return ((bool)0);
439-
len1=VARSIZE(arg1);
440-
len2=VARSIZE(arg2);
439+
len1=vcTruelen(arg1);
440+
len2=vcTruelen(arg2);
441441

442442
cmp=strncmp(VARDATA(arg1),VARDATA(arg2),Min(len1,len2));
443443
if (cmp==0)
@@ -455,8 +455,8 @@ varcharge(char *arg1, char *arg2)
455455

456456
if (arg1==NULL||arg2==NULL)
457457
return ((bool)0);
458-
len1=VARSIZE(arg1);
459-
len2=VARSIZE(arg2);
458+
len1=vcTruelen(arg1);
459+
len2=vcTruelen(arg2);
460460

461461
cmp=strncmp(VARDATA(arg1),VARDATA(arg2),Min(len1,len2));
462462
if (0==cmp)
@@ -473,8 +473,8 @@ varcharcmp(char *arg1, char *arg2)
473473
len2;
474474
intcmp;
475475

476-
len1=VARSIZE(arg1);
477-
len2=VARSIZE(arg2);
476+
len1=vcTruelen(arg1);
477+
len2=vcTruelen(arg2);
478478
cmp= (strncmp(VARDATA(arg1),VARDATA(arg2),Min(len1,len2)));
479479
if ((0==cmp)&& (len1!=len2))
480480
return (int32) (len1<len2 ?-1 :1);
@@ -539,7 +539,7 @@ hashvarchar(struct varlena * key)
539539
intloop;
540540

541541
keydata=VARDATA(key);
542-
keylen=VARSIZE((char*)key);
542+
keylen=vcTruelen((char*)key);
543543

544544
#defineHASHCn = *keydata++ + 65599 * n
545545

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp