| 608 | } |
| 609 | |
| 610 | void WriteFileMetaData(const FileMetaData& file_metadata, ArrowOutputStream* sink) { |
| 611 | // Write MetaData |
| 612 | PARQUET_ASSIGN_OR_THROW(int64_t position, sink->Tell()); |
| 613 | uint32_t metadata_len = static_cast<uint32_t>(position); |
| 614 | |
| 615 | file_metadata.WriteTo(sink); |
| 616 | PARQUET_ASSIGN_OR_THROW(position, sink->Tell()); |
| 617 | metadata_len = static_cast<uint32_t>(position) - metadata_len; |
| 618 | |
| 619 | // Write Footer |
| 620 | { |
| 621 | uint32_t metadata_len_le = ::arrow::bit_util::ToLittleEndian(metadata_len); |
| 622 | PARQUET_THROW_NOT_OK(sink->Write(reinterpret_cast<uint8_t*>(&metadata_len_le), 4)); |
| 623 | } |
| 624 | PARQUET_THROW_NOT_OK(sink->Write(kParquetMagic, 4)); |
| 625 | } |
| 626 | |
| 627 | void WriteMetaDataFile(const FileMetaData& file_metadata, ArrowOutputStream* sink) { |
| 628 | PARQUET_THROW_NOT_OK(sink->Write(kParquetMagic, 4)); |
no test coverage detected