mirror of
https://github.com/postgres/postgres.git
synced 2025-07-30 11:03:19 +03:00
Make contrib/seg work with flex 2.5.31. Fix it up to have a real
btree operator class, too, since in PG 7.4 you can't GROUP without one.
This commit is contained in:
@ -7,12 +7,12 @@ SET search_path = public;
|
||||
CREATE FUNCTION seg_in(cstring)
|
||||
RETURNS seg
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE 'C';
|
||||
LANGUAGE 'C' IMMUTABLE STRICT;
|
||||
|
||||
CREATE FUNCTION seg_out(seg)
|
||||
RETURNS cstring
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE 'C';
|
||||
LANGUAGE 'C' IMMUTABLE STRICT;
|
||||
|
||||
CREATE TYPE seg (
|
||||
INTERNALLENGTH = 12,
|
||||
@ -138,6 +138,13 @@ COMMENT ON FUNCTION seg_different(seg, seg) IS
|
||||
|
||||
-- support routines for indexing
|
||||
|
||||
CREATE OR REPLACE FUNCTION seg_cmp(seg, seg)
|
||||
RETURNS int4
|
||||
AS 'MODULE_PATHNAME'
|
||||
LANGUAGE 'C' STRICT;
|
||||
|
||||
COMMENT ON FUNCTION seg_cmp(seg, seg) IS 'btree comparison function';
|
||||
|
||||
CREATE FUNCTION seg_union(seg, seg)
|
||||
RETURNS seg
|
||||
AS 'MODULE_PATHNAME'
|
||||
@ -263,8 +270,7 @@ CREATE OPERATOR = (
|
||||
NEGATOR = '<>',
|
||||
RESTRICT = eqsel,
|
||||
JOIN = eqjoinsel,
|
||||
SORT1 = '<',
|
||||
SORT2 = '<'
|
||||
MERGES
|
||||
);
|
||||
|
||||
CREATE OPERATOR <> (
|
||||
@ -333,7 +339,16 @@ AS 'MODULE_PATHNAME'
|
||||
LANGUAGE 'C';
|
||||
|
||||
|
||||
-- Create the operator class for indexing
|
||||
-- Create the operator classes for indexing
|
||||
|
||||
CREATE OPERATOR CLASS seg_ops
|
||||
DEFAULT FOR TYPE seg USING btree AS
|
||||
OPERATOR 1 < ,
|
||||
OPERATOR 2 <= ,
|
||||
OPERATOR 3 = ,
|
||||
OPERATOR 4 >= ,
|
||||
OPERATOR 5 > ,
|
||||
FUNCTION 1 seg_cmp(seg, seg);
|
||||
|
||||
CREATE OPERATOR CLASS gist_seg_ops
|
||||
DEFAULT FOR TYPE seg USING gist
|
||||
|
Reference in New Issue
Block a user