sparrow-ipc 0.2.0
Loading...
Searching...
No Matches
flatbuffer_utils.hpp File Reference
#include <flatbuffers/flatbuffers.h>
#include <Message_generated.h>
#include <sparrow/c_interface.hpp>
#include <sparrow/record_batch.hpp>
#include "File_generated.h"
#include "sparrow_ipc/compression.hpp"
#include "sparrow_ipc/utils.hpp"
Include dependency graph for flatbuffer_utils.hpp:

Go to the source code of this file.

Namespaces

namespace  sparrow_ipc
 
namespace  sparrow_ipc::details
 

Functions

std::pair< org::apache::arrow::flatbuf::Type, flatbuffers::Offset< void > > sparrow_ipc::get_flatbuffer_decimal_type (flatbuffers::FlatBufferBuilder &builder, std::string_view format_str, const int32_t bitWidth)
 
std::pair< org::apache::arrow::flatbuf::Type, flatbuffers::Offset< void > > sparrow_ipc::get_flatbuffer_type (flatbuffers::FlatBufferBuilder &builder, std::string_view format_str)
 
flatbuffers::Offset< flatbuffers::Vector< flatbuffers::Offset< org::apache::arrow::flatbuf::KeyValue > > > sparrow_ipc::create_metadata (flatbuffers::FlatBufferBuilder &builder, const ArrowSchema &arrow_schema)
 Creates a FlatBuffers vector of KeyValue pairs from ArrowSchema metadata.
 
::flatbuffers::Offset< org::apache::arrow::flatbuf::Field > sparrow_ipc::create_field (flatbuffers::FlatBufferBuilder &builder, const ArrowSchema &arrow_schema, std::optional< std::string_view > name_override=std::nullopt)
 Creates a FlatBuffer Field object from an ArrowSchema.
 
::flatbuffers::Offset< ::flatbuffers::Vector<::flatbuffers::Offset< org::apache::arrow::flatbuf::Field > > > sparrow_ipc::create_children (flatbuffers::FlatBufferBuilder &builder, const sparrow::record_batch &record_batch)
 Creates a FlatBuffers vector of Field objects from a record batch.
 
::flatbuffers::Offset< ::flatbuffers::Vector<::flatbuffers::Offset< org::apache::arrow::flatbuf::Field > > > sparrow_ipc::create_children (flatbuffers::FlatBufferBuilder &builder, const ArrowSchema &arrow_schema)
 Creates a FlatBuffers vector of Field objects from an ArrowSchema's children.
 
flatbuffers::FlatBufferBuilder sparrow_ipc::get_schema_message_builder (const sparrow::record_batch &record_batch)
 Creates a FlatBuffer builder containing a serialized Arrow schema message.
 
void sparrow_ipc::fill_fieldnodes (const sparrow::arrow_proxy &arrow_proxy, std::vector< org::apache::arrow::flatbuf::FieldNode > &nodes)
 Recursively fills a vector of FieldNode objects from an arrow_proxy and its children.
 
std::vector< org::apache::arrow::flatbuf::FieldNode > sparrow_ipc::create_fieldnodes (const sparrow::record_batch &record_batch)
 Creates a vector of Apache Arrow FieldNode objects from a record batch.
 
template<typename Func>
void sparrow_ipc::details::fill_buffers_impl (const sparrow::arrow_proxy &arrow_proxy, std::vector< org::apache::arrow::flatbuf::Buffer > &flatbuf_buffers, int64_t &offset, Func &&get_buffer_size)
 
template<typename Func>
std::vector< org::apache::arrow::flatbuf::Buffer > sparrow_ipc::details::get_buffers_impl (const sparrow::record_batch &record_batch, Func &&fill_buffers_func)
 
void sparrow_ipc::fill_buffers (const sparrow::arrow_proxy &arrow_proxy, std::vector< org::apache::arrow::flatbuf::Buffer > &flatbuf_buffers, int64_t &offset)
 Recursively fills a vector of FlatBuffer Buffer objects with buffer information from an Arrow proxy.
 
std::vector< org::apache::arrow::flatbuf::Buffer > sparrow_ipc::get_buffers (const sparrow::record_batch &record_batch)
 Extracts buffer information from a record batch for serialization.
 
void sparrow_ipc::fill_compressed_buffers (const sparrow::arrow_proxy &arrow_proxy, std::vector< org::apache::arrow::flatbuf::Buffer > &flatbuf_compressed_buffers, int64_t &offset, const CompressionType compression_type, CompressionCache &cache)
 Recursively populates a vector with compressed buffer metadata from an Arrow proxy.
 
std::vector< org::apache::arrow::flatbuf::Buffer > sparrow_ipc::get_compressed_buffers (const sparrow::record_batch &record_batch, const CompressionType compression_type, CompressionCache &cache)
 Retrieves metadata describing the layout of compressed buffers within a record batch.
 
int64_t sparrow_ipc::calculate_body_size (const sparrow::arrow_proxy &arrow_proxy, std::optional< CompressionType > compression=std::nullopt, std::optional< std::reference_wrapper< CompressionCache > > cache=std::nullopt)
 Calculates the total aligned size in bytes of all buffers in an Arrow array structure.
 
int64_t sparrow_ipc::calculate_body_size (const sparrow::record_batch &record_batch, std::optional< CompressionType > compression=std::nullopt, std::optional< std::reference_wrapper< CompressionCache > > cache=std::nullopt)
 Calculates the total body size of a record batch by summing the body sizes of all its columns.
 
flatbuffers::FlatBufferBuilder sparrow_ipc::get_record_batch_message_builder (const sparrow::record_batch &record_batch, std::optional< CompressionType > compression=std::nullopt, std::optional< std::reference_wrapper< CompressionCache > > cache=std::nullopt)
 Creates a FlatBuffer message containing a serialized Apache Arrow RecordBatch.
 
SPARROW_IPC_API const org::apache::arrow::flatbuf::Footer * sparrow_ipc::get_footer_from_file_data (std::span< const uint8_t > file_data)