mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-03-19 20:00:51 +08:00
Modify LOOPBYTE/LOOPBIT macros to be more logical; rather than have the
for() body passed as a parameter, make the macros act as simple headers to code blocks. This allows pgindent to be run on these files.
This commit is contained in:
parent
7d4c99b414
commit
224f91f66d
@ -16,15 +16,11 @@ typedef char *BITVECP;
|
||||
#define SIGPTR(x) ( (BITVECP) ARR_DATA_PTR(x) )
|
||||
|
||||
|
||||
#define LOOPBYTE(a) \
|
||||
for(i=0;i<SIGLEN;i++) {\
|
||||
a;\
|
||||
}
|
||||
#define LOOPBYTE \
|
||||
for(i=0;i<SIGLEN;i++)
|
||||
|
||||
#define LOOPBIT(a) \
|
||||
for(i=0;i<SIGLENBIT;i++) {\
|
||||
a;\
|
||||
}
|
||||
#define LOOPBIT \
|
||||
for(i=0;i<SIGLENBIT;i++)
|
||||
|
||||
/* beware of multiple evaluation of arguments to these macros! */
|
||||
#define GETBYTE(x,i) ( *( (BITVECP)(x) + (int)( (i) / BITBYTE ) ) )
|
||||
@ -148,10 +144,11 @@ ghstore_compress(PG_FUNCTION_ARGS)
|
||||
GISTTYPE *res;
|
||||
BITVECP sign = GETSIGN(DatumGetPointer(entry->key));
|
||||
|
||||
LOOPBYTE(
|
||||
if ((sign[i] & 0xff) != 0xff)
|
||||
LOOPBYTE
|
||||
{
|
||||
if ((sign[i] & 0xff) != 0xff)
|
||||
PG_RETURN_POINTER(retval);
|
||||
);
|
||||
}
|
||||
|
||||
res = (GISTTYPE *) palloc(CALCGTSIZE(ALLISTRUE));
|
||||
SET_VARSIZE(res, CALCGTSIZE(ALLISTRUE));
|
||||
@ -211,13 +208,14 @@ ghstore_same(PG_FUNCTION_ARGS)
|
||||
sb = GETSIGN(b);
|
||||
|
||||
*result = true;
|
||||
LOOPBYTE(
|
||||
if (sa[i] != sb[i])
|
||||
{
|
||||
*result = false;
|
||||
break;
|
||||
LOOPBYTE
|
||||
{
|
||||
if (sa[i] != sb[i])
|
||||
{
|
||||
*result = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
PG_RETURN_POINTER(result);
|
||||
}
|
||||
@ -228,10 +226,11 @@ sizebitvec(BITVECP sign)
|
||||
int4 size = 0,
|
||||
i;
|
||||
|
||||
LOOPBYTE(
|
||||
size += SUMBIT(sign);
|
||||
sign = (BITVECP) (((char *) sign) + 1);
|
||||
);
|
||||
LOOPBYTE
|
||||
{
|
||||
size += SUMBIT(sign);
|
||||
sign = (BITVECP) (((char *) sign) + 1);
|
||||
}
|
||||
return size;
|
||||
}
|
||||
|
||||
@ -241,10 +240,11 @@ hemdistsign(BITVECP a, BITVECP b)
|
||||
int i,
|
||||
dist = 0;
|
||||
|
||||
LOOPBIT(
|
||||
if (GETBIT(a, i) != GETBIT(b, i))
|
||||
LOOPBIT
|
||||
{
|
||||
if (GETBIT(a, i) != GETBIT(b, i))
|
||||
dist++;
|
||||
);
|
||||
}
|
||||
return dist;
|
||||
}
|
||||
|
||||
@ -272,9 +272,8 @@ unionkey(BITVECP sbase, GISTTYPE * add)
|
||||
|
||||
if (ISALLTRUE(add))
|
||||
return 1;
|
||||
LOOPBYTE(
|
||||
sbase[i] |= sadd[i];
|
||||
);
|
||||
LOOPBYTE
|
||||
sbase[i] |= sadd[i];
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -470,9 +469,8 @@ ghstore_picksplit(PG_FUNCTION_ARGS)
|
||||
else
|
||||
{
|
||||
ptr = GETSIGN(_j);
|
||||
LOOPBYTE(
|
||||
union_l[i] |= ptr[i];
|
||||
);
|
||||
LOOPBYTE
|
||||
union_l[i] |= ptr[i];
|
||||
}
|
||||
*left++ = j;
|
||||
v->spl_nleft++;
|
||||
@ -487,9 +485,8 @@ ghstore_picksplit(PG_FUNCTION_ARGS)
|
||||
else
|
||||
{
|
||||
ptr = GETSIGN(_j);
|
||||
LOOPBYTE(
|
||||
union_r[i] |= ptr[i];
|
||||
);
|
||||
LOOPBYTE
|
||||
union_r[i] |= ptr[i];
|
||||
}
|
||||
*right++ = j;
|
||||
v->spl_nright++;
|
||||
|
@ -66,10 +66,8 @@
|
||||
typedef char BITVEC[SIGLEN];
|
||||
typedef char *BITVECP;
|
||||
|
||||
#define LOOPBYTE(a) \
|
||||
for(i=0;i<SIGLEN;i++) {\
|
||||
a;\
|
||||
}
|
||||
#define LOOPBYTE \
|
||||
for(i=0;i<SIGLEN;i++)
|
||||
|
||||
/* beware of multiple evaluation of arguments to these macros! */
|
||||
#define GETBYTE(x,i) ( *( (BITVECP)(x) + (int)( (i) / BITS_PER_BYTE ) ) )
|
||||
|
@ -125,13 +125,14 @@ g_intbig_same(PG_FUNCTION_ARGS)
|
||||
sb = GETSIGN(b);
|
||||
|
||||
*result = true;
|
||||
LOOPBYTE(
|
||||
if (sa[i] != sb[i])
|
||||
{
|
||||
*result = false;
|
||||
break;
|
||||
LOOPBYTE
|
||||
{
|
||||
if (sa[i] != sb[i])
|
||||
{
|
||||
*result = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
PG_RETURN_POINTER(result);
|
||||
}
|
||||
@ -185,10 +186,11 @@ g_intbig_compress(PG_FUNCTION_ARGS)
|
||||
BITVECP sign = GETSIGN(DatumGetPointer(entry->key));
|
||||
GISTTYPE *res;
|
||||
|
||||
LOOPBYTE(
|
||||
if ((sign[i] & 0xff) != 0xff)
|
||||
PG_RETURN_POINTER(entry);
|
||||
);
|
||||
LOOPBYTE
|
||||
{
|
||||
if ((sign[i] & 0xff) != 0xff)
|
||||
PG_RETURN_POINTER(entry);
|
||||
}
|
||||
|
||||
res = (GISTTYPE *) palloc(CALCGTSIZE(ALLISTRUE));
|
||||
SET_VARSIZE(res, CALCGTSIZE(ALLISTRUE));
|
||||
@ -212,9 +214,8 @@ sizebitvec(BITVECP sign)
|
||||
int4 size = 0,
|
||||
i;
|
||||
|
||||
LOOPBYTE(
|
||||
size += number_of_ones[(unsigned char) sign[i]];
|
||||
);
|
||||
LOOPBYTE
|
||||
size += number_of_ones[(unsigned char) sign[i]];
|
||||
return size;
|
||||
}
|
||||
|
||||
@ -225,10 +226,11 @@ hemdistsign(BITVECP a, BITVECP b)
|
||||
diff,
|
||||
dist = 0;
|
||||
|
||||
LOOPBYTE(
|
||||
diff = (unsigned char) (a[i] ^ b[i]);
|
||||
dist += number_of_ones[diff];
|
||||
);
|
||||
LOOPBYTE
|
||||
{
|
||||
diff = (unsigned char) (a[i] ^ b[i]);
|
||||
dist += number_of_ones[diff];
|
||||
}
|
||||
return dist;
|
||||
}
|
||||
|
||||
@ -262,9 +264,8 @@ unionkey(BITVECP sbase, GISTTYPE * add)
|
||||
|
||||
if (ISALLTRUE(add))
|
||||
return 1;
|
||||
LOOPBYTE(
|
||||
sbase[i] |= sadd[i];
|
||||
);
|
||||
LOOPBYTE
|
||||
sbase[i] |= sadd[i];
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -458,9 +459,8 @@ g_intbig_picksplit(PG_FUNCTION_ARGS)
|
||||
else
|
||||
{
|
||||
ptr = GETSIGN(_j);
|
||||
LOOPBYTE(
|
||||
union_l[i] |= ptr[i];
|
||||
);
|
||||
LOOPBYTE
|
||||
union_l[i] |= ptr[i];
|
||||
}
|
||||
*left++ = j;
|
||||
v->spl_nleft++;
|
||||
@ -475,9 +475,8 @@ g_intbig_picksplit(PG_FUNCTION_ARGS)
|
||||
else
|
||||
{
|
||||
ptr = GETSIGN(_j);
|
||||
LOOPBYTE(
|
||||
union_r[i] |= ptr[i];
|
||||
);
|
||||
LOOPBYTE
|
||||
union_r[i] |= ptr[i];
|
||||
}
|
||||
*right++ = j;
|
||||
v->spl_nright++;
|
||||
@ -548,13 +547,14 @@ g_intbig_consistent(PG_FUNCTION_ARGS)
|
||||
de = GETSIGN((GISTTYPE *) DatumGetPointer(entry->key));
|
||||
dq = qp;
|
||||
retval = true;
|
||||
LOOPBYTE(
|
||||
if (de[i] != dq[i])
|
||||
{
|
||||
retval = false;
|
||||
break;
|
||||
LOOPBYTE
|
||||
{
|
||||
if (de[i] != dq[i])
|
||||
{
|
||||
retval = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
}
|
||||
else
|
||||
@ -588,14 +588,14 @@ g_intbig_consistent(PG_FUNCTION_ARGS)
|
||||
de = GETSIGN((GISTTYPE *) DatumGetPointer(entry->key));
|
||||
dq = qp;
|
||||
retval = true;
|
||||
LOOPBYTE(
|
||||
if (de[i] & ~dq[i])
|
||||
{
|
||||
retval = false;
|
||||
break;
|
||||
LOOPBYTE
|
||||
{
|
||||
if (de[i] & ~dq[i])
|
||||
{
|
||||
retval = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
}
|
||||
else
|
||||
retval = _intbig_overlap((GISTTYPE *) DatumGetPointer(entry->key), query);
|
||||
|
@ -118,10 +118,11 @@ _ltree_compress(PG_FUNCTION_ARGS)
|
||||
|
||||
BITVECP sign = LTG_SIGN(DatumGetPointer(entry->key));
|
||||
|
||||
ALOOPBYTE(
|
||||
if ((sign[i] & 0xff) != 0xff)
|
||||
PG_RETURN_POINTER(retval);
|
||||
);
|
||||
ALOOPBYTE
|
||||
{
|
||||
if ((sign[i] & 0xff) != 0xff)
|
||||
PG_RETURN_POINTER(retval);
|
||||
}
|
||||
len = LTG_HDRSIZE;
|
||||
key = (ltree_gist *) palloc(len);
|
||||
SET_VARSIZE(key, len);
|
||||
@ -155,13 +156,14 @@ _ltree_same(PG_FUNCTION_ARGS)
|
||||
sb = LTG_SIGN(b);
|
||||
|
||||
*result = true;
|
||||
ALOOPBYTE(
|
||||
if (sa[i] != sb[i])
|
||||
{
|
||||
*result = false;
|
||||
break;
|
||||
ALOOPBYTE
|
||||
{
|
||||
if (sa[i] != sb[i])
|
||||
{
|
||||
*result = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
PG_RETURN_POINTER(result);
|
||||
}
|
||||
@ -175,9 +177,8 @@ unionkey(BITVECP sbase, ltree_gist * add)
|
||||
if (LTG_ISALLTRUE(add))
|
||||
return 1;
|
||||
|
||||
ALOOPBYTE(
|
||||
sbase[i] |= sadd[i];
|
||||
);
|
||||
ALOOPBYTE
|
||||
sbase[i] |= sadd[i];
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -219,9 +220,8 @@ sizebitvec(BITVECP sign)
|
||||
int4 size = 0,
|
||||
i;
|
||||
|
||||
ALOOPBYTE(
|
||||
size += number_of_ones[(unsigned char) sign[i]];
|
||||
);
|
||||
ALOOPBYTE
|
||||
size += number_of_ones[(unsigned char) sign[i]];
|
||||
return size;
|
||||
}
|
||||
|
||||
@ -232,10 +232,11 @@ hemdistsign(BITVECP a, BITVECP b)
|
||||
diff,
|
||||
dist = 0;
|
||||
|
||||
ALOOPBYTE(
|
||||
diff = (unsigned char) (a[i] ^ b[i]);
|
||||
dist += number_of_ones[diff];
|
||||
);
|
||||
ALOOPBYTE
|
||||
{
|
||||
diff = (unsigned char) (a[i] ^ b[i]);
|
||||
dist += number_of_ones[diff];
|
||||
}
|
||||
return dist;
|
||||
}
|
||||
|
||||
@ -410,9 +411,8 @@ _ltree_picksplit(PG_FUNCTION_ARGS)
|
||||
else
|
||||
{
|
||||
ptr = LTG_SIGN(_j);
|
||||
ALOOPBYTE(
|
||||
union_l[i] |= ptr[i];
|
||||
);
|
||||
ALOOPBYTE
|
||||
union_l[i] |= ptr[i];
|
||||
}
|
||||
*left++ = j;
|
||||
v->spl_nleft++;
|
||||
@ -427,9 +427,8 @@ _ltree_picksplit(PG_FUNCTION_ARGS)
|
||||
else
|
||||
{
|
||||
ptr = LTG_SIGN(_j);
|
||||
ALOOPBYTE(
|
||||
union_r[i] |= ptr[i];
|
||||
);
|
||||
ALOOPBYTE
|
||||
union_r[i] |= ptr[i];
|
||||
}
|
||||
*right++ = j;
|
||||
v->spl_nright++;
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* $PostgreSQL: pgsql/contrib/ltree/ltree.h,v 1.18 2007/02/28 22:44:38 tgl Exp $ */
|
||||
/* $PostgreSQL: pgsql/contrib/ltree/ltree.h,v 1.19 2007/11/16 00:13:02 momjian Exp $ */
|
||||
|
||||
#ifndef __LTREE_H__
|
||||
#define __LTREE_H__
|
||||
@ -178,10 +178,8 @@ ltree *lca_inner(ltree ** a, int len);
|
||||
typedef unsigned char BITVEC[SIGLEN];
|
||||
typedef unsigned char *BITVECP;
|
||||
|
||||
#define LOOPBYTE(a) \
|
||||
for(i=0;i<SIGLEN;i++) {\
|
||||
a;\
|
||||
}
|
||||
#define LOOPBYTE \
|
||||
for(i=0;i<SIGLEN;i++)
|
||||
|
||||
#define GETBYTE(x,i) ( *( (BITVECP)(x) + (int)( (i) / BITBYTE ) ) )
|
||||
#define GETBITBYTE(x,i) ( ((unsigned char)(x)) >> i & 0x01 )
|
||||
@ -235,10 +233,8 @@ typedef struct
|
||||
#define ASIGLENBIT (ASIGLEN*BITBYTE)
|
||||
typedef unsigned char ABITVEC[ASIGLEN];
|
||||
|
||||
#define ALOOPBYTE(a) \
|
||||
for(i=0;i<ASIGLEN;i++) {\
|
||||
a;\
|
||||
}
|
||||
#define ALOOPBYTE \
|
||||
for(i=0;i<ASIGLEN;i++)
|
||||
|
||||
#define AHASHVAL(val) (((unsigned int)(val)) % ASIGLENBIT)
|
||||
#define AHASH(sign, val) SETBIT((sign), AHASHVAL(val))
|
||||
|
@ -1,7 +1,7 @@
|
||||
/*
|
||||
* GiST support for ltree
|
||||
* Teodor Sigaev <teodor@stack.net>
|
||||
* $PostgreSQL: pgsql/contrib/ltree/ltree_gist.c,v 1.20 2007/02/28 22:44:38 tgl Exp $
|
||||
* $PostgreSQL: pgsql/contrib/ltree/ltree_gist.c,v 1.21 2007/11/16 00:13:02 momjian Exp $
|
||||
*/
|
||||
|
||||
#include "ltree.h"
|
||||
@ -133,13 +133,16 @@ ltree_same(PG_FUNCTION_ARGS)
|
||||
|
||||
*result = true;
|
||||
if (!LTG_ISALLTRUE(a))
|
||||
LOOPBYTE(
|
||||
if (sa[i] != sb[i])
|
||||
{
|
||||
*result = false;
|
||||
break;
|
||||
{
|
||||
LOOPBYTE
|
||||
{
|
||||
if (sa[i] != sb[i])
|
||||
{
|
||||
*result = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
PG_RETURN_POINTER(result);
|
||||
@ -198,9 +201,8 @@ ltree_union(PG_FUNCTION_ARGS)
|
||||
{
|
||||
BITVECP sc = LTG_SIGN(cur);
|
||||
|
||||
LOOPBYTE(
|
||||
((unsigned char *) base)[i] |= sc[i];
|
||||
);
|
||||
LOOPBYTE
|
||||
((unsigned char *) base)[i] |= sc[i];
|
||||
}
|
||||
|
||||
curtree = LTG_LNODE(cur);
|
||||
@ -215,13 +217,14 @@ ltree_union(PG_FUNCTION_ARGS)
|
||||
if (isalltrue == false)
|
||||
{
|
||||
isalltrue = true;
|
||||
LOOPBYTE(
|
||||
if (((unsigned char *) base)[i] != 0xff)
|
||||
{
|
||||
isalltrue = false;
|
||||
break;
|
||||
LOOPBYTE
|
||||
{
|
||||
if (((unsigned char *) base)[i] != 0xff)
|
||||
{
|
||||
isalltrue = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
isleqr = (left == right || ISEQ(left, right)) ? true : false;
|
||||
@ -343,9 +346,8 @@ ltree_picksplit(PG_FUNCTION_ARGS)
|
||||
{
|
||||
BITVECP sc = LTG_SIGN(lu);
|
||||
|
||||
LOOPBYTE(
|
||||
((unsigned char *) ls)[i] |= sc[i];
|
||||
);
|
||||
LOOPBYTE
|
||||
((unsigned char *) ls)[i] |= sc[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -365,9 +367,8 @@ ltree_picksplit(PG_FUNCTION_ARGS)
|
||||
{
|
||||
BITVECP sc = LTG_SIGN(lu);
|
||||
|
||||
LOOPBYTE(
|
||||
((unsigned char *) rs)[i] |= sc[i];
|
||||
);
|
||||
LOOPBYTE
|
||||
((unsigned char *) rs)[i] |= sc[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -376,25 +377,27 @@ ltree_picksplit(PG_FUNCTION_ARGS)
|
||||
if (lisat == false)
|
||||
{
|
||||
lisat = true;
|
||||
LOOPBYTE(
|
||||
if (((unsigned char *) ls)[i] != 0xff)
|
||||
{
|
||||
lisat = false;
|
||||
break;
|
||||
LOOPBYTE
|
||||
{
|
||||
if (((unsigned char *) ls)[i] != 0xff)
|
||||
{
|
||||
lisat = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
if (risat == false)
|
||||
{
|
||||
risat = true;
|
||||
LOOPBYTE(
|
||||
if (((unsigned char *) rs)[i] != 0xff)
|
||||
{
|
||||
risat = false;
|
||||
break;
|
||||
LOOPBYTE
|
||||
{
|
||||
if (((unsigned char *) rs)[i] != 0xff)
|
||||
{
|
||||
risat = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
lu_l = LTG_GETLNODE(GETENTRY(entryvec, array[FirstOffsetNumber].index));
|
||||
|
@ -49,10 +49,8 @@ typedef struct
|
||||
typedef char BITVEC[SIGLEN];
|
||||
typedef char *BITVECP;
|
||||
|
||||
#define LOOPBYTE(a) \
|
||||
for(i=0;i<SIGLEN;i++) {\
|
||||
a;\
|
||||
}
|
||||
#define LOOPBYTE \
|
||||
for(i=0;i<SIGLEN;i++)
|
||||
|
||||
#define GETBYTE(x,i) ( *( (BITVECP)(x) + (int)( (i) / BITBYTE ) ) )
|
||||
#define GETBITBYTE(x,i) ( ((char)(x)) >> i & 0x01 )
|
||||
|
@ -113,10 +113,11 @@ gtrgm_compress(PG_FUNCTION_ARGS)
|
||||
TRGM *res;
|
||||
BITVECP sign = GETSIGN(DatumGetPointer(entry->key));
|
||||
|
||||
LOOPBYTE(
|
||||
if ((sign[i] & 0xff) != 0xff)
|
||||
LOOPBYTE
|
||||
{
|
||||
if ((sign[i] & 0xff) != 0xff)
|
||||
PG_RETURN_POINTER(retval);
|
||||
);
|
||||
}
|
||||
|
||||
len = CALCGTSIZE(SIGNKEY | ALLISTRUE, 0);
|
||||
res = (TRGM *) palloc(len);
|
||||
@ -210,9 +211,8 @@ unionkey(BITVECP sbase, TRGM * add)
|
||||
if (ISALLTRUE(add))
|
||||
return 1;
|
||||
|
||||
LOOPBYTE(
|
||||
sbase[i] |= sadd[i];
|
||||
);
|
||||
LOOPBYTE
|
||||
sbase[i] |= sadd[i];
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -284,13 +284,14 @@ gtrgm_same(PG_FUNCTION_ARGS)
|
||||
sb = GETSIGN(b);
|
||||
|
||||
*result = true;
|
||||
LOOPBYTE(
|
||||
if (sa[i] != sb[i])
|
||||
{
|
||||
*result = false;
|
||||
break;
|
||||
LOOPBYTE
|
||||
{
|
||||
if (sa[i] != sb[i])
|
||||
{
|
||||
*result = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -325,9 +326,8 @@ sizebitvec(BITVECP sign)
|
||||
int4 size = 0,
|
||||
i;
|
||||
|
||||
LOOPBYTE(
|
||||
size += number_of_ones[(unsigned char) sign[i]];
|
||||
);
|
||||
LOOPBYTE
|
||||
size += number_of_ones[(unsigned char) sign[i]];
|
||||
return size;
|
||||
}
|
||||
|
||||
@ -338,10 +338,11 @@ hemdistsign(BITVECP a, BITVECP b)
|
||||
diff,
|
||||
dist = 0;
|
||||
|
||||
LOOPBYTE(
|
||||
diff = (unsigned char) (a[i] ^ b[i]);
|
||||
dist += number_of_ones[diff];
|
||||
);
|
||||
LOOPBYTE
|
||||
{
|
||||
diff = (unsigned char) (a[i] ^ b[i]);
|
||||
dist += number_of_ones[diff];
|
||||
}
|
||||
return dist;
|
||||
}
|
||||
|
||||
@ -594,9 +595,8 @@ gtrgm_picksplit(PG_FUNCTION_ARGS)
|
||||
else
|
||||
{
|
||||
ptr = cache[j].sign;
|
||||
LOOPBYTE(
|
||||
union_l[i] |= ptr[i];
|
||||
);
|
||||
LOOPBYTE
|
||||
union_l[i] |= ptr[i];
|
||||
}
|
||||
*left++ = j;
|
||||
v->spl_nleft++;
|
||||
@ -611,9 +611,8 @@ gtrgm_picksplit(PG_FUNCTION_ARGS)
|
||||
else
|
||||
{
|
||||
ptr = cache[j].sign;
|
||||
LOOPBYTE(
|
||||
union_r[i] |= ptr[i];
|
||||
);
|
||||
LOOPBYTE
|
||||
union_r[i] |= ptr[i];
|
||||
}
|
||||
*right++ = j;
|
||||
v->spl_nright++;
|
||||
|
@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/utils/adt/tsgistidx.c,v 1.4 2007/09/11 08:46:29 teodor Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/utils/adt/tsgistidx.c,v 1.5 2007/11/16 00:13:02 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -30,10 +30,8 @@
|
||||
typedef char BITVEC[SIGLEN];
|
||||
typedef char *BITVECP;
|
||||
|
||||
#define LOOPBYTE(a) \
|
||||
for(i=0;i<SIGLEN;i++) {\
|
||||
a;\
|
||||
}
|
||||
#define LOOPBYTE \
|
||||
for(i=0;i<SIGLEN;i++)
|
||||
|
||||
#define GETBYTE(x,i) ( *( (BITVECP)(x) + (int)( (i) / BITS_PER_BYTE ) ) )
|
||||
#define GETBITBYTE(x,i) ( ((char)(x)) >> (i) & 0x01 )
|
||||
@ -252,10 +250,11 @@ gtsvector_compress(PG_FUNCTION_ARGS)
|
||||
SignTSVector *res;
|
||||
BITVECP sign = GETSIGN(DatumGetPointer(entry->key));
|
||||
|
||||
LOOPBYTE(
|
||||
if ((sign[i] & 0xff) != 0xff)
|
||||
LOOPBYTE
|
||||
{
|
||||
if ((sign[i] & 0xff) != 0xff)
|
||||
PG_RETURN_POINTER(retval);
|
||||
);
|
||||
}
|
||||
|
||||
len = CALCGTSIZE(SIGNKEY | ALLISTRUE, 0);
|
||||
res = (SignTSVector *) palloc(len);
|
||||
@ -376,9 +375,8 @@ unionkey(BITVECP sbase, SignTSVector * add)
|
||||
if (ISALLTRUE(add))
|
||||
return 1;
|
||||
|
||||
LOOPBYTE(
|
||||
sbase[i] |= sadd[i];
|
||||
);
|
||||
LOOPBYTE
|
||||
sbase[i] |= sadd[i];
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -446,13 +444,14 @@ gtsvector_same(PG_FUNCTION_ARGS)
|
||||
sb = GETSIGN(b);
|
||||
|
||||
*result = true;
|
||||
LOOPBYTE(
|
||||
if (sa[i] != sb[i])
|
||||
{
|
||||
*result = false;
|
||||
break;
|
||||
LOOPBYTE
|
||||
{
|
||||
if (sa[i] != sb[i])
|
||||
{
|
||||
*result = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -487,9 +486,8 @@ sizebitvec(BITVECP sign)
|
||||
int4 size = 0,
|
||||
i;
|
||||
|
||||
LOOPBYTE(
|
||||
size += number_of_ones[(unsigned char) sign[i]];
|
||||
);
|
||||
LOOPBYTE
|
||||
size += number_of_ones[(unsigned char) sign[i]];
|
||||
return size;
|
||||
}
|
||||
|
||||
@ -500,10 +498,11 @@ hemdistsign(BITVECP a, BITVECP b)
|
||||
diff,
|
||||
dist = 0;
|
||||
|
||||
LOOPBYTE(
|
||||
diff = (unsigned char) (a[i] ^ b[i]);
|
||||
dist += number_of_ones[diff];
|
||||
);
|
||||
LOOPBYTE
|
||||
{
|
||||
diff = (unsigned char) (a[i] ^ b[i]);
|
||||
dist += number_of_ones[diff];
|
||||
}
|
||||
return dist;
|
||||
}
|
||||
|
||||
@ -760,9 +759,8 @@ gtsvector_picksplit(PG_FUNCTION_ARGS)
|
||||
else
|
||||
{
|
||||
ptr = cache[j].sign;
|
||||
LOOPBYTE(
|
||||
union_l[i] |= ptr[i];
|
||||
);
|
||||
LOOPBYTE
|
||||
union_l[i] |= ptr[i];
|
||||
}
|
||||
*left++ = j;
|
||||
v->spl_nleft++;
|
||||
@ -777,9 +775,8 @@ gtsvector_picksplit(PG_FUNCTION_ARGS)
|
||||
else
|
||||
{
|
||||
ptr = cache[j].sign;
|
||||
LOOPBYTE(
|
||||
union_r[i] |= ptr[i];
|
||||
);
|
||||
LOOPBYTE
|
||||
union_r[i] |= ptr[i];
|
||||
}
|
||||
*right++ = j;
|
||||
v->spl_nright++;
|
||||
|
Loading…
x
Reference in New Issue
Block a user