1#include <Functions/FunctionFactory.h>
2#include <Functions/FunctionsCoding.h>
3
4
5namespace DB
6{
7
8struct NameFunctionIPv4NumToString { static constexpr auto name = "IPv4NumToString"; };
9struct NameFunctionIPv4NumToStringClassC { static constexpr auto name = "IPv4NumToStringClassC"; };
10
11
12void registerFunctionsCoding(FunctionFactory & factory)
13{
14 factory.registerFunction<FunctionToStringCutToZero>();
15 factory.registerFunction<FunctionIPv6NumToString>();
16 factory.registerFunction<FunctionCutIPv6>();
17 factory.registerFunction<FunctionIPv6StringToNum>();
18 factory.registerFunction<FunctionIPv4NumToString<0, NameFunctionIPv4NumToString>>();
19 factory.registerFunction<FunctionIPv4NumToString<1, NameFunctionIPv4NumToStringClassC>>();
20 factory.registerFunction<FunctionIPv4StringToNum>();
21 factory.registerFunction<FunctionIPv4ToIPv6>();
22 factory.registerFunction<FunctionMACNumToString>();
23 factory.registerFunction<FunctionMACStringTo<ParseMACImpl>>();
24 factory.registerFunction<FunctionMACStringTo<ParseOUIImpl>>();
25 factory.registerFunction<FunctionUUIDNumToString>();
26 factory.registerFunction<FunctionUUIDStringToNum>();
27 factory.registerFunction<FunctionHex>();
28 factory.registerFunction<FunctionUnhex>();
29 factory.registerFunction<FunctionChar>(FunctionFactory::CaseInsensitive);
30 factory.registerFunction<FunctionBitmaskToArray>();
31 factory.registerFunction<FunctionToIPv4>();
32 factory.registerFunction<FunctionToIPv6>();
33 factory.registerFunction<FunctionIPv6CIDRToRange>();
34 factory.registerFunction<FunctionIPv4CIDRToRange>();
35}
36
37}
38