Skip to content

format: Strongly-typed error details #4242

Description

@CurtHagenlocher

What feature or improvement would you like to see?

The existing design for error details has a drawback which makes it hard to use generically without knowledge of the driver: the values it returns are untyped binary blobs. To overcome this, I propose deprecating it and replacing it with a new API:

AdbcStatusCode AdbcErrorGetDetails(const struct AdbcError* error,
                                   struct ArrowSchema* schema, struct ArrowArray* data);

This would return all the key-value pairs of the error details at once, with schema describing the keys and data containing a single row with the values. The driver manager could in principle backfill implementations of AdbcErrorGetDetailCount and AdbcErrorGetDetail where the detail might consist of the scalar values in schema.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions