Kontinuation opened a new pull request, #630:
URL: https://github.com/apache/sedona-db/pull/630

   ## Summary
   
   - Add `RS_SetSRID` and `RS_SetCRS` raster functions that set the CRS on 
raster values, with null-input semantics: null SRID/CRS input nulls the entire 
raster, while SRID=0/CRS="0" clears the CRS but preserves the raster.
   - Introduce `CachedSRIDToCrs` and `CachedCrsNormalization` batch-local cache 
structs in `sedona-schema/src/crs.rs`, shared by both ST_ (geometry) and RS_ 
(raster) setter functions.
   - Refactor `ST_SetSRID`/`ST_SetCRS` to use the new shared cache types 
instead of inline caching.
   
   ## Details
   
   ### RS_SetSRID / RS_SetCRS
   - Kernel structs carry `engine: Option<Arc<dyn CrsEngine + Send + Sync>>` 
matching the ST_ pattern
   - Both `_with_engine_udf(engine)` and `_udf()` (delegates with `None`) 
constructors
   - `extract_input_nulls()` captures the null buffer from the original input 
argument before any conversion, then `replace_raster_crs()` merges input nulls 
into the struct's null buffer via `NullBuffer::union()`
   - 17 tests including 4 null-input tests covering scalar and array cases
   
   ### Batch-local caches
   - `CachedSRIDToCrs`: caches SRID integer → CRS string conversion (e.g. 4326 
→ "OGC:CRS84")
   - `CachedCrsNormalization`: caches CRS string → abbreviated `authority:code` 
form via deserialization
   - Both use `#[derive(Default)]` and are used identically by ST_ and RS_ 
functions


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to