/* Initialize spheroid */
spheroid_init_from_srid(fcinfo, gserialized_get_srid(g1), &s);
+
+ error_if_srid_mismatch(gserialized_get_srid(g1), gserialized_get_srid(g2));
/* Set to sphere if requested */
if ( ! use_spheroid )
if ( PG_NARGS() > 3 && ! PG_ARGISNULL(3) )
use_spheroid = PG_GETARG_BOOL(3);
+ error_if_srid_mismatch(gserialized_get_srid(g1), gserialized_get_srid(g2));
+
/* Initialize spheroid */
spheroid_init_from_srid(fcinfo, gserialized_get_srid(g1), &s);
if ( PG_NARGS() > 3 && ! PG_ARGISNULL(3) )
use_spheroid = PG_GETARG_BOOL(3);
+ error_if_srid_mismatch(gserialized_get_srid(g1), gserialized_get_srid(g2));
+
/* Initialize spheroid */
spheroid_init_from_srid(fcinfo, gserialized_get_srid(g1), &s);
if ( PG_NARGS() > 3 && ! PG_ARGISNULL(3) )
use_spheroid = PG_GETARG_BOOL(3);
+ error_if_srid_mismatch(gserialized_get_srid(g1), gserialized_get_srid(g2));
+
/* Initialize spheroid */
spheroid_init_from_srid(fcinfo, gserialized_get_srid(g1), &s);
if ( PG_NARGS() > 3 && ! PG_ARGISNULL(3) )
use_spheroid = PG_GETARG_BOOL(3);
+ error_if_srid_mismatch(gserialized_get_srid(g1), gserialized_get_srid(g2));
+
/* Initialize spheroid */
spheroid_init_from_srid(fcinfo, gserialized_get_srid(g1), &s);
if ( PG_NARGS() > 3 && ! PG_ARGISNULL(3) )
use_spheroid = PG_GETARG_BOOL(3);
+ error_if_srid_mismatch(gserialized_get_srid(g1), gserialized_get_srid(g2));
+
/* Initialize spheroid */
spheroid_init_from_srid(fcinfo, gserialized_get_srid(g1), &s);
lwgeom1 = lwgeom_from_gserialized(g1);
lwgeom2 = lwgeom_from_gserialized(g2);
+ error_if_srid_mismatch(lwgeom1->srid, lwgeom2->srid);
+
/* EMPTY never intersects with another geometry */
if ( lwgeom_is_empty(lwgeom1) || lwgeom_is_empty(lwgeom2) )
{