fornwall opened a new issue, #4474: URL: https://github.com/apache/arrow-adbc/issues/4474
### What happened? The driver exporter exports result readers via arrow-rs's `FFI_ArrowArrayStream::new`, whose error→errno mapping is hardcoded to the `ArrowError` **variant**: `NotYetImplemented`→`ENOSYS`, `MemoryError`→`ENOMEM`, `IoError`→`EIO`, everything else→`EINVAL`. Rust ADBC drivers surface their `adbc_core::error::Error` through `ArrowError::ExternalError`, which lands in the `EINVAL` catch-all — so a driver whose in-flight query was cancelled has **no way** to report `ECANCELED` through the C stream, even though the ADBC spec (and the C++ validation suite's `SqlQueryCancel`) expect exactly that errno after `AdbcStatementCancel`. ### Stack Trace _No response_ ### How can we reproduce the bug? _No response_ ### Environment/Setup _No response_ -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
