mirror of
https://github.com/postgres/postgres.git
synced 2025-08-28 18:48:04 +03:00
/contrib patch from Karel.
This commit is contained in:
@@ -1,171 +0,0 @@
|
||||
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
|
||||
);
|
||||
|
Reference in New Issue
Block a user