@@ -22,6 +22,14 @@ namespace {
2222using namespace clickhouse ;
2323}
2424
25+ namespace clickhouse {
26+
27+ std::ostream& operator <<(std::ostream& ostr, const Type::Code& type_code) {
28+ return ostr << Type::TypeName (type_code) << " (" << static_cast <int >(type_code) << " )" ;
29+ }
30+
31+ }
32+
2533
2634// Generic tests for a Column subclass against basic API:
2735// 1. Constructor: Create, ensure that it is empty
@@ -60,6 +68,8 @@ class GenericColumnTest : public testing::Test {
6068 return GenerateVector (values_size, FromVectorGenerator{MakeDateTimes ()});
6169 } else if constexpr (std::is_same_v<ColumnType, ColumnDateTime64>) {
6270 return MakeDateTime64s (3u , values_size);
71+ } else if constexpr (std::is_same_v<ColumnType, ColumnDate32>) {
72+ return GenerateVector (values_size, FromVectorGenerator{MakeDates32 ()});
6373 } else if constexpr (std::is_same_v<ColumnType, ColumnIPv4>) {
6474 return GenerateVector (values_size, FromVectorGenerator{MakeIPv4s ()});
6575 } else if constexpr (std::is_same_v<ColumnType, ColumnIPv6>) {
@@ -100,7 +110,7 @@ using ValueColumns = ::testing::Types<
100110 , ColumnInt8, ColumnInt16, ColumnInt32, ColumnInt64
101111 , ColumnFloat32, ColumnFloat64
102112 , ColumnString, ColumnFixedString
103- , ColumnDate, ColumnDateTime, ColumnDateTime64
113+ , ColumnDate, ColumnDateTime, ColumnDateTime64, ColumnDate32
104114 , ColumnIPv4, ColumnIPv6
105115 , ColumnInt128
106116 , ColumnDecimal
@@ -168,6 +178,8 @@ inline auto convertValueForGetItem(const ColumnType& col, ValueType&& t) {
168178 return std::string_view (reinterpret_cast <const char *>(t.s6_addr ), 16 );
169179 } else if constexpr (std::is_same_v<ColumnType, ColumnDate>) {
170180 return static_cast <uint16_t >(t / std::time_t (86400 ));
181+ } else if constexpr (std::is_same_v<ColumnType, ColumnDate32>) {
182+ return static_cast <uint32_t >(t / std::time_t (86400 ));
171183 } else if constexpr (std::is_same_v<ColumnType, ColumnDateTime>) {
172184 return static_cast <uint32_t >(t);
173185 } else {
0 commit comments