ClickHouse
28 строк · 1.1 Кб
1#include <DataTypes/DataTypesNumber.h>
2#include <Functions/CustomWeekTransforms.h>
3#include <Functions/FunctionCustomWeekToSomething.h>
4#include <Functions/FunctionCustomWeekToDateOrDate32.h>
5#include <Functions/FunctionFactory.h>
6#include <Functions/IFunction.h>
7
8
9namespace DB
10{
11using FunctionToWeek = FunctionCustomWeekToSomething<DataTypeUInt8, ToWeekImpl>;
12using FunctionToYearWeek = FunctionCustomWeekToSomething<DataTypeUInt32, ToYearWeekImpl>;
13using FunctionToStartOfWeek = FunctionCustomWeekToDateOrDate32<ToStartOfWeekImpl>;
14using FunctionToLastDayOfWeek = FunctionCustomWeekToDateOrDate32<ToLastDayOfWeekImpl>;
15
16REGISTER_FUNCTION(ToCustomWeek)
17{
18factory.registerFunction<FunctionToWeek>();
19factory.registerFunction<FunctionToYearWeek>();
20factory.registerFunction<FunctionToStartOfWeek>();
21factory.registerFunction<FunctionToLastDayOfWeek>();
22
23/// Compatibility aliases for mysql.
24factory.registerAlias("week", "toWeek", FunctionFactory::CaseInsensitive);
25factory.registerAlias("yearweek", "toYearWeek", FunctionFactory::CaseInsensitive);
26}
27
28}
29