You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## What
Make the binary geo scalar functions (`ST_Distance`, `ST_Intersects`,
`ST_Contains`) null-propagating. A nullable geometry operand is now
allowed, and any row whose geometry input is null yields a `NULL`
result.
## Why
Spiral needs the geo predicates to accept nullable inputs to run
SpatialBench.
## How
A geo kernel decodes each operand into a `geo_types` geometry, and a
null row has no geometry to decode, so it can't compute over every row
and mask the nulls afterwards the way the numeric kernels do.
Instead, the shared `execute_null_propagating` dispatch drops the null
rows, computes only the rows valid in both operands, and scatters the
results back under the combined null mask. `return_dtype` is nullable
iff an operand is, and `validate_geometry_operands` no longer rejects
nullable operands.
---------
Signed-off-by: Nemo Yu <zyu379@wisc.edu>
0 commit comments