6#include <unordered_set>
10#include <sparrow/buffer/buffer.hpp>
11#include <sparrow/c_interface.hpp>
13#include "Message_generated.h"
14#include "Schema_generated.h"
33 [[nodiscard]] std::pair<std::uint8_t*, int64_t>
50 const org::apache::arrow::flatbuf::RecordBatch& record_batch,
51 std::span<const uint8_t> body,
70 [[nodiscard]] std::variant<sparrow::buffer<std::uint8_t>, std::span<const std::uint8_t>>
72 std::span<const uint8_t> buffer_span,
73 const org::apache::arrow::flatbuf::BodyCompression* compression
82 [[nodiscard]] std::optional<std::unordered_set<sparrow::ArrowFlag>>
94 inline std::string
get_fb_name(
const T* obj,
const std::string& default_val =
"")
101 auto name = obj->name();
102 return name ? name->str() : default_val;
std::span< const uint8_t > get_buffer(const org::apache::arrow::flatbuf::RecordBatch &record_batch, std::span< const uint8_t > body, size_t &buffer_index)
Extracts a buffer from a RecordBatch's body.
std::string get_fb_name(const T *obj, const std::string &default_val="")
Safely extracts a string from a FlatBuffers object that has a name() method.
std::variant< sparrow::buffer< std::uint8_t >, std::span< const std::uint8_t > > get_decompressed_buffer(std::span< const uint8_t > buffer_span, const org::apache::arrow::flatbuf::BodyCompression *compression)
Retrieves a decompressed buffer or a view of the original buffer.
std::pair< std::uint8_t *, int64_t > get_bitmap_pointer_and_null_count(std::span< const uint8_t > validity_buffer_span, const int64_t length)
Extracts bitmap pointer and null count from a validity buffer span.
std::optional< std::unordered_set< sparrow::ArrowFlag > > get_sparrow_flags(const org::apache::arrow::flatbuf::Field &field)
Extract sparrow flags from FlatBuffers Field.