mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Remove deprecated calls to SelectManage#insert
with preference to using compile_insert
This commit is contained in:
parent
27330ebae9
commit
a8f6662def
2 changed files with 0 additions and 39 deletions
|
@ -264,31 +264,6 @@ module Arel
|
|||
@engine.connection.send(:select, to_sql, 'AREL').map { |x| Row.new(x) }
|
||||
end
|
||||
|
||||
# FIXME: this method should go away
|
||||
def insert values
|
||||
if $VERBOSE
|
||||
warn <<-eowarn
|
||||
insert (#{caller.first}) is deprecated and will be removed in Arel 4.0.0. Please
|
||||
switch to `compile_insert`
|
||||
eowarn
|
||||
end
|
||||
|
||||
im = compile_insert(values)
|
||||
table = @ctx.froms
|
||||
|
||||
primary_key = table.primary_key
|
||||
primary_key_name = primary_key.name if primary_key
|
||||
|
||||
# FIXME: in AR tests values sometimes were Array and not Hash therefore is_a?(Hash) check is added
|
||||
primary_key_value = primary_key && values.is_a?(Hash) && values[primary_key]
|
||||
im.into table
|
||||
# Oracle adapter needs primary key name to generate RETURNING ... INTO ... clause
|
||||
# for tables which assign primary key value using trigger.
|
||||
# RETURNING ... INTO ... clause will be added only if primary_key_value is nil
|
||||
# therefore it is necessary to pass primary key value as well
|
||||
@engine.connection.insert im.to_sql, 'AREL', primary_key_name, primary_key_value
|
||||
end
|
||||
|
||||
private
|
||||
def collapse exprs, existing = nil
|
||||
exprs = exprs.unshift(existing.expr) if existing
|
||||
|
|
|
@ -435,20 +435,6 @@ module Arel
|
|||
end
|
||||
end
|
||||
|
||||
describe 'insert' do
|
||||
it 'uses the select FROM' do
|
||||
engine = EngineProxy.new Table.engine
|
||||
table = Table.new :users
|
||||
manager = Arel::SelectManager.new engine
|
||||
manager.from table
|
||||
manager.insert 'VALUES(NULL)'
|
||||
|
||||
engine.executed.last.must_be_like %{
|
||||
INSERT INTO "users" VALUES(NULL)
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
describe 'lock' do
|
||||
# This should fail on other databases
|
||||
it 'adds a lock node' do
|
||||
|
|
Loading…
Reference in a new issue