diff --git a/regress/sfcgal/tickets.sql b/regress/sfcgal/tickets.sql index 7b7439ae3..4ff61bcae 100644 --- a/regress/sfcgal/tickets.sql +++ b/regress/sfcgal/tickets.sql @@ -808,5 +808,36 @@ SELECT '#2110.3', 'POINT(0 0)'::geometry = 'POINT(0 0)'::geometry; SELECT '#2145', round(ST_Length(St_Segmentize(ST_GeographyFromText('LINESTRING(-89.3000030518 28.2000007629,-89.1999969482 89.1999969482,-89.1999969482 89.1999969482)'), 10000))::numeric,0); +-- #4157 +-- should not crash +WITH data as ( +SELECT +ST_GeometryFromText( +'POLYGON Z (( +122395.299 489126.697 8.61546664325712, +122389.298 489128.73 8.55588025324629, +122391.489 489135.198 8.5526708028059, +122397.49 489133.165 8.61225719281685, +122395.299 489126.697 8.61546664325712))' +) as geoma, +ST_GeometryFromText( +'POLYHEDRALSURFACE Z ((( +122390.998245685 489133.068537491 0, +122391.003145022 489133.066423547 0, +122391.003145022 489133.066423547 10, +122390.998245685 489133.068537491 10, +122390.998245685 489133.068537491 0 +)),(( +122391.003145022 489133.066423547 0, +122383.269575402 489114.842869866 0, +122383.269575402 489114.842869866 10, +122391.003145022 489133.066423547 10, +122391.003145022 489133.066423547 0 +)))' +) as geomb +) +SELECT '#4157', ST_3DIntersection(geoma, geomb) is not null +FROM data; + -- Clean up DELETE FROM spatial_ref_sys; diff --git a/regress/sfcgal/tickets_expected b/regress/sfcgal/tickets_expected index 6d63faf1d..6cd17042a 100644 --- a/regress/sfcgal/tickets_expected +++ b/regress/sfcgal/tickets_expected @@ -245,3 +245,4 @@ ERROR: invalid GML representation #2110.2|t #2110.3|t #2145|6792004 +#4157|t