| 25 | namespace { |
| 26 | |
| 27 | [[nodiscard]] bool isSeriesValueType(PrimitiveType type) noexcept { |
| 28 | switch (type) { |
| 29 | case PrimitiveType::kFloat32: |
| 30 | case PrimitiveType::kFloat64: |
| 31 | case PrimitiveType::kInt8: |
| 32 | case PrimitiveType::kInt16: |
| 33 | case PrimitiveType::kInt32: |
| 34 | case PrimitiveType::kInt64: |
| 35 | case PrimitiveType::kUint8: |
| 36 | case PrimitiveType::kUint16: |
| 37 | case PrimitiveType::kUint32: |
| 38 | case PrimitiveType::kUint64: |
| 39 | case PrimitiveType::kBool: |
| 40 | return true; |
| 41 | case PrimitiveType::kString: |
| 42 | case PrimitiveType::kUnspecified: |
| 43 | return false; |
| 44 | } |
| 45 | return false; |
| 46 | } |
| 47 | |
| 48 | void flattenColumns( |
| 49 | const TypeTreeNode& node, std::string_view prefix, FieldId& next_id, std::vector<ColumnDescriptor>& out) { |