mirror of
https://github.com/phpbb/phpbb.git
synced 2025-02-23 11:28:33 +01:00
81 lines
2.1 KiB
PL/PgSQL
81 lines
2.1 KiB
PL/PgSQL
|
|
BEGIN;
|
|
|
|
/*
|
|
Domain definition
|
|
*/
|
|
CREATE DOMAIN varchar_ci AS varchar(255) NOT NULL DEFAULT ''::character varying;
|
|
|
|
/*
|
|
Operation Functions
|
|
*/
|
|
CREATE FUNCTION _varchar_ci_equal(varchar_ci, varchar_ci) RETURNS boolean AS 'SELECT LOWER($1) = LOWER($2)' LANGUAGE SQL STRICT;
|
|
CREATE FUNCTION _varchar_ci_not_equal(varchar_ci, varchar_ci) RETURNS boolean AS 'SELECT LOWER($1) != LOWER($2)' LANGUAGE SQL STRICT;
|
|
CREATE FUNCTION _varchar_ci_less_than(varchar_ci, varchar_ci) RETURNS boolean AS 'SELECT LOWER($1) < LOWER($2)' LANGUAGE SQL STRICT;
|
|
CREATE FUNCTION _varchar_ci_less_equal(varchar_ci, varchar_ci) RETURNS boolean AS 'SELECT LOWER($1) <= LOWER($2)' LANGUAGE SQL STRICT;
|
|
CREATE FUNCTION _varchar_ci_greater_than(varchar_ci, varchar_ci) RETURNS boolean AS 'SELECT LOWER($1) > LOWER($2)' LANGUAGE SQL STRICT;
|
|
CREATE FUNCTION _varchar_ci_greater_equals(varchar_ci, varchar_ci) RETURNS boolean AS 'SELECT LOWER($1) >= LOWER($2)' LANGUAGE SQL STRICT;
|
|
|
|
/*
|
|
Operators
|
|
*/
|
|
CREATE OPERATOR <(
|
|
PROCEDURE = _varchar_ci_less_than,
|
|
LEFTARG = varchar_ci,
|
|
RIGHTARG = varchar_ci,
|
|
COMMUTATOR = >,
|
|
NEGATOR = >=,
|
|
RESTRICT = scalarltsel,
|
|
JOIN = scalarltjoinsel);
|
|
|
|
CREATE OPERATOR <=(
|
|
PROCEDURE = _varchar_ci_less_equal,
|
|
LEFTARG = varchar_ci,
|
|
RIGHTARG = varchar_ci,
|
|
COMMUTATOR = >=,
|
|
NEGATOR = >,
|
|
RESTRICT = scalarltsel,
|
|
JOIN = scalarltjoinsel);
|
|
|
|
CREATE OPERATOR >(
|
|
PROCEDURE = _varchar_ci_greater_than,
|
|
LEFTARG = varchar_ci,
|
|
RIGHTARG = varchar_ci,
|
|
COMMUTATOR = <,
|
|
NEGATOR = <=,
|
|
RESTRICT = scalargtsel,
|
|
JOIN = scalargtjoinsel);
|
|
|
|
CREATE OPERATOR >=(
|
|
PROCEDURE = _varchar_ci_greater_equals,
|
|
LEFTARG = varchar_ci,
|
|
RIGHTARG = varchar_ci,
|
|
COMMUTATOR = <=,
|
|
NEGATOR = <,
|
|
RESTRICT = scalargtsel,
|
|
JOIN = scalargtjoinsel);
|
|
|
|
CREATE OPERATOR <>(
|
|
PROCEDURE = _varchar_ci_not_equal,
|
|
LEFTARG = varchar_ci,
|
|
RIGHTARG = varchar_ci,
|
|
COMMUTATOR = <>,
|
|
NEGATOR = =,
|
|
RESTRICT = neqsel,
|
|
JOIN = neqjoinsel);
|
|
|
|
CREATE OPERATOR =(
|
|
PROCEDURE = _varchar_ci_equal,
|
|
LEFTARG = varchar_ci,
|
|
RIGHTARG = varchar_ci,
|
|
COMMUTATOR = =,
|
|
NEGATOR = <>,
|
|
RESTRICT = eqsel,
|
|
JOIN = eqjoinsel,
|
|
HASHES,
|
|
MERGES,
|
|
SORT1= <);
|
|
|
|
COMMIT;
|
|
|