module Sequel::ADO::MSSQL::DatabaseMethods
def begin_transaction(conn, opts={})
creates a new native connection for each query. So Sequel only attempts
The ADO adapter's default provider doesn't support transactions, since it
def begin_transaction(conn, opts={}) super if @opts[:provider] end
def commit_transaction(conn, opts={})
def commit_transaction(conn, opts={}) super if @opts[:provider] end
def execute_ddl(sql, opts={})
def execute_ddl(sql, opts={}) execute(sql, opts) end
def execute_dui(sql, opts={})
use pass by reference with an integer variable, which is obviously
Issue a separate query to get the rows modified. ADO appears to
def execute_dui(sql, opts={}) return super unless @opts[:provider] synchronize(opts[:server]) do |conn| begin log_yield(sql){conn.Execute(sql)} res = log_yield(ROWS_AFFECTED){conn.Execute(ROWS_AFFECTED)} res.getRows.transpose.each{|r| return r.shift} rescue ::WIN32OLERuntimeError => e raise_error(e) end end end
def rollback_transaction(conn, opts={})
def rollback_transaction(conn, opts={}) super if @opts[:provider] end