diff --git a/c/sedona-extension/src/scalar_kernel.rs b/c/sedona-extension/src/scalar_kernel.rs index 04c9ef0b9..2928421ca 100644 --- a/c/sedona-extension/src/scalar_kernel.rs +++ b/c/sedona-extension/src/scalar_kernel.rs @@ -695,12 +695,8 @@ mod test { let array_value = create_array(&[Some("POINT (0 1)"), None], &WKB_GEOMETRY); - let udf_native = SedonaScalarUDF::new( - "simple_udf", - vec![kernel.clone()], - Volatility::Immutable, - None, - ); + let udf_native = + SedonaScalarUDF::new("simple_udf", vec![kernel.clone()], Volatility::Immutable); let tester = ScalarUdfTester::new(udf_native.into(), vec![WKB_GEOMETRY]); tester.assert_return_type(WKB_GEOMETRY); @@ -721,7 +717,6 @@ mod test { "simple_udf_from_ffi", vec![Arc::new(imported_kernel)], Volatility::Immutable, - None, ); let ffi_tester = ScalarUdfTester::new(udf_from_ffi.clone().into(), vec![WKB_GEOMETRY]); @@ -776,7 +771,6 @@ mod test { "simple_udf_from_ffi", vec![Arc::new(imported_kernel)], Volatility::Immutable, - None, ); let ffi_tester = ScalarUdfTester::new( @@ -831,7 +825,6 @@ mod test { "simple_udf_from_ffi", vec![Arc::new(imported_kernel)], Volatility::Immutable, - None, ); let ffi_tester = ScalarUdfTester::new(udf_from_ffi.clone().into(), vec![WKB_GEOMETRY]); @@ -855,7 +848,6 @@ mod test { "simple_udf_from_ffi", vec![Arc::new(imported_kernel)], Volatility::Immutable, - None, ); let ffi_tester = ScalarUdfTester::new(udf_from_ffi.clone().into(), vec![WKB_GEOMETRY]); diff --git a/c/sedona-geos/src/st_polygonize_agg.rs b/c/sedona-geos/src/st_polygonize_agg.rs index acc81b931..21d827221 100644 --- a/c/sedona-geos/src/st_polygonize_agg.rs +++ b/c/sedona-geos/src/st_polygonize_agg.rs @@ -227,7 +227,6 @@ mod tests { "st_polygonize_agg", st_polygonize_agg_impl(), datafusion_expr::Volatility::Immutable, - None, ) } diff --git a/docs/reference/sql/rs_georeference.qmd b/docs/reference/sql/rs_georeference.qmd new file mode 100644 index 000000000..6f8d3dac6 --- /dev/null +++ b/docs/reference/sql/rs_georeference.qmd @@ -0,0 +1,44 @@ +--- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +title: RS_GeoReference +description: > + Returns the georeference metadata of raster as a string in GDAL or ESRI format + as commonly seen in a world file. Default is GDAL if not specified. Both formats + output six lines: scalex, skewy, skewx, scaley, upperleftx, upperlefty. In GDAL + format the upper-left coordinates refer to the corner of the upper-left pixel, + while in ESRI format they are shifted to the center of the upper-left pixel. +kernels: + - returns: utf8 + args: [raster] + - returns: utf8 + args: + - raster + - name: format + type: utf8 + description: > + Output format, either 'GDAL' (default) or 'ESRI'. GDAL reports the + upper-left corner of the upper-left pixel; ESRI shifts the coordinates + to the center of the upper-left pixel. +--- + +## Examples + +```sql +SELECT RS_GeoReference(RS_Example()); +``` diff --git a/docs/reference/sql/rs_numbands.qmd b/docs/reference/sql/rs_numbands.qmd new file mode 100644 index 000000000..c3730c672 --- /dev/null +++ b/docs/reference/sql/rs_numbands.qmd @@ -0,0 +1,30 @@ +--- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +title: RS_NumBands +description: Returns the number of bands in the raster. +kernels: + - returns: uint32 + args: [raster] +--- + +## Examples + +```sql +SELECT RS_NumBands(RS_Example()); +``` diff --git a/python/sedonadb/src/udf.rs b/python/sedonadb/src/udf.rs index d731bdc29..fe9c1eb3b 100644 --- a/python/sedonadb/src/udf.rs +++ b/python/sedonadb/src/udf.rs @@ -61,8 +61,7 @@ pub fn sedona_scalar_udf<'py>( }; let scalar_kernel = sedona_scalar_kernel(py, py_input_types, py_return_type, py_invoke_batch)?; - let sedona_scalar_udf = - SedonaScalarUDF::new(name, vec![Arc::new(scalar_kernel)], volatility, None); + let sedona_scalar_udf = SedonaScalarUDF::new(name, vec![Arc::new(scalar_kernel)], volatility); Ok(PySedonaScalarUdf { inner: sedona_scalar_udf, diff --git a/rust/sedona-expr/src/aggregate_udf.rs b/rust/sedona-expr/src/aggregate_udf.rs index 445093f5b..6d2b655b6 100644 --- a/rust/sedona-expr/src/aggregate_udf.rs +++ b/rust/sedona-expr/src/aggregate_udf.rs @@ -70,7 +70,6 @@ pub struct SedonaAggregateUDF { name: String, signature: Signature, kernels: Vec, - documentation: Option, } impl PartialEq for SedonaAggregateUDF { @@ -93,14 +92,12 @@ impl SedonaAggregateUDF { name: &str, kernels: impl IntoSedonaAccumulatorRefs, volatility: Volatility, - documentation: Option, ) -> Self { let signature = Signature::user_defined(volatility); Self { name: name.to_string(), signature, kernels: kernels.into_sedona_accumulator_refs(), - documentation, } } @@ -111,14 +108,9 @@ impl SedonaAggregateUDF { /// expected that the actual functionality will be registered from one or more /// independent crates (e.g., ST_Union_Agg(), which may be implemented in /// sedona-geo or sedona-geography). - pub fn new_stub( - name: &str, - arg_matcher: ArgMatcher, - volatility: Volatility, - documentation: Option, - ) -> Self { + pub fn new_stub(name: &str, arg_matcher: ArgMatcher, volatility: Volatility) -> Self { let stub_kernel = StubAccumulator::new(name.to_string(), arg_matcher); - Self::new(name, stub_kernel, volatility, documentation) + Self::new(name, stub_kernel, volatility) } /// Add a new kernel to an Aggregate UDF @@ -226,7 +218,7 @@ impl AggregateUDFImpl for SedonaAggregateUDF { } fn documentation(&self) -> Option<&Documentation> { - self.documentation.as_ref() + None } } @@ -317,7 +309,6 @@ mod test { "empty", Vec::::new(), Volatility::Immutable, - None, ); assert_eq!(udf.name(), "empty"); let err = udf.return_field(&[]).unwrap_err(); @@ -340,7 +331,6 @@ mod test { "stubby", ArgMatcher::new(vec![], SedonaType::Arrow(DataType::Boolean)), Volatility::Immutable, - None, ); // We registered the stub with zero arguments, so when we call it diff --git a/rust/sedona-expr/src/function_set.rs b/rust/sedona-expr/src/function_set.rs index 33073c980..3332d8da8 100644 --- a/rust/sedona-expr/src/function_set.rs +++ b/rust/sedona-expr/src/function_set.rs @@ -170,12 +170,7 @@ mod tests { Arc::new(|_, _| Ok(ColumnarValue::Scalar(ScalarValue::Boolean(None)))), ); - let udf = SedonaScalarUDF::new( - "simple_udf", - vec![kernel.clone()], - Volatility::Immutable, - None, - ); + let udf = SedonaScalarUDF::new("simple_udf", vec![kernel.clone()], Volatility::Immutable); functions.insert_scalar_udf(udf); assert_eq!(functions.scalar_udfs().collect::>().len(), 1); @@ -201,7 +196,7 @@ mod tests { Arc::new(|_, _| Ok(ColumnarValue::Scalar(ScalarValue::Utf8(None)))), ); - let udf2 = SedonaScalarUDF::new("simple_udf2", vec![kernel2], Volatility::Immutable, None); + let udf2 = SedonaScalarUDF::new("simple_udf2", vec![kernel2], Volatility::Immutable); let mut functions2 = FunctionSet::new(); functions2.insert_scalar_udf(udf2); functions.merge(functions2); @@ -252,7 +247,6 @@ mod tests { "simple_udaf", Vec::::new(), Volatility::Immutable, - None, ); let kernel = TestAccumulator {}; @@ -278,7 +272,6 @@ mod tests { "simple_udaf2", vec![Arc::new(kernel.clone())], Volatility::Immutable, - None, ); let mut functions2 = FunctionSet::new(); functions2.insert_aggregate_udf(udaf2); diff --git a/rust/sedona-expr/src/scalar_udf.rs b/rust/sedona-expr/src/scalar_udf.rs index fac30e60a..02d89f35b 100644 --- a/rust/sedona-expr/src/scalar_udf.rs +++ b/rust/sedona-expr/src/scalar_udf.rs @@ -70,7 +70,6 @@ pub struct SedonaScalarUDF { name: String, signature: Signature, kernels: Vec, - documentation: Option, aliases: Vec, } @@ -185,14 +184,12 @@ impl SedonaScalarUDF { name: &str, kernels: Vec, volatility: Volatility, - documentation: Option, ) -> SedonaScalarUDF { let signature = Signature::user_defined(volatility); Self { name: name.to_string(), signature, kernels, - documentation, aliases: vec![], } } @@ -203,7 +200,6 @@ impl SedonaScalarUDF { name: self.name, signature: self.signature, kernels: self.kernels, - documentation: self.documentation, aliases, } } @@ -214,12 +210,7 @@ impl SedonaScalarUDF { /// arguments. This is useful to create stub functions when it is expected that the /// actual functionality will be registered from one or more independent crates /// (e.g., ST_Intersects(), which may be implemented in sedona-geo or sedona-geography). - pub fn new_stub( - name: &str, - arg_matcher: ArgMatcher, - volatility: Volatility, - documentation: Option, - ) -> Self { + pub fn new_stub(name: &str, arg_matcher: ArgMatcher, volatility: Volatility) -> Self { let name_string = name.to_string(); let stub_kernel = SimpleSedonaScalarKernel::new_ref( arg_matcher, @@ -228,7 +219,7 @@ impl SedonaScalarUDF { }), ); - Self::new(name, vec![stub_kernel], volatility, documentation) + Self::new(name, vec![stub_kernel], volatility) } /// Create a SedonaScalarUDF from a single kernel @@ -240,7 +231,6 @@ impl SedonaScalarUDF { name, kernels.into_scalar_kernel_refs(), Volatility::Immutable, - None, ) } @@ -284,7 +274,7 @@ impl ScalarUDFImpl for SedonaScalarUDF { } fn documentation(&self) -> Option<&Documentation> { - self.documentation.as_ref() + None } fn return_type(&self, _args: &[DataType]) -> Result { @@ -355,7 +345,7 @@ mod tests { #[test] fn udf_empty() -> Result<()> { // UDF with no implementations - let udf = SedonaScalarUDF::new("empty", vec![], Volatility::Immutable, None); + let udf = SedonaScalarUDF::new("empty", vec![], Volatility::Immutable); assert_eq!(udf.name(), "empty"); assert_eq!(udf.coerce_types(&[])?, vec![]); @@ -397,7 +387,6 @@ mod tests { "simple_udf", vec![kernel_geo, kernel_arrow], Volatility::Immutable, - None, ); // Calling with a geo type should return a Null type @@ -443,7 +432,6 @@ mod tests { "stubby", ArgMatcher::new(vec![], SedonaType::Arrow(DataType::Boolean)), Volatility::Immutable, - None, ); let tester = ScalarUdfTester::new(stub.into(), vec![]); tester.assert_return_type(DataType::Boolean); @@ -465,7 +453,6 @@ mod tests { SedonaType::Arrow(DataType::Boolean), ), Volatility::Immutable, - None, ); // None CRS to None CRS is OK @@ -498,7 +485,6 @@ mod tests { WKB_GEOMETRY, ), Volatility::Immutable, - None, ); let tester = ScalarUdfTester::new( diff --git a/rust/sedona-functions/src/barrier.rs b/rust/sedona-functions/src/barrier.rs index 94f1f7e40..69db40056 100644 --- a/rust/sedona-functions/src/barrier.rs +++ b/rust/sedona-functions/src/barrier.rs @@ -31,7 +31,6 @@ pub fn barrier_udf() -> SedonaScalarUDF { "barrier", vec![Arc::new(Barrier)], Volatility::Volatile, // Mark as volatile to prevent optimization - None, ) } diff --git a/rust/sedona-functions/src/distance.rs b/rust/sedona-functions/src/distance.rs index 78a0031a5..726fb5872 100644 --- a/rust/sedona-functions/src/distance.rs +++ b/rust/sedona-functions/src/distance.rs @@ -60,7 +60,6 @@ pub fn distance_stub_udf(name: &str) -> SedonaScalarUDF { SedonaType::Arrow(DataType::Float64), ), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/overlay.rs b/rust/sedona-functions/src/overlay.rs index 6cb30e22b..49557fad1 100644 --- a/rust/sedona-functions/src/overlay.rs +++ b/rust/sedona-functions/src/overlay.rs @@ -49,7 +49,6 @@ pub fn overlay_stub_udf(name: &str) -> SedonaScalarUDF { WKB_GEOMETRY, ), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/predicates.rs b/rust/sedona-functions/src/predicates.rs index 2c7431455..f4d5233f9 100644 --- a/rust/sedona-functions/src/predicates.rs +++ b/rust/sedona-functions/src/predicates.rs @@ -77,7 +77,6 @@ pub fn st_knn_udf() -> SedonaScalarUDF { SedonaType::Arrow(DataType::Boolean), ), Volatility::Immutable, - None, ) } @@ -92,7 +91,6 @@ pub fn predicate_stub_udf(name: &str) -> SedonaScalarUDF { SedonaType::Arrow(DataType::Boolean), ), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/referencing.rs b/rust/sedona-functions/src/referencing.rs index 1d2358ff6..d83c704a8 100644 --- a/rust/sedona-functions/src/referencing.rs +++ b/rust/sedona-functions/src/referencing.rs @@ -31,7 +31,6 @@ pub fn st_line_locate_point_udf() -> SedonaScalarUDF { SedonaType::Arrow(DataType::Float64), ), Volatility::Immutable, - None, ) } @@ -44,7 +43,6 @@ pub fn st_line_interpolate_point_udf() -> SedonaScalarUDF { WKB_GEOMETRY, ), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/sd_format.rs b/rust/sedona-functions/src/sd_format.rs index 8152372b1..8cafaaa26 100644 --- a/rust/sedona-functions/src/sd_format.rs +++ b/rust/sedona-functions/src/sd_format.rs @@ -40,7 +40,6 @@ pub fn sd_format_udf() -> SedonaScalarUDF { "sd_format", vec![Arc::new(SDFormatDefault {})], Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/sd_order.rs b/rust/sedona-functions/src/sd_order.rs index 2cdcd22d9..61ff4e16f 100644 --- a/rust/sedona-functions/src/sd_order.rs +++ b/rust/sedona-functions/src/sd_order.rs @@ -33,7 +33,6 @@ pub fn sd_order_udf() -> SedonaScalarUDF { "sd_order", vec![Arc::new(SDOrderDefault {})], Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_affine.rs b/rust/sedona-functions/src/st_affine.rs index 5bf9d9e98..4b37d963e 100644 --- a/rust/sedona-functions/src/st_affine.rs +++ b/rust/sedona-functions/src/st_affine.rs @@ -45,7 +45,6 @@ pub fn st_affine_udf() -> SedonaScalarUDF { Arc::new(STAffine { is_3d: false }), ]), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_analyze_agg.rs b/rust/sedona-functions/src/st_analyze_agg.rs index a5d609218..3c9016e28 100644 --- a/rust/sedona-functions/src/st_analyze_agg.rs +++ b/rust/sedona-functions/src/st_analyze_agg.rs @@ -53,7 +53,6 @@ pub fn st_analyze_agg_udf() -> SedonaAggregateUDF { "st_analyze_agg", ItemCrsSedonaAccumulator::wrap_impl(STAnalyzeAgg {}), Volatility::Immutable, - None, ) } /// ST_Analyze_Agg() implementation diff --git a/rust/sedona-functions/src/st_area.rs b/rust/sedona-functions/src/st_area.rs index 520d2586c..7d480f3d7 100644 --- a/rust/sedona-functions/src/st_area.rs +++ b/rust/sedona-functions/src/st_area.rs @@ -30,7 +30,6 @@ pub fn st_area_udf() -> SedonaScalarUDF { SedonaType::Arrow(DataType::Float64), ), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_asbinary.rs b/rust/sedona-functions/src/st_asbinary.rs index 84bcdae50..3d162840b 100644 --- a/rust/sedona-functions/src/st_asbinary.rs +++ b/rust/sedona-functions/src/st_asbinary.rs @@ -33,7 +33,6 @@ pub fn st_asbinary_udf() -> SedonaScalarUDF { "st_asbinary", ItemCrsKernel::wrap_impl(vec![Arc::new(STAsBinary {})]), Volatility::Immutable, - None, ); udf.with_aliases(vec!["st_aswkb".to_string()]) } diff --git a/rust/sedona-functions/src/st_asewkb.rs b/rust/sedona-functions/src/st_asewkb.rs index e7f46d2ed..e0dc2994e 100644 --- a/rust/sedona-functions/src/st_asewkb.rs +++ b/rust/sedona-functions/src/st_asewkb.rs @@ -39,7 +39,6 @@ pub fn st_asewkb_udf() -> SedonaScalarUDF { "st_asewkb", vec![Arc::new(STAsEWKBItemCrs {}), Arc::new(STAsEWKB {})], Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_asgeojson.rs b/rust/sedona-functions/src/st_asgeojson.rs index 61b5c93fd..d34adba1c 100644 --- a/rust/sedona-functions/src/st_asgeojson.rs +++ b/rust/sedona-functions/src/st_asgeojson.rs @@ -30,7 +30,6 @@ pub fn st_asgeojson_udf() -> SedonaScalarUDF { SedonaType::Arrow(DataType::Utf8), ), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_astext.rs b/rust/sedona-functions/src/st_astext.rs index 5ca343283..3b67ef092 100644 --- a/rust/sedona-functions/src/st_astext.rs +++ b/rust/sedona-functions/src/st_astext.rs @@ -35,7 +35,6 @@ pub fn st_astext_udf() -> SedonaScalarUDF { "st_astext", ItemCrsKernel::wrap_impl(vec![Arc::new(STAsText {})]), Volatility::Immutable, - None, ); udf.with_aliases(vec!["st_aswkt".to_string()]) } diff --git a/rust/sedona-functions/src/st_azimuth.rs b/rust/sedona-functions/src/st_azimuth.rs index 440fd1139..5b661adfc 100644 --- a/rust/sedona-functions/src/st_azimuth.rs +++ b/rust/sedona-functions/src/st_azimuth.rs @@ -37,7 +37,6 @@ pub fn st_azimuth_udf() -> SedonaScalarUDF { "st_azimuth", ItemCrsKernel::wrap_impl(vec![Arc::new(STAzimuth {})]), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_buffer.rs b/rust/sedona-functions/src/st_buffer.rs index 853726d6a..41a0c6543 100644 --- a/rust/sedona-functions/src/st_buffer.rs +++ b/rust/sedona-functions/src/st_buffer.rs @@ -30,7 +30,6 @@ pub fn st_buffer_udf() -> SedonaScalarUDF { WKB_GEOMETRY, ), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_centroid.rs b/rust/sedona-functions/src/st_centroid.rs index 11d5c9b60..0e1ac329a 100644 --- a/rust/sedona-functions/src/st_centroid.rs +++ b/rust/sedona-functions/src/st_centroid.rs @@ -26,7 +26,6 @@ pub fn st_centroid_udf() -> SedonaScalarUDF { "st_centroid", ArgMatcher::new(vec![ArgMatcher::is_geometry()], WKB_GEOMETRY), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_collect_agg.rs b/rust/sedona-functions/src/st_collect_agg.rs index 5604794b5..54011b562 100644 --- a/rust/sedona-functions/src/st_collect_agg.rs +++ b/rust/sedona-functions/src/st_collect_agg.rs @@ -56,7 +56,6 @@ pub fn st_collect_agg_udf() -> SedonaAggregateUDF { Arc::new(STCollectAggr { is_geography: true }), ]), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_concavehull.rs b/rust/sedona-functions/src/st_concavehull.rs index c19495a27..37a2ef6a7 100644 --- a/rust/sedona-functions/src/st_concavehull.rs +++ b/rust/sedona-functions/src/st_concavehull.rs @@ -29,7 +29,6 @@ pub fn st_concavehull_udf() -> SedonaScalarUDF { WKB_GEOMETRY, ), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_dimension.rs b/rust/sedona-functions/src/st_dimension.rs index 72fd87be3..099bd4ac4 100644 --- a/rust/sedona-functions/src/st_dimension.rs +++ b/rust/sedona-functions/src/st_dimension.rs @@ -35,7 +35,6 @@ pub fn st_dimension_udf() -> SedonaScalarUDF { "st_dimension", ItemCrsKernel::wrap_impl(vec![Arc::new(STDimension {})]), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_dump.rs b/rust/sedona-functions/src/st_dump.rs index 2a46a152c..36f113f51 100644 --- a/rust/sedona-functions/src/st_dump.rs +++ b/rust/sedona-functions/src/st_dump.rs @@ -40,12 +40,7 @@ use crate::executor::WkbExecutor; /// /// Native implementation to get all the points of a geometry as MULTIPOINT pub fn st_dump_udf() -> SedonaScalarUDF { - SedonaScalarUDF::new( - "st_dump", - vec![Arc::new(STDump)], - Volatility::Immutable, - None, - ) + SedonaScalarUDF::new("st_dump", vec![Arc::new(STDump)], Volatility::Immutable) } #[derive(Debug)] diff --git a/rust/sedona-functions/src/st_dwithin.rs b/rust/sedona-functions/src/st_dwithin.rs index 320c7dde6..ab3526293 100644 --- a/rust/sedona-functions/src/st_dwithin.rs +++ b/rust/sedona-functions/src/st_dwithin.rs @@ -32,7 +32,6 @@ pub fn st_dwithin_udf() -> SedonaScalarUDF { SedonaType::Arrow(DataType::Boolean), ), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_envelope.rs b/rust/sedona-functions/src/st_envelope.rs index 26903eee9..463e3c61e 100644 --- a/rust/sedona-functions/src/st_envelope.rs +++ b/rust/sedona-functions/src/st_envelope.rs @@ -50,7 +50,6 @@ pub fn st_envelope_udf() -> SedonaScalarUDF { "st_envelope", ItemCrsKernel::wrap_impl(vec![Arc::new(STEnvelope {})]), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_envelope_agg.rs b/rust/sedona-functions/src/st_envelope_agg.rs index 3ae0d3773..ad6efacf8 100644 --- a/rust/sedona-functions/src/st_envelope_agg.rs +++ b/rust/sedona-functions/src/st_envelope_agg.rs @@ -48,7 +48,6 @@ pub fn st_envelope_agg_udf() -> SedonaAggregateUDF { "st_envelope_agg", ItemCrsSedonaAccumulator::wrap_impl(vec![Arc::new(STEnvelopeAgg {})]), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_flipcoordinates.rs b/rust/sedona-functions/src/st_flipcoordinates.rs index f296d1747..24e780026 100644 --- a/rust/sedona-functions/src/st_flipcoordinates.rs +++ b/rust/sedona-functions/src/st_flipcoordinates.rs @@ -45,7 +45,6 @@ pub fn st_flipcoordinates_udf() -> SedonaScalarUDF { "st_flipcoordinates", ItemCrsKernel::wrap_impl(vec![Arc::new(STFlipCoordinates {})]), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_force_dim.rs b/rust/sedona-functions/src/st_force_dim.rs index 50d10b25f..8a51391c4 100644 --- a/rust/sedona-functions/src/st_force_dim.rs +++ b/rust/sedona-functions/src/st_force_dim.rs @@ -81,7 +81,6 @@ pub fn st_force2d_udf() -> SedonaScalarUDF { Arc::new(STForce2D { is_geography: true }), ]), Volatility::Immutable, - None, ) } @@ -155,7 +154,6 @@ pub fn st_force3d_udf() -> SedonaScalarUDF { Arc::new(STForce3D { is_geography: true }), ]), Volatility::Immutable, - None, ) } @@ -246,7 +244,6 @@ pub fn st_force3dm_udf() -> SedonaScalarUDF { Arc::new(STForce3DM { is_geography: true }), ]), Volatility::Immutable, - None, ) } @@ -338,7 +335,6 @@ pub fn st_force4d_udf() -> SedonaScalarUDF { Arc::new(STForce4D { is_geography: true }), ]), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_geometryn.rs b/rust/sedona-functions/src/st_geometryn.rs index da686da10..c917162dc 100644 --- a/rust/sedona-functions/src/st_geometryn.rs +++ b/rust/sedona-functions/src/st_geometryn.rs @@ -42,7 +42,6 @@ pub fn st_geometryn_udf() -> SedonaScalarUDF { "st_geometryn", ItemCrsKernel::wrap_impl(vec![Arc::new(STGeometryN)]), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_geometrytype.rs b/rust/sedona-functions/src/st_geometrytype.rs index ab114f6de..d486ca1fb 100644 --- a/rust/sedona-functions/src/st_geometrytype.rs +++ b/rust/sedona-functions/src/st_geometrytype.rs @@ -33,7 +33,6 @@ pub fn st_geometry_type_udf() -> SedonaScalarUDF { "st_geometrytype", ItemCrsKernel::wrap_impl(vec![Arc::new(STGeometryType {})]), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_geomfromewkb.rs b/rust/sedona-functions/src/st_geomfromewkb.rs index 0baeed5cc..0c223b4c0 100644 --- a/rust/sedona-functions/src/st_geomfromewkb.rs +++ b/rust/sedona-functions/src/st_geomfromewkb.rs @@ -42,7 +42,6 @@ pub fn st_geomfromewkb_udf() -> SedonaScalarUDF { "st_geomfromewkb", vec![Arc::new(STGeomFromEWKB {})], Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_geomfromwkb.rs b/rust/sedona-functions/src/st_geomfromwkb.rs index ff136a518..c5a8803d0 100644 --- a/rust/sedona-functions/src/st_geomfromwkb.rs +++ b/rust/sedona-functions/src/st_geomfromwkb.rs @@ -40,7 +40,6 @@ pub fn st_geomfromwkb_udf() -> SedonaScalarUDF { "st_geomfromwkb", vec![sridified_kernel, kernel], Volatility::Immutable, - None, ) } @@ -55,7 +54,6 @@ pub fn st_geomfromwkbunchecked_udf() -> SedonaScalarUDF { out_type: WKB_VIEW_GEOMETRY, })], Volatility::Immutable, - None, ) } @@ -70,7 +68,6 @@ pub fn st_geogfromwkb_udf() -> SedonaScalarUDF { out_type: WKB_VIEW_GEOGRAPHY, })], Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_geomfromwkt.rs b/rust/sedona-functions/src/st_geomfromwkt.rs index 319aea761..79e4c084e 100644 --- a/rust/sedona-functions/src/st_geomfromwkt.rs +++ b/rust/sedona-functions/src/st_geomfromwkt.rs @@ -52,7 +52,6 @@ pub fn st_geomfromwkt_udf() -> SedonaScalarUDF { "st_geomfromwkt", vec![sridified_kernel, kernel], Volatility::Immutable, - None, ); udf.with_aliases(vec![ "st_geomfromtext".to_string(), @@ -71,7 +70,6 @@ pub fn st_geogfromwkt_udf() -> SedonaScalarUDF { out_type: WKB_GEOGRAPHY, })], Volatility::Immutable, - None, ); udf.with_aliases(vec!["st_geogfromtext".to_string()]) } @@ -138,7 +136,6 @@ pub fn st_geomfromewkt_udf() -> SedonaScalarUDF { "st_geomfromewkt", vec![Arc::new(STGeoFromEWKT {})], Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_haszm.rs b/rust/sedona-functions/src/st_haszm.rs index 8b30f0c31..bfadc8f07 100644 --- a/rust/sedona-functions/src/st_haszm.rs +++ b/rust/sedona-functions/src/st_haszm.rs @@ -34,7 +34,6 @@ pub fn st_hasz_udf() -> SedonaScalarUDF { "st_hasz", ItemCrsKernel::wrap_impl(vec![Arc::new(STHasZm { dim: "z" })]), Volatility::Immutable, - None, ) } @@ -43,7 +42,6 @@ pub fn st_hasm_udf() -> SedonaScalarUDF { "st_hasm", ItemCrsKernel::wrap_impl(vec![Arc::new(STHasZm { dim: "m" })]), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_interiorringn.rs b/rust/sedona-functions/src/st_interiorringn.rs index 943f409b5..186dc4c5c 100644 --- a/rust/sedona-functions/src/st_interiorringn.rs +++ b/rust/sedona-functions/src/st_interiorringn.rs @@ -40,7 +40,6 @@ pub fn st_interiorringn_udf() -> SedonaScalarUDF { "st_interiorringn", ItemCrsKernel::wrap_impl(vec![Arc::new(STInteriorRingN)]), datafusion_expr::Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_intersection_agg.rs b/rust/sedona-functions/src/st_intersection_agg.rs index e78ca97ca..6c8d84195 100644 --- a/rust/sedona-functions/src/st_intersection_agg.rs +++ b/rust/sedona-functions/src/st_intersection_agg.rs @@ -34,7 +34,6 @@ pub fn st_intersection_agg_udf() -> SedonaAggregateUDF { SedonaType::Wkb(Edges::Planar, None), ), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_isclosed.rs b/rust/sedona-functions/src/st_isclosed.rs index 23e1ce36b..2aac1ae73 100644 --- a/rust/sedona-functions/src/st_isclosed.rs +++ b/rust/sedona-functions/src/st_isclosed.rs @@ -40,7 +40,6 @@ pub fn st_isclosed_udf() -> SedonaScalarUDF { "st_isclosed", ItemCrsKernel::wrap_impl(vec![Arc::new(STIsClosed {})]), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_iscollection.rs b/rust/sedona-functions/src/st_iscollection.rs index 59db97619..c119f5ac0 100644 --- a/rust/sedona-functions/src/st_iscollection.rs +++ b/rust/sedona-functions/src/st_iscollection.rs @@ -37,7 +37,6 @@ pub fn st_iscollection_udf() -> SedonaScalarUDF { "st_iscollection", ItemCrsKernel::wrap_impl(vec![Arc::new(STIsCollection {})]), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_isempty.rs b/rust/sedona-functions/src/st_isempty.rs index 2b6690eed..0d6041c65 100644 --- a/rust/sedona-functions/src/st_isempty.rs +++ b/rust/sedona-functions/src/st_isempty.rs @@ -34,7 +34,6 @@ pub fn st_isempty_udf() -> SedonaScalarUDF { "st_isempty", ItemCrsKernel::wrap_impl(vec![Arc::new(STIsEmpty {})]), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_length.rs b/rust/sedona-functions/src/st_length.rs index 9e329c288..b68a1be82 100644 --- a/rust/sedona-functions/src/st_length.rs +++ b/rust/sedona-functions/src/st_length.rs @@ -30,7 +30,6 @@ pub fn st_length_udf() -> SedonaScalarUDF { SedonaType::Arrow(DataType::Float64), ), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_line_merge.rs b/rust/sedona-functions/src/st_line_merge.rs index 3eddfa9d4..0069903bd 100644 --- a/rust/sedona-functions/src/st_line_merge.rs +++ b/rust/sedona-functions/src/st_line_merge.rs @@ -26,7 +26,6 @@ pub fn st_line_merge_udf() -> SedonaScalarUDF { "st_linemerge", ArgMatcher::new(vec![ArgMatcher::is_geometry()], WKB_GEOMETRY), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_makeline.rs b/rust/sedona-functions/src/st_makeline.rs index 713845531..2c90b3666 100644 --- a/rust/sedona-functions/src/st_makeline.rs +++ b/rust/sedona-functions/src/st_makeline.rs @@ -50,7 +50,6 @@ pub fn st_makeline_udf() -> SedonaScalarUDF { }), ]), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_numgeometries.rs b/rust/sedona-functions/src/st_numgeometries.rs index ebbad1d6e..ff885b860 100644 --- a/rust/sedona-functions/src/st_numgeometries.rs +++ b/rust/sedona-functions/src/st_numgeometries.rs @@ -37,7 +37,6 @@ pub fn st_numgeometries_udf() -> SedonaScalarUDF { "st_numgeometries", ItemCrsKernel::wrap_impl(vec![Arc::new(STNumGeometries {})]), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_perimeter.rs b/rust/sedona-functions/src/st_perimeter.rs index 52158d3bf..596518ae1 100644 --- a/rust/sedona-functions/src/st_perimeter.rs +++ b/rust/sedona-functions/src/st_perimeter.rs @@ -34,7 +34,6 @@ pub fn st_perimeter_udf() -> SedonaScalarUDF { SedonaType::Arrow(DataType::Float64), ), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_point.rs b/rust/sedona-functions/src/st_point.rs index b3f4c6f14..c9cab7ab9 100644 --- a/rust/sedona-functions/src/st_point.rs +++ b/rust/sedona-functions/src/st_point.rs @@ -44,7 +44,6 @@ pub fn st_point_udf() -> SedonaScalarUDF { "st_point", vec![sridified_kernel, kernel], Volatility::Immutable, - None, ) } @@ -62,7 +61,6 @@ pub fn st_geogpoint_udf() -> SedonaScalarUDF { "st_geogpoint", vec![sridified_kernel, kernel], Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_pointn.rs b/rust/sedona-functions/src/st_pointn.rs index 2aac18e56..acf64bdee 100644 --- a/rust/sedona-functions/src/st_pointn.rs +++ b/rust/sedona-functions/src/st_pointn.rs @@ -44,7 +44,6 @@ pub fn st_pointn_udf() -> SedonaScalarUDF { "st_pointn", ItemCrsKernel::wrap_impl(vec![Arc::new(STPointN)]), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_points.rs b/rust/sedona-functions/src/st_points.rs index 03043ae60..bee52455b 100644 --- a/rust/sedona-functions/src/st_points.rs +++ b/rust/sedona-functions/src/st_points.rs @@ -50,7 +50,6 @@ pub fn st_points_udf() -> SedonaScalarUDF { "st_points", ItemCrsKernel::wrap_impl(vec![Arc::new(STPoints)]), Volatility::Immutable, - None, ) } @@ -108,7 +107,6 @@ pub fn st_npoints_udf() -> SedonaScalarUDF { "st_npoints", ItemCrsKernel::wrap_impl(vec![Arc::new(STNPoints)]), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_pointzm.rs b/rust/sedona-functions/src/st_pointzm.rs index 84e6d8174..40bd0aa53 100644 --- a/rust/sedona-functions/src/st_pointzm.rs +++ b/rust/sedona-functions/src/st_pointzm.rs @@ -55,7 +55,6 @@ pub fn st_pointz_udf() -> SedonaScalarUDF { dim: Dimensions::Xyz, })], Volatility::Immutable, - None, ) } @@ -70,7 +69,6 @@ pub fn st_pointm_udf() -> SedonaScalarUDF { dim: Dimensions::Xym, })], Volatility::Immutable, - None, ) } @@ -85,7 +83,6 @@ pub fn st_pointzm_udf() -> SedonaScalarUDF { dim: Dimensions::Xyzm, })], Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_polygonize_agg.rs b/rust/sedona-functions/src/st_polygonize_agg.rs index 8d4dbcbb6..c1f01033e 100644 --- a/rust/sedona-functions/src/st_polygonize_agg.rs +++ b/rust/sedona-functions/src/st_polygonize_agg.rs @@ -28,7 +28,6 @@ pub fn st_polygonize_agg_udf() -> SedonaAggregateUDF { "st_polygonize_agg", ArgMatcher::new(vec![ArgMatcher::is_geometry()], WKB_GEOMETRY), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_reverse.rs b/rust/sedona-functions/src/st_reverse.rs index 0dbff881c..398bf0603 100644 --- a/rust/sedona-functions/src/st_reverse.rs +++ b/rust/sedona-functions/src/st_reverse.rs @@ -49,7 +49,6 @@ pub fn st_reverse_udf() -> SedonaScalarUDF { "st_reverse", ItemCrsKernel::wrap_impl(vec![Arc::new(STReverse)]), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_rotate.rs b/rust/sedona-functions/src/st_rotate.rs index a0753d49d..5f1ad0a9a 100644 --- a/rust/sedona-functions/src/st_rotate.rs +++ b/rust/sedona-functions/src/st_rotate.rs @@ -44,7 +44,6 @@ pub fn st_rotate_udf() -> SedonaScalarUDF { axis: RotateAxis::Z, })]), Volatility::Immutable, - None, ) } @@ -58,7 +57,6 @@ pub fn st_rotate_x_udf() -> SedonaScalarUDF { axis: RotateAxis::X, })]), Volatility::Immutable, - None, ) } @@ -72,7 +70,6 @@ pub fn st_rotate_y_udf() -> SedonaScalarUDF { axis: RotateAxis::Y, })]), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_scale.rs b/rust/sedona-functions/src/st_scale.rs index 52b626bab..fdbb5d601 100644 --- a/rust/sedona-functions/src/st_scale.rs +++ b/rust/sedona-functions/src/st_scale.rs @@ -45,7 +45,6 @@ pub fn st_scale_udf() -> SedonaScalarUDF { Arc::new(STScale { is_3d: false }), ]), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_setsrid.rs b/rust/sedona-functions/src/st_setsrid.rs index 79a95a44c..56f756e17 100644 --- a/rust/sedona-functions/src/st_setsrid.rs +++ b/rust/sedona-functions/src/st_setsrid.rs @@ -55,7 +55,6 @@ pub fn st_set_srid_with_engine_udf( "st_setsrid", vec![Arc::new(STSetSRID { engine })], Volatility::Immutable, - None, ) } @@ -71,7 +70,6 @@ pub fn st_set_crs_with_engine_udf( "st_setcrs", vec![Arc::new(STSetCRS { engine })], Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_srid.rs b/rust/sedona-functions/src/st_srid.rs index 323239849..b0e7fe94b 100644 --- a/rust/sedona-functions/src/st_srid.rs +++ b/rust/sedona-functions/src/st_srid.rs @@ -41,7 +41,6 @@ pub fn st_srid_udf() -> SedonaScalarUDF { "st_srid", vec![Arc::new(StSridItemCrs {}), Arc::new(StSrid {})], Volatility::Immutable, - None, ) } @@ -53,7 +52,6 @@ pub fn st_crs_udf() -> SedonaScalarUDF { "st_crs", vec![Arc::new(StCrsItemCrs {}), Arc::new(StCrs {})], Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_start_point.rs b/rust/sedona-functions/src/st_start_point.rs index 1f510a766..a1b08619a 100644 --- a/rust/sedona-functions/src/st_start_point.rs +++ b/rust/sedona-functions/src/st_start_point.rs @@ -46,7 +46,6 @@ pub fn st_start_point_udf() -> SedonaScalarUDF { "st_startpoint", ItemCrsKernel::wrap_impl(vec![Arc::new(STStartOrEndPoint::new(true))]), Volatility::Immutable, - None, ) } @@ -58,7 +57,6 @@ pub fn st_end_point_udf() -> SedonaScalarUDF { "st_endpoint", ItemCrsKernel::wrap_impl(vec![Arc::new(STStartOrEndPoint::new(false))]), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_transform.rs b/rust/sedona-functions/src/st_transform.rs index f308e5f6d..372358d1d 100644 --- a/rust/sedona-functions/src/st_transform.rs +++ b/rust/sedona-functions/src/st_transform.rs @@ -39,7 +39,6 @@ pub fn st_transform_udf() -> SedonaScalarUDF { WKB_GEOMETRY, ), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_translate.rs b/rust/sedona-functions/src/st_translate.rs index 4d50080b8..11486caff 100644 --- a/rust/sedona-functions/src/st_translate.rs +++ b/rust/sedona-functions/src/st_translate.rs @@ -47,7 +47,6 @@ pub fn st_translate_udf() -> SedonaScalarUDF { Arc::new(STTranslate { is_3d: false }), ]), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_union_agg.rs b/rust/sedona-functions/src/st_union_agg.rs index 4e65995ed..6cb994f7f 100644 --- a/rust/sedona-functions/src/st_union_agg.rs +++ b/rust/sedona-functions/src/st_union_agg.rs @@ -34,7 +34,6 @@ pub fn st_union_agg_udf() -> SedonaAggregateUDF { SedonaType::Wkb(Edges::Planar, None), ), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_xyzm.rs b/rust/sedona-functions/src/st_xyzm.rs index b8dfe9268..66013f6b6 100644 --- a/rust/sedona-functions/src/st_xyzm.rs +++ b/rust/sedona-functions/src/st_xyzm.rs @@ -41,7 +41,6 @@ pub fn st_x_udf() -> SedonaScalarUDF { "st_x", ItemCrsKernel::wrap_impl(vec![Arc::new(STXyzm { dim: "x" })]), Volatility::Immutable, - None, ) } @@ -53,7 +52,6 @@ pub fn st_y_udf() -> SedonaScalarUDF { "st_y", ItemCrsKernel::wrap_impl(vec![Arc::new(STXyzm { dim: "y" })]), Volatility::Immutable, - None, ) } @@ -65,7 +63,6 @@ pub fn st_z_udf() -> SedonaScalarUDF { "st_z", ItemCrsKernel::wrap_impl(vec![Arc::new(STXyzm { dim: "z" })]), Volatility::Immutable, - None, ) } @@ -77,7 +74,6 @@ pub fn st_m_udf() -> SedonaScalarUDF { "st_m", ItemCrsKernel::wrap_impl(vec![Arc::new(STXyzm { dim: "m" })]), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_xyzm_minmax.rs b/rust/sedona-functions/src/st_xyzm_minmax.rs index 4feaec713..cb0d24594 100644 --- a/rust/sedona-functions/src/st_xyzm_minmax.rs +++ b/rust/sedona-functions/src/st_xyzm_minmax.rs @@ -41,7 +41,6 @@ pub fn st_xmin_udf() -> SedonaScalarUDF { is_max: false, })]), Volatility::Immutable, - None, ) } @@ -53,7 +52,6 @@ pub fn st_xmax_udf() -> SedonaScalarUDF { is_max: true, })]), Volatility::Immutable, - None, ) } @@ -65,7 +63,6 @@ pub fn st_ymin_udf() -> SedonaScalarUDF { is_max: false, })]), Volatility::Immutable, - None, ) } @@ -77,7 +74,6 @@ pub fn st_ymax_udf() -> SedonaScalarUDF { is_max: true, })]), Volatility::Immutable, - None, ) } @@ -89,7 +85,6 @@ pub fn st_zmin_udf() -> SedonaScalarUDF { is_max: false, })]), Volatility::Immutable, - None, ) } @@ -101,7 +96,6 @@ pub fn st_zmax_udf() -> SedonaScalarUDF { is_max: true, })]), Volatility::Immutable, - None, ) } @@ -113,7 +107,6 @@ pub fn st_mmin_udf() -> SedonaScalarUDF { is_max: false, })]), Volatility::Immutable, - None, ) } @@ -125,7 +118,6 @@ pub fn st_mmax_udf() -> SedonaScalarUDF { is_max: true, })]), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-functions/src/st_zmflag.rs b/rust/sedona-functions/src/st_zmflag.rs index 488647d14..1b0133e44 100644 --- a/rust/sedona-functions/src/st_zmflag.rs +++ b/rust/sedona-functions/src/st_zmflag.rs @@ -35,7 +35,6 @@ pub fn st_zmflag_udf() -> SedonaScalarUDF { "st_zmflag", ItemCrsKernel::wrap_impl(vec![Arc::new(STZmFlag {})]), Volatility::Immutable, - None, ) } diff --git a/rust/sedona-geoparquet/src/writer.rs b/rust/sedona-geoparquet/src/writer.rs index 1179dbd3a..3ac629809 100644 --- a/rust/sedona-geoparquet/src/writer.rs +++ b/rust/sedona-geoparquet/src/writer.rs @@ -396,7 +396,6 @@ fn geoparquet_bbox_udf() -> SedonaScalarUDF { "geoparquet_bbox", vec![Arc::new(GeoParquetBbox {})], Volatility::Immutable, - None, ) } diff --git a/rust/sedona-raster-functions/src/rs_convexhull.rs b/rust/sedona-raster-functions/src/rs_convexhull.rs index 14484f212..e124e3e88 100644 --- a/rust/sedona-raster-functions/src/rs_convexhull.rs +++ b/rust/sedona-raster-functions/src/rs_convexhull.rs @@ -40,7 +40,6 @@ pub fn rs_convexhull_udf() -> SedonaScalarUDF { "rs_convexhull", vec![Arc::new(RsConvexHull {})], Volatility::Immutable, - None, ) } diff --git a/rust/sedona-raster-functions/src/rs_envelope.rs b/rust/sedona-raster-functions/src/rs_envelope.rs index 5a6c4cc1a..2177a18ae 100644 --- a/rust/sedona-raster-functions/src/rs_envelope.rs +++ b/rust/sedona-raster-functions/src/rs_envelope.rs @@ -38,7 +38,6 @@ pub fn rs_envelope_udf() -> SedonaScalarUDF { "rs_envelope", vec![Arc::new(RsEnvelope {})], Volatility::Immutable, - None, ) } diff --git a/rust/sedona-raster-functions/src/rs_example.rs b/rust/sedona-raster-functions/src/rs_example.rs index cf8266f35..48e2fd5ce 100644 --- a/rust/sedona-raster-functions/src/rs_example.rs +++ b/rust/sedona-raster-functions/src/rs_example.rs @@ -39,7 +39,6 @@ pub fn rs_example_udf() -> SedonaScalarUDF { "rs_example", vec![Arc::new(RsExample {})], Volatility::Immutable, - None, ) } diff --git a/rust/sedona-raster-functions/src/rs_georeference.rs b/rust/sedona-raster-functions/src/rs_georeference.rs index 38f48eef9..bf9b7470b 100644 --- a/rust/sedona-raster-functions/src/rs_georeference.rs +++ b/rust/sedona-raster-functions/src/rs_georeference.rs @@ -23,9 +23,7 @@ use arrow_array::Array; use arrow_schema::DataType; use datafusion_common::error::Result; use datafusion_common::DataFusionError; -use datafusion_expr::{ - scalar_doc_sections::DOC_SECTION_OTHER, ColumnarValue, Documentation, Volatility, -}; +use datafusion_expr::{ColumnarValue, Volatility}; use sedona_expr::scalar_udf::{SedonaScalarKernel, SedonaScalarUDF}; use sedona_raster::traits::RasterRef; use sedona_schema::{datatypes::SedonaType, matchers::ArgMatcher}; @@ -41,22 +39,9 @@ pub fn rs_georeference_udf() -> SedonaScalarUDF { Arc::new(RsGeoReferenceTwoArg {}), ], Volatility::Immutable, - Some(rs_georeference_doc()), ) } -fn rs_georeference_doc() -> Documentation { - Documentation::builder( - DOC_SECTION_OTHER, - "Returns the georeference metadata of raster as a string in GDAL or ESRI format as commonly seen in a world file. Default is GDAL if not specified. Both formats output six lines: scalex, skewy, skewx, scaley, upperleftx, upperlefty. In GDAL format the upper-left coordinates refer to the corner of the upper-left pixel, while in ESRI format they are shifted to the center of the upper-left pixel.".to_string(), - "RS_GeoReference(raster: Raster, format: String = 'GDAL')".to_string(), - ) - .with_argument("raster", "Raster: Input raster") - .with_argument("format", "String: Output format, either 'GDAL' (default) or 'ESRI'. GDAL reports the upper-left corner of the upper-left pixel; ESRI shifts the coordinates to the center of the upper-left pixel.") - .with_sql_example("SELECT RS_GeoReference(RS_Example())".to_string()) - .build() -} - /// Format type for GeoReference output as commonly seen in a /// [world file](https://en.wikipedia.org/wiki/World_file). /// @@ -219,7 +204,6 @@ mod tests { fn udf_metadata() { let udf: ScalarUDF = rs_georeference_udf().into(); assert_eq!(udf.name(), "rs_georeference"); - assert!(udf.documentation().is_some()); } #[test] diff --git a/rust/sedona-raster-functions/src/rs_geotransform.rs b/rust/sedona-raster-functions/src/rs_geotransform.rs index ac3b04ea1..9c5a9ee46 100644 --- a/rust/sedona-raster-functions/src/rs_geotransform.rs +++ b/rust/sedona-raster-functions/src/rs_geotransform.rs @@ -37,7 +37,6 @@ pub fn rs_upperleftx_udf() -> SedonaScalarUDF { param: GeoTransformParam::UpperLeftX, })], Volatility::Immutable, - None, ) } @@ -52,7 +51,6 @@ pub fn rs_upperlefty_udf() -> SedonaScalarUDF { param: GeoTransformParam::UpperLeftY, })], Volatility::Immutable, - None, ) } @@ -67,7 +65,6 @@ pub fn rs_scalex_udf() -> SedonaScalarUDF { param: GeoTransformParam::ScaleX, })], Volatility::Immutable, - None, ) } @@ -82,7 +79,6 @@ pub fn rs_scaley_udf() -> SedonaScalarUDF { param: GeoTransformParam::ScaleY, })], Volatility::Immutable, - None, ) } @@ -97,7 +93,6 @@ pub fn rs_skewx_udf() -> SedonaScalarUDF { param: GeoTransformParam::SkewX, })], Volatility::Immutable, - None, ) } @@ -112,7 +107,6 @@ pub fn rs_skewy_udf() -> SedonaScalarUDF { param: GeoTransformParam::SkewY, })], Volatility::Immutable, - None, ) } @@ -127,7 +121,6 @@ pub fn rs_rotation_udf() -> SedonaScalarUDF { param: GeoTransformParam::Rotation, })], Volatility::Immutable, - None, ) } diff --git a/rust/sedona-raster-functions/src/rs_numbands.rs b/rust/sedona-raster-functions/src/rs_numbands.rs index e7ea0e3e5..d3389f1cd 100644 --- a/rust/sedona-raster-functions/src/rs_numbands.rs +++ b/rust/sedona-raster-functions/src/rs_numbands.rs @@ -20,9 +20,7 @@ use crate::executor::RasterExecutor; use arrow_array::builder::UInt32Builder; use arrow_schema::DataType; use datafusion_common::error::Result; -use datafusion_expr::{ - scalar_doc_sections::DOC_SECTION_OTHER, ColumnarValue, Documentation, Volatility, -}; +use datafusion_expr::{ColumnarValue, Volatility}; use sedona_expr::scalar_udf::{SedonaScalarKernel, SedonaScalarUDF}; use sedona_raster::traits::RasterRef; use sedona_schema::{datatypes::SedonaType, matchers::ArgMatcher}; @@ -35,21 +33,9 @@ pub fn rs_numbands_udf() -> SedonaScalarUDF { "rs_numbands", vec![Arc::new(RsNumBands {})], Volatility::Immutable, - Some(rs_numbands_doc()), ) } -fn rs_numbands_doc() -> Documentation { - Documentation::builder( - DOC_SECTION_OTHER, - "Returns the number of bands in the raster.".to_string(), - "RS_NumBands(raster: Raster)".to_string(), - ) - .with_argument("raster", "Raster: Input raster") - .with_sql_example("SELECT RS_NumBands(RS_Example())".to_string()) - .build() -} - #[derive(Debug)] struct RsNumBands {} @@ -101,7 +87,6 @@ mod tests { fn udf_metadata() { let udf: ScalarUDF = rs_numbands_udf().into(); assert_eq!(udf.name(), "rs_numbands"); - assert!(udf.documentation().is_some()); } #[test] diff --git a/rust/sedona-raster-functions/src/rs_rastercoordinate.rs b/rust/sedona-raster-functions/src/rs_rastercoordinate.rs index 5a28730aa..7e8b377b9 100644 --- a/rust/sedona-raster-functions/src/rs_rastercoordinate.rs +++ b/rust/sedona-raster-functions/src/rs_rastercoordinate.rs @@ -35,7 +35,6 @@ pub fn rs_worldtorastercoordy_udf() -> SedonaScalarUDF { "rs_worldtorastercoordy", vec![Arc::new(RsCoordinateMapper { coord: Coord::Y })], Volatility::Immutable, - None, ) } @@ -47,7 +46,6 @@ pub fn rs_worldtorastercoordx_udf() -> SedonaScalarUDF { "rs_worldtorastercoordx", vec![Arc::new(RsCoordinateMapper { coord: Coord::X })], Volatility::Immutable, - None, ) } @@ -59,7 +57,6 @@ pub fn rs_worldtorastercoord_udf() -> SedonaScalarUDF { "rs_worldtorastercoord", vec![Arc::new(RsCoordinatePoint {})], Volatility::Immutable, - None, ) } diff --git a/rust/sedona-raster-functions/src/rs_size.rs b/rust/sedona-raster-functions/src/rs_size.rs index 71ee75ecb..6616bc56e 100644 --- a/rust/sedona-raster-functions/src/rs_size.rs +++ b/rust/sedona-raster-functions/src/rs_size.rs @@ -35,7 +35,6 @@ pub fn rs_width_udf() -> SedonaScalarUDF { size_type: SizeType::Width, })], Volatility::Immutable, - None, ) } @@ -49,7 +48,6 @@ pub fn rs_height_udf() -> SedonaScalarUDF { size_type: SizeType::Height, })], Volatility::Immutable, - None, ) } diff --git a/rust/sedona-raster-functions/src/rs_srid.rs b/rust/sedona-raster-functions/src/rs_srid.rs index b4046f40b..a9b472aeb 100644 --- a/rust/sedona-raster-functions/src/rs_srid.rs +++ b/rust/sedona-raster-functions/src/rs_srid.rs @@ -31,24 +31,14 @@ use sedona_schema::{datatypes::SedonaType, matchers::ArgMatcher}; /// /// Extract the SRID (Spatial Reference ID) of the raster pub fn rs_srid_udf() -> SedonaScalarUDF { - SedonaScalarUDF::new( - "rs_srid", - vec![Arc::new(RsSrid {})], - Volatility::Immutable, - None, - ) + SedonaScalarUDF::new("rs_srid", vec![Arc::new(RsSrid {})], Volatility::Immutable) } /// RS_CRS() scalar UDF implementation /// /// Extract the CRS (Coordinate Reference System) of the raster pub fn rs_crs_udf() -> SedonaScalarUDF { - SedonaScalarUDF::new( - "rs_crs", - vec![Arc::new(RsCrs {})], - Volatility::Immutable, - None, - ) + SedonaScalarUDF::new("rs_crs", vec![Arc::new(RsCrs {})], Volatility::Immutable) } #[derive(Debug)] diff --git a/rust/sedona-raster-functions/src/rs_worldcoordinate.rs b/rust/sedona-raster-functions/src/rs_worldcoordinate.rs index ba8b7825f..7952c0f4d 100644 --- a/rust/sedona-raster-functions/src/rs_worldcoordinate.rs +++ b/rust/sedona-raster-functions/src/rs_worldcoordinate.rs @@ -35,7 +35,6 @@ pub fn rs_rastertoworldcoordy_udf() -> SedonaScalarUDF { "rs_rastertoworldcoordy", vec![Arc::new(RsCoordinateMapper { coord: Coord::Y })], Volatility::Immutable, - None, ) } @@ -47,7 +46,6 @@ pub fn rs_rastertoworldcoordx_udf() -> SedonaScalarUDF { "rs_rastertoworldcoordx", vec![Arc::new(RsCoordinateMapper { coord: Coord::X })], Volatility::Immutable, - None, ) } @@ -59,7 +57,6 @@ pub fn rs_rastertoworldcoord_udf() -> SedonaScalarUDF { "rs_rastertoworldcoord", vec![Arc::new(RsCoordinatePoint {})], Volatility::Immutable, - None, ) }