# File test/src/sql_parser.rb, line 213 def join_maker rel, pred crossjoin = keyword[:cross] >> keyword[:join] >> rel.map(&rctor(CrossJoinRelation)) leftjoin = outer_join :left rightjoin = outer_join :right fulljoin = outer_join :full innerjoin = keyword[:inner].optional >> keyword[:join] >> :inner join_with_condition = sequence(sum(leftjoin, rightjoin, innerjoin), rel, keyword[:on], pred) do |kind, r, _, on| proc{|r0|JoinRelation.new(kind, r0, r, on)} end sum(crossjoin, join_with_condition) end