aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2010-09-14 10:07:34 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2010-09-14 10:07:34 -0700
commit81faff66f8585553b8d332b17f8193eaa7ba15bb (patch)
tree23f830e16b770023f2f4ed9662d013644a2e82cc
parent886dff81c09dba2b2981b4387b02f026e6b16150 (diff)
parentbe852b9c2650b4584bdd70651b12521bbcb356d7 (diff)
downloadrails-81faff66f8585553b8d332b17f8193eaa7ba15bb.tar.gz
rails-81faff66f8585553b8d332b17f8193eaa7ba15bb.tar.bz2
rails-81faff66f8585553b8d332b17f8193eaa7ba15bb.zip
Merge branch 'v1' of github.com:flavorjones/arel into v1
* 'v1' of github.com:flavorjones/arel: sql visitor should emit a table alias name when visiting an attribute, if a table alias exists. dot visitor for binary nodes Conflicts: lib/arel/visitors/dot.rb
-rw-r--r--lib/arel/visitors/dot.rb7
-rw-r--r--lib/arel/visitors/to_sql.rb3
2 files changed, 8 insertions, 2 deletions
diff --git a/lib/arel/visitors/dot.rb b/lib/arel/visitors/dot.rb
index 55d5abe7e2..a00e25c6a6 100644
--- a/lib/arel/visitors/dot.rb
+++ b/lib/arel/visitors/dot.rb
@@ -92,7 +92,12 @@ module Arel
visit_edge o, "left"
visit_edge o, "right"
end
- alias :visit_Arel_Nodes_And :visit_Arel_Nodes_Equality
+ alias :visit_Arel_Nodes_And :visit_Arel_Nodes_Equality
+ alias :visit_Arel_Nodes_Or :visit_Arel_Nodes_Equality
+ alias :visit_Arel_Nodes_NotEqual :visit_Arel_Nodes_Equality
+ alias :visit_Arel_Nodes_GreaterThan :visit_Arel_Nodes_Equality
+ alias :visit_Arel_Nodes_GreaterThanOrEqual :visit_Arel_Nodes_Equality
+ alias :visit_Arel_Nodes_Assignment :visit_Arel_Nodes_Equality
def visit_String o
@node_stack.last.fields << o
diff --git a/lib/arel/visitors/to_sql.rb b/lib/arel/visitors/to_sql.rb
index 391d2ff1c4..2660c7d284 100644
--- a/lib/arel/visitors/to_sql.rb
+++ b/lib/arel/visitors/to_sql.rb
@@ -190,7 +190,8 @@ module Arel
end
def visit_Arel_Attributes_Attribute o
- "#{quote_table_name o.relation.name}.#{quote_column_name o.name}"
+ join_name = o.relation.table_alias || o.relation.name
+ "#{quote_table_name join_name}.#{quote_column_name o.name}"
end
alias :visit_Arel_Attributes_Integer :visit_Arel_Attributes_Attribute
alias :visit_Arel_Attributes_String :visit_Arel_Attributes_Attribute