bingo/postgres/sql/common/ringo_pg.sql.in (87 lines of code) (raw):
CREATE TYPE rsub AS (query_reaction text, query_options text);
CREATE OR REPLACE FUNCTION matchRSub(text, rsub)
RETURNS boolean AS $$
BEGIN
RETURN BINGO_SCHEMANAME._rsub_internal($2.query_reaction, $1, $2.query_options);
END;
$$ LANGUAGE 'plpgsql';
CREATE OR REPLACE FUNCTION matchRSub(bytea, rsub)
RETURNS boolean AS $$
BEGIN
RETURN BINGO_SCHEMANAME._rsub_internal($2.query_reaction, $1, $2.query_options);
END;
$$ LANGUAGE 'plpgsql';
CREATE TYPE rexact AS (query_reaction text, query_options text);
CREATE OR REPLACE FUNCTION matchRExact(text, rexact)
RETURNS boolean AS $$
BEGIN
RETURN BINGO_SCHEMANAME._rexact_internal($2.query_reaction, $1, $2.query_options);
END;
$$ LANGUAGE 'plpgsql';
CREATE OR REPLACE FUNCTION matchRExact(bytea, rexact)
RETURNS boolean AS $$
BEGIN
RETURN BINGO_SCHEMANAME._rexact_internal($2.query_reaction, $1, $2.query_options);
END;
$$ LANGUAGE 'plpgsql';
CREATE TYPE rsmarts AS (query_reaction text, query_options text);
CREATE OR REPLACE FUNCTION matchRSmarts(text, rsmarts)
RETURNS boolean AS $$
BEGIN
RETURN BINGO_SCHEMANAME._rsmarts_internal($2.query_reaction, $1, $2.query_options);
END;
$$ LANGUAGE 'plpgsql';
CREATE OR REPLACE FUNCTION matchRSmarts(bytea, rsmarts)
RETURNS boolean AS $$
BEGIN
RETURN BINGO_SCHEMANAME._rsmarts_internal($2.query_reaction, $1, $2.query_options);
END;
$$ LANGUAGE 'plpgsql';
CREATE OPERATOR public.@ (
LEFTARG = text,
RIGHTARG = rsub,
PROCEDURE = matchRSub,
COMMUTATOR = '@',
RESTRICT = contsel,
JOIN = contjoinsel
);
CREATE OPERATOR public.@ (
LEFTARG = bytea,
RIGHTARG = rsub,
PROCEDURE = matchRSub,
COMMUTATOR = '@',
RESTRICT = contsel,
JOIN = contjoinsel
);
CREATE OPERATOR public.@ (
LEFTARG = text,
RIGHTARG = rexact,
PROCEDURE = matchRExact,
COMMUTATOR = '@',
RESTRICT = contsel,
JOIN = contjoinsel
);
CREATE OPERATOR public.@ (
LEFTARG = bytea,
RIGHTARG = rexact,
PROCEDURE = matchRExact,
COMMUTATOR = '@',
RESTRICT = contsel,
JOIN = contjoinsel
);
CREATE OPERATOR public.@ (
LEFTARG = text,
RIGHTARG = rsmarts,
PROCEDURE = matchRSmarts,
COMMUTATOR = '@',
RESTRICT = contsel,
JOIN = contjoinsel
);
CREATE OPERATOR public.@ (
LEFTARG = bytea,
RIGHTARG = rsmarts,
PROCEDURE = matchRSmarts,
COMMUTATOR = '@',
RESTRICT = contsel,
JOIN = contjoinsel
);