mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
using bind parameters for updates
This commit is contained in:
parent
e14e696e96
commit
1d7c0336ef
6 changed files with 16 additions and 5 deletions
|
@ -55,20 +55,27 @@ module ActiveRecord
|
|||
def exec_query(sql, name = 'SQL', binds = [])
|
||||
end
|
||||
|
||||
# Executes insert +sql+ statement in the context of this connection using
|
||||
# Executes insert +sql+ statement in the context of this connection using
|
||||
# +binds+ as the bind substitutes. +name+ is the logged along with
|
||||
# the executed +sql+ statement.
|
||||
def exec_insert(sql, name, binds)
|
||||
exec_query(sql, name, binds)
|
||||
end
|
||||
|
||||
# Executes delete +sql+ statement in the context of this connection using
|
||||
# Executes delete +sql+ statement in the context of this connection using
|
||||
# +binds+ as the bind substitutes. +name+ is the logged along with
|
||||
# the executed +sql+ statement.
|
||||
def exec_delete(sql, name, binds)
|
||||
exec_query(sql, name, binds)
|
||||
end
|
||||
|
||||
# Executes update +sql+ statement in the context of this connection using
|
||||
# +binds+ as the bind substitutes. +name+ is the logged along with
|
||||
# the executed +sql+ statement.
|
||||
def exec_update(sql, name, binds)
|
||||
exec_query(sql, name, binds)
|
||||
end
|
||||
|
||||
# Returns the last auto-generated ID from the affected table.
|
||||
#
|
||||
# +id_value+ will be returned unless the value is nil, in
|
||||
|
@ -84,8 +91,8 @@ module ActiveRecord
|
|||
end
|
||||
|
||||
# Executes the update statement and returns the number of rows affected.
|
||||
def update(sql, name = nil)
|
||||
update_sql(sql, name)
|
||||
def update(sql, name = nil, binds = [])
|
||||
exec_update(sql, name, binds)
|
||||
end
|
||||
|
||||
# Executes the delete statement and returns the number of rows affected.
|
||||
|
|
|
@ -297,6 +297,7 @@ module ActiveRecord
|
|||
execute sql.gsub('?') { quote(*binds.shift.reverse) }, name
|
||||
@connection.affected_rows
|
||||
end
|
||||
alias :exec_update :exec_delete
|
||||
|
||||
def last_inserted_id(result)
|
||||
@connection.last_id
|
||||
|
|
|
@ -455,6 +455,7 @@ module ActiveRecord
|
|||
end
|
||||
end
|
||||
end
|
||||
alias :exec_update :exec_delete
|
||||
|
||||
def begin_db_transaction #:nodoc:
|
||||
exec_without_stmt "BEGIN"
|
||||
|
|
|
@ -548,6 +548,7 @@ module ActiveRecord
|
|||
affected
|
||||
end
|
||||
end
|
||||
alias :exec_update :exec_delete
|
||||
|
||||
def sql_for_insert(sql, pk, id_value, sequence_name, binds)
|
||||
unless pk
|
||||
|
|
|
@ -182,6 +182,7 @@ module ActiveRecord
|
|||
exec_query(sql, name, binds)
|
||||
@connection.changes
|
||||
end
|
||||
alias :exec_update :exec_delete
|
||||
|
||||
def last_inserted_id(result)
|
||||
@connection.last_insert_row_id
|
||||
|
|
|
@ -220,7 +220,7 @@ module ActiveRecord
|
|||
stmt.take limit if limit
|
||||
stmt.order(*order)
|
||||
stmt.key = table[primary_key]
|
||||
@klass.connection.update stmt.to_sql
|
||||
@klass.connection.update stmt.to_sql, 'SQL', bind_values
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in a new issue