JOIN = gserialized_gist_joinsel_nd
);
-#if POSTGIS_PGSQL_VERSION >= 95
-
-- Availability: 2.2.0
CREATE OR REPLACE FUNCTION geography_distance_knn(geography, geography)
RETURNS float8
AS 'MODULE_PATHNAME' ,'gserialized_gist_geog_distance'
LANGUAGE 'c';
-#endif
-- Availability: 1.5.0
CREATE OPERATOR CLASS gist_geography_ops
-- OPERATOR 6 ~= ,
-- OPERATOR 7 ~ ,
-- OPERATOR 8 @ ,
-#if POSTGIS_PGSQL_VERSION >= 95
-- Availability: 2.2.0
OPERATOR 13 <-> FOR ORDER BY pg_catalog.float_ops,
FUNCTION 8 geography_gist_distance (internal, geography, int4),
-#endif
FUNCTION 1 geography_gist_consistent (internal, geography, int4),
FUNCTION 2 geography_gist_union (bytea, internal),
FUNCTION 3 geography_gist_compress (internal),
GSERIALIZED *g2 = NULL;
double distance;
double tolerance = FP_TOLERANCE;
- bool use_spheroid = false; /**switched back to use sphere, can get index to harmonize with sphoeroid **/
+ bool use_spheroid = false; /** switched back to use sphere, can't get index to harmonize with sphoeroid **/
SPHEROID s;
/* Get our geometry objects loaded into memory. */
Datum gserialized_gist_union(PG_FUNCTION_ARGS);
Datum gserialized_gist_same(PG_FUNCTION_ARGS);
Datum gserialized_gist_distance(PG_FUNCTION_ARGS);
-#if POSTGIS_PGSQL_VERSION >= 95
Datum gserialized_gist_geog_distance(PG_FUNCTION_ARGS);
-#endif
/*
** ND Operator prototypes
-#if POSTGIS_PGSQL_VERSION >= 95
PG_FUNCTION_INFO_V1(gserialized_gist_geog_distance);
Datum gserialized_gist_geog_distance(PG_FUNCTION_ARGS)
GISTENTRY *entry = (GISTENTRY*) PG_GETARG_POINTER(0);
Datum query_datum = PG_GETARG_DATUM(1);
StrategyNumber strategy = (StrategyNumber) PG_GETARG_UINT16(2);
+#if POSTGIS_PGSQL_VERSION >= 95
bool *recheck = (bool *) PG_GETARG_POINTER(4);
+#endif
char query_box_mem[GIDX_MAX_SIZE];
GIDX *query_box = (GIDX*)query_box_mem;
GIDX *entry_box;
PG_RETURN_FLOAT8(FLT_MAX);
}
+#if POSTGIS_PGSQL_VERSION >= 95
/* When we hit leaf nodes, it's time to turn on recheck */
if (GIST_LEAF(entry))
{
*recheck = true;
}
+#endif
/* Get the entry box */
entry_box = (GIDX*)DatumGetPointer(entry->key);
PG_RETURN_FLOAT8(distance);
}
-#endif
/*