aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2012-02-20 17:57:37 -0800
committerAaron Patterson <aaron.patterson@gmail.com>2012-02-20 17:57:37 -0800
commit33f03c5557526d54c2b0053c79ea0e837016aef5 (patch)
tree2f98fab9b03e76a84195345c2a4571177b618960 /lib
parentcbdc7e72ba48672f6c43627de1d081e61c6c10b0 (diff)
downloadrails-33f03c5557526d54c2b0053c79ea0e837016aef5.tar.gz
rails-33f03c5557526d54c2b0053c79ea0e837016aef5.tar.bz2
rails-33f03c5557526d54c2b0053c79ea0e837016aef5.zip
bind parameters can be differentiated from sql literals
Diffstat (limited to 'lib')
-rw-r--r--lib/arel/nodes/sql_literal.rb3
-rw-r--r--lib/arel/visitors/depth_first.rb1
-rw-r--r--lib/arel/visitors/dot.rb1
-rw-r--r--lib/arel/visitors/to_sql.rb1
4 files changed, 6 insertions, 0 deletions
diff --git a/lib/arel/nodes/sql_literal.rb b/lib/arel/nodes/sql_literal.rb
index 2e934b2a1b..1bae8c9366 100644
--- a/lib/arel/nodes/sql_literal.rb
+++ b/lib/arel/nodes/sql_literal.rb
@@ -6,5 +6,8 @@ module Arel
include Arel::AliasPredication
include Arel::OrderPredications
end
+
+ class BindParam < SqlLiteral
+ end
end
end
diff --git a/lib/arel/visitors/depth_first.rb b/lib/arel/visitors/depth_first.rb
index 43d186cc1a..d1ae524db4 100644
--- a/lib/arel/visitors/depth_first.rb
+++ b/lib/arel/visitors/depth_first.rb
@@ -109,6 +109,7 @@ module Arel
alias :visit_Arel_Nodes_Lock :terminal
alias :visit_Arel_Nodes_Node :terminal
alias :visit_Arel_Nodes_SqlLiteral :terminal
+ alias :visit_Arel_Nodes_BindParam :terminal
alias :visit_Arel_SqlLiteral :terminal
alias :visit_BigDecimal :terminal
alias :visit_Bignum :terminal
diff --git a/lib/arel/visitors/dot.rb b/lib/arel/visitors/dot.rb
index 8303279211..001843d8ba 100644
--- a/lib/arel/visitors/dot.rb
+++ b/lib/arel/visitors/dot.rb
@@ -65,6 +65,7 @@ module Arel
visit_edge o, "expr"
end
alias :visit_Arel_Nodes_Group :unary
+ alias :visit_Arel_Nodes_BindParam :unary
alias :visit_Arel_Nodes_Grouping :unary
alias :visit_Arel_Nodes_Having :unary
alias :visit_Arel_Nodes_Limit :unary
diff --git a/lib/arel/visitors/to_sql.rb b/lib/arel/visitors/to_sql.rb
index 260cb6959f..29df72ff97 100644
--- a/lib/arel/visitors/to_sql.rb
+++ b/lib/arel/visitors/to_sql.rb
@@ -374,6 +374,7 @@ key on UpdateManager using UpdateManager#key=
def literal o; o end
+ alias :visit_Arel_Nodes_BindParam :literal
alias :visit_Arel_Nodes_SqlLiteral :literal
alias :visit_Arel_SqlLiteral :literal # This is deprecated
alias :visit_Bignum :literal