@@ -21,7 +21,6 @@ namespace gdal {
2121
2222static void RasterClipFunction_01 (DataChunk &args, ExpressionState &state, Vector &result) {
2323 auto &context = state.GetContext ();
24- auto &lstate = GeometryFunctionLocalState::ResetAndGet (state);
2524 auto &ctx_state = GDALClientContextState::GetOrCreate (context);
2625
2726 using POINTER_TYPE = PrimitiveType<uintptr_t >;
@@ -33,7 +32,7 @@ static void RasterClipFunction_01(DataChunk &args, ExpressionState &state, Vecto
3332 GenericExecutor::ExecuteBinary<POINTER_TYPE, GEOMETRY_TYPE, POINTER_TYPE>(p1, p2, result, args.size (),
3433 [&](POINTER_TYPE p1, GEOMETRY_TYPE p2) {
3534 auto input = p1.val ;
36- auto geometry = lstate. factory . Deserialize ( p2.val ) ;
35+ auto geometry = p2.val ;
3736
3837 GDALDataset *dataset = reinterpret_cast <GDALDataset *>(input);
3938
@@ -58,7 +57,6 @@ static void RasterClipFunction_01(DataChunk &args, ExpressionState &state, Vecto
5857
5958static void RasterClipFunction_02 (DataChunk &args, ExpressionState &state, Vector &result) {
6059 auto &context = state.GetContext ();
61- auto &lstate = GeometryFunctionLocalState::ResetAndGet (state);
6260 auto &ctx_state = GDALClientContextState::GetOrCreate (context);
6361
6462 using POINTER_TYPE = PrimitiveType<uintptr_t >;
@@ -73,7 +71,7 @@ static void RasterClipFunction_02(DataChunk &args, ExpressionState &state, Vecto
7371 GenericExecutor::ExecuteTernary<POINTER_TYPE, GEOMETRY_TYPE, LIST_TYPE, POINTER_TYPE>(p1, p2, p3, result, args.size (),
7472 [&](POINTER_TYPE p1, GEOMETRY_TYPE p2, LIST_TYPE p3_offlen) {
7573 auto input = p1.val ;
76- auto geometry = lstate. factory . Deserialize ( p2.val ) ;
74+ auto geometry = p2.val ;
7775 auto offlen = p3_offlen.val ;
7876
7977 GDALDataset *dataset = reinterpret_cast <GDALDataset *>(input);
@@ -112,13 +110,13 @@ static void RasterClipFunction_02(DataChunk &args, ExpressionState &state, Vecto
112110void GdalScalarFunctions::RegisterStRasterClip (DatabaseInstance &db) {
113111
114112 ScalarFunctionSet set (" ST_RasterClip" );
115- set.AddFunction (ScalarFunction ({GeoTypes::RASTER (), GeoTypes::GEOMETRY ()}, GeoTypes::RASTER (), RasterClipFunction_01,
116- nullptr , nullptr , nullptr ,
117- GeometryFunctionLocalState::Init ));
113+ set.AddFunction (ScalarFunction ({GeoTypes::RASTER (), GeoTypes::GEOMETRY ()},
114+ GeoTypes::RASTER () ,
115+ RasterClipFunction_01 ));
118116
119- set.AddFunction (ScalarFunction ({GeoTypes::RASTER (), GeoTypes::GEOMETRY (), LogicalType::LIST (LogicalType::VARCHAR)}, GeoTypes::RASTER (), RasterClipFunction_02,
120- nullptr , nullptr , nullptr ,
121- GeometryFunctionLocalState::Init ));
117+ set.AddFunction (ScalarFunction ({GeoTypes::RASTER (), GeoTypes::GEOMETRY (), LogicalType::LIST (LogicalType::VARCHAR)},
118+ GeoTypes::RASTER () ,
119+ RasterClipFunction_02 ));
122120
123121 ExtensionUtil::RegisterFunction (db, set);
124122}
0 commit comments