提交 c560c8b2 编写于 作者: A Aaron Patterson

log method takes an option list of bind values

上级 37efb517
......@@ -209,11 +209,13 @@ def current_savepoint_name
protected
def log(sql, name = "SQL")
@instrumenter.instrument("sql.active_record",
:sql => sql, :name => name, :connection_id => object_id) do
yield
end
def log(sql, name = "SQL", binds = [])
@instrumenter.instrument(
"sql.active_record",
:sql => sql,
:name => name,
:connection_id => object_id,
:binds => binds) { yield }
rescue Exception => e
message = "#{e.class.name}: #{e.message}: #{sql}"
@logger.debug message if @logger
......
......@@ -331,7 +331,7 @@ def clear_cache!
end
def exec_query(sql, name = 'SQL', binds = [])
log(sql, name) do
log(sql, name, binds) do
result = nil
cache = {}
......
......@@ -532,7 +532,7 @@ def substitute_for(column, current_values)
def exec_query(sql, name = 'SQL', binds = [])
return exec_no_cache(sql, name) if binds.empty?
log(sql, name) do
log(sql, name, binds) do
unless @statements.key? sql
nextkey = "a#{@statements.length + 1}"
@connection.prepare nextkey, sql
......
......@@ -148,7 +148,7 @@ def quoted_date(value) #:nodoc:
# DATABASE STATEMENTS ======================================
def exec_query(sql, name = nil, binds = [])
log(sql, name) do
log(sql, name, binds) do
# Don't cache statements without bind values
if binds.empty?
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册