Skip to content

Commit 6f056da

Browse files
authored
Merge pull request #355 from german3w1/german3w1-FixedStringType-improvement
Added `GetSize()` const method for FixedStringType
2 parents 157369c + a7ac900 commit 6f056da

File tree

2 files changed

+18
-0
lines changed

2 files changed

+18
-0
lines changed

clickhouse/types/types.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,6 +251,8 @@ class FixedStringType : public Type {
251251

252252
std::string GetName() const { return std::string("FixedString(") + std::to_string(size_) + ")"; }
253253

254+
inline size_t GetSize() const { return size_; }
255+
254256
private:
255257
size_t size_;
256258
};

ut/columns_ut.cpp

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,16 @@ TEST(ColumnsCase, FixedString_Append_LargeString) {
104104
EXPECT_ANY_THROW(col->Append("this is a long string"));
105105
}
106106

107+
TEST(ColumnsCase, FixedString_Type_Size_Eq0) {
108+
const auto col = std::make_shared<ColumnFixedString>(0);
109+
ASSERT_EQ(col->FixedSize(), col->Type()->As<FixedStringType>()->GetSize());
110+
}
111+
112+
TEST(ColumnsCase, FixedString_Type_Size_Eq10) {
113+
const auto col = std::make_shared<ColumnFixedString>(10);
114+
ASSERT_EQ(col->FixedSize(), col->Type()->As<FixedStringType>()->GetSize());
115+
}
116+
107117
TEST(ColumnsCase, StringInit) {
108118
auto values = MakeStrings();
109119
auto col = std::make_shared<ColumnString>(values);
@@ -866,6 +876,12 @@ TEST(ColumnsCase, ColumnLowCardinalityString_WithEmptyString_3) {
866876
}
867877
}
868878

879+
TEST(ColumnsCase, ColumnLowCardinalityFixedString_Type_Size_Eq) {
880+
const size_t fixed_size = 10;
881+
const auto col = std::make_shared<ColumnLowCardinalityT<ColumnFixedString>>(fixed_size);
882+
883+
ASSERT_EQ(fixed_size, col->GetNestedType()->As<FixedStringType>()->GetSize());
884+
}
869885

870886
TEST(ColumnsCase, ColumnTupleT) {
871887
using TestTuple = ColumnTupleT<ColumnUInt64, ColumnString, ColumnFixedString>;

0 commit comments

Comments
 (0)