2018-11-26 16:20:40 +00:00
|
|
|
namespace DB
|
|
|
|
{
|
2019-12-29 01:13:17 +00:00
|
|
|
|
|
|
|
class FunctionFactory;
|
|
|
|
|
|
|
|
void registerFunctionPlus(FunctionFactory & factory);
|
|
|
|
void registerFunctionMinus(FunctionFactory & factory);
|
|
|
|
void registerFunctionMultiply(FunctionFactory & factory);
|
|
|
|
void registerFunctionDivide(FunctionFactory & factory);
|
|
|
|
void registerFunctionIntDiv(FunctionFactory & factory);
|
|
|
|
void registerFunctionIntDivOrZero(FunctionFactory & factory);
|
|
|
|
void registerFunctionModulo(FunctionFactory & factory);
|
2020-02-25 09:46:07 +00:00
|
|
|
void registerFunctionModuloOrZero(FunctionFactory & factory);
|
2019-12-29 01:13:17 +00:00
|
|
|
void registerFunctionNegate(FunctionFactory & factory);
|
|
|
|
void registerFunctionAbs(FunctionFactory & factory);
|
|
|
|
void registerFunctionBitAnd(FunctionFactory & factory);
|
|
|
|
void registerFunctionBitOr(FunctionFactory & factory);
|
|
|
|
void registerFunctionBitXor(FunctionFactory & factory);
|
|
|
|
void registerFunctionBitNot(FunctionFactory & factory);
|
|
|
|
void registerFunctionBitShiftLeft(FunctionFactory & factory);
|
|
|
|
void registerFunctionBitShiftRight(FunctionFactory & factory);
|
|
|
|
void registerFunctionBitRotateLeft(FunctionFactory & factory);
|
|
|
|
void registerFunctionBitRotateRight(FunctionFactory & factory);
|
2020-01-17 19:57:03 +00:00
|
|
|
void registerFunctionBitCount(FunctionFactory & factory);
|
2019-12-29 01:13:17 +00:00
|
|
|
void registerFunctionLeast(FunctionFactory & factory);
|
|
|
|
void registerFunctionGreatest(FunctionFactory & factory);
|
|
|
|
void registerFunctionBitTest(FunctionFactory & factory);
|
|
|
|
void registerFunctionBitTestAny(FunctionFactory & factory);
|
|
|
|
void registerFunctionBitTestAll(FunctionFactory & factory);
|
|
|
|
void registerFunctionGCD(FunctionFactory & factory);
|
|
|
|
void registerFunctionLCM(FunctionFactory & factory);
|
|
|
|
void registerFunctionIntExp2(FunctionFactory & factory);
|
|
|
|
void registerFunctionIntExp10(FunctionFactory & factory);
|
|
|
|
void registerFunctionRoundToExp2(FunctionFactory & factory);
|
|
|
|
void registerFunctionRoundDuration(FunctionFactory & factory);
|
|
|
|
void registerFunctionRoundAge(FunctionFactory & factory);
|
|
|
|
|
|
|
|
void registerFunctionBitBoolMaskOr(FunctionFactory & factory);
|
|
|
|
void registerFunctionBitBoolMaskAnd(FunctionFactory & factory);
|
|
|
|
void registerFunctionBitWrapperFunc(FunctionFactory & factory);
|
|
|
|
void registerFunctionBitSwapLastTwo(FunctionFactory & factory);
|
|
|
|
|
|
|
|
|
2018-11-26 16:20:40 +00:00
|
|
|
void registerFunctionsArithmetic(FunctionFactory & factory)
|
|
|
|
{
|
|
|
|
registerFunctionPlus(factory);
|
|
|
|
registerFunctionMinus(factory);
|
|
|
|
registerFunctionMultiply(factory);
|
|
|
|
registerFunctionDivide(factory);
|
|
|
|
registerFunctionIntDiv(factory);
|
|
|
|
registerFunctionIntDivOrZero(factory);
|
|
|
|
registerFunctionModulo(factory);
|
2020-02-25 09:46:07 +00:00
|
|
|
registerFunctionModuloOrZero(factory);
|
2018-11-26 16:20:40 +00:00
|
|
|
registerFunctionNegate(factory);
|
|
|
|
registerFunctionAbs(factory);
|
|
|
|
registerFunctionBitAnd(factory);
|
|
|
|
registerFunctionBitOr(factory);
|
|
|
|
registerFunctionBitXor(factory);
|
|
|
|
registerFunctionBitNot(factory);
|
|
|
|
registerFunctionBitShiftLeft(factory);
|
|
|
|
registerFunctionBitShiftRight(factory);
|
|
|
|
registerFunctionBitRotateLeft(factory);
|
|
|
|
registerFunctionBitRotateRight(factory);
|
2020-01-17 19:57:03 +00:00
|
|
|
registerFunctionBitCount(factory);
|
2018-11-26 16:20:40 +00:00
|
|
|
registerFunctionLeast(factory);
|
|
|
|
registerFunctionGreatest(factory);
|
|
|
|
registerFunctionBitTest(factory);
|
|
|
|
registerFunctionBitTestAny(factory);
|
|
|
|
registerFunctionBitTestAll(factory);
|
|
|
|
registerFunctionGCD(factory);
|
|
|
|
registerFunctionLCM(factory);
|
|
|
|
registerFunctionIntExp2(factory);
|
|
|
|
registerFunctionIntExp10(factory);
|
|
|
|
registerFunctionRoundToExp2(factory);
|
|
|
|
registerFunctionRoundDuration(factory);
|
|
|
|
registerFunctionRoundAge(factory);
|
2019-02-05 14:50:25 +00:00
|
|
|
|
|
|
|
/// Not for external use.
|
2019-08-02 19:21:55 +00:00
|
|
|
registerFunctionBitBoolMaskOr(factory);
|
|
|
|
registerFunctionBitBoolMaskAnd(factory);
|
|
|
|
registerFunctionBitWrapperFunc(factory);
|
2019-02-05 14:50:25 +00:00
|
|
|
registerFunctionBitSwapLastTwo(factory);
|
2018-11-26 16:20:40 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|