From 51cfdae50ff91d99d9f1fd1dc9756a5335ee91fb Mon Sep 17 00:00:00 2001 From: Bruce Momjian <bruce@momjian.us> Date: Mon, 3 Apr 2000 20:56:40 +0000 Subject: [PATCH] Hi, here is an updated version of the bit type with a bugfix and all the necessa ry SQL functions defined. This should replace what is currently in contrib. I'd appreciate any comments on what is there. Kind regards, Adriaan --- contrib/bit/Makefile | 50 +++++++-- contrib/bit/README | 3 - contrib/bit/varbit.c | 168 ++++++++++++++--------------- contrib/bit/varbit.demo.sql | 29 +++++ contrib/bit/varbit.drop.sql | 36 +++++++ contrib/bit/varbit.h | 52 ++++----- contrib/bit/varbit.source | 171 ++++++++++++++++++++++++++++++ contrib/bit/varbit_glue.c | 22 ++++ contrib/bit/vartest.c | 24 +++-- src/bin/pgaccess/lib/languages/ID | Bin 735193 -> 736859 bytes 10 files changed, 423 insertions(+), 132 deletions(-) create mode 100644 contrib/bit/varbit.demo.sql create mode 100644 contrib/bit/varbit.drop.sql create mode 100644 contrib/bit/varbit.source create mode 100644 contrib/bit/varbit_glue.c diff --git a/contrib/bit/Makefile b/contrib/bit/Makefile index 9603cba27f8..96e751d0c18 100644 --- a/contrib/bit/Makefile +++ b/contrib/bit/Makefile @@ -1,10 +1,46 @@ -CFLAGS = -g +ifndef PGDIR +PGDIR= ../.. +PGDIR=/data/build/postgresql-7.0beta3 +endif -varbit: vartest.o varbit.o - $(CC) $(CFLAGS) -o $@ $^ +SRCDIR= $(PGDIR)/src -varbit.o: varbit.c varbit.h -vartest.o: vartest.c varbit.h +include $(SRCDIR)/Makefile.global + +TARGETS= varbit.sql varbit$(DLSUFFIX) +# vartest +SOURCE= varbit.c varbit_glue.c +OBJ= $(SOURCE:.c=.o) +CFLAGS += -g + +all: $(TARGETS) + +varbit$(DLSUFFIX): $(OBJ) + $(CC) $(CFLAGS) -shared -o varbit$(DLSUFFIX) $(SOURCE) $(CLIBS) + +vartest: varbit.o vartest.o + $(CC) -o $@ varbit.o vartest.o + +install: + $(MAKE) all + cp -p varbit$(DLSUFFIX) $(LIBDIR)/contrib + chmod 555 $(LIBDIR)/contrib/varbit$(DLSUFFIX) + +%.sql: %.source + echo $(SRCDIR) + if [ -z "$$USER" ]; then USER=$$LOGNAME; fi; \ + if [ -z "$$USER" ]; then USER=`whoami`; fi; \ + if [ -z "$$USER" ]; then echo 'Cannot deduce $$USER.'; exit 1; fi; \ + rm -f $@; \ + C=`pwd`; \ + O=$C; \ + if [ -d ${LIBDIR}/contrib ]; then O=${LIBDIR}/contrib; else \ + echo "contrib directory does not exist."; fi; \ + sed -e "s:_CWD_:$$C:g" \ + -e "s:_OBJWD_:$$O:g" \ + -e "s:_DLSUFFIX_:$(DLSUFFIX):g" \ + -e "s/_USER_/$$USER/g" < $< > $@ + +clean: + rm -f $(TARGETS) varbit.o -clean: - rm -f *.o varbit diff --git a/contrib/bit/README b/contrib/bit/README index b2ddb904b30..18a1fe1820b 100644 --- a/contrib/bit/README +++ b/contrib/bit/README @@ -7,9 +7,6 @@ make this code as independent as possible of the byte length, but it is quite possible that there may be problems on machines that don't have 8 bits/byte (are there still any around?). -In the input routines I have assumed that the parser eats the quotes -in B'...' or X'...'. - The SQL standard only defines comparison, SUBSTR and concatenation operators, and these have been implemented. In addition all logical operators have been implemented, i.e. ~,|,&,^,<< and >>. This is diff --git a/contrib/bit/varbit.c b/contrib/bit/varbit.c index 257f9766fd6..2a677ec6040 100644 --- a/contrib/bit/varbit.c +++ b/contrib/bit/varbit.c @@ -4,18 +4,14 @@ * Functions for the built-in type bit() and varying bit(). * * IDENTIFICATION - * $Header: /cvsroot/pgsql/contrib/bit/Attic/varbit.c,v 1.1 1999/11/29 22:34:36 momjian Exp $ + * $Header: /cvsroot/pgsql/contrib/bit/Attic/varbit.c,v 1.2 2000/04/03 20:56:40 momjian Exp $ * *------------------------------------------------------------------------- */ -#include "postgres.h" #include "varbit.h" -/* #include "access/htup.h" -#include "catalog/pg_type.h" -#include "utils/builtins.h" -*/ - +/*#include "catalog/pg_type.h" */ +/*#include "utils/builtins.h" */ /* @@ -43,22 +39,22 @@ * (XXX dummy is here because we pass typelem as the second argument * for array_in. copied this, no idea what it means??) */ -char * +bits8 * zpbitin(char *s, int dummy, int32 atttypmod) { - char *result, - *sp; /* pointer into the character string */ + bits8 *result; /* the bits string that was read in */ + char *sp; /* pointer into the character string */ bits8 *r; int len, /* Length of the whole data structure */ bitlen, /* Number of bits in the bit string */ slen; /* Length of the input string */ - int bit_not_hex; /* 0 = hex string 1=bit string */ - int i, bc, ipad; - bits8 x, y; + int bit_not_hex = 0; /* 0 = hex string 1=bit string */ + int bc, ipad; + bits8 x = 0; if (s == NULL) - return NULL; + return (bits8 *) NULL; /* Check that the first character is a b or an x */ if (s[0]=='b' || s[0]=='B') @@ -82,7 +78,8 @@ zpbitin(char *s, int dummy, int32 atttypmod) if (atttypmod == -1) atttypmod = bitlen; else - if (bitlen>atttypmod && bit_not_hex || bitlen>atttypmod+3 && !bit_not_hex) + if ((bitlen>atttypmod && bit_not_hex) || + (bitlen>atttypmod+3 && !bit_not_hex)) elog(ERROR, "zpbitin: bit string of size %d cannot be written into bits(%d)", bitlen,atttypmod); @@ -90,10 +87,10 @@ zpbitin(char *s, int dummy, int32 atttypmod) len = VARBITDATALEN(atttypmod); if (len > MaxAttrSize) - elog(ERROR, "zpbitin: length of bit() must be less than %d", + elog(ERROR, "zpbitin: length of bit() must be less than %ld", (MaxAttrSize-VARHDRSZ-VARBITHDRSZ)*BITSPERBYTE); - result = (char *) palloc(len); + result = (bits8 *) palloc(len); /* set to 0 so that *r is always initialised and strin is zero-padded */ memset(result, 0, len); VARSIZE(result) = len; @@ -103,7 +100,7 @@ zpbitin(char *s, int dummy, int32 atttypmod) significant byte first. s points to the byte before the beginning of the bitstring */ sp = s+1; - r = (bits8 *) VARBITS(result); + r = VARBITS(result); if (bit_not_hex) { /* Parse the bit representation of the string */ @@ -166,10 +163,10 @@ zpbitin(char *s, int dummy, int32 atttypmod) * for long strings */ char * -zpbitout(char *s) +zpbitout(bits8 *s) { char *result, *r; - VarBit sp; + bits8 *sp; int i, len, bitlen; if (s == NULL) @@ -183,7 +180,7 @@ zpbitout(char *s) bitlen = VARBITLEN(s); len = bitlen/4 + (bitlen%4>0 ? 1 : 0); result = (char *) palloc(len + 4); - sp = (bits8 *) VARBITS(s); + sp = VARBITS(s); r = result; *r++ = 'X'; *r++ = '\''; @@ -206,10 +203,10 @@ zpbitout(char *s) * Prints the string a bits */ char * -zpbitsout(char *s) +zpbitsout(bits8 *s) { char *result, *r; - VarBit sp; + bits8 *sp; bits8 x; int i, k, len; @@ -223,7 +220,7 @@ zpbitsout(char *s) { len = VARBITLEN(s); result = (char *) palloc(len + 4); - sp = (bits8 *) VARBITS(s); + sp = VARBITS(s); r = result; *r++ = 'B'; *r++ = '\''; @@ -252,22 +249,22 @@ zpbitsout(char *s) * varbitin - * converts a string to the internal representation of a bitstring. */ -char * +bits8 * varbitin(char *s, int dummy, int32 atttypmod) { - char *result, - *sp; /* pointer into the character string */ + bits8 *result; /* The resulting bit string */ + char *sp; /* pointer into the character string */ bits8 *r; int len, /* Length of the whole data structure */ bitlen, /* Number of bits in the bit string */ slen; /* Length of the input string */ - int bit_not_hex; - int i, bc, ipad; - bits8 x, y; + int bit_not_hex = 0; + int bc, ipad; + bits8 x = 0; if (s == NULL) - return NULL; + return (bits8 *) NULL; /* Check that the first character is a b or an x */ if (s[0]=='b' || s[0]=='B') @@ -289,7 +286,8 @@ varbitin(char *s, int dummy, int32 atttypmod) reading a hex string and not by more than 3 bits, as a hex string gives and accurate length upto 4 bits */ if (atttypmod > -1) - if (bitlen>atttypmod && bit_not_hex || bitlen>atttypmod+3 && !bit_not_hex) + if ((bitlen>atttypmod && bit_not_hex) || + (bitlen>atttypmod+3 && !bit_not_hex)) elog(ERROR, "varbitin: bit string of size %d cannot be written into varying bits(%d)", bitlen,atttypmod); @@ -297,10 +295,10 @@ varbitin(char *s, int dummy, int32 atttypmod) len = VARBITDATALEN(bitlen); if (len > MaxAttrSize) - elog(ERROR, "varbitin: length of bit() must be less than %d", + elog(ERROR, "varbitin: length of bit() must be less than %ld", (MaxAttrSize-VARHDRSZ-VARBITHDRSZ)*BITSPERBYTE); - result = (char *) palloc(len); + result = (bits8 *) palloc(len); /* set to 0 so that *r is always initialised and strin is zero-padded */ memset(result, 0, len); VARSIZE(result) = len; @@ -310,7 +308,7 @@ varbitin(char *s, int dummy, int32 atttypmod) significant byte first. s points to the byte before the beginning of the bitstring */ sp = s + 1; - r = (VarBit) VARBITS(result); + r = VARBITS(result); if (bit_not_hex) { /* Parse the bit representation of the string */ @@ -383,11 +381,10 @@ varbitin(char *s, int dummy, int32 atttypmod) */ bool -biteq (char *arg1, char *arg2) +biteq (bits8 *arg1, bits8 *arg2) { int bitlen1, bitlen2; - bits8 *p1, *p2; if (!PointerIsValid(arg1) || !PointerIsValid(arg2)) return (bool) 0; @@ -402,11 +399,10 @@ biteq (char *arg1, char *arg2) } bool -bitne (char *arg1, char *arg2) +bitne (bits8 *arg1, bits8 *arg2) { int bitlen1, bitlen2; - bits8 *p1, *p2; if (!PointerIsValid(arg1) || !PointerIsValid(arg2)) return (bool) 0; @@ -429,11 +425,10 @@ bitne (char *arg1, char *arg2) * Anything is equal to undefined. */ int -bitcmp (char *arg1, char *arg2) +bitcmp (bits8 *arg1, bits8 *arg2) { int bitlen1, bytelen1, bitlen2, bytelen2; - bits8 *p1, *p2; int cmp; if (!PointerIsValid(arg1) || !PointerIsValid(arg2)) @@ -452,25 +447,25 @@ bitcmp (char *arg1, char *arg2) } bool -bitlt (char *arg1, char *arg2) +bitlt (bits8 *arg1, bits8 *arg2) { return (bool) (bitcmp(arg1,arg2) == -1); } bool -bitle (char *arg1, char *arg2) +bitle (bits8 *arg1, bits8 *arg2) { return (bool) (bitcmp(arg1,arg2) <= 0); } bool -bitge (char *arg1, char *arg2) +bitge (bits8 *arg1, bits8 *arg2) { return (bool) (bitcmp(arg1,arg2) >= 0); } bool -bitgt (char *arg1, char *arg2) +bitgt (bits8 *arg1, bits8 *arg2) { return (bool) (bitcmp(arg1,arg2) == 1); } @@ -478,11 +473,11 @@ bitgt (char *arg1, char *arg2) /* bitcat * Concatenation of bit strings */ -char * -bitcat (char *arg1, char *arg2) +bits8 * +bitcat (bits8 *arg1, bits8 *arg2) { int bitlen1, bitlen2, bytelen, bit1pad, bit2shift; - char *result; + bits8 *result; bits8 *pr, *pa; if (!PointerIsValid(arg1) || !PointerIsValid(arg2)) @@ -493,7 +488,7 @@ bitcat (char *arg1, char *arg2) bytelen = VARBITDATALEN(bitlen1+bitlen2); - result = (char *) palloc(bytelen*sizeof(bits8)); + result = (bits8 *) palloc(bytelen*sizeof(bits8)); VARSIZE(result) = bytelen; VARBITLEN(result) = bitlen1+bitlen2; printf("%d %d %d \n",VARBITBYTES(arg1),VARBITLEN(arg1),VARBITPAD(arg1)); @@ -510,10 +505,10 @@ bitcat (char *arg1, char *arg2) { /* We need to shift all the results to fit */ bit2shift = BITSPERBYTE - bit1pad; - pa = (VarBit) VARBITS(arg2); - pr = (VarBit) VARBITS(result)+VARBITBYTES(arg1)-1; + pa = VARBITS(arg2); + pr = VARBITS(result)+VARBITBYTES(arg1)-1; for ( ; pa < VARBITEND(arg2); pa++) { - *pr = *pr | ((*pa >> bit2shift) & BITMASK); + *pr |= ((*pa >> bit2shift) & BITMASK); pr++; if (pr < VARBITEND(result)) *pr = (*pa << bit1pad) & BITMASK; @@ -528,17 +523,17 @@ bitcat (char *arg1, char *arg2) * Note, s is 1-based. * SQL draft 6.10 9) */ -char * -bitsubstr (char *arg, int32 s, int32 l) +bits8 * +bitsubstr (bits8 *arg, int32 s, int32 l) { int bitlen, rbitlen, len, - ipad, + ipad = 0, ishift, i; int e, s1, e1; - char * result; + bits8 * result; bits8 mask, *r, *ps; if (!PointerIsValid(arg)) @@ -552,7 +547,7 @@ bitsubstr (char *arg, int32 s, int32 l) { /* Need to return a null string */ len = VARBITDATALEN(0); - result = (char *) palloc(len); + result = (bits8 *) palloc(len); VARBITLEN(result) = 0; VARSIZE(result) = len; } @@ -562,22 +557,22 @@ bitsubstr (char *arg, int32 s, int32 l) ending at position e1-1 */ rbitlen = e1-s1; len = VARBITDATALEN(rbitlen); - result = (char *) palloc(len); + result = (bits8 *) palloc(len); VARBITLEN(result) = rbitlen; VARSIZE(result) = len; + len -= VARHDRSZ + VARBITHDRSZ; /* Are we copying from a byte boundary? */ if ((s1-1)%BITSPERBYTE==0) { /* Yep, we are copying bytes */ - len -= VARHDRSZ + VARBITHDRSZ; memcpy(VARBITS(result),VARBITS(arg)+(s1-1)/BITSPERBYTE,len); } else { /* Figure out how much we need to shift the sequence by */ ishift = (s1-1)%BITSPERBYTE; - r = (VarBit) VARBITS(result); - ps = (VarBit) VARBITS(arg) + (s1-1)/BITSPERBYTE; + r = VARBITS(result); + ps = VARBITS(arg) + (s1-1)/BITSPERBYTE; for (i=0; i<len; i++) { *r = (*ps <<ishift) & BITMASK; @@ -602,12 +597,12 @@ bitsubstr (char *arg, int32 s, int32 l) * perform a logical AND on two bit strings. The result is automatically * truncated to the shorter bit string */ -char * -bitand (char * arg1, char * arg2) +bits8 * +bitand (bits8 * arg1, bits8 * arg2) { int len, i; - char *result; + bits8 *result; bits8 *p1, *p2, *r; @@ -616,7 +611,7 @@ bitand (char * arg1, char * arg2) return (bool) 0; len = Min(VARSIZE(arg1),VARSIZE(arg2)); - result = (char *) palloc(len); + result = (bits8 *) palloc(len); VARSIZE(result) = len; VARBITLEN(result) = Min(VARBITLEN(arg1),VARBITLEN(arg2)); @@ -635,12 +630,12 @@ bitand (char * arg1, char * arg2) * perform a logical OR on two bit strings. The result is automatically * truncated to the shorter bit string. */ -char * -bitor (char * arg1, char * arg2) +bits8 * +bitor (bits8 * arg1, bits8 * arg2) { int len, i; - char *result; + bits8 *result; bits8 *p1, *p2, *r; @@ -650,7 +645,7 @@ bitor (char * arg1, char * arg2) return (bool) 0; len = Min(VARSIZE(arg1),VARSIZE(arg2)); - result = (char *) palloc(len); + result = (bits8 *) palloc(len); VARSIZE(result) = len; VARBITLEN(result) = Min(VARBITLEN(arg1),VARBITLEN(arg2)); @@ -671,12 +666,12 @@ bitor (char * arg1, char * arg2) * perform a logical XOR on two bit strings. The result is automatically * truncated to the shorter bit string. */ -char * -bitxor (char * arg1, char * arg2) +bits8 * +bitxor (bits8 * arg1, bits8 * arg2) { int len, i; - char *result; + bits8 *result; bits8 *p1, *p2, *r; @@ -686,7 +681,7 @@ bitxor (char * arg1, char * arg2) return (bool) 0; len = Min(VARSIZE(arg1),VARSIZE(arg2)); - result = (char *) palloc(len); + result = (bits8 *) palloc(len); VARSIZE(result) = len; VARBITLEN(result) = Min(VARBITLEN(arg1),VARBITLEN(arg2)); @@ -708,11 +703,10 @@ bitxor (char * arg1, char * arg2) /* bitnot * perform a logical NOT on a bit strings. */ -char * -bitnot (char * arg) +bits8 * +bitnot (bits8 * arg) { - int len; - char *result; + bits8 *result; bits8 *p, *r; bits8 mask; @@ -720,7 +714,7 @@ bitnot (char * arg) if (!PointerIsValid(arg)) return (bool) 0; - result = (char *) palloc(VARSIZE(arg)); + result = (bits8 *) palloc(VARSIZE(arg)); VARSIZE(result) = VARSIZE(arg); VARBITLEN(result) = VARBITLEN(arg); @@ -739,11 +733,11 @@ bitnot (char * arg) /* bitshiftleft * do a left shift (i.e. to the beginning of the string) of the bit string */ -char * -bitshiftleft (char * arg, int shft) +bits8 * +bitshiftleft (bits8 * arg, int shft) { int byte_shift, ishift, len; - char *result; + bits8 *result; bits8 *p, *r; @@ -754,7 +748,7 @@ bitshiftleft (char * arg, int shft) if (shft < 0) return bitshiftright(arg, -shft); - result = (char *) palloc(VARSIZE(arg)); + result = (bits8 *) palloc(VARSIZE(arg)); VARSIZE(result) = VARSIZE(arg); VARBITLEN(result) = VARBITLEN(arg); r = (bits8 *) VARBITS(result); @@ -784,22 +778,22 @@ bitshiftleft (char * arg, int shft) /* bitshiftright * do a right shift (i.e. to the beginning of the string) of the bit string */ -char * -bitshiftright (char * arg, int shft) +bits8 * +bitshiftright (bits8 * arg, int shft) { int byte_shift, ishift, len; - char *result; + bits8 *result; bits8 *p, *r; if (!PointerIsValid(arg)) - return (bool) 0; + return (bits8 *) 0; /* Negative shift is a shift to the left */ if (shft < 0) return bitshiftleft(arg, -shft); - result = (char *) palloc(VARSIZE(arg)); + result = (bits8 *) palloc(VARSIZE(arg)); VARSIZE(result) = VARSIZE(arg); VARBITLEN(result) = VARBITLEN(arg); r = (bits8 *) VARBITS(result); diff --git a/contrib/bit/varbit.demo.sql b/contrib/bit/varbit.demo.sql new file mode 100644 index 00000000000..2b2bf661d35 --- /dev/null +++ b/contrib/bit/varbit.demo.sql @@ -0,0 +1,29 @@ +create table bit_example (a bits, b bits); +copy bit_example from stdin; +X0F X10 +X1F X11 +X2F X12 +X3F X13 +X8F X04 +X000F X0010 +X0123 XFFFF +X2468 X2468 +XFA50 X05AF +X12345 XFFF +\. + +select a,b,a||b as "a||b", bitsubstr(a,4,4) as "sub(a,4,4)", + bitsubstr(b,2,4) as "sub(b,2,4)", + bitsubstr(b,5,5) as "sub(b,5,5)" + from bit_example; +select a,b,~a as "~ a",~b as "~ b",a & b as "a & b", + a|b as "a | b", a^b as "a ^ b" from bit_example; +select a,b,a<b as "a<b",a<=b as "a<=b",a=b as "a=b", + a>=b as "a>=b",a>b as "a>b",a<=>b as "a<=>b" from bit_example; +select a,a<<4 as "a<<4",b,b>>2 as "b>>2" from bit_example; +select a,b,a||b as "a||b", bitsubstr(a,4,4) as "sub(a,4,4)", + bitsubstr(b,2,4) as "sub(b,2,4)", + bitsubstr(b,5,5) as "sub(b,5,5)" + from bit_example; + +drop table bit_example; diff --git a/contrib/bit/varbit.drop.sql b/contrib/bit/varbit.drop.sql new file mode 100644 index 00000000000..54b831ea2dc --- /dev/null +++ b/contrib/bit/varbit.drop.sql @@ -0,0 +1,36 @@ +DROP FUNCTION biteq(bits,bits); +DROP OPERATOR = (bits,bits); +DROP FUNCTION bitne(bits,bits); +DROP OPERATOR <> (bits,bits); +DROP FUNCTION bitlt(bits,bits); +DROP OPERATOR < (bits,bits); +DROP FUNCTION bitle(bits,bits); +DROP OPERATOR <= (bits,bits); +DROP FUNCTION bitgt(bits,bits); +DROP OPERATOR > (bits,bits); +DROP FUNCTION bitge(bits,bits); +DROP OPERATOR >= (bits,bits); +DROP FUNCTION bitcmp(bits,bits); +DROP OPERATOR <=> (bits,bits); + +DROP FUNCTION bitor(bits,bits); +DROP OPERATOR | (bits,bits); +DROP FUNCTION bitand(bits,bits); +DROP OPERATOR & (bits,bits); +DROP FUNCTION bitxor(bits,bits); +DROP OPERATOR ^ (bits,bits); +DROP FUNCTION bitnot(bits); +DROP OPERATOR ~ (none,bits); + +DROP FUNCTION bitshiftleft(bits,int4); +DROP OPERATOR << (bits,int4); +DROP FUNCTION bitshiftright(bits,int4); +DROP OPERATOR >> (bits,int4); + +DROP FUNCTION bitsubstr(bits,integer,integer); +DROP OPERATOR || (bits,bits); +DROP FUNCTION bitcat(bits,bits); + +DROP FUNCTION varbit_in(opaque); +DROP FUNCTION varbit_out(opaque); +DROP TYPE bits; diff --git a/contrib/bit/varbit.h b/contrib/bit/varbit.h index af55f486ea3..44007ad10a9 100644 --- a/contrib/bit/varbit.h +++ b/contrib/bit/varbit.h @@ -1,17 +1,21 @@ +#include "c.h" #include "postgres.h" -typedef bits8 *VarBit; -typedef uint32 BitIndex; - #define HEXDIG(z) (z)<10 ? ((z)+'0') : ((z)-10+'A') +/* Modeled on struct varlena from postgres.h, bu data type is bits8 */ +struct varbita +{ + int32 vl_len; + bits8 vl_dat[1]; +}; #define BITSPERBYTE 8 #define VARBITHDRSZ sizeof(int32) /* Number of bits in this bit string */ -#define VARBITLEN(PTR) (((struct varlena *)VARDATA(PTR))->vl_len) +#define VARBITLEN(PTR) (((struct varbita *)VARDATA(PTR))->vl_len) /* Pointer tp the first byte containing bit string data */ -#define VARBITS(PTR) (((struct varlena *)VARDATA(PTR))->vl_dat) +#define VARBITS(PTR) (((struct varbita *)VARDATA(PTR))->vl_dat) /* Number of bytes in the data section of a bit string */ #define VARBITBYTES(PTR) (VARSIZE(PTR) - VARHDRSZ - VARBITHDRSZ) /* Padding of the bit string at the end */ @@ -27,22 +31,22 @@ typedef uint32 BitIndex; #define BITHIGH 0x80 -char * zpbitin(char *s, int dummy, int32 atttypmod); -char * zpbitout(char *s); -char * zpbitsout(char *s); -char * varbitin(char *s, int dummy, int32 atttypmod); -bool biteq (char *arg1, char *arg2); -bool bitne (char *arg1, char *arg2); -bool bitge (char *arg1, char *arg2); -bool bitgt (char *arg1, char *arg2); -bool bitle (char *arg1, char *arg2); -bool bitlt (char *arg1, char *arg2); -int bitcmp (char *arg1, char *arg2); -char * bitand (char * arg1, char * arg2); -char * bitor (char * arg1, char * arg2); -char * bitxor (char * arg1, char * arg2); -char * bitnot (char * arg); -char * bitshiftright (char * arg, int shft); -char * bitshiftleft (char * arg, int shft); -char * bitcat (char *arg1, char *arg2); -char * bitsubstr (char *arg, int32 s, int32 l); +bits8 * zpbitin(char *s, int dummy, int32 atttypmod); +char * zpbitout(bits8 *s); +char * zpbitsout(bits8 *s); +bits8 * varbitin(char *s, int dummy, int32 atttypmod); +bool biteq (bits8 *arg1, bits8 *arg2); +bool bitne (bits8 *arg1, bits8 *arg2); +bool bitge (bits8 *arg1, bits8 *arg2); +bool bitgt (bits8 *arg1, bits8 *arg2); +bool bitle (bits8 *arg1, bits8 *arg2); +bool bitlt (bits8 *arg1, bits8 *arg2); +int bitcmp (bits8 *arg1, bits8 *arg2); +bits8 * bitand (bits8 * arg1, bits8 * arg2); +bits8 * bitor (bits8 * arg1, bits8 * arg2); +bits8 * bitxor (bits8 * arg1, bits8 * arg2); +bits8 * bitnot (bits8 * arg); +bits8 * bitshiftright (bits8 * arg, int shft); +bits8 * bitshiftleft (bits8 * arg, int shft); +bits8 * bitcat (bits8 *arg1, bits8 *arg2); +bits8 * bitsubstr (bits8 *arg, int32 s, int32 l); diff --git a/contrib/bit/varbit.source b/contrib/bit/varbit.source new file mode 100644 index 00000000000..8b9dc29aab5 --- /dev/null +++ b/contrib/bit/varbit.source @@ -0,0 +1,171 @@ +LOAD '_OBJWD_/varbit.so'; + +CREATE FUNCTION varbit_in(opaque) + RETURNS bit + AS '_OBJWD_/varbit.so' + LANGUAGE 'c'; + +CREATE FUNCTION varbit_out(opaque) + RETURNS opaque + AS '_OBJWD_/varbit.so' + LANGUAGE 'c'; + +CREATE TYPE bits ( + internallength = -1, + input = varbit_in, + output = varbit_out +); + +CREATE FUNCTION bitcat(bits,bits) RETURNS bits + AS '_OBJWD_/varbit.so' + LANGUAGE 'C'; + +CREATE OPERATOR || ( + leftarg = bits, + rightarg = bits, + procedure = bitcat +); + +CREATE FUNCTION bitsubstr(bits,integer,integer) RETURNS bits + AS '_OBJWD_/varbit.so' + LANGUAGE 'C'; + +CREATE FUNCTION biteq(bits,bits) RETURNS bool + AS '_OBJWD_/varbit.so' + LANGUAGE 'C'; + +CREATE OPERATOR = ( + leftarg = bits, + rightarg = bits, + procedure = biteq, + negator = <>, + commutator = = +); + +CREATE FUNCTION bitne(bits,bits) RETURNS bool + AS '_OBJWD_/varbit.so' + LANGUAGE 'C'; + +CREATE OPERATOR <> ( + leftarg = bits, + rightarg = bits, + procedure = bitne, + negator = =, + commutator = <> +); + +CREATE FUNCTION bitlt(bits,bits) RETURNS bool + AS '_OBJWD_/varbit.so' + LANGUAGE 'C'; + +CREATE OPERATOR < ( + leftarg = bits, + rightarg = bits, + procedure = bitlt +); + +CREATE FUNCTION bitle(bits,bits) RETURNS bool + AS '_OBJWD_/varbit.so' + LANGUAGE 'C'; + +CREATE OPERATOR <= ( + leftarg = bits, + rightarg = bits, + procedure = bitle +); + +CREATE FUNCTION bitgt(bits,bits) RETURNS bool + AS '_OBJWD_/varbit.so' + LANGUAGE 'C'; + +CREATE OPERATOR > ( + leftarg = bits, + rightarg = bits, + procedure = bitgt, + negator = <=, + commutator = < +); + +CREATE FUNCTION bitge(bits,bits) RETURNS bool + as '_OBJWD_/varbit.so' + language 'C'; + +CREATE OPERATOR >= ( + leftarg = bits, + rightarg = bits, + procedure = bitge, + negator = <, + commutator = <= +); + +CREATE FUNCTION bitcmp(bits,bits) RETURNS int4 + AS '_OBJWD_/varbit.so' + LANGUAGE 'C'; + +CREATE OPERATOR <=> ( + leftarg = bits, + rightarg = bits, + procedure = bitcmp +); + +CREATE FUNCTION bitor(bits,bits) RETURNS bits + AS '_OBJWD_/varbit.so' + LANGUAGE 'C'; + +CREATE OPERATOR | ( + leftarg = bits, + rightarg = bits, + procedure = bitor, + commutator = | +); + +CREATE FUNCTION bitand(bits,bits) RETURNS bits + AS '_OBJWD_/varbit.so' + LANGUAGE 'C'; + +CREATE OPERATOR & ( + leftarg = bits, + rightarg = bits, + procedure = bitand, + commutator = & +); + + +CREATE FUNCTION bitxor(bits,bits) RETURNS bits + AS '_OBJWD_/varbit.so' + LANGUAGE 'C'; + +CREATE OPERATOR ^ ( + leftarg = bits, + rightarg = bits, + procedure = bitxor +); + +CREATE FUNCTION bitnot(bits) RETURNS bits + AS '_OBJWD_/varbit.so' + LANGUAGE 'C'; + +CREATE OPERATOR ~ ( + rightarg = bits, + procedure = bitnot +); + +CREATE FUNCTION bitshiftleft(bits,int4) RETURNS bits + AS '_OBJWD_/varbit.so' + LANGUAGE 'C'; + +CREATE OPERATOR << ( + leftarg = bits, + rightarg = int4, + procedure = bitshiftleft +); + +CREATE FUNCTION bitshiftright(bits,int4) RETURNS bits + AS '_OBJWD_/varbit.so' + LANGUAGE 'C'; + +CREATE OPERATOR >> ( + leftarg = bits, + rightarg = int4, + procedure = bitshiftright +); diff --git a/contrib/bit/varbit_glue.c b/contrib/bit/varbit_glue.c new file mode 100644 index 00000000000..29b7debd03c --- /dev/null +++ b/contrib/bit/varbit_glue.c @@ -0,0 +1,22 @@ +/* Glue file to use varbit before it is properly integrated with postgres */ + +#include "varbit.h" + +bits8 * varbit_in (char * s); +char * varbit_out (bits8 *s); + +bits8 * +varbit_in (char * s) { + return varbitin (s, 0, -1); +} + +/*char * +varbit_out (bits8 *s) { + return zpbitout(s); +} +*/ + +char * +varbit_out (bits8 *s) { + return zpbitsout(s); +} diff --git a/contrib/bit/vartest.c b/contrib/bit/vartest.c index 732141e8df4..f07f5c5b833 100644 --- a/contrib/bit/vartest.c +++ b/contrib/bit/vartest.c @@ -2,6 +2,8 @@ #include "varbit.h" #include <stdio.h> +void print_details (unsigned char *s); + const int numb = 8; /* const char *b[] = { "B0010", "B11011011", "B0001", "X3F12", "X27", "B", @@ -23,13 +25,13 @@ void print_details (unsigned char *s) printf("\n"); } -void +int main () { int i, j; char *s[numb]; - for (i=0; i<numb; i++) { + for (i=0; i<numb; i++) { printf ("Input: %s\n",b[i]); s[i] = zpbitin(b[i], 0, atttypmod[i]); //print_details(s[i]); @@ -53,13 +55,13 @@ main () zpbitsout(bitsubstr(s[3],1,8))); printf("%s (%d,%d) => %s\n",zpbitsout(s[3]),9,8, zpbitsout(bitsubstr(s[3],9,8))); - printf("%s (%d,%d) => %s\n",zpbitsout(s[3]),1,9, + printf("%s (%d,%d) => %s\n",zpbitsout(s[3]),1,9, zpbitsout(bitsubstr(s[3],1,9))); - printf("%s (%d,%d) => %s\n",zpbitsout(s[3]),3,5, + printf("%s (%d,%d) => %s\n",zpbitsout(s[3]),3,5, zpbitsout(bitsubstr(s[3],3,5))); - printf("%s (%d,%d) => %s\n",zpbitsout(s[3]),3,9, + printf("%s (%d,%d) => %s\n",zpbitsout(s[3]),3,9, zpbitsout(bitsubstr(s[3],3,9))); - printf("%s (%d,%d) => %s\n",zpbitsout(s[3]),3,17, + printf("%s (%d,%d) => %s\n",zpbitsout(s[3]),3,17, zpbitsout(bitsubstr(s[3],3,17))); printf ("\nLOGICAL AND:\n"); for (i=0; i<numb; i++) @@ -124,14 +126,14 @@ main () zpbitsout(bitsubstr(s[3],1,8))); printf("%s (%d,%d) => %s\n",zpbitsout(s[3]),9,8, zpbitsout(bitsubstr(s[3],9,8))); - printf("%s (%d,%d) => %s\n",zpbitsout(s[3]),1,9, + printf("%s (%d,%d) => %s\n",zpbitsout(s[3]),1,9, zpbitsout(bitsubstr(s[3],1,9))); - printf("%s (%d,%d) => %s\n",zpbitsout(s[3]),3,5, + printf("%s (%d,%d) => %s\n",zpbitsout(s[3]),3,5, zpbitsout(bitsubstr(s[3],3,5))); - printf("%s (%d,%d) => %s\n",zpbitsout(s[3]),3,9, + printf("%s (%d,%d) => %s\n",zpbitsout(s[3]),3,9, zpbitsout(bitsubstr(s[3],3,9))); - printf("%s (%d,%d) => %s\n",zpbitsout(s[3]),3,17, - zpbitsout(bitsubstr(s[3],3,17))); + printf("%s (%d,%d) => %s (%s)\n",zpbitsout(s[3]),3,17, + zpbitsout(bitsubstr(s[3],3,17)),zpbitsout(bitsubstr(s[3],3,17))); printf ("\nLOGICAL AND:\n"); for (i=0; i<numb; i++) for (j=i+1; j<numb; j++) diff --git a/src/bin/pgaccess/lib/languages/ID b/src/bin/pgaccess/lib/languages/ID index a7343f03296aeab68ccad576fb15e34c95da9d72..092376f7dc1bbf78dbe56e86438637b1d1c22abb 100644 GIT binary patch delta 69501 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 E0Mu8Ub^rhX delta 67288 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 I<<?;Y0E%$|yZ`_I -- GitLab