mirror of
				https://github.com/postgres/postgres.git
				synced 2025-10-31 10:30:33 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			172 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			172 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| LOAD '_OBJWD_/varbit.so';
 | |
| 
 | |
| CREATE FUNCTION varbitin(opaque)
 | |
|    RETURNS bit
 | |
|    AS '_OBJWD_/varbit.so'
 | |
|    LANGUAGE 'c';
 | |
| 
 | |
| CREATE FUNCTION zpbitout(opaque)
 | |
|    RETURNS opaque
 | |
|    AS '_OBJWD_/varbit.so'
 | |
|    LANGUAGE 'c';
 | |
| 
 | |
| CREATE TYPE bit (
 | |
|    internallength = -1,
 | |
|    input = varbitin,
 | |
|    output = zpbitout
 | |
| );
 | |
| 
 | |
| CREATE FUNCTION bitcat(bit,bit) RETURNS bit
 | |
|   AS '_OBJWD_/varbit.so'
 | |
|   LANGUAGE 'C';
 | |
| 
 | |
| CREATE OPERATOR || (
 | |
|   leftarg = bit,
 | |
|   rightarg = bit,
 | |
|   procedure = bitcat
 | |
| );
 | |
| 
 | |
| CREATE FUNCTION bitsubstr(bit,integer,integer) RETURNS bit
 | |
|   AS '_OBJWD_/varbit.so'
 | |
|   LANGUAGE 'C';
 | |
| 
 | |
| CREATE FUNCTION biteq(bit,bit) RETURNS bool
 | |
|   AS '_OBJWD_/varbit.so'
 | |
|   LANGUAGE 'C';
 | |
| 
 | |
| CREATE OPERATOR = (
 | |
|   leftarg = bit,
 | |
|   rightarg = bit,
 | |
|   procedure = biteq,
 | |
|   negator = <>,
 | |
|   commutator = =
 | |
| ); 
 | |
| 
 | |
| CREATE FUNCTION bitne(bit,bit) RETURNS bool
 | |
|   AS '_OBJWD_/varbit.so'
 | |
|   LANGUAGE 'C';
 | |
| 
 | |
| CREATE OPERATOR <> (
 | |
|   leftarg = bit,
 | |
|   rightarg = bit,
 | |
|   procedure = bitne,
 | |
|   negator = =,
 | |
|   commutator = <>
 | |
| ); 
 | |
| 
 | |
| CREATE FUNCTION bitlt(bit,bit) RETURNS bool
 | |
|   AS '_OBJWD_/varbit.so'
 | |
|   LANGUAGE 'C';
 | |
| 
 | |
| CREATE OPERATOR < (
 | |
|   leftarg = bit,
 | |
|   rightarg = bit,
 | |
|   procedure = bitlt
 | |
| ); 
 | |
| 
 | |
| CREATE FUNCTION bitle(bit,bit) RETURNS bool
 | |
|   AS '_OBJWD_/varbit.so'
 | |
|   LANGUAGE 'C';
 | |
| 
 | |
| CREATE OPERATOR <= (
 | |
|   leftarg = bit,
 | |
|   rightarg = bit,
 | |
|   procedure = bitle
 | |
| ); 
 | |
| 
 | |
| CREATE FUNCTION bitgt(bit,bit) RETURNS bool
 | |
|   AS '_OBJWD_/varbit.so'
 | |
|   LANGUAGE 'C';
 | |
| 
 | |
| CREATE OPERATOR > (
 | |
|   leftarg = bit,
 | |
|   rightarg = bit,
 | |
|   procedure = bitgt,
 | |
|   negator = <=,
 | |
|   commutator = <
 | |
| ); 
 | |
| 
 | |
| CREATE FUNCTION bitge(bit,bit) RETURNS bool
 | |
|   as '_OBJWD_/varbit.so'
 | |
|   language 'C';
 | |
| 
 | |
| CREATE OPERATOR >= (
 | |
|   leftarg = bit,
 | |
|   rightarg = bit,
 | |
|   procedure = bitge,
 | |
|   negator = <,
 | |
|   commutator = <=
 | |
| ); 
 | |
| 
 | |
| CREATE FUNCTION bitcmp(bit,bit) RETURNS integer
 | |
|   AS '_OBJWD_/varbit.so'
 | |
|   LANGUAGE 'C';
 | |
| 
 | |
| CREATE OPERATOR <=> (
 | |
|   leftarg = bit,
 | |
|   rightarg = bit,
 | |
|   procedure = bitcmp
 | |
| ); 
 | |
| 
 | |
| CREATE FUNCTION bitor(bit,bit) RETURNS bit
 | |
|   AS '_OBJWD_/varbit.so'
 | |
|   LANGUAGE 'C';
 | |
| 
 | |
| CREATE OPERATOR | (
 | |
|   leftarg = bit,
 | |
|   rightarg = bit,
 | |
|   procedure = bitor,
 | |
|   commutator = |
 | |
| ); 
 | |
| 
 | |
| CREATE FUNCTION bitand(bit,bit) RETURNS bit
 | |
|   AS '_OBJWD_/varbit.so'
 | |
|   LANGUAGE 'C';
 | |
| 
 | |
| CREATE OPERATOR & (
 | |
|   leftarg = bit,
 | |
|   rightarg = bit,
 | |
|   procedure = bitand,
 | |
|   commutator = &
 | |
| ); 
 | |
| 
 | |
| 
 | |
| CREATE FUNCTION bitxor(bit,bit) RETURNS bit
 | |
|   AS '_OBJWD_/varbit.so'
 | |
|   LANGUAGE 'C';
 | |
| 
 | |
| CREATE OPERATOR ^ (
 | |
|   leftarg = bit,
 | |
|   rightarg = bit,
 | |
|   procedure = bitxor
 | |
| ); 
 | |
| 
 | |
| CREATE FUNCTION bitnot(bit) RETURNS bit
 | |
|   AS '_OBJWD_/varbit.so'
 | |
|   LANGUAGE 'C';
 | |
| 
 | |
| CREATE OPERATOR ~ (
 | |
|   rightarg = bit,
 | |
|   procedure = bitnot
 | |
| ); 
 | |
| 
 | |
| CREATE FUNCTION bitshiftleft(bit,integer) RETURNS bit
 | |
|   AS '_OBJWD_/varbit.so'
 | |
|   LANGUAGE 'C';
 | |
| 
 | |
| CREATE OPERATOR << (
 | |
|   leftarg = bit,
 | |
|   rightarg = integer,
 | |
|   procedure = bitshiftleft
 | |
| );
 | |
| 
 | |
| CREATE FUNCTION bitshiftright(bit,integer) RETURNS bit
 | |
|   AS '_OBJWD_/varbit.so'
 | |
|   LANGUAGE 'C';
 | |
| 
 | |
| CREATE OPERATOR >> (
 | |
|   leftarg = bit,
 | |
|   rightarg = integer,
 | |
|   procedure = bitshiftright
 | |
| );
 |