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

Commitbad1a5c

Browse files
committed
Use postgres-wide macros BITS_PER_BYTE instead self-definenig macros, also use it for calculating bit length of TPQTGist
1 parent34b934f commitbad1a5c

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

‎contrib/tsearch2/gistidx.h

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,10 @@
99
* signature defines
1010
*/
1111

12-
#defineBITBYTE 8
1312
#defineSIGLENINT 63/* >121 => key will toast, so it will not work
1413
* !!! */
1514
#defineSIGLEN( sizeof(int4) * SIGLENINT )
16-
#defineSIGLENBIT (SIGLEN *BITBYTE)
15+
#defineSIGLENBIT (SIGLEN *BITS_PER_BYTE)
1716

1817
typedefcharBITVEC[SIGLEN];
1918
typedefchar*BITVECP;
@@ -27,11 +26,11 @@ typedef char *BITVECP;
2726
a;\
2827
}
2928

30-
#defineGETBYTE(x,i) ( *( (BITVECP)(x) + (int)( (i) /BITBYTE ) ) )
29+
#defineGETBYTE(x,i) ( *( (BITVECP)(x) + (int)( (i) /BITS_PER_BYTE ) ) )
3130
#defineGETBITBYTE(x,i) ( ((char)(x)) >> (i) & 0x01 )
32-
#defineCLRBIT(x,i) GETBYTE(x,i) &= ~( 0x01 << ( (i) %BITBYTE ) )
33-
#defineSETBIT(x,i) GETBYTE(x,i) |= ( 0x01 << ( (i) %BITBYTE ) )
34-
#defineGETBIT(x,i) ( (GETBYTE(x,i) >> ( (i) %BITBYTE )) & 0x01 )
31+
#defineCLRBIT(x,i) GETBYTE(x,i) &= ~( 0x01 << ( (i) %BITS_PER_BYTE ) )
32+
#defineSETBIT(x,i) GETBYTE(x,i) |= ( 0x01 << ( (i) %BITS_PER_BYTE ) )
33+
#defineGETBIT(x,i) ( (GETBYTE(x,i) >> ( (i) %BITS_PER_BYTE )) & 0x01 )
3534

3635
#defineHASHVAL(val) (((unsigned int)(val)) % SIGLENBIT)
3736
#defineHASH(sign,val) SETBIT((sign), HASHVAL(val))

‎contrib/tsearch2/query_gist.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
#include"query.h"
88

99
typedefuint64TPQTGist;
10+
#defineSIGLEN(sizeof(TPQTGist)*BITS_PER_BYTE)
11+
1012

1113
#defineGETENTRY(vec,pos) ((TPQTGist *) DatumGetPointer((vec)->vector[(pos)].key))
1214

@@ -24,7 +26,7 @@ makesign(QUERYTYPE* a) {
2426

2527
for (i=0;i<a->size;i++) {
2628
if (ptr->type==VAL )
27-
sign |=1 << (ptr->val %64);
29+
sign |=1 << (ptr->val %SIGLEN);
2830
ptr++;
2931
}
3032

@@ -198,7 +200,7 @@ static int
198200
sizebitvec(TPQTGistsign) {
199201
intsize=0,i;
200202

201-
for(i=0;i<64;i++)
203+
for(i=0;i<SIGLEN;i++)
202204
size+=0x01& (sign>>i);
203205

204206
returnsize;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp