--- --- Btree OPERATOR CLASS to sort respecting a given collation rule, --- hardcoded to fr_FR.UTF8 --- BEGIN; DROP SCHEMA IF EXISTS btree_fr_ops CASCADE; CREATE SCHEMA btree_fr_ops; SET LOCAL search_path TO btree_fr_ops, public, pg_catalog; CREATE OR REPLACE FUNCTION btree_fr_eq(text, text) RETURNS bool AS '$libdir/btree_fr_ops' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION btree_fr_neq(text, text) RETURNS bool AS '$libdir/btree_fr_ops' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION btree_fr_lt(text, text) RETURNS bool AS '$libdir/btree_fr_ops' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION btree_fr_le(text, text) RETURNS bool AS '$libdir/btree_fr_ops' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION btree_fr_gt(text, text) RETURNS bool AS '$libdir/btree_fr_ops' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION btree_fr_ge(text, text) RETURNS bool AS '$libdir/btree_fr_ops' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OR REPLACE FUNCTION btree_fr_cmp(text, text) RETURNS integer AS '$libdir/btree_fr_ops' LANGUAGE 'C' IMMUTABLE STRICT; CREATE OPERATOR = ( LEFTARG = text, RIGHTARG = text, PROCEDURE = btree_fr_eq, COMMUTATOR = '=', NEGATOR = '<>', RESTRICT = eqsel, JOIN = eqjoinsel ); COMMENT ON OPERATOR =(text, text) IS 'equals?'; CREATE OPERATOR <> ( LEFTARG = text, RIGHTARG = text, PROCEDURE = btree_fr_neq, COMMUTATOR = '<>', NEGATOR = '=', RESTRICT = neqsel, JOIN = neqjoinsel ); COMMENT ON OPERATOR <>(text, text) IS 'not equals?'; CREATE OPERATOR < ( LEFTARG = text, RIGHTARG = text, PROCEDURE = btree_fr_lt ); COMMENT ON OPERATOR <(text, text) IS 'less-than'; CREATE OPERATOR <= ( LEFTARG = text, RIGHTARG = text, PROCEDURE = btree_fr_le ); COMMENT ON OPERATOR <=(text, text) IS 'less-than-or-equal'; CREATE OPERATOR > ( LEFTARG = text, RIGHTARG = text, PROCEDURE = btree_fr_gt ); COMMENT ON OPERATOR >(text, text) IS 'greater-than'; CREATE OPERATOR >= ( LEFTARG = text, RIGHTARG = text, PROCEDURE = btree_fr_ge ); COMMENT ON OPERATOR >=(text, text) IS 'greater-than-or-equal'; CREATE OPERATOR CLASS btree_fr_ops FOR TYPE text USING btree AS OPERATOR 1 < , OPERATOR 2 <= , OPERATOR 3 = , OPERATOR 4 >= , OPERATOR 5 > , FUNCTION 1 btree_fr_cmp(text, text); COMMIT;