From 6aa055f5ab8ad4aee2791d9ba505d8328707ca83 Mon Sep 17 00:00:00 2001 From: Vipul A M Date: Sun, 14 Jul 2013 20:31:25 +0530 Subject: Remove deprecated calls to `delete` with preference to using `compile_delete` and then calling `to_sql` on the resulting object to execute the SQL --- lib/arel/crud.rb | 9 --------- 1 file changed, 9 deletions(-) diff --git a/lib/arel/crud.rb b/lib/arel/crud.rb index e8e78a381c..cc50a820e4 100644 --- a/lib/arel/crud.rb +++ b/lib/arel/crud.rb @@ -59,14 +59,5 @@ switch to `compile_insert` dm end - def delete - if $VERBOSE - warn <<-eowarn -delete (#{caller.first}) is deprecated and will be removed in Arel 4.0.0. Please -switch to `compile_delete` - eowarn - end - @engine.connection.delete compile_delete.to_sql, 'AREL' - end end end -- cgit v1.2.3 From 4cbc19075bd2bdf77b591a362db2bd4f72722754 Mon Sep 17 00:00:00 2001 From: Vipul A M Date: Sun, 14 Jul 2013 20:32:34 +0530 Subject: Remove deprecated calls to `insert` with preference to using `compile_insert` and then calling `to_sql` on the resulting object to execute the SQL --- lib/arel/crud.rb | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/lib/arel/crud.rb b/lib/arel/crud.rb index cc50a820e4..98e109d6f9 100644 --- a/lib/arel/crud.rb +++ b/lib/arel/crud.rb @@ -41,17 +41,6 @@ switch to `compile_update` InsertManager.new @engine 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 - @engine.connection.insert compile_insert(values).to_sql - end - def compile_delete dm = DeleteManager.new @engine dm.wheres = @ctx.wheres -- cgit v1.2.3 From 5f5a1447bef24ec216c8f21e8a0b6dd6623168b8 Mon Sep 17 00:00:00 2001 From: Vipul A M Date: Sun, 14 Jul 2013 20:33:41 +0530 Subject: Remove deprecated calls to `update` with preference to using `compile_update` and then calling `to_sql` on the resulting object to execute the SQL --- lib/arel/crud.rb | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/lib/arel/crud.rb b/lib/arel/crud.rb index 98e109d6f9..6b3a776c6f 100644 --- a/lib/arel/crud.rb +++ b/lib/arel/crud.rb @@ -18,19 +18,6 @@ module Arel um end - # FIXME: this method should go away - def update values - if $VERBOSE - warn <<-eowarn -update (#{caller.first}) is deprecated and will be removed in Arel 4.0.0. Please -switch to `compile_update` - eowarn - end - - um = compile_update values - @engine.connection.update um.to_sql, 'AREL' - end - def compile_insert values im = create_insert im.insert values -- cgit v1.2.3 From 87fd8b390328557661500208b64cc15f61efddd1 Mon Sep 17 00:00:00 2001 From: Vipul A M Date: Sun, 14 Jul 2013 21:10:20 +0530 Subject: Remove deprecated calls to using `UpdateManager` without setting `UpdateManager#key` --- lib/arel/crud.rb | 1 + lib/arel/visitors/to_sql.rb | 12 +----------- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/lib/arel/crud.rb b/lib/arel/crud.rb index 6b3a776c6f..ef14439a1f 100644 --- a/lib/arel/crud.rb +++ b/lib/arel/crud.rb @@ -10,6 +10,7 @@ module Arel else relation = values.first.first.relation end + um.key= relation.primary_key um.table relation um.set values um.take @ast.limit.expr if @ast.limit diff --git a/lib/arel/visitors/to_sql.rb b/lib/arel/visitors/to_sql.rb index b61d5f7acd..1d8cd35806 100644 --- a/lib/arel/visitors/to_sql.rb +++ b/lib/arel/visitors/to_sql.rb @@ -85,17 +85,7 @@ module Arel if o.orders.empty? && o.limit.nil? wheres = o.wheres else - key = o.key - unless key - warn(<<-eowarn) if $VERBOSE -(#{caller.first}) Using UpdateManager without setting UpdateManager#key is -deprecated and support will be removed in Arel 4.0.0. Please set the primary -key on UpdateManager using UpdateManager#key= '#{key.inspect}' - eowarn - key = o.relation.primary_key - end - - wheres = [Nodes::In.new(key, [build_subselect(key, o)])] + wheres = [Nodes::In.new(o.key, [build_subselect(o.key, o)])] end [ -- cgit v1.2.3 From 27330ebae9537dd5503b10d3c0e6f422a38bd9c8 Mon Sep 17 00:00:00 2001 From: Vipul A M Date: Sun, 14 Jul 2013 21:11:35 +0530 Subject: Remove deprecated calls to using `where_clauses` --- lib/arel/select_manager.rb | 8 -------- 1 file changed, 8 deletions(-) diff --git a/lib/arel/select_manager.rb b/lib/arel/select_manager.rb index ee9d34a514..399cddb513 100644 --- a/lib/arel/select_manager.rb +++ b/lib/arel/select_manager.rb @@ -47,14 +47,6 @@ module Arel create_table_alias grouping(@ast), Nodes::SqlLiteral.new(other) end - def where_clauses - if $VERBOSE - warn "(#{caller.first}) where_clauses is deprecated and will be removed in arel 4.0.0 with no replacement" - end - to_sql = Visitors::ToSql.new @engine.connection - @ctx.wheres.map { |c| to_sql.accept c } - end - def lock locking = Arel.sql('FOR UPDATE') case locking when true -- cgit v1.2.3 From a8f6662defe086258814f82dc8acb8d2eeee9842 Mon Sep 17 00:00:00 2001 From: Vipul A M Date: Sun, 14 Jul 2013 21:15:09 +0530 Subject: Remove deprecated calls to `SelectManage#insert` with preference to using `compile_insert` --- lib/arel/select_manager.rb | 25 ------------------------- test/test_select_manager.rb | 14 -------------- 2 files changed, 39 deletions(-) diff --git a/lib/arel/select_manager.rb b/lib/arel/select_manager.rb index 399cddb513..b4899177d5 100644 --- a/lib/arel/select_manager.rb +++ b/lib/arel/select_manager.rb @@ -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 diff --git a/test/test_select_manager.rb b/test/test_select_manager.rb index a449f78bd8..9779aca21d 100644 --- a/test/test_select_manager.rb +++ b/test/test_select_manager.rb @@ -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 -- cgit v1.2.3 From 9cbfc8a370bf6537a02a2f21e7246dc21ba4cf1f Mon Sep 17 00:00:00 2001 From: Vipul A M Date: Sun, 14 Jul 2013 21:17:57 +0530 Subject: Remove deprecated calls to `SelectManager#wheres` with no replacement --- lib/arel/select_manager.rb | 5 ----- test/test_activerecord_compat.rb | 18 ------------------ 2 files changed, 23 deletions(-) delete mode 100644 test/test_activerecord_compat.rb diff --git a/lib/arel/select_manager.rb b/lib/arel/select_manager.rb index b4899177d5..60df12c700 100644 --- a/lib/arel/select_manager.rb +++ b/lib/arel/select_manager.rb @@ -161,11 +161,6 @@ module Arel @ast.orders end - def wheres - warn "#{caller[0]}: SelectManager#wheres is deprecated and will be removed in Arel 4.0.0 with no replacement" - Compatibility::Wheres.new @engine.connection, @ctx.wheres - end - def where_sql return if @ctx.wheres.empty? diff --git a/test/test_activerecord_compat.rb b/test/test_activerecord_compat.rb deleted file mode 100644 index d881209610..0000000000 --- a/test/test_activerecord_compat.rb +++ /dev/null @@ -1,18 +0,0 @@ -require 'helper' - -module Arel - describe 'activerecord compatibility' do - describe 'select manager' do - it 'provides wheres' do - table = Table.new :users - manager = Arel::SelectManager.new Table.engine - manager.where table[:id].eq 1 - manager.where table[:name].eq 'Aaron' - - manager.wheres.map { |x| - x.value - }.join(', ').must_equal "\"users\".\"id\" = 1, \"users\".\"name\" = 'Aaron'" - end - end - end -end -- cgit v1.2.3