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.
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:
This would return all the key-value pairs of the error details at once, with
schemadescribing the keys anddatacontaining a single row with the values. The driver manager could in principle backfill implementations ofAdbcErrorGetDetailCountandAdbcErrorGetDetailwhere the detail might consist of the scalar values inschema.