spec/engines/sql/unit/relations/take_spec.rb in arel-0.4.0 vs spec/engines/sql/unit/relations/take_spec.rb in arel-1.0.0.rc1

- old
+ new

@@ -32,16 +32,42 @@ (SELECT "USERS"."ID", "USERS"."NAME" FROM "USERS" ORDER BY "USERS"."ID" ASC) where rownum <= 4 }) + + sql_with_distinct = Take.new(@relation.project('DISTINCT "USERS"."ID"'), @taken).to_sql + sql_with_distinct.should be_like(%Q{ + select * from + (SELECT DISTINCT "USERS"."ID" + FROM "USERS") + where rownum <= 4 + }) end adapter_is_not :mysql, :oracle do sql.should be_like(%Q{ SELECT "users"."id", "users"."name" FROM "users" LIMIT 4 + }) + end + end + + it "manufactures count sql with limit" do + sql = Take.new(@relation.project(@relation[:id].count), @taken).to_sql + + adapter_is :mysql do + sql.should be_like(%Q{ + SELECT COUNT(*) AS count_id + FROM (SELECT 1 FROM `users` LIMIT 4) AS subquery + }) + end + + adapter_is_not :mysql, :oracle do + sql.should be_like(%Q{ + SELECT COUNT(*) AS count_id + FROM (SELECT 1 FROM "users" LIMIT 4) AS subquery }) end end end end