Skip to content

Support variables/expressions in record_batch! macro #9245

@ByteBaker

Description

@ByteBaker

Is your feature request related to a problem or challenge?

The record_batch! macro (added in #6588) currently only supports literal values for array data. This limitation makes it less useful in scenarios where array data is computed or passed as variables.

For example, this doesn't work:

let data = vec![1, 2, 3];
let batch = record_batch![
    ("col", Int32, data)  // Error: expected literal
]?;

Describe the solution you'd like

Extend the record_batch! macro to accept both literals and expressions/variables for array data. Something like:

let data = vec![1, 2, 3];
let batch = record_batch![
    ("col", Int32, data)  // Should work
]?;

Describe alternatives you've considered

Currently using both the upstream macro (for literals) and datafusion's original implementation (for variables) side by side

Additional context

Related:

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