Skip to content

Commit

Permalink
Merge branch 'master' of github.com:rails/arel
Browse files Browse the repository at this point in the history
  • Loading branch information
miloops committed Feb 17, 2010
2 parents f21f289 + e74bbd6 commit 0c2930c
Show file tree
Hide file tree
Showing 6 changed files with 33 additions and 6 deletions.
2 changes: 1 addition & 1 deletion lib/arel/engines/sql/formatters.rb
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ def scalar(scalar)
end end


def range(left, right) def range(left, right)
"#{left} AND #{right}" "#{scalar(left)} AND #{scalar(right)}"
end end
end end


Expand Down
24 changes: 24 additions & 0 deletions spec/arel/engines/sql/unit/predicates/in_spec.rb
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -84,6 +84,30 @@ module Predicates
end end
end end


describe 'when relating to a time range' do
before do
@relation = Arel::Table.new(:developers)
@attribute = @relation[:created_at]
@range = Time.mktime(2010, 01, 01)..Time.mktime(2010, 02, 01)
end

it 'manufactures sql with a between' do
sql = In.new(@attribute, @range).to_sql

adapter_is :mysql do
sql.should be_like(%Q{`developers`.`created_at` BETWEEN '2010-01-01 00:00:00' AND '2010-02-01 00:00:00'})
end

adapter_is :sqlite3 do
sql.should be_like(%Q{"developers"."created_at" BETWEEN '2010-01-01 00:00:00' AND '2010-02-01 00:00:00'})
end

adapter_is :postgresql do
sql.should be_like(%Q{"developers"."created_at" BETWEEN '2010-01-01 00:00:00.000000' AND '2010-02-01 00:00:00.000000'})
end
end
end

describe 'when relating to a relation' do describe 'when relating to a relation' do
it 'manufactures sql with a subselect' do it 'manufactures sql with a subselect' do
sql = In.new(@attribute, @relation).to_sql sql = In.new(@attribute, @relation).to_sql
Expand Down
4 changes: 2 additions & 2 deletions spec/arel/engines/sql/unit/relations/having_spec.rb
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ module Arel


adapter_is :mysql do adapter_is :mysql do
sql.should be_like(%Q{ sql.should be_like(%Q{
SELECT `developers`.`id`, `developers`.`name`, `developers`.`salary`, `developers`.`department` SELECT `developers`.`id`, `developers`.`name`, `developers`.`salary`, `developers`.`department`, `developers`.`created_at`
FROM `developers` FROM `developers`
GROUP BY `developers`.`department` GROUP BY `developers`.`department`
HAVING MIN(salary) > 1000 HAVING MIN(salary) > 1000
Expand All @@ -22,7 +22,7 @@ module Arel


adapter_is_not :mysql do adapter_is_not :mysql do
sql.should be_like(%Q{ sql.should be_like(%Q{
SELECT "developers"."id", "developers"."name", "developers"."salary", "developers"."department" SELECT "developers"."id", "developers"."name", "developers"."salary", "developers"."department", "developers"."created_at"
FROM "developers" FROM "developers"
GROUP BY "developers"."department" GROUP BY "developers"."department"
HAVING MIN(salary) > 1000 HAVING MIN(salary) > 1000
Expand Down
3 changes: 2 additions & 1 deletion spec/schemas/mysql_schema.rb
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@
id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY, id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL,
salary INTEGER NOT NULL, salary INTEGER NOT NULL,
department VARCHAR(255) NOT NULL department VARCHAR(255) NOT NULL,
created_at TIMESTAMP NOT NULL
); );
SQL SQL


Expand Down
3 changes: 2 additions & 1 deletion spec/schemas/postgresql_schema.rb
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@
id SERIAL PRIMARY KEY NOT NULL, id SERIAL PRIMARY KEY NOT NULL,
name VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL,
salary INTEGER NOT NULL, salary INTEGER NOT NULL,
department VARCHAR(255) NOT NULL department VARCHAR(255) NOT NULL,
created_at TIMESTAMP NOT NULL
); );
SQL SQL


Expand Down
3 changes: 2 additions & 1 deletion spec/schemas/sqlite3_schema.rb
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@
id INTEGER NOT NULL PRIMARY KEY, id INTEGER NOT NULL PRIMARY KEY,
name VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL,
salary INTEGER NOT NULL, salary INTEGER NOT NULL,
department VARCHAR(255) NOT NULL department VARCHAR(255) NOT NULL,
created_at TIMESTAMP NOT NULL
); );
SQL SQL


Expand Down

0 comments on commit 0c2930c

Please sign in to comment.