2589 GEOSGeometry *g1, *g2;
2592 geom1 = PG_GETARG_GSERIALIZED_P(0);
2593 geom2 = PG_GETARG_GSERIALIZED_P(1);
2606 GEOSGeom_destroy(g1);
2611 ptxt = DatumGetTextP(DirectFunctionCall2(text_left,
2612 PG_GETARG_DATUM(2), Int32GetDatum(9)));
2613 patt = text_to_cstring(ptxt);
2618 for ( i = 0; i < strlen(patt); i++ )
2620 if ( patt[i] ==
't' ) patt[i] =
'T';
2621 if ( patt[i] ==
'f' ) patt[i] =
'F';
2624 result = GEOSRelatePattern(g1,g2,patt);
2625 GEOSGeom_destroy(g1);
2626 GEOSGeom_destroy(g2);
2631 PG_FREE_IF_COPY(geom1, 0);
2632 PG_FREE_IF_COPY(geom2, 1);
char result[OUT_DOUBLE_BUFFER_SIZE]
void gserialized_error_if_srid_mismatch(const GSERIALIZED *g1, const GSERIALIZED *g2, const char *funcname)
void lwgeom_geos_error(const char *fmt,...)
#define HANDLE_GEOS_ERROR(label)
GEOSGeometry * POSTGIS2GEOS(const GSERIALIZED *pglwgeom)