提交 fd0a76b5 编写于 作者: K Kir Shatrov

Extract building ActiveRecord::Result into a method

上级 fcc8c686
......@@ -740,6 +740,10 @@ def arel_visitor
def build_statement_pool
end
def build_result(columns, rows, column_types = {})
ActiveRecord::Result.new(columns, rows, column_types)
end
end
end
end
......@@ -54,17 +54,17 @@ def exec_query(sql, name = "SQL", binds = [], prepare: false)
if without_prepared_statement?(binds)
execute_and_free(sql, name) do |result|
if result
ActiveRecord::Result.new(result.fields, result.to_a)
build_result(result.fields, result.to_a)
else
ActiveRecord::Result.new([], [])
build_result([], [])
end
end
else
exec_stmt_and_free(sql, name, binds, cache_stmt: prepare) do |_, result|
if result
ActiveRecord::Result.new(result.fields, result.to_a)
build_result(result.fields, result.to_a)
else
ActiveRecord::Result.new([], [])
build_result([], [])
end
end
end
......
......@@ -103,7 +103,7 @@ def exec_query(sql, name = "SQL", binds = [], prepare: false)
fmod = result.fmod i
types[fname] = get_oid_type(ftype, fmod, fname)
end
ActiveRecord::Result.new(fields, result.values, types)
build_result(fields, result.values, types)
end
end
......
......@@ -63,7 +63,7 @@ def exec_query(sql, name = nil, binds = [], prepare: false)
records = stmt.to_a
end
ActiveRecord::Result.new(cols, records)
build_result(cols, records)
end
end
end
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册