diff --git a/src/Interpreters/UserDefinedFunctionFactory.h b/src/Interpreters/UserDefinedFunctionFactory.h index b479d629532..0d7167eb1b7 100644 --- a/src/Interpreters/UserDefinedFunctionFactory.h +++ b/src/Interpreters/UserDefinedFunctionFactory.h @@ -10,19 +10,25 @@ namespace DB { +///Factory for user defined functions stores functions. class UserDefinedFunctionFactory : public IHints<1, UserDefinedFunctionFactory> { public: static UserDefinedFunctionFactory & instance(); + /// Register function with function_name. create_function_query pointer must be ASTCreateFunctionQuery. void registerFunction(const String & function_name, ASTPtr create_function_query); + /// Unregister function with function_name. void unregisterFunction(const String & function_name); + /// Throws an exception if not found. Result ast pointer safely can be casted to ASTCreateFunctionQuery. ASTPtr get(const String & function_name) const; + /// Returns nullptr if not found. Result ast pointer safely can be casted to ASTCreateFunctionQuery. ASTPtr tryGet(const String & function_name) const; + /// Get all registered function names. std::vector getAllRegisteredNames() const override; private: