Skip to content

Commit 4a3420b

Browse files
committed
complete
1 parent 043199c commit 4a3420b

File tree

1 file changed

+16
-18
lines changed

1 file changed

+16
-18
lines changed

src/iceberg/expression/literal.cc

Lines changed: 16 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -106,22 +106,6 @@ Result<Literal> CreateLongTypeLiteral(int64_t value, TypeId type_id) {
106106
}
107107
}
108108

109-
/// \brief Get type name for long-compatible types.
110-
constexpr const char* GetLongTypeName(TypeId type_id) {
111-
switch (type_id) {
112-
case TypeId::kLong:
113-
return "Long";
114-
case TypeId::kTime:
115-
return "Time";
116-
case TypeId::kTimestamp:
117-
return "Timestamp";
118-
case TypeId::kTimestampTz:
119-
return "TimestampTz";
120-
default:
121-
return "Unknown";
122-
}
123-
}
124-
125109
} // namespace
126110

127111
/// \brief LiteralSerializer handles serialization/deserialization operations for Literal.
@@ -644,8 +628,22 @@ Result<Literal> LiteralSerializer::FromBytes(std::span<const uint8_t> data,
644628
ICEBERG_ASSIGN_OR_RAISE(auto long_value, ReadLittleEndian<int64_t>(data));
645629
value = long_value;
646630
} else {
647-
return InvalidArgument("{} requires 4 or 8 bytes, got {}",
648-
GetLongTypeName(type_id), data.size());
631+
const char* type_name = [type_id]() {
632+
switch (type_id) {
633+
case TypeId::kLong:
634+
return "Long";
635+
case TypeId::kTime:
636+
return "Time";
637+
case TypeId::kTimestamp:
638+
return "Timestamp";
639+
case TypeId::kTimestampTz:
640+
return "TimestampTz";
641+
default:
642+
return "Unknown";
643+
}
644+
}();
645+
return InvalidArgument("{} requires 4 or 8 bytes, got {}", type_name,
646+
data.size());
649647
}
650648

651649
return CreateLongTypeLiteral(value, type_id);

0 commit comments

Comments
 (0)