aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2015-02-23 22:16:50 -0300
committerRafael Mendonça França <rafaelmfranca@gmail.com>2015-02-23 22:16:50 -0300
commitb91dcb23af5917d8a62afc8a5a72780aaf11f64b (patch)
treeb0fd958a2a7cdb947ffb8ce1e933c531941fea3a /test
parentaac9da257f291ad8d2d4f914528881c240848bb2 (diff)
parentd86e20ccbea226bb6e42da508bc040fd03ab473f (diff)
downloadrails-b91dcb23af5917d8a62afc8a5a72780aaf11f64b.tar.gz
rails-b91dcb23af5917d8a62afc8a5a72780aaf11f64b.tar.bz2
rails-b91dcb23af5917d8a62afc8a5a72780aaf11f64b.zip
Merge pull request #356 from tamird/limited-delete
Limited delete
Diffstat (limited to 'test')
-rw-r--r--test/test_delete_manager.rb8
-rw-r--r--test/visitors/test_mssql.rb9
2 files changed, 17 insertions, 0 deletions
diff --git a/test/test_delete_manager.rb b/test/test_delete_manager.rb
index b16b52cb9e..ece2389d88 100644
--- a/test/test_delete_manager.rb
+++ b/test/test_delete_manager.rb
@@ -8,6 +8,14 @@ module Arel
end
end
+ it 'handles limit properly' do
+ table = Table.new(:users)
+ dm = Arel::DeleteManager.new
+ dm.take 10
+ dm.from table
+ assert_match(/LIMIT 10/, dm.to_sql)
+ end
+
describe 'from' do
it 'uses from' do
table = Table.new(:users)
diff --git a/test/visitors/test_mssql.rb b/test/visitors/test_mssql.rb
index 7574aeb0a2..fe228bce4b 100644
--- a/test/visitors/test_mssql.rb
+++ b/test/visitors/test_mssql.rb
@@ -45,6 +45,15 @@ module Arel
connection.verify
end
+ it 'should use TOP for limited deletes' do
+ stmt = Nodes::DeleteStatement.new
+ stmt.relation = @table
+ stmt.limit = Nodes::Limit.new(10)
+ sql = compile(stmt)
+
+ sql.must_be_like "DELETE TOP (10) FROM \"users\""
+ end
+
it 'should go over query ORDER BY if .order()' do
stmt = Nodes::SelectStatement.new
stmt.limit = Nodes::Limit.new(10)