diff options
author | Raimonds Simanovskis <raimonds.simanovskis@gmail.com> | 2010-02-10 19:50:59 +0200 |
---|---|---|
committer | Raimonds Simanovskis <raimonds.simanovskis@gmail.com> | 2010-03-01 12:02:10 +0200 |
commit | 20a10e5302ce8f912d27c57702b542a019c7f9f9 (patch) | |
tree | 38de3309520244ba6fda99b8d47525852e926491 /spec/arel/engines/sql/unit/predicates/in_spec.rb | |
parent | 98a87e181aed8131797e55db2ca957bc515cdaca (diff) | |
download | rails-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.rb | 36 |
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") }) |