diff options
author | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2015-02-23 22:16:50 -0300 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2015-02-23 22:16:50 -0300 |
commit | b91dcb23af5917d8a62afc8a5a72780aaf11f64b (patch) | |
tree | b0fd958a2a7cdb947ffb8ce1e933c531941fea3a /test | |
parent | aac9da257f291ad8d2d4f914528881c240848bb2 (diff) | |
parent | d86e20ccbea226bb6e42da508bc040fd03ab473f (diff) | |
download | rails-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.rb | 8 | ||||
-rw-r--r-- | test/visitors/test_mssql.rb | 9 |
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) |