MCPcopy Create free account
hub / github.com/bytedance/bolt / typeToEncodingName

Function typeToEncodingName

bolt/serializers/PrestoSerializer.cpp:141–178  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

139}
140
141std::string_view typeToEncodingName(const TypePtr& type) {
142 switch (type->kind()) {
143 case TypeKind::BOOLEAN:
144 return "BYTE_ARRAY";
145 case TypeKind::TINYINT:
146 return "BYTE_ARRAY";
147 case TypeKind::SMALLINT:
148 return "SHORT_ARRAY";
149 case TypeKind::INTEGER:
150 return "INT_ARRAY";
151 case TypeKind::BIGINT:
152 return "LONG_ARRAY";
153 case TypeKind::HUGEINT:
154 return "INT128_ARRAY";
155 case TypeKind::REAL:
156 return "INT_ARRAY";
157 case TypeKind::DOUBLE:
158 return "LONG_ARRAY";
159 case TypeKind::VARCHAR:
160 return "VARIABLE_WIDTH";
161 case TypeKind::VARBINARY:
162 return "VARIABLE_WIDTH";
163 case TypeKind::TIMESTAMP:
164 return "LONG_ARRAY";
165 case TypeKind::ARRAY:
166 return "ARRAY";
167 case TypeKind::MAP:
168 return "MAP";
169 case TypeKind::ROW:
170 return isTimestampWithTimeZoneType(type) ? "LONG_ARRAY" : "ROW";
171 case TypeKind::VARIANT:
172 return "ROW";
173 case TypeKind::UNKNOWN:
174 return "BYTE_ARRAY";
175 default:
176 BOLT_FAIL("Unknown type kind: {}", static_cast<int>(type->kind()));
177 }
178}
179
180PrestoVectorSerde::PrestoOptions toPrestoOptions(
181 const VectorSerde::Options* options) {

Callers 3

checkTypeEncodingFunction · 0.70
VectorStreamMethod · 0.70
clearMethod · 0.70

Calls 2

kindMethod · 0.45

Tested by

no test coverage detected