method
exec_without_stmt
v4.1.8 -
Show latest stable
- Class:
ActiveRecord::ConnectionAdapters::MysqlAdapter
exec_without_stmt(sql, name = 'SQL')public
No documentation available.
# File activerecord/lib/active_record/connection_adapters/mysql_adapter.rb, line 419
def exec_without_stmt(sql, name = 'SQL') # :nodoc:
# Some queries, like SHOW CREATE TABLE don't work through the prepared
# statement API. For those queries, we need to use this method. :'(
log(sql, name) do
result = @connection.query(sql)
affected_rows = @connection.affected_rows
if result
types = {}
fields = []
result.fetch_fields.each { |field|
field_name = field.name
fields << field_name
if field.decimals > 0
types[field_name] = Fields::Decimal.new
else
types[field_name] = Fields.find_type field
end
}
result_set = ActiveRecord::Result.new(fields, result.to_a, types)
result.free
else
result_set = ActiveRecord::Result.new([], [])
end
[result_set, affected_rows]
end
end