aboutsummaryrefslogtreecommitdiffstats
path: root/spec/arel/engines/sql/unit/predicates/in_spec.rb
diff options
context:
space:
mode:
authorRaimonds Simanovskis <raimonds.simanovskis@gmail.com>2010-02-10 19:50:59 +0200
committerRaimonds Simanovskis <raimonds.simanovskis@gmail.com>2010-03-01 12:02:10 +0200
commit20a10e5302ce8f912d27c57702b542a019c7f9f9 (patch)
tree38de3309520244ba6fda99b8d47525852e926491 /spec/arel/engines/sql/unit/predicates/in_spec.rb
parent98a87e181aed8131797e55db2ca957bc515cdaca (diff)
downloadrails-20a10e5302ce8f912d27c57702b542a019c7f9f9.tar.gz
rails-20a10e5302ce8f912d27c57702b542a019c7f9f9.tar.bz2
rails-20a10e5302ce8f912d27c57702b542a019c7f9f9.zip
changes for Oracle support - OracleCompiler and corresponding tests with Oracle syntax
Diffstat (limited to 'spec/arel/engines/sql/unit/predicates/in_spec.rb')
-rw-r--r--spec/arel/engines/sql/unit/predicates/in_spec.rb36
1 files changed, 31 insertions, 5 deletions
diff --git a/spec/arel/engines/sql/unit/predicates/in_spec.rb b/spec/arel/engines/sql/unit/predicates/in_spec.rb
index a1c42f714e..5d9b2cdcaa 100644
--- a/spec/arel/engines/sql/unit/predicates/in_spec.rb
+++ b/spec/arel/engines/sql/unit/predicates/in_spec.rb
@@ -22,7 +22,11 @@ module Arel
sql.should be_like(%Q{`users`.`id` IN (1, 2, 3)})
end
- adapter_is_not :mysql do
+ adapter_is :oracle do
+ sql.should be_like(%Q{"USERS"."ID" IN (1, 2, 3)})
+ end
+
+ adapter_is_not :mysql, :oracle do
sql.should be_like(%Q{"users"."id" IN (1, 2, 3)})
end
end
@@ -40,7 +44,11 @@ module Arel
sql.should be_like(%Q{`users`.`id` IN (1, 2, 3)})
end
- adapter_is_not :mysql do
+ adapter_is :oracle do
+ sql.should be_like(%Q{"USERS"."ID" IN (1, 2, 3)})
+ end
+
+ adapter_is_not :mysql, :oracle do
sql.should be_like(%Q{"users"."id" IN (1, 2, 3)})
end
end
@@ -58,7 +66,11 @@ module Arel
sql.should be_like(%Q{`users`.`id` IN (NULL)})
end
- adapter_is_not :mysql do
+ adapter_is :oracle do
+ sql.should be_like(%Q{"USERS"."ID" IN (NULL)})
+ end
+
+ adapter_is_not :mysql, :oracle do
sql.should be_like(%Q{"users"."id" IN (NULL)})
end
end
@@ -78,7 +90,11 @@ module Arel
sql.should be_like(%Q{`users`.`id` BETWEEN 1 AND 2})
end
- adapter_is_not :mysql do
+ adapter_is :oracle do
+ sql.should be_like(%Q{"USERS"."ID" BETWEEN 1 AND 2})
+ end
+
+ adapter_is_not :mysql, :oracle do
sql.should be_like(%Q{"users"."id" BETWEEN 1 AND 2})
end
end
@@ -109,6 +125,10 @@ module Arel
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
+
+ adapter_is :oracle do
+ sql.should be_like(%Q{"DEVELOPERS"."CREATED_AT" BETWEEN TO_TIMESTAMP('2010-01-01 00:00:00:000000','YYYY-MM-DD HH24:MI:SS:FF6') AND TO_TIMESTAMP('2010-02-01 00:00:00:000000','YYYY-MM-DD HH24:MI:SS:FF6')})
+ end
end
end
@@ -122,7 +142,13 @@ module Arel
})
end
- adapter_is_not :mysql do
+ adapter_is :oracle do
+ sql.should be_like(%Q{
+ "USERS"."ID" IN (SELECT "USERS"."ID", "USERS"."NAME" FROM "USERS")
+ })
+ end
+
+ adapter_is_not :mysql, :oracle do
sql.should be_like(%Q{
"users"."id" IN (SELECT "users"."id", "users"."name" FROM "users")
})