Skip to content

Implement Arrow Table-to-Frame Conversion (Deserialization) in PODIO #986

Description

@arnavdham

We need to add support for deserializing Apache Arrow data back into PODIO Frame objects to complete the round-trip workflow for the Apache Arrow backend.

Key Requirements

  • convertTableToFrame API: Reconstruct a Frame from a single row slice of an Arrow Table using an ArrowFrameData class that implements the C++20 FrameDataType concept.
  • Collection & Relation Reconstruction: Read collections, subset collections, vector members, relations, and Link Collections from Arrow data using schema metadata (coll_id, value_type, is_subset, etc.).
  • Code Generation: Update cpp_generator.py and templates (ArrowMapper.cc.jinja2) to generate reader functions for all data model types.
  • Generic Parameters: Reconstruct GenericParameters from the frame_parameters column in the Arrow Table.
  • Testing: Add unit tests verifying end-to-end round-trips (Frame $\rightarrow$ Table $\rightarrow$ Frame) and multi-row reading.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions