aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSean Griffin <sean@seantheprogrammer.com>2014-11-24 14:28:26 -0700
committerSean Griffin <sean@seantheprogrammer.com>2014-11-24 14:28:26 -0700
commitd69146d3db96116ef241e3c8b0eb122104bb780b (patch)
treec2913a9402484037832b5635c495cdbd86fc49d0
parenta04851702b0e8e694a92139c3ee9f3b1622f3f5d (diff)
parent2eb824e939a1a147854b5c4bb42cd9c9d320bea3 (diff)
downloadrails-d69146d3db96116ef241e3c8b0eb122104bb780b.tar.gz
rails-d69146d3db96116ef241e3c8b0eb122104bb780b.tar.bz2
rails-d69146d3db96116ef241e3c8b0eb122104bb780b.zip
Merge pull request #338 from yahonda/add_order_to_bindparams_oracle
Support Oracle bind parameter value
-rw-r--r--lib/arel/visitors/oracle.rb4
-rw-r--r--test/visitors/test_oracle.rb13
2 files changed, 16 insertions, 1 deletions
diff --git a/lib/arel/visitors/oracle.rb b/lib/arel/visitors/oracle.rb
index 91f6e0223e..ff9e38d050 100644
--- a/lib/arel/visitors/oracle.rb
+++ b/lib/arel/visitors/oracle.rb
@@ -132,6 +132,10 @@ module Arel
array
end
+ def visit_Arel_Nodes_BindParam o, collector
+ collector.add_bind(o) { |i| ":a#{i}" }
+ end
+
end
end
end
diff --git a/test/visitors/test_oracle.rb b/test/visitors/test_oracle.rb
index 29d7042084..41e77d93c0 100644
--- a/test/visitors/test_oracle.rb
+++ b/test/visitors/test_oracle.rb
@@ -4,7 +4,8 @@ module Arel
module Visitors
describe 'the oracle visitor' do
before do
- @visitor = Oracle.new Table.engine.connection_pool
+ @visitor = Oracle.new Table.engine.connection
+ @table = Table.new(:users)
end
def compile node
@@ -165,6 +166,16 @@ module Arel
compile(node).must_be_like "FOR UPDATE"
end
end
+
+ describe "Nodes::BindParam" do
+ it "increments each bind param" do
+ query = @table[:name].eq(Arel::Nodes::BindParam.new)
+ .and(@table[:id].eq(Arel::Nodes::BindParam.new))
+ compile(query).must_be_like %{
+ "users"."name" = :a1 AND "users"."id" = :a2
+ }
+ end
+ end
end
end
end