From 869b4c243e5edb827ee9c120e7162de38400aed8 Mon Sep 17 00:00:00 2001 From: StefanoPetrilli Date: Tue, 2 Jul 2024 10:56:22 +0200 Subject: [PATCH] MDEV-34276: Implements the function ST_IsValid The GIS function ST_Simplify takes ad input a geometry and returns 1 if the argument is geometrically valid, 0 if the argument is not geometrically valid. Author: StefanoPetrilli Co-authored-by: Ahmed Ibrahim Co-authored-by: Jon Olav Hauglid Co-authored-by: Erlend Dahl Co-authored-by: Norvald H. Ryeng Co-authored-by: Menelaos Karavelas Co-authored-by: David.Zhao Co-authored-by: Pavan --- .../spatial_utility_function_isvalid.test | 1 - sql/item_geofunc.cc | 30 +++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/mysql-test/main/spatial_utility_function_isvalid.test b/mysql-test/main/spatial_utility_function_isvalid.test index bbedc0e7b2e..c79ac14c873 100644 --- a/mysql-test/main/spatial_utility_function_isvalid.test +++ b/mysql-test/main/spatial_utility_function_isvalid.test @@ -1,4 +1,3 @@ - # Copyright (c) 2014, Oracle and/or its affiliates # Copyright (c) 2024, MariaDB Corporation. # diff --git a/sql/item_geofunc.cc b/sql/item_geofunc.cc index f10d0008c73..fa67fe92bed 100644 --- a/sql/item_geofunc.cc +++ b/sql/item_geofunc.cc @@ -4284,6 +4284,36 @@ protected: }; +class Create_func_isvalid : public Create_func_arg1 +{ +public: + Item *create_1_arg(THD *thd, Item *arg1) override + { + return new (thd->mem_root) Item_func_isvalid(thd, arg1); + } + + static Create_func_isvalid s_singleton; + +protected: + Create_func_isvalid() = default; + virtual ~Create_func_isvalid() = default; +}; + +class Create_func_isvalid : public Create_func_arg1 +{ +public: + Item *create_1_arg(THD *thd, Item *arg1) override + { + return new (thd->mem_root) Item_func_isvalid(thd, arg1); + } + + static Create_func_isvalid s_singleton; + +protected: + Create_func_isvalid() = default; + virtual ~Create_func_isvalid() = default; +}; + class Create_func_isvalid : public Create_func_arg1 { public: