diff --git a/src/Functions/UserDefined/UDFHelper.cpp b/src/Functions/UserDefined/UDFHelper.cpp index 0e4072d1042..fec7addfef5 100644 --- a/src/Functions/UserDefined/UDFHelper.cpp +++ b/src/Functions/UserDefined/UDFHelper.cpp @@ -1,5 +1,6 @@ #include +#include #include #include #include @@ -51,6 +52,9 @@ void validateUDFName(const String & func_name) if (!std::isalpha(func_name[0]) && func_name[0] != '_') throw Exception(ErrorCodes::UDF_INVALID_NAME, "UDF name's first char shall be an alphabetic or underscore"); + + if (AggregateFunctionCombinatorPtr combinator = AggregateFunctionCombinatorFactory::instance().tryFindSuffix(func_name)) + throw Exception(fmt::format("UDF name can not end up with {}, because it is key word suffix", combinator->getName()), ErrorCodes::UDF_INVALID_NAME); } namespace