aboutsummaryrefslogtreecommitdiffstats
path: root/lib/arel/engines/sql
diff options
context:
space:
mode:
Diffstat (limited to 'lib/arel/engines/sql')
-rw-r--r--lib/arel/engines/sql/christener.rb2
-rw-r--r--lib/arel/engines/sql/relations/table.rb5
2 files changed, 4 insertions, 3 deletions
diff --git a/lib/arel/engines/sql/christener.rb b/lib/arel/engines/sql/christener.rb
index 2c96020554..6160f244f7 100644
--- a/lib/arel/engines/sql/christener.rb
+++ b/lib/arel/engines/sql/christener.rb
@@ -5,7 +5,7 @@ module Arel
# FIXME: this exists because all objects hash the same. :'(
@used_names = Hash.new(0)
@relation_names = Hash.new do |hash, relation|
- name = relation.table_alias ? relation.table_alias : relation.name
+ name = relation.table_alias || relation.name
@used_names[name] += 1
hash[relation] = name + (@used_names[name] > 1 ? "_#{@used_names[name]}" : '')
end
diff --git a/lib/arel/engines/sql/relations/table.rb b/lib/arel/engines/sql/relations/table.rb
index 236a36c7a7..9e64e8e590 100644
--- a/lib/arel/engines/sql/relations/table.rb
+++ b/lib/arel/engines/sql/relations/table.rb
@@ -94,8 +94,9 @@ module Arel
end
def ==(other)
- Table === other and
- name == other.name and
+ super ||
+ Table === other &&
+ name == other.name &&
table_alias == other.table_alias
end
end