1
0
Fork 0
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:
Vipul A M 2013-07-14 21:15:09 +05:30
parent 27330ebae9
commit a8f6662def
2 changed files with 0 additions and 39 deletions

View file

@ -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

View file

@ -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