prestodb/presto

ST_Centroid (Java) does not comply with ISO spec

Aperta

#26.947 aperta il 12 gen 2026

 (3 commenti) (0 reazioni) (0 assegnatari)Java (5240 fork)batch import
buggood first issue

Metriche repository

Star
 (15.558 stelle)
Metriche merge PR
 (Merge medio 34g 14h) (120 PR mergiate in 30 g)

Descrizione

In the ISO spec, ST_Centroid(empty_geometry) returns NULL, but in the Java code it returns an empty geometry. This is fixed for Velox/native in https://github.com/facebookincubator/velox/pull/15985 , but should also be fixed in Java.

Expected Behavior

ST_Centroid(ST_GeometryFromText('LINESTRING EMPTY')) IS NULL

Current Behavior

ST_IsEmpty(ST_Centroid(ST_GeometryFromText('LINESTRING EMPTY')))

Possible Solution

The ST_Centroid function should check for an empty input geometry and return null.

Steps to Reproduce

SELECT ST_Centroid(ST_GeometryFromText('LINESTRING EMPTY'))

Guida contributor