| Module | Sequel::ADO::MSSQL::DatabaseMethods |
| In: |
lib/sequel/adapters/ado/mssql.rb
|
Issue a separate query to get the rows modified. ADO appears to use pass by reference with an integer variable, which is not supported directly in ruby, and I‘m not aware of a workaround.
# File lib/sequel/adapters/ado/mssql.rb, line 13
13: def execute_dui(sql, opts=OPTS)
14: return super unless @opts[:provider]
15: synchronize(opts[:server]) do |conn|
16: begin
17: log_connection_yield(sql, conn){conn.Execute(sql)}
18: rows_affected_sql = "SELECT @@ROWCOUNT AS AffectedRows"
19: res = log_connection_yield(rows_affected_sql, conn){conn.Execute(rows_affected_sql)}
20: res.getRows.transpose.each{|r| return r.shift}
21: rescue ::WIN32OLERuntimeError => e
22: raise_error(e)
23: end
24: end
25: end