1#include "sqldefines.h" 2#if POSTGIS_PGSQL_VERSION > 100 3-- ---------- ---------- ---------- ---------- ---------- ---------- ---------- 4-- SP-GiST 2D Support Functions 5-- ---------- ---------- ---------- ---------- ---------- ---------- ---------- 6-- Availability: 2.5.0 7CREATE OR REPLACE FUNCTION geometry_spgist_config_2d(internal, internal) 8 RETURNS void 9 AS 'MODULE_PATHNAME' ,'gserialized_spgist_config_2d' 10 LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 11-- Availability: 2.5.0 12CREATE OR REPLACE FUNCTION geometry_spgist_choose_2d(internal, internal) 13 RETURNS void 14 AS 'MODULE_PATHNAME' ,'gserialized_spgist_choose_2d' 15 LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 16-- Availability: 2.5.0 17CREATE OR REPLACE FUNCTION geometry_spgist_picksplit_2d(internal, internal) 18 RETURNS void 19 AS 'MODULE_PATHNAME' ,'gserialized_spgist_picksplit_2d' 20 LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 21-- Availability: 2.5.0 22CREATE OR REPLACE FUNCTION geometry_spgist_inner_consistent_2d(internal, internal) 23 RETURNS void 24 AS 'MODULE_PATHNAME' ,'gserialized_spgist_inner_consistent_2d' 25 LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 26-- Availability: 2.5.0 27CREATE OR REPLACE FUNCTION geometry_spgist_leaf_consistent_2d(internal, internal) 28 RETURNS bool 29 AS 'MODULE_PATHNAME' ,'gserialized_spgist_leaf_consistent_2d' 30 LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 31-- Availability: 2.5.0 32CREATE OR REPLACE FUNCTION geometry_spgist_compress_2d(internal) 33 RETURNS internal 34 AS 'MODULE_PATHNAME' ,'gserialized_spgist_compress_2d' 35 LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 36 37-- Availability: 2.5.0 38CREATE OPERATOR CLASS spgist_geometry_ops_2d 39 DEFAULT FOR TYPE geometry USING SPGIST AS 40 OPERATOR 1 << , 41 OPERATOR 2 &< , 42 OPERATOR 3 && , 43 OPERATOR 4 &> , 44 OPERATOR 5 >> , 45 OPERATOR 6 ~= , 46 OPERATOR 7 ~ , 47 OPERATOR 8 @ , 48 OPERATOR 9 &<| , 49 OPERATOR 10 <<| , 50 OPERATOR 11 |>> , 51 OPERATOR 12 |&> , 52 FUNCTION 1 geometry_spgist_config_2d(internal, internal), 53 FUNCTION 2 geometry_spgist_choose_2d(internal, internal), 54 FUNCTION 3 geometry_spgist_picksplit_2d(internal, internal), 55 FUNCTION 4 geometry_spgist_inner_consistent_2d(internal, internal), 56 FUNCTION 5 geometry_spgist_leaf_consistent_2d(internal, internal), 57 FUNCTION 6 geometry_spgist_compress_2d(internal); 58 59-- ---------- ---------- ---------- ---------- ---------- ---------- ---------- 60-- 3-D GEOMETRY Operators 61-- ---------- ---------- ---------- ---------- ---------- ---------- ---------- 62 63-- Availability: 2.5.0 64CREATE OR REPLACE FUNCTION geometry_overlaps_3d(geom1 geometry, geom2 geometry) 65 RETURNS boolean 66 AS 'MODULE_PATHNAME' ,'gserialized_overlaps_3d' 67 LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE; 68 69-- Availability: 2.5.0 70CREATE OR REPLACE FUNCTION geometry_contains_3d(geom1 geometry, geom2 geometry) 71 RETURNS boolean 72 AS 'MODULE_PATHNAME' ,'gserialized_contains_3d' 73 LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE; 74 75-- Availability: 2.5.0 76CREATE OR REPLACE FUNCTION geometry_contained_3d(geom1 geometry, geom2 geometry) 77 RETURNS boolean 78 AS 'MODULE_PATHNAME' ,'gserialized_contained_3d' 79 LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE; 80 81-- Availability: 2.5.0 82CREATE OR REPLACE FUNCTION geometry_same_3d(geom1 geometry, geom2 geometry) 83 RETURNS boolean 84 AS 'MODULE_PATHNAME' ,'gserialized_same_3d' 85 LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE; 86 87-- Availability: 2.5.0 88CREATE OPERATOR &/& ( 89 PROCEDURE = geometry_overlaps_3d, 90 LEFTARG = geometry, RIGHTARG = geometry, 91 COMMUTATOR = &/&, 92 RESTRICT = gserialized_gist_sel_nd, JOIN = gserialized_gist_joinsel_nd 93); 94 95-- Availability: 2.5.0 96CREATE OPERATOR @>> ( 97 PROCEDURE = geometry_contains_3d, 98 LEFTARG = geometry, RIGHTARG = geometry, 99 COMMUTATOR = <<@, 100 RESTRICT = gserialized_gist_sel_nd, JOIN = gserialized_gist_joinsel_nd 101); 102 103-- Availability: 2.5.0 104CREATE OPERATOR <<@ ( 105 PROCEDURE = geometry_contained_3d, 106 LEFTARG = geometry, RIGHTARG = geometry, 107 COMMUTATOR = @>>, 108 RESTRICT = gserialized_gist_sel_nd, JOIN = gserialized_gist_joinsel_nd 109); 110 111-- Availability: 2.5.0 112CREATE OPERATOR ~== ( 113 PROCEDURE = geometry_same_3d, 114 LEFTARG = geometry, RIGHTARG = geometry, 115 COMMUTATOR = ~==, 116 RESTRICT = gserialized_gist_sel_nd, JOIN = gserialized_gist_joinsel_nd 117); 118 119-- ---------- ---------- ---------- ---------- ---------- ---------- ---------- 120-- SP-GiST 3D Support Functions 121-- ---------- ---------- ---------- ---------- ---------- ---------- ---------- 122-- Availability: 2.5.0 123CREATE OR REPLACE FUNCTION geometry_spgist_config_3d(internal, internal) 124 RETURNS void 125 AS 'MODULE_PATHNAME', 'gserialized_spgist_config_3d' 126 LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 127-- Availability: 2.5.0 128CREATE OR REPLACE FUNCTION geometry_spgist_choose_3d(internal, internal) 129 RETURNS void 130 AS 'MODULE_PATHNAME', 'gserialized_spgist_choose_3d' 131 LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 132-- Availability: 2.5.0 133CREATE OR REPLACE FUNCTION geometry_spgist_picksplit_3d(internal, internal) 134 RETURNS void 135 AS 'MODULE_PATHNAME', 'gserialized_spgist_picksplit_3d' 136 LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 137-- Availability: 2.5.0 138CREATE OR REPLACE FUNCTION geometry_spgist_inner_consistent_3d(internal, internal) 139 RETURNS void 140 AS 'MODULE_PATHNAME', 'gserialized_spgist_inner_consistent_3d' 141 LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 142-- Availability: 2.5.0 143CREATE OR REPLACE FUNCTION geometry_spgist_leaf_consistent_3d(internal, internal) 144 RETURNS bool 145 AS 'MODULE_PATHNAME', 'gserialized_spgist_leaf_consistent_3d' 146 LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 147-- Availability: 2.5.0 148CREATE OR REPLACE FUNCTION geometry_spgist_compress_3d(internal) 149 RETURNS internal 150 AS 'MODULE_PATHNAME', 'gserialized_spgist_compress_3d' 151 LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 152 153-- Availability: 2.5.0 154CREATE OPERATOR CLASS spgist_geometry_ops_3d 155 FOR TYPE geometry USING SPGIST AS 156 OPERATOR 3 &/& , 157 OPERATOR 6 ~== , 158 OPERATOR 7 @>> , 159 OPERATOR 8 <<@ , 160 FUNCTION 1 geometry_spgist_config_3d(internal, internal), 161 FUNCTION 2 geometry_spgist_choose_3d(internal, internal), 162 FUNCTION 3 geometry_spgist_picksplit_3d(internal, internal), 163 FUNCTION 4 geometry_spgist_inner_consistent_3d(internal, internal), 164 FUNCTION 5 geometry_spgist_leaf_consistent_3d(internal, internal), 165 FUNCTION 6 geometry_spgist_compress_3d(internal); 166 167-- ---------- ---------- ---------- ---------- ---------- ---------- ---------- 168-- SP-GiST ND Support Functions 169-- ---------- ---------- ---------- ---------- ---------- ---------- ---------- 170 171-- ---------- ---------- ---------- ---------- ---------- ---------- ---------- 172-- Geometry 173-- ---------- ---------- ---------- ---------- ---------- ---------- ---------- 174 175-- Availability: 3.0.0 176CREATE OR REPLACE FUNCTION geometry_spgist_config_nd(internal, internal) 177 RETURNS void 178 AS 'MODULE_PATHNAME' ,'gserialized_spgist_config_nd' 179 LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 180-- Availability: 3.0.0 181CREATE OR REPLACE FUNCTION geometry_spgist_choose_nd(internal, internal) 182 RETURNS void 183 AS 'MODULE_PATHNAME' ,'gserialized_spgist_choose_nd' 184 LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 185-- Availability: 3.0.0 186CREATE OR REPLACE FUNCTION geometry_spgist_picksplit_nd(internal, internal) 187 RETURNS void 188 AS 'MODULE_PATHNAME' ,'gserialized_spgist_picksplit_nd' 189 LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 190-- Availability: 3.0.0 191CREATE OR REPLACE FUNCTION geometry_spgist_inner_consistent_nd(internal, internal) 192 RETURNS void 193 AS 'MODULE_PATHNAME' ,'gserialized_spgist_inner_consistent_nd' 194 LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 195-- Availability: 3.0.0 196CREATE OR REPLACE FUNCTION geometry_spgist_leaf_consistent_nd(internal, internal) 197 RETURNS bool 198 AS 'MODULE_PATHNAME' ,'gserialized_spgist_leaf_consistent_nd' 199 LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 200-- Availability: 3.0.0 201CREATE OR REPLACE FUNCTION geometry_spgist_compress_nd(internal) 202 RETURNS internal 203 AS 'MODULE_PATHNAME' ,'gserialized_spgist_compress_nd' 204 LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 205 206-- Availability: 3.0.0 207CREATE OPERATOR CLASS spgist_geometry_ops_nd 208 FOR TYPE geometry USING SPGIST AS 209 OPERATOR 3 &&& , 210 OPERATOR 6 ~~= , 211 OPERATOR 7 ~~ , 212 OPERATOR 8 @@ , 213 FUNCTION 1 geometry_spgist_config_nd(internal, internal), 214 FUNCTION 2 geometry_spgist_choose_nd(internal, internal), 215 FUNCTION 3 geometry_spgist_picksplit_nd(internal, internal), 216 FUNCTION 4 geometry_spgist_inner_consistent_nd(internal, internal), 217 FUNCTION 5 geometry_spgist_leaf_consistent_nd(internal, internal), 218 FUNCTION 6 geometry_spgist_compress_nd(internal); 219 220-- ---------- ---------- ---------- ---------- ---------- ---------- ---------- 221-- Geography 222-- ---------- ---------- ---------- ---------- ---------- ---------- ---------- 223 224-- Availability: 3.0.0 225CREATE OR REPLACE FUNCTION geography_spgist_config_nd(internal, internal) 226 RETURNS void 227 AS 'MODULE_PATHNAME' ,'gserialized_spgist_config_nd' 228 LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 229-- Availability: 3.0.0 230CREATE OR REPLACE FUNCTION geography_spgist_choose_nd(internal, internal) 231 RETURNS void 232 AS 'MODULE_PATHNAME' ,'gserialized_spgist_choose_nd' 233 LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 234-- Availability: 3.0.0 235CREATE OR REPLACE FUNCTION geography_spgist_picksplit_nd(internal, internal) 236 RETURNS void 237 AS 'MODULE_PATHNAME' ,'gserialized_spgist_picksplit_nd' 238 LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 239-- Availability: 3.0.0 240CREATE OR REPLACE FUNCTION geography_spgist_inner_consistent_nd(internal, internal) 241 RETURNS void 242 AS 'MODULE_PATHNAME' ,'gserialized_spgist_inner_consistent_nd' 243 LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 244-- Availability: 3.0.0 245CREATE OR REPLACE FUNCTION geography_spgist_leaf_consistent_nd(internal, internal) 246 RETURNS bool 247 AS 'MODULE_PATHNAME' ,'gserialized_spgist_leaf_consistent_nd' 248 LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 249-- Availability: 3.0.0 250CREATE OR REPLACE FUNCTION geography_spgist_compress_nd(internal) 251 RETURNS internal 252 AS 'MODULE_PATHNAME' ,'gserialized_spgist_compress_nd' 253 LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE; 254 255-- Availability: 3.0.0 256CREATE OPERATOR CLASS spgist_geography_ops_nd 257 DEFAULT FOR TYPE geography USING SPGIST AS 258 OPERATOR 3 && , 259-- OPERATOR 6 ~= , 260-- OPERATOR 7 ~ , 261-- OPERATOR 8 @ , 262 FUNCTION 1 geography_spgist_config_nd(internal, internal), 263 FUNCTION 2 geography_spgist_choose_nd(internal, internal), 264 FUNCTION 3 geography_spgist_picksplit_nd(internal, internal), 265 FUNCTION 4 geography_spgist_inner_consistent_nd(internal, internal), 266 FUNCTION 5 geography_spgist_leaf_consistent_nd(internal, internal), 267 FUNCTION 6 geography_spgist_compress_nd(internal); 268 269#endif 270