#include #include #include namespace DB { /** These functions are defined in a separate translation units. * This is done in order to reduce the consumption of RAM during build, and to speed up the parallel build. */ void registerFunctionsArithmetic(FunctionFactory &); void registerFunctionsArray(FunctionFactory &); void registerFunctionsTuple(FunctionFactory &); void registerFunctionsCoding(FunctionFactory &); void registerFunctionsComparison(FunctionFactory &); void registerFunctionsConditional(FunctionFactory &); void registerFunctionsConversion(FunctionFactory &); void registerFunctionsDateTime(FunctionFactory &); void registerFunctionsEmbeddedDictionaries(FunctionFactory &); void registerFunctionsExternalDictionaries(FunctionFactory &); void registerFunctionsExternalModels(FunctionFactory &); void registerFunctionsFormatting(FunctionFactory &); void registerFunctionsHashing(FunctionFactory &); void registerFunctionsConsistentHashing(FunctionFactory &); void registerFunctionsHigherOrder(FunctionFactory &); void registerFunctionsLogical(FunctionFactory &); void registerFunctionsMiscellaneous(FunctionFactory &); void registerFunctionsRandom(FunctionFactory &); void registerFunctionsReinterpret(FunctionFactory &); void registerFunctionsRound(FunctionFactory &); void registerFunctionsString(FunctionFactory &); void registerFunctionsStringArray(FunctionFactory &); void registerFunctionsStringSearch(FunctionFactory &); void registerFunctionsURL(FunctionFactory &); void registerFunctionsVisitParam(FunctionFactory &); void registerFunctionsMath(FunctionFactory &); void registerFunctionsTransform(FunctionFactory &); void registerFunctionsGeo(FunctionFactory &); void registerFunctionsNull(FunctionFactory &); void registerFunctionsFindCluster(FunctionFactory &); void registerFunctionsProjection(FunctionFactory &); #if USE_ICU void registerFunctionConvertCharset(FunctionFactory &); #endif void registerFunctions() { auto & factory = FunctionFactory::instance(); registerFunctionsArithmetic(factory); registerFunctionsArray(factory); registerFunctionsTuple(factory); registerFunctionsCoding(factory); registerFunctionsComparison(factory); registerFunctionsConditional(factory); registerFunctionsConversion(factory); registerFunctionsDateTime(factory); registerFunctionsEmbeddedDictionaries(factory); registerFunctionsExternalDictionaries(factory); registerFunctionsExternalModels(factory); registerFunctionsFormatting(factory); registerFunctionsHashing(factory); registerFunctionsConsistentHashing(factory); registerFunctionsHigherOrder(factory); registerFunctionsLogical(factory); registerFunctionsMiscellaneous(factory); registerFunctionsRandom(factory); registerFunctionsReinterpret(factory); registerFunctionsRound(factory); registerFunctionsString(factory); registerFunctionsStringArray(factory); registerFunctionsStringSearch(factory); registerFunctionsURL(factory); registerFunctionsVisitParam(factory); registerFunctionsMath(factory); registerFunctionsTransform(factory); registerFunctionsGeo(factory); registerFunctionsNull(factory); registerFunctionsFindCluster(factory); registerFunctionsProjection(factory); #if USE_ICU registerFunctionConvertCharset(factory); #endif } }