aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorNick Kallen <nkallen@nick-kallens-computer-2.local>2008-01-05 15:32:22 -0800
committerNick Kallen <nkallen@nick-kallens-computer-2.local>2008-01-05 15:32:22 -0800
commitd1e5265a1db424e7361878772d32ae4ec39babe2 (patch)
tree89e3313c6207114dd706270d6b5b0c90f7fbf294 /lib
parentd7b89d957dbceb4eeceb0b1d381474a4de70a14d (diff)
downloadrails-d1e5265a1db424e7361878772d32ae4ec39babe2.tar.gz
rails-d1e5265a1db424e7361878772d32ae4ec39babe2.tar.bz2
rails-d1e5265a1db424e7361878772d32ae4ec39babe2.zip
join relation qualification
Diffstat (limited to 'lib')
-rw-r--r--lib/sql_algebra/relations/join_relation.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/sql_algebra/relations/join_relation.rb b/lib/sql_algebra/relations/join_relation.rb
index c65b07225f..6dd63ad117 100644
--- a/lib/sql_algebra/relations/join_relation.rb
+++ b/lib/sql_algebra/relations/join_relation.rb
@@ -10,7 +10,12 @@ class JoinRelation < Relation
((relation1 == other.relation1 and relation2 == other.relation2) or
(relation2 == other.relation1 and relation1 == other.relation2))
end
+
+ def qualify
+ JoinRelation.new(relation1.qualify, relation2.qualify, *predicates.collect(&:qualify))
+ end
+ protected
def joins
relation1.joins + relation2.joins + [Join.new(relation1, relation2, predicates, join_type)]
end
@@ -27,6 +32,5 @@ class JoinRelation < Relation
relation1[name] || relation2[name]
end
- protected
delegate :table, :to => :relation1
end \ No newline at end of file