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

Commiteca02fe

Browse files
committed
Rename bytea functions to not have upper-case letters in their names.
Clean up grotty coding in them, too. AFAICS from the CVS logs, thesehave been broken since Postgres95, so I'm not going to insist on aninitdb to fix them now...
1 parent0edcee3 commiteca02fe

File tree

3 files changed

+77
-66
lines changed

3 files changed

+77
-66
lines changed

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

Lines changed: 63 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
*
99
*
1010
* IDENTIFICATION
11-
* $Header: /cvsroot/pgsql/src/backend/utils/adt/varlena.c,v 1.56 2000/01/26 05:57:15 momjian Exp $
11+
* $Header: /cvsroot/pgsql/src/backend/utils/adt/varlena.c,v 1.57 2000/03/24 02:41:46 tgl Exp $
1212
*
1313
*-------------------------------------------------------------------------
1414
*/
@@ -41,13 +41,13 @@ static inttext_cmp(text *arg1, text *arg2);
4141
*The input is scaned twice.
4242
*The error checking of input is minimal.
4343
*/
44-
text*
44+
bytea*
4545
byteain(char*inputText)
4646
{
4747
char*tp;
4848
char*rp;
4949
intbyte;
50-
text*result;
50+
bytea*result;
5151

5252
if (inputText==NULL)
5353
elog(ERROR,"Bad input string for type bytea");
@@ -64,7 +64,7 @@ byteain(char *inputText)
6464
}
6565
tp=inputText;
6666
byte+=VARHDRSZ;
67-
result= (text*)palloc(byte);
67+
result= (bytea*)palloc(byte);
6868
result->vl_len=byte;/* varlena? */
6969
rp=result->vl_dat;
7070
while (*tp!='\0')
@@ -90,10 +90,9 @@ byteain(char *inputText)
9090
*NULL vlena should be an error--returning string with NULL for now.
9191
*/
9292
char*
93-
byteaout(text*vlena)
93+
byteaout(bytea*vlena)
9494
{
9595
char*result;
96-
9796
char*vp;
9897
char*rp;
9998
intval;/* holds unprintable chars */
@@ -173,7 +172,6 @@ textin(char *inputText)
173172
*textout- converts internal representation to "..."
174173
*/
175174
char*
176-
177175
textout(text*vlena)
178176
{
179177
intlen;
@@ -218,7 +216,7 @@ textlen(text *t)
218216
#endif
219217

220218
if (!PointerIsValid(t))
221-
elog(ERROR,"Null input to textlen");
219+
return0;
222220

223221
#ifdefMULTIBYTE
224222
len=0;
@@ -247,10 +245,9 @@ int32
247245
textoctetlen(text*t)
248246
{
249247
if (!PointerIsValid(t))
250-
elog(ERROR,"Null input to textoctetlen");
248+
return0;
251249

252250
returnVARSIZE(t)-VARHDRSZ;
253-
254251
}/* textoctetlen() */
255252

256253
/*
@@ -621,19 +618,18 @@ text_smaller(text *arg1, text *arg2)
621618
}
622619

623620
/*-------------------------------------------------------------
624-
*byteaGetSize
621+
*byteaoctetlen
625622
*
626623
* get the number of bytes contained in an instance of type 'bytea'
627624
*-------------------------------------------------------------
628625
*/
629626
int32
630-
byteaGetSize(text*v)
627+
byteaoctetlen(bytea*v)
631628
{
632-
intlen;
633-
634-
len=v->vl_len-sizeof(v->vl_len);
629+
if (!PointerIsValid(v))
630+
return0;
635631

636-
returnlen;
632+
returnVARSIZE(v)-VARHDRSZ;
637633
}
638634

639635
/*-------------------------------------------------------------
@@ -645,23 +641,22 @@ byteaGetSize(text *v)
645641
*-------------------------------------------------------------
646642
*/
647643
int32
648-
byteaGetByte(text*v,int32n)
644+
byteaGetByte(bytea*v,int32n)
649645
{
650646
intlen;
651647
intbyte;
652648

653-
len=byteaGetSize(v);
649+
if (!PointerIsValid(v))
650+
return0;
654651

655-
if (n >=len)
656-
{
657-
elog(ERROR,"byteaGetByte: index (=%d) out of range [0..%d]",
652+
len=VARSIZE(v)-VARHDRSZ;
653+
654+
if (n<0||n >=len)
655+
elog(ERROR,"byteaGetByte: index %d out of range [0..%d]",
658656
n,len-1);
659-
}
660-
#ifdefUSE_LOCALE
661-
byte= (unsignedchar) (v->vl_dat[n]);
662-
#else
663-
byte=v->vl_dat[n];
664-
#endif
657+
658+
byte= ((unsignedchar*)VARDATA(v))[n];
659+
665660
return (int32)byte;
666661
}
667662

@@ -675,16 +670,26 @@ byteaGetByte(text *v, int32 n)
675670
*-------------------------------------------------------------
676671
*/
677672
int32
678-
byteaGetBit(text*v,int32n)
673+
byteaGetBit(bytea*v,int32n)
679674
{
680675
intbyteNo,
681676
bitNo;
677+
intlen;
682678
intbyte;
683679

680+
if (!PointerIsValid(v))
681+
return0;
682+
683+
len=VARSIZE(v)-VARHDRSZ;
684+
685+
if (n<0||n >=len*8)
686+
elog(ERROR,"byteaGetBit: index %d out of range [0..%d]",
687+
n,len*8-1);
688+
684689
byteNo=n /8;
685690
bitNo=n %8;
686691

687-
byte=byteaGetByte(v,byteNo);
692+
byte=((unsignedchar*)VARDATA(v))[byteNo];
688693

689694
if (byte& (1 <<bitNo))
690695
return (int32)1;
@@ -700,36 +705,31 @@ byteaGetBit(text *v, int32 n)
700705
*
701706
*-------------------------------------------------------------
702707
*/
703-
text*
704-
byteaSetByte(text*v,int32n,int32newByte)
708+
bytea*
709+
byteaSetByte(bytea*v,int32n,int32newByte)
705710
{
706711
intlen;
707-
text*res;
712+
bytea*res;
708713

709-
len=byteaGetSize(v);
714+
if (!PointerIsValid(v))
715+
return0;
710716

711-
if (n >=len)
712-
{
713-
elog(ERROR,
714-
"byteaSetByte: index(=%d) out of range [0..%d]",
717+
len=VARSIZE(v)-VARHDRSZ;
718+
719+
if (n<0||n >=len)
720+
elog(ERROR,"byteaSetByte: index%d out of range [0..%d]",
715721
n,len-1);
716-
}
717722

718723
/*
719724
* Make a copy of the original varlena.
720725
*/
721-
res= (text*)palloc(VARSIZE(v));
722-
if (res==NULL)
723-
{
724-
elog(ERROR,"byteaSetByte: Out of memory (%d bytes requested)",
725-
VARSIZE(v));
726-
}
727-
memmove((char*)res, (char*)v,VARSIZE(v));
726+
res= (bytea*)palloc(VARSIZE(v));
727+
memcpy((char*)res, (char*)v,VARSIZE(v));
728728

729729
/*
730730
* Now set the byte.
731731
*/
732-
res->vl_dat[n]=newByte;
732+
((unsignedchar*)VARDATA(res))[n]=newByte;
733733

734734
returnres;
735735
}
@@ -742,26 +742,37 @@ byteaSetByte(text *v, int32 n, int32 newByte)
742742
*
743743
*-------------------------------------------------------------
744744
*/
745-
text*
746-
byteaSetBit(text*v,int32n,int32newBit)
745+
bytea*
746+
byteaSetBit(bytea*v,int32n,int32newBit)
747747
{
748-
text*res;
748+
bytea*res;
749+
intlen;
749750
intoldByte,
750751
newByte;
751752
intbyteNo,
752753
bitNo;
753754

755+
if (!PointerIsValid(v))
756+
returnNULL;
757+
758+
len=VARSIZE(v)-VARHDRSZ;
759+
760+
if (n<0||n >=len*8)
761+
elog(ERROR,"byteaSetBit: index %d out of range [0..%d]",
762+
n,len*8-1);
763+
764+
byteNo=n /8;
765+
bitNo=n %8;
766+
754767
/*
755768
* sanity check!
756769
*/
757770
if (newBit!=0&&newBit!=1)
758-
elog(ERROR,"byteaSetByte: new bit must be 0 or 1");
771+
elog(ERROR,"byteaSetBit: new bit must be 0 or 1");
759772

760773
/*
761774
* get the byte where the bit we want is stored.
762775
*/
763-
byteNo=n /8;
764-
bitNo=n %8;
765776
oldByte=byteaGetByte(v,byteNo);
766777

767778
/*

‎src/include/catalog/pg_proc.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
88
* Portions Copyright (c) 1994, Regents of the University of California
99
*
10-
* $Id: pg_proc.h,v 1.128 2000/03/19 01:12:18 tgl Exp $
10+
* $Id: pg_proc.h,v 1.129 2000/03/24 02:41:44 tgl Exp $
1111
*
1212
* NOTES
1313
* The script catalog/genbki.sh reads this file and generates .bki
@@ -948,15 +948,15 @@ DESCR("equal");
948948
DATA(insertOID=717 (int4eqoidPGUID11ftt2f16"23 26"10000100int4eqoid- ));
949949
DESCR("equal");
950950

951-
DATA(insertOID=720 (byteaGetSizePGUID11ftt1f23"17"10000100byteaGetSize- ));
951+
DATA(insertOID=720 (octet_lengthPGUID11ftt1f23"17"10000100byteaoctetlen- ));
952952
DESCR("");
953-
DATA(insertOID=721 (byteaGetBytePGUID11ftt2f23"17 23"10000100byteaGetByte- ));
953+
DATA(insertOID=721 (get_bytePGUID11ftt2f23"17 23"10000100byteaGetByte- ));
954954
DESCR("");
955-
DATA(insertOID=722 (byteaSetBytePGUID11ftt3f17"17 23 23"10000100byteaSetByte- ));
955+
DATA(insertOID=722 (set_bytePGUID11ftt3f17"17 23 23"10000100byteaSetByte- ));
956956
DESCR("");
957-
DATA(insertOID=723 (byteaGetBitPGUID11ftt2f23"17 23"10000100byteaGetBit- ));
957+
DATA(insertOID=723 (get_bitPGUID11ftt2f23"17 23"10000100byteaGetBit- ));
958958
DESCR("");
959-
DATA(insertOID=724 (byteaSetBitPGUID11ftt3f17"17 23 23"10000100byteaSetBit- ));
959+
DATA(insertOID=724 (set_bitPGUID11ftt3f17"17 23 23"10000100byteaSetBit- ));
960960
DESCR("");
961961

962962
DATA(insertOID=725 (dist_plPGUID11ftt2f701"600 628"10000100dist_pl- ));

‎src/include/utils/builtins.h

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
88
* Portions Copyright (c) 1994, Regents of the University of California
99
*
10-
* $Id: builtins.h,v 1.106 2000/03/14 23:06:50 thomas Exp $
10+
* $Id: builtins.h,v 1.107 2000/03/24 02:41:45 tgl Exp $
1111
*
1212
* NOTES
1313
* This should normally only be included by fmgr.h.
@@ -450,13 +450,13 @@ extern text *text_substr(text *string, int32 m, int32 n);
450450
externtext*name_text(NameData*s);
451451
externNameData*text_name(text*s);
452452

453-
externstructvarlena*byteain(char*inputText);
454-
externchar*byteaout(structvarlena*vlena);
455-
externint32byteaGetSize(structvarlena*v);
456-
externint32byteaGetByte(structvarlena*v,int32n);
457-
externint32byteaGetBit(structvarlena*v,int32n);
458-
externstructvarlena*byteaSetByte(structvarlena*v,int32n,int32newByte);
459-
externstructvarlena*byteaSetBit(structvarlena*v,int32n,int32newBit);
453+
externbytea*byteain(char*inputText);
454+
externchar*byteaout(bytea*vlena);
455+
externint32byteaoctetlen(bytea*v);
456+
externint32byteaGetByte(bytea*v,int32n);
457+
externint32byteaGetBit(bytea*v,int32n);
458+
externbytea*byteaSetByte(bytea*v,int32n,int32newByte);
459+
externbytea*byteaSetBit(bytea*v,int32n,int32newBit);
460460

461461
/* like.c */
462462
externboolnamelike(NameData*n,structvarlena*p);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp