sqlitegis 0.1.4

SQLiteGIS: PostGIS-style spatial functions for SQLite in pure Rust.
Documentation
// Hand-maintained. Each row must correspond 1:1 to an entry in
// crate::core::function_catalog::SQLITE_DETERMINISTIC_FUNCTIONS. The
// assert_catalog_callback_parity const-assertion below in ffi.rs verifies
// this at compile time. If you add or remove an entry, update the catalog
// and the const-assertion will catch any drift.

const SQLITE_DETERMINISTIC_CALLBACKS: &[SqliteCallbackSpec] = &[
    callback_spec!("ST_GeomFromText", 1, st_geomfromtext_1_xfunc),
    callback_spec!("ST_GeomFromText", 2, st_geomfromtext_2_xfunc),
    callback_spec!("ST_GeomFromWKB", 1, st_geomfromwkb_1_xfunc),
    callback_spec!("ST_GeomFromWKB", 2, st_geomfromwkb_2_xfunc),
    callback_spec!("ST_GeomFromEWKB", 1, st_geomfromewkb_xfunc),
    callback_spec!("ST_GeomFromGeoJSON", 1, st_geomfromgeojson_xfunc),
    callback_spec!("ST_AsText", 1, st_astext_xfunc),
    callback_spec!("ST_AsEWKT", 1, st_asewkt_xfunc),
    callback_spec!("ST_AsBinary", 1, st_asbinary_xfunc),
    callback_spec!("ST_AsEWKB", 1, st_asewkb_xfunc),
    callback_spec!("ST_AsGeoJSON", 1, st_asgeojson_xfunc),
    callback_spec!("ST_Point", 2, st_point_2_xfunc),
    callback_spec!("ST_Point", 3, st_point_3_xfunc),
    callback_spec!("ST_MakePoint", 2, st_point_2_xfunc),
    callback_spec!("ST_MakeLine", 2, st_makeline_xfunc),
    callback_spec!("ST_MakePolygon", 1, st_makepolygon_xfunc),
    callback_spec!("ST_MakeEnvelope", 4, st_makeenvelope_4_xfunc),
    callback_spec!("ST_MakeEnvelope", 5, st_makeenvelope_5_xfunc),
    callback_spec!("ST_Collect", 2, st_collect_xfunc),
    callback_spec!("ST_TileEnvelope", 3, st_tileenvelope_xfunc),
    callback_spec!("ST_SRID", 1, st_srid_xfunc),
    callback_spec!("ST_SetSRID", 2, st_setsrid_xfunc),
    callback_spec!("ST_GeometryType", 1, st_geometrytype_xfunc),
    callback_spec!("GeometryType", 1, st_geometrytype_xfunc),
    callback_spec!("ST_NDims", 1, st_ndims_xfunc),
    callback_spec!("ST_CoordDim", 1, st_coorddim_xfunc),
    callback_spec!("ST_Zmflag", 1, st_zmflag_xfunc),
    callback_spec!("ST_IsEmpty", 1, st_isempty_xfunc),
    callback_spec!("ST_MemSize", 1, st_memsize_xfunc),
    callback_spec!("ST_X", 1, st_x_xfunc),
    callback_spec!("ST_Y", 1, st_y_xfunc),
    callback_spec!("ST_Z", 1, st_z_xfunc),
    callback_spec!("ST_NumPoints", 1, st_numpoints_xfunc),
    callback_spec!("ST_NPoints", 1, st_npoints_xfunc),
    callback_spec!("ST_NumGeometries", 1, st_numgeometries_xfunc),
    callback_spec!("ST_NumInteriorRings", 1, st_numinteriorrings_xfunc),
    callback_spec!("ST_NumInteriorRing", 1, st_numinteriorrings_xfunc),
    callback_spec!("ST_NumRings", 1, st_numrings_xfunc),
    callback_spec!("ST_PointN", 2, st_pointn_xfunc),
    callback_spec!("ST_StartPoint", 1, st_startpoint_xfunc),
    callback_spec!("ST_EndPoint", 1, st_endpoint_xfunc),
    callback_spec!("ST_ExteriorRing", 1, st_exteriorring_xfunc),
    callback_spec!("ST_InteriorRingN", 2, st_interiorringn_xfunc),
    callback_spec!("ST_GeometryN", 2, st_geometryn_xfunc),
    callback_spec!("ST_Dimension", 1, st_dimension_xfunc),
    callback_spec!("ST_Envelope", 1, st_envelope_xfunc),
    callback_spec!("ST_IsValid", 1, st_isvalid_xfunc),
    callback_spec!("ST_IsValidReason", 1, st_isvalidreason_xfunc),
    callback_spec!("ST_Area", 1, st_area_xfunc),
    callback_spec!("ST_Length", 1, st_length_xfunc),
    callback_spec!("ST_Length2D", 1, st_length_xfunc),
    callback_spec!("ST_Perimeter", 1, st_perimeter_xfunc),
    callback_spec!("ST_Perimeter2D", 1, st_perimeter_xfunc),
    callback_spec!("ST_Distance", 2, st_distance_xfunc),
    callback_spec!("ST_Centroid", 1, st_centroid_xfunc),
    callback_spec!("ST_PointOnSurface", 1, st_pointonsurface_xfunc),
    callback_spec!("ST_HausdorffDistance", 2, st_hausdorffdistance_xfunc),
    callback_spec!("ST_XMin", 1, st_xmin_xfunc),
    callback_spec!("ST_XMax", 1, st_xmax_xfunc),
    callback_spec!("ST_YMin", 1, st_ymin_xfunc),
    callback_spec!("ST_YMax", 1, st_ymax_xfunc),
    callback_spec!("ST_DistanceSphere", 2, st_distancesphere_xfunc),
    callback_spec!("ST_DistanceSpheroid", 2, st_distancespheroid_xfunc),
    callback_spec!("ST_LengthSphere", 1, st_lengthsphere_xfunc),
    callback_spec!("ST_Azimuth", 2, st_azimuth_xfunc),
    callback_spec!("ST_Project", 3, st_project_xfunc),
    callback_spec!("ST_ClosestPoint", 2, st_closestpoint_xfunc),
    callback_spec!("ST_Union", 2, st_union_xfunc),
    callback_spec!("ST_Intersection", 2, st_intersection_xfunc),
    callback_spec!("ST_Difference", 2, st_difference_xfunc),
    callback_spec!("ST_SymDifference", 2, st_symdifference_xfunc),
    callback_spec!("ST_Buffer", 2, st_buffer_xfunc),
    callback_spec!("ST_Intersects", 2, st_intersects_xfunc),
    callback_spec!("ST_Contains", 2, st_contains_xfunc),
    callback_spec!("ST_Within", 2, st_within_xfunc),
    callback_spec!("ST_Disjoint", 2, st_disjoint_xfunc),
    callback_spec!("ST_DWithin", 3, st_dwithin_xfunc),
    callback_spec!("ST_DWithinSphere", 3, st_dwithinsphere_xfunc),
    callback_spec!("ST_DWithinSpheroid", 3, st_dwithinspheroid_xfunc),
    callback_spec!("ST_Covers", 2, st_covers_xfunc),
    callback_spec!("ST_CoveredBy", 2, st_coveredby_xfunc),
    callback_spec!("ST_Equals", 2, st_equals_xfunc),
    callback_spec!("ST_Touches", 2, st_touches_xfunc),
    callback_spec!("ST_Crosses", 2, st_crosses_xfunc),
    callback_spec!("ST_Overlaps", 2, st_overlaps_xfunc),
    callback_spec!("ST_Relate", 2, st_relate_2_xfunc),
    callback_spec!("ST_Relate", 3, st_relate_3_xfunc),
    callback_spec!("ST_RelateMatch", 2, st_relatematch_xfunc),
];