| 580 | } |
| 581 | |
| 582 | void setFieldValue( |
| 583 | TopicId topic_id, std::size_t col_index, PrimitiveType logical_type, const PJ_scalar_value_t& value) { |
| 584 | switch (logical_type) { |
| 585 | case PrimitiveType::kFloat32: |
| 586 | writer.set(topic_id, col_index, value.data.as_float32); |
| 587 | break; |
| 588 | case PrimitiveType::kFloat64: |
| 589 | writer.set(topic_id, col_index, value.data.as_float64); |
| 590 | break; |
| 591 | case PrimitiveType::kInt8: |
| 592 | writer.set(topic_id, col_index, static_cast<int64_t>(value.data.as_int8)); |
| 593 | break; |
| 594 | case PrimitiveType::kInt16: |
| 595 | writer.set(topic_id, col_index, static_cast<int64_t>(value.data.as_int16)); |
| 596 | break; |
| 597 | case PrimitiveType::kInt32: |
| 598 | writer.set(topic_id, col_index, value.data.as_int32); |
| 599 | break; |
| 600 | case PrimitiveType::kInt64: |
| 601 | writer.set(topic_id, col_index, value.data.as_int64); |
| 602 | break; |
| 603 | case PrimitiveType::kUint8: |
| 604 | writer.set(topic_id, col_index, static_cast<uint64_t>(value.data.as_uint8)); |
| 605 | break; |
| 606 | case PrimitiveType::kUint16: |
| 607 | writer.set(topic_id, col_index, static_cast<uint64_t>(value.data.as_uint16)); |
| 608 | break; |
| 609 | case PrimitiveType::kUint32: |
| 610 | writer.set(topic_id, col_index, static_cast<uint64_t>(value.data.as_uint32)); |
| 611 | break; |
| 612 | case PrimitiveType::kUint64: |
| 613 | writer.set(topic_id, col_index, value.data.as_uint64); |
| 614 | break; |
| 615 | case PrimitiveType::kBool: |
| 616 | writer.set(topic_id, col_index, value.data.as_bool != 0); |
| 617 | break; |
| 618 | case PrimitiveType::kString: |
| 619 | writer.set(topic_id, col_index, toStringView(value.data.as_string)); |
| 620 | break; |
| 621 | case PrimitiveType::kUnspecified: |
| 622 | break; |
| 623 | } |
| 624 | } |
| 625 | |
| 626 | [[nodiscard]] bool appendRecord( |
| 627 | TopicHandle topic, Timestamp timestamp, const PJ_named_field_value_t* fields, std::size_t field_count) { |
nothing calls this directly
no test coverage detected