Method: FluidDb2::Firebird#exec_params

Defined in:
lib/fluiddb2/firebird.rb

#exec_params(sql, params, expected_affected_rows = nil) ⇒ Object



92
93
94
95
96
97
98
99
100
101
102
103
104
105
# File 'lib/fluiddb2/firebird.rb', line 92

def exec_params(sql, params, expected_affected_rows = nil)
  parts = sql.split('?')
  sql = ''
  parts.each_with_index do |p, idx|
    sql += p
    sql += "$#{idx + 1}" if idx < parts.length - 1
  end
  affected_rows = @connection.exec_params(sql, params)

  if !expected_affected_rows.nil? && affected_rows != expected_affected_rows
    fail ExpectedAffectedRowsError,
         "Expected affected rows, #{expected_affected_rows}, Actual affected rows, #{affected_rows}"
  end
end