diff options
| author | Tom Lane | 2003-09-14 02:18:49 +0000 |
|---|---|---|
| committer | Tom Lane | 2003-09-14 02:18:49 +0000 |
| commit | 043be9ad9647a0e407f22b7718d632c113953dc8 (patch) | |
| tree | 8f5e19e5759bae9d19d05b67fa1295237d25027b /contrib/seg/seg.sql.in | |
| parent | 03e47392e0c383ea75a1aac9294c4e0f4eb4d20f (diff) | |
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.
Diffstat (limited to 'contrib/seg/seg.sql.in')
| -rw-r--r-- | contrib/seg/seg.sql.in | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/contrib/seg/seg.sql.in b/contrib/seg/seg.sql.in index a1e7e0cf488..2bfd96593dc 100644 --- a/contrib/seg/seg.sql.in +++ b/contrib/seg/seg.sql.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 |
