267 lines
10 KiB
MySQL
267 lines
10 KiB
MySQL
#include "sqldefines.h"
|
|
-- ---------- ---------- ---------- ---------- ---------- ---------- ----------
|
|
-- SP-GiST 2D Support Functions
|
|
-- ---------- ---------- ---------- ---------- ---------- ---------- ----------
|
|
-- Availability: 2.5.0
|
|
CREATE OR REPLACE FUNCTION geometry_spgist_config_2d(internal, internal)
|
|
RETURNS void
|
|
AS 'MODULE_PATHNAME' ,'gserialized_spgist_config_2d'
|
|
LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
|
-- Availability: 2.5.0
|
|
CREATE OR REPLACE FUNCTION geometry_spgist_choose_2d(internal, internal)
|
|
RETURNS void
|
|
AS 'MODULE_PATHNAME' ,'gserialized_spgist_choose_2d'
|
|
LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
|
-- Availability: 2.5.0
|
|
CREATE OR REPLACE FUNCTION geometry_spgist_picksplit_2d(internal, internal)
|
|
RETURNS void
|
|
AS 'MODULE_PATHNAME' ,'gserialized_spgist_picksplit_2d'
|
|
LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
|
-- Availability: 2.5.0
|
|
CREATE OR REPLACE FUNCTION geometry_spgist_inner_consistent_2d(internal, internal)
|
|
RETURNS void
|
|
AS 'MODULE_PATHNAME' ,'gserialized_spgist_inner_consistent_2d'
|
|
LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
|
-- Availability: 2.5.0
|
|
CREATE OR REPLACE FUNCTION geometry_spgist_leaf_consistent_2d(internal, internal)
|
|
RETURNS bool
|
|
AS 'MODULE_PATHNAME' ,'gserialized_spgist_leaf_consistent_2d'
|
|
LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
|
-- Availability: 2.5.0
|
|
CREATE OR REPLACE FUNCTION geometry_spgist_compress_2d(internal)
|
|
RETURNS internal
|
|
AS 'MODULE_PATHNAME' ,'gserialized_spgist_compress_2d'
|
|
LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
|
|
|
-- Availability: 2.5.0
|
|
CREATE OPERATOR CLASS spgist_geometry_ops_2d
|
|
DEFAULT FOR TYPE geometry USING SPGIST AS
|
|
OPERATOR 1 << ,
|
|
OPERATOR 2 &< ,
|
|
OPERATOR 3 && ,
|
|
OPERATOR 4 &> ,
|
|
OPERATOR 5 >> ,
|
|
OPERATOR 6 ~= ,
|
|
OPERATOR 7 ~ ,
|
|
OPERATOR 8 @ ,
|
|
OPERATOR 9 &<| ,
|
|
OPERATOR 10 <<| ,
|
|
OPERATOR 11 |>> ,
|
|
OPERATOR 12 |&> ,
|
|
FUNCTION 1 geometry_spgist_config_2d(internal, internal),
|
|
FUNCTION 2 geometry_spgist_choose_2d(internal, internal),
|
|
FUNCTION 3 geometry_spgist_picksplit_2d(internal, internal),
|
|
FUNCTION 4 geometry_spgist_inner_consistent_2d(internal, internal),
|
|
FUNCTION 5 geometry_spgist_leaf_consistent_2d(internal, internal),
|
|
FUNCTION 6 geometry_spgist_compress_2d(internal);
|
|
|
|
-- ---------- ---------- ---------- ---------- ---------- ---------- ----------
|
|
-- 3-D GEOMETRY Operators
|
|
-- ---------- ---------- ---------- ---------- ---------- ---------- ----------
|
|
|
|
-- Availability: 2.5.0
|
|
CREATE OR REPLACE FUNCTION geometry_overlaps_3d(geom1 geometry, geom2 geometry)
|
|
RETURNS boolean
|
|
AS 'MODULE_PATHNAME' ,'gserialized_overlaps_3d'
|
|
LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE;
|
|
|
|
-- Availability: 2.5.0
|
|
CREATE OR REPLACE FUNCTION geometry_contains_3d(geom1 geometry, geom2 geometry)
|
|
RETURNS boolean
|
|
AS 'MODULE_PATHNAME' ,'gserialized_contains_3d'
|
|
LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE;
|
|
|
|
-- Availability: 2.5.0
|
|
CREATE OR REPLACE FUNCTION geometry_contained_3d(geom1 geometry, geom2 geometry)
|
|
RETURNS boolean
|
|
AS 'MODULE_PATHNAME' ,'gserialized_contained_3d'
|
|
LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE;
|
|
|
|
-- Availability: 2.5.0
|
|
CREATE OR REPLACE FUNCTION geometry_same_3d(geom1 geometry, geom2 geometry)
|
|
RETURNS boolean
|
|
AS 'MODULE_PATHNAME' ,'gserialized_same_3d'
|
|
LANGUAGE 'c' IMMUTABLE STRICT PARALLEL SAFE;
|
|
|
|
-- Availability: 2.5.0
|
|
CREATE OPERATOR &/& (
|
|
PROCEDURE = geometry_overlaps_3d,
|
|
LEFTARG = geometry, RIGHTARG = geometry,
|
|
COMMUTATOR = &/&,
|
|
RESTRICT = gserialized_gist_sel_nd, JOIN = gserialized_gist_joinsel_nd
|
|
);
|
|
|
|
-- Availability: 2.5.0
|
|
CREATE OPERATOR @>> (
|
|
PROCEDURE = geometry_contains_3d,
|
|
LEFTARG = geometry, RIGHTARG = geometry,
|
|
COMMUTATOR = <<@,
|
|
RESTRICT = gserialized_gist_sel_nd, JOIN = gserialized_gist_joinsel_nd
|
|
);
|
|
|
|
-- Availability: 2.5.0
|
|
CREATE OPERATOR <<@ (
|
|
PROCEDURE = geometry_contained_3d,
|
|
LEFTARG = geometry, RIGHTARG = geometry,
|
|
COMMUTATOR = @>>,
|
|
RESTRICT = gserialized_gist_sel_nd, JOIN = gserialized_gist_joinsel_nd
|
|
);
|
|
|
|
-- Availability: 2.5.0
|
|
CREATE OPERATOR ~== (
|
|
PROCEDURE = geometry_same_3d,
|
|
LEFTARG = geometry, RIGHTARG = geometry,
|
|
COMMUTATOR = ~==,
|
|
RESTRICT = gserialized_gist_sel_nd, JOIN = gserialized_gist_joinsel_nd
|
|
);
|
|
|
|
-- ---------- ---------- ---------- ---------- ---------- ---------- ----------
|
|
-- SP-GiST 3D Support Functions
|
|
-- ---------- ---------- ---------- ---------- ---------- ---------- ----------
|
|
-- Availability: 2.5.0
|
|
CREATE OR REPLACE FUNCTION geometry_spgist_config_3d(internal, internal)
|
|
RETURNS void
|
|
AS 'MODULE_PATHNAME', 'gserialized_spgist_config_3d'
|
|
LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
|
-- Availability: 2.5.0
|
|
CREATE OR REPLACE FUNCTION geometry_spgist_choose_3d(internal, internal)
|
|
RETURNS void
|
|
AS 'MODULE_PATHNAME', 'gserialized_spgist_choose_3d'
|
|
LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
|
-- Availability: 2.5.0
|
|
CREATE OR REPLACE FUNCTION geometry_spgist_picksplit_3d(internal, internal)
|
|
RETURNS void
|
|
AS 'MODULE_PATHNAME', 'gserialized_spgist_picksplit_3d'
|
|
LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
|
-- Availability: 2.5.0
|
|
CREATE OR REPLACE FUNCTION geometry_spgist_inner_consistent_3d(internal, internal)
|
|
RETURNS void
|
|
AS 'MODULE_PATHNAME', 'gserialized_spgist_inner_consistent_3d'
|
|
LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
|
-- Availability: 2.5.0
|
|
CREATE OR REPLACE FUNCTION geometry_spgist_leaf_consistent_3d(internal, internal)
|
|
RETURNS bool
|
|
AS 'MODULE_PATHNAME', 'gserialized_spgist_leaf_consistent_3d'
|
|
LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
|
-- Availability: 2.5.0
|
|
CREATE OR REPLACE FUNCTION geometry_spgist_compress_3d(internal)
|
|
RETURNS internal
|
|
AS 'MODULE_PATHNAME', 'gserialized_spgist_compress_3d'
|
|
LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
|
|
|
-- Availability: 2.5.0
|
|
CREATE OPERATOR CLASS spgist_geometry_ops_3d
|
|
FOR TYPE geometry USING SPGIST AS
|
|
OPERATOR 3 &/& ,
|
|
OPERATOR 6 ~== ,
|
|
OPERATOR 7 @>> ,
|
|
OPERATOR 8 <<@ ,
|
|
FUNCTION 1 geometry_spgist_config_3d(internal, internal),
|
|
FUNCTION 2 geometry_spgist_choose_3d(internal, internal),
|
|
FUNCTION 3 geometry_spgist_picksplit_3d(internal, internal),
|
|
FUNCTION 4 geometry_spgist_inner_consistent_3d(internal, internal),
|
|
FUNCTION 5 geometry_spgist_leaf_consistent_3d(internal, internal),
|
|
FUNCTION 6 geometry_spgist_compress_3d(internal);
|
|
|
|
-- ---------- ---------- ---------- ---------- ---------- ---------- ----------
|
|
-- SP-GiST ND Support Functions
|
|
-- ---------- ---------- ---------- ---------- ---------- ---------- ----------
|
|
|
|
-- ---------- ---------- ---------- ---------- ---------- ---------- ----------
|
|
-- Geometry
|
|
-- ---------- ---------- ---------- ---------- ---------- ---------- ----------
|
|
|
|
-- Availability: 3.0.0
|
|
CREATE OR REPLACE FUNCTION geometry_spgist_config_nd(internal, internal)
|
|
RETURNS void
|
|
AS 'MODULE_PATHNAME' ,'gserialized_spgist_config_nd'
|
|
LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
|
-- Availability: 3.0.0
|
|
CREATE OR REPLACE FUNCTION geometry_spgist_choose_nd(internal, internal)
|
|
RETURNS void
|
|
AS 'MODULE_PATHNAME' ,'gserialized_spgist_choose_nd'
|
|
LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
|
-- Availability: 3.0.0
|
|
CREATE OR REPLACE FUNCTION geometry_spgist_picksplit_nd(internal, internal)
|
|
RETURNS void
|
|
AS 'MODULE_PATHNAME' ,'gserialized_spgist_picksplit_nd'
|
|
LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
|
-- Availability: 3.0.0
|
|
CREATE OR REPLACE FUNCTION geometry_spgist_inner_consistent_nd(internal, internal)
|
|
RETURNS void
|
|
AS 'MODULE_PATHNAME' ,'gserialized_spgist_inner_consistent_nd'
|
|
LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
|
-- Availability: 3.0.0
|
|
CREATE OR REPLACE FUNCTION geometry_spgist_leaf_consistent_nd(internal, internal)
|
|
RETURNS bool
|
|
AS 'MODULE_PATHNAME' ,'gserialized_spgist_leaf_consistent_nd'
|
|
LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
|
-- Availability: 3.0.0
|
|
CREATE OR REPLACE FUNCTION geometry_spgist_compress_nd(internal)
|
|
RETURNS internal
|
|
AS 'MODULE_PATHNAME' ,'gserialized_spgist_compress_nd'
|
|
LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
|
|
|
-- Availability: 3.0.0
|
|
CREATE OPERATOR CLASS spgist_geometry_ops_nd
|
|
FOR TYPE geometry USING SPGIST AS
|
|
OPERATOR 3 &&& ,
|
|
OPERATOR 6 ~~= ,
|
|
OPERATOR 7 ~~ ,
|
|
OPERATOR 8 @@ ,
|
|
FUNCTION 1 geometry_spgist_config_nd(internal, internal),
|
|
FUNCTION 2 geometry_spgist_choose_nd(internal, internal),
|
|
FUNCTION 3 geometry_spgist_picksplit_nd(internal, internal),
|
|
FUNCTION 4 geometry_spgist_inner_consistent_nd(internal, internal),
|
|
FUNCTION 5 geometry_spgist_leaf_consistent_nd(internal, internal),
|
|
FUNCTION 6 geometry_spgist_compress_nd(internal);
|
|
|
|
-- ---------- ---------- ---------- ---------- ---------- ---------- ----------
|
|
-- Geography
|
|
-- ---------- ---------- ---------- ---------- ---------- ---------- ----------
|
|
|
|
-- Availability: 3.0.0
|
|
CREATE OR REPLACE FUNCTION geography_spgist_config_nd(internal, internal)
|
|
RETURNS void
|
|
AS 'MODULE_PATHNAME' ,'gserialized_spgist_config_nd'
|
|
LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
|
-- Availability: 3.0.0
|
|
CREATE OR REPLACE FUNCTION geography_spgist_choose_nd(internal, internal)
|
|
RETURNS void
|
|
AS 'MODULE_PATHNAME' ,'gserialized_spgist_choose_nd'
|
|
LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
|
-- Availability: 3.0.0
|
|
CREATE OR REPLACE FUNCTION geography_spgist_picksplit_nd(internal, internal)
|
|
RETURNS void
|
|
AS 'MODULE_PATHNAME' ,'gserialized_spgist_picksplit_nd'
|
|
LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
|
-- Availability: 3.0.0
|
|
CREATE OR REPLACE FUNCTION geography_spgist_inner_consistent_nd(internal, internal)
|
|
RETURNS void
|
|
AS 'MODULE_PATHNAME' ,'gserialized_spgist_inner_consistent_nd'
|
|
LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
|
-- Availability: 3.0.0
|
|
CREATE OR REPLACE FUNCTION geography_spgist_leaf_consistent_nd(internal, internal)
|
|
RETURNS bool
|
|
AS 'MODULE_PATHNAME' ,'gserialized_spgist_leaf_consistent_nd'
|
|
LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
|
-- Availability: 3.0.0
|
|
CREATE OR REPLACE FUNCTION geography_spgist_compress_nd(internal)
|
|
RETURNS internal
|
|
AS 'MODULE_PATHNAME' ,'gserialized_spgist_compress_nd'
|
|
LANGUAGE C IMMUTABLE STRICT PARALLEL SAFE;
|
|
|
|
-- Availability: 3.0.0
|
|
CREATE OPERATOR CLASS spgist_geography_ops_nd
|
|
DEFAULT FOR TYPE geography USING SPGIST AS
|
|
OPERATOR 3 && ,
|
|
-- OPERATOR 6 ~= ,
|
|
-- OPERATOR 7 ~ ,
|
|
-- OPERATOR 8 @ ,
|
|
FUNCTION 1 geography_spgist_config_nd(internal, internal),
|
|
FUNCTION 2 geography_spgist_choose_nd(internal, internal),
|
|
FUNCTION 3 geography_spgist_picksplit_nd(internal, internal),
|
|
FUNCTION 4 geography_spgist_inner_consistent_nd(internal, internal),
|
|
FUNCTION 5 geography_spgist_leaf_consistent_nd(internal, internal),
|
|
FUNCTION 6 geography_spgist_compress_nd(internal);
|