postgresql/contrib/bit/varbit.source

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
);