]> granicus.if.org Git - postgis/commitdiff
Fixed wrong COMMUTATOR specifications in '<','>','~=','@' operators,
authorSandro Santilli <strk@keybit.net>
Wed, 19 Nov 2003 15:23:27 +0000 (15:23 +0000)
committerSandro Santilli <strk@keybit.net>
Wed, 19 Nov 2003 15:23:27 +0000 (15:23 +0000)
added new '<=', '>=' operators

git-svn-id: http://svn.osgeo.org/postgis/trunk@367 b70326c6-7e19-0410-871a-916f4a2858ee

Attic/postgis_sql_common.sql.in

index 23ff59ed1dc1463ecb64b0e28c29b5d1bfe560aa..bc2784d2b10796e00cfb124d887ef2494ddc41d5 100644 (file)
 --  
 -- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 -- $Log$
+-- Revision 1.22  2003/11/19 15:23:27  strk
+-- Fixed wrong COMMUTATOR specifications in '<','>','~=','@' operators,
+-- added new '<=', '>=' operators
+--
 -- Revision 1.21  2003/11/13 13:14:49  strk
 -- used quote_ident() calls in AddGeometryColumns as suggested by Bernhard Herzog
 --
@@ -1199,13 +1203,13 @@ CREATE OPERATOR >> (
 
 CREATE OPERATOR ~= (
    LEFTARG = GEOMETRY, RIGHTARG = GEOMETRY, PROCEDURE = geometry_same,
-   COMMUTATOR = '=', 
+   COMMUTATOR = '~=', 
    RESTRICT = eqsel, JOIN = eqjoinsel
 );
 
 CREATE OPERATOR @ (
    LEFTARG = GEOMETRY, RIGHTARG = GEOMETRY, PROCEDURE = geometry_contained,
-   COMMUTATOR = '@',
+   COMMUTATOR = '~',
    RESTRICT = contsel, JOIN = contjoinsel
 );
 
@@ -1215,21 +1219,36 @@ CREATE OPERATOR ~ (
    RESTRICT = contsel, JOIN = contjoinsel
 );
 
+--
+-- Sorting operators for Btree
+--
+
+CREATE OPERATOR < (
+   LEFTARG = GEOMETRY, RIGHTARG = GEOMETRY, PROCEDURE = geometry_lt,
+   COMMUTATOR = '>', NEGATOR = '>=',
+   RESTRICT = contsel, JOIN = contjoinsel
+);
+
+CREATE OPERATOR <= (
+   LEFTARG = GEOMETRY, RIGHTARG = GEOMETRY, PROCEDURE = geometry_le,
+   COMMUTATOR = '>=', NEGATOR = '>',
+   RESTRICT = contsel, JOIN = contjoinsel
+);
+
 CREATE OPERATOR = (
    LEFTARG = GEOMETRY, RIGHTARG = GEOMETRY, PROCEDURE = geometry_eq,
-   COMMUTATOR = '=',
+   COMMUTATOR = '=', -- we might implement a faster negator here
    RESTRICT = contsel, JOIN = contjoinsel
 );
 
-CREATE OPERATOR < (
-   LEFTARG = GEOMETRY, RIGHTARG = GEOMETRY, PROCEDURE = geometry_lt,
-   COMMUTATOR = '<',
+CREATE OPERATOR >= (
+   LEFTARG = GEOMETRY, RIGHTARG = GEOMETRY, PROCEDURE = geometry_ge,
+   COMMUTATOR = '<=', NEGATOR = '<',
    RESTRICT = contsel, JOIN = contjoinsel
 );
-
 CREATE OPERATOR > (
    LEFTARG = GEOMETRY, RIGHTARG = GEOMETRY, PROCEDURE = geometry_gt,
-   COMMUTATOR = '>',
+   COMMUTATOR = '<', NEGATOR = '<=',
    RESTRICT = contsel, JOIN = contjoinsel
 );