Skip to content

Implement Statement::cancel() (or make it a no-op) #20

@abonander

Description

@abonander

https://docs.rs/adbc_core/0.21.0/adbc_core/trait.Statement.html#tymethod.cancel

This is actually completely useless because executing a query requires &mut self, but possibly may be invoked via FFI: apache/arrow-adbc#3454

This technically means it must be safe to call this concurrently to Statement::execute() despite both taking &mut self, which breaks Rust's soundness requirements for &mut. This is really problematic. But this is specifically a problem with the ADBC Rust API itself.

Blocked on the resolution of the linked issue. Until then, returning NotImplemented without touching self at all seems the safest.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels
    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions