Skip to content

Commit 47cdeec

Browse files
committed
fix CreateColumnFromAst
1 parent 66e9c54 commit 47cdeec

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

clickhouse/columns/factory.cpp

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -137,12 +137,17 @@ static ColumnRef CreateColumnFromAst(const TypeAst& ast, CreateColumnByTypeSetti
137137

138138
case TypeAst::Enum: {
139139
std::vector<Type::EnumItem> enum_items;
140-
141-
enum_items.reserve(ast.elements.size() / 2);
142-
for (size_t i = 0; i < ast.elements.size(); i += 2) {
140+
if (ast.elements.size() == 1) {
143141
enum_items.push_back(
144-
Type::EnumItem{ast.elements[i].value_string,
145-
(int16_t)ast.elements[i + 1].value});
142+
Type::EnumItem{ ast.elements[0].value_string, 0 });
143+
}
144+
else {
145+
enum_items.reserve(ast.elements.size() / 2);
146+
for (size_t i = 0; i < ast.elements.size(); i += 2) {
147+
enum_items.push_back(
148+
Type::EnumItem{ ast.elements[i].value_string,
149+
(int16_t)ast.elements[i + 1].value });
150+
}
146151
}
147152

148153
if (ast.code == Type::Enum8) {

0 commit comments

Comments
 (0)