Skip to content

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

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions