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

Commit0346ab7

Browse files
committed
Lexicographically compare 'char' and 'text'.
1 parentdee872d commit0346ab7

File tree

2 files changed

+12
-31
lines changed

2 files changed

+12
-31
lines changed

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

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
*
1313
*
1414
* IDENTIFICATION
15-
* $Header: /cvsroot/pgsql/src/backend/utils/adt/char.c,v 1.4 1997/05/17 06:20:34 thomas Exp $
15+
* $Header: /cvsroot/pgsql/src/backend/utils/adt/char.c,v 1.5 1997/06/11 05:17:58 vadim Exp $
1616
*
1717
*-------------------------------------------------------------------------
1818
*/
@@ -129,17 +129,10 @@ char *char16out(char *s)
129129

130130
boolchareq(int8arg1,int8arg2){return(arg1==arg2); }
131131
boolcharne(int8arg1,int8arg2){return(arg1!=arg2); }
132-
#ifdefUNSIGNED_CHAR_TEXT
133132
boolcharlt(int8arg1,int8arg2) {return((uint8)arg1< (uint8)arg2); }
134133
boolcharle(int8arg1,int8arg2) {return((uint8)arg1 <= (uint8)arg2); }
135134
boolchargt(int8arg1,int8arg2) {return((uint8)arg1> (uint8)arg2); }
136135
boolcharge(int8arg1,int8arg2) {return((uint8)arg1 >= (uint8)arg2); }
137-
#else
138-
boolcharlt(int8arg1,int8arg2){return(arg1<arg2); }
139-
boolcharle(int8arg1,int8arg2){return(arg1 <=arg2); }
140-
boolchargt(int8arg1,int8arg2){return(arg1>arg2); }
141-
boolcharge(int8arg1,int8arg2){return(arg1 >=arg2); }
142-
#endif
143136
int8charpl(int8arg1,int8arg2) {return(arg1+arg2); }
144137
int8charmi(int8arg1,int8arg2){return(arg1-arg2); }
145138
int8charmul(int8arg1,int8arg2){return(arg1*arg2); }

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

Lines changed: 11 additions & 23 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/varlena.c,v 1.15 1997/04/2518:40:39 scrappy Exp $
10+
* $Header: /cvsroot/pgsql/src/backend/utils/adt/varlena.c,v 1.16 1997/06/11 05:18:02 vadim Exp $
1111
*
1212
*-------------------------------------------------------------------------
1313
*/
@@ -301,22 +301,16 @@ text_lt(struct varlena *arg1, struct varlena *arg2)
301301
intcval;
302302
#endif
303303
intlen;
304-
#ifdefUNSIGNED_CHAR_TEXT
305-
unsigned
306-
#endif
307-
char*a1p,*a2p;
304+
unsignedchar*a1p,*a2p;
308305

309306
if (arg1==NULL||arg2==NULL)
310307
return((bool) FALSE);
311308

312309
len= (((VARSIZE(arg1) <=VARSIZE(arg2))?VARSIZE(arg1):VARSIZE(arg2))-VARHDRSZ);
313310

314311
#ifdefUSE_LOCALE
315-
if (!PointerIsValid(a1p=PALLOC(len+1))
316-
|| !PointerIsValid(a2p=PALLOC(len+1))) {
317-
elog(WARN,"Unable to allocate memory for text comparison",NULL);
318-
return(FALSE);
319-
};
312+
a1p= (unsignedchar*)palloc (len+1);
313+
a2p= (unsignedchar*)palloc (len+1);
320314

321315
memcpy(a1p,VARDATA(arg1),len);
322316
*(a1p+len)='\0';
@@ -326,8 +320,8 @@ text_lt(struct varlena *arg1, struct varlena *arg2)
326320
cval=strcoll(a1p,a2p);
327321
result= ((cval<0)|| ((cval==0)&& (VARSIZE(arg1)<VARSIZE(arg2))));
328322

329-
PFREE(a1p);
330-
PFREE(a2p);
323+
pfree(a1p);
324+
pfree(a2p);
331325
#else
332326
a1p= (unsignedchar*)VARDATA(arg1);
333327
a2p= (unsignedchar*)VARDATA(arg2);
@@ -360,22 +354,16 @@ text_le(struct varlena *arg1, struct varlena *arg2)
360354
intcval;
361355
#endif
362356
intlen;
363-
#ifdefUNSIGNED_CHAR_TEXT
364-
unsigned
365-
#endif
366-
char*a1p,*a2p;
357+
unsignedchar*a1p,*a2p;
367358

368359
if (arg1==NULL||arg2==NULL)
369360
return((bool)0);
370361

371362
len= (((VARSIZE(arg1) <=VARSIZE(arg2))?VARSIZE(arg1):VARSIZE(arg2))-VARHDRSZ);
372363

373364
#ifdefUSE_LOCALE
374-
if (!PointerIsValid(a1p=PALLOC(len+1))
375-
|| !PointerIsValid(a2p=PALLOC(len+1))) {
376-
elog(WARN,"Unable to allocate memory for text comparison",NULL);
377-
return(FALSE);
378-
};
365+
a1p= (unsignedchar*)palloc (len+1);
366+
a2p= (unsignedchar*)palloc (len+1);
379367

380368
memcpy(a1p,VARDATA(arg1),len);
381369
*(a1p+len)='\0';
@@ -385,8 +373,8 @@ text_le(struct varlena *arg1, struct varlena *arg2)
385373
cval=strcoll(a1p,a2p);
386374
result= ((cval<0)|| ((cval==0)&& (VARSIZE(arg1) <=VARSIZE(arg2))));
387375

388-
PFREE(a1p);
389-
PFREE(a2p);
376+
pfree(a1p);
377+
pfree(a2p);
390378
#else
391379
a1p= (unsignedchar*)VARDATA(arg1);
392380
a2p= (unsignedchar*)VARDATA(arg2);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp