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