Client::execute() currently returns 0 for INSERT/UPDATE/DELETE because mssql-tds does not expose row counts from DONE tokens through its public API. get_current_resultset() returns None for DML statements, so there are no result rows to count.
Upstream fix needed: mssql-tds should expose rows_affected from consume_done_token() — either as a return value from execute() or via a public method on TdsClient.
Blocked test: execute_insert_update_delete in tests/tiberius_compat.rs is #[ignore] until this is resolved.
Upstream ref: https://github.com/microsoft/mssql-rs — TdsClient::consume_done_token() already tracks done.row_count internally but the method is pub(crate).
Client::execute()currently returns 0 for INSERT/UPDATE/DELETE because mssql-tds does not expose row counts from DONE tokens through its public API.get_current_resultset()returnsNonefor DML statements, so there are no result rows to count.Upstream fix needed: mssql-tds should expose
rows_affectedfromconsume_done_token()— either as a return value fromexecute()or via a public method onTdsClient.Blocked test:
execute_insert_update_deleteintests/tiberius_compat.rsis#[ignore]until this is resolved.Upstream ref: https://github.com/microsoft/mssql-rs —
TdsClient::consume_done_token()already tracksdone.row_countinternally but the method ispub(crate).