fornwall opened a new issue, #4468:
URL: https://github.com/apache/arrow-adbc/issues/4468

   ### What happened?
   
   When a caller invokes `AdbcStatementExecuteQuery` with a non-NULL 
result-stream
   pointer (i.e. running a query), `adbc_ffi`'s exported implementation writes 
the
   result stream but **never writes `*rows_affected`**.
   
   The caller therefore reads back whatever it initialized the variable to. 
This contradics ADBC's
   `AdbcStatementExecuteQuery` 
[contract](https://arrow.apache.org/adbc/23/cpp/api/group__adbc-statement.html#ga1f653045678d9d5d51780e37e3b644a6):
   
   > rows_affected: The number of rows affected if known, else -1.
   
   This surfaced running the `adbc_validation` suite against a Rust ADBC 
driver: `StatementTest.SqlQueryInts` / `SqlQueryStrings` / 
`SqlPrepareSelectNoParams` initialize `rows_affected` to `0` and assert it is 
`1` or `-1` after a query, so they fail on any `adbc_ffi`-based driver.
   
   
   ### Stack Trace
   
   _No response_
   
   ### How can we reproduce the bug?
   
   _No response_
   
   ### Environment/Setup
   
   `adbc_ffi` 0.23.0 (also present in current `main`)


-- 
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]

Reply via email to