You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Executing a query requires blocking and waiting for results to be available. This is imperfect:
There's no way for a client to cancel query execution.
There's no way to get query progress. APIs like JDBC don't support this (nor do databases like PostgreSQL), but vendors like BigQuery and Snowflake do support this. (OLTP use cases often consider long queries a problem, but OLAP queries are expected to take a while.)
Proposal
Add AdbcStatementCancelExecution. This is explicitly a thread-safe operation.
Clarify that releasing an ArrowArrayStream early should mean cancellation of the underlying query when returned from ExecuteQuery, but not when returned from ReadPartition.
Add AdbcStatementGetDouble(struct AdbcStatement*, const char*, double*) and a corresponding string constant to retrieve query progress information. (This is also explicitly thread-safe.)
Open Questions
Should we go ahead and add a full complement of Get/SetFoo functions for all objects right now to avoid further ABI changes in the future? We could then also expose things like the proposed result set expiration and the endpoints_ordered flag from Flight SQL.
The text was updated successfully, but these errors were encountered:
Executing a query requires blocking and waiting for results to be available. This is imperfect:
Proposal
AdbcStatementCancelExecution
. This is explicitly a thread-safe operation.ArrowArrayStream
early should mean cancellation of the underlying query when returned from ExecuteQuery, but not when returned from ReadPartition.AdbcStatementGetDouble(struct AdbcStatement*, const char*, double*)
and a corresponding string constant to retrieve query progress information. (This is also explicitly thread-safe.)Open Questions
The text was updated successfully, but these errors were encountered: