mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Merge branch 'master' into collector
* master: removing unused join_sql method
This commit is contained in:
commit
462a0197b2
6 changed files with 7 additions and 110 deletions
|
@ -29,6 +29,7 @@ lib/arel/nodes/descending.rb
|
|||
lib/arel/nodes/equality.rb
|
||||
lib/arel/nodes/extract.rb
|
||||
lib/arel/nodes/false.rb
|
||||
lib/arel/nodes/full_outer_join.rb
|
||||
lib/arel/nodes/function.rb
|
||||
lib/arel/nodes/grouping.rb
|
||||
lib/arel/nodes/in.rb
|
||||
|
@ -40,6 +41,7 @@ lib/arel/nodes/named_function.rb
|
|||
lib/arel/nodes/node.rb
|
||||
lib/arel/nodes/outer_join.rb
|
||||
lib/arel/nodes/over.rb
|
||||
lib/arel/nodes/right_outer_join.rb
|
||||
lib/arel/nodes/select_core.rb
|
||||
lib/arel/nodes/select_statement.rb
|
||||
lib/arel/nodes/sql_literal.rb
|
||||
|
@ -65,11 +67,9 @@ lib/arel/visitors/depth_first.rb
|
|||
lib/arel/visitors/dot.rb
|
||||
lib/arel/visitors/ibm_db.rb
|
||||
lib/arel/visitors/informix.rb
|
||||
lib/arel/visitors/join_sql.rb
|
||||
lib/arel/visitors/mssql.rb
|
||||
lib/arel/visitors/mysql.rb
|
||||
lib/arel/visitors/oracle.rb
|
||||
lib/arel/visitors/order_clauses.rb
|
||||
lib/arel/visitors/postgresql.rb
|
||||
lib/arel/visitors/sqlite.rb
|
||||
lib/arel/visitors/to_sql.rb
|
||||
|
@ -120,7 +120,6 @@ test/visitors/test_dispatch_contamination.rb
|
|||
test/visitors/test_dot.rb
|
||||
test/visitors/test_ibm_db.rb
|
||||
test/visitors/test_informix.rb
|
||||
test/visitors/test_join_sql.rb
|
||||
test/visitors/test_mssql.rb
|
||||
test/visitors/test_mysql.rb
|
||||
test/visitors/test_oracle.rb
|
||||
|
|
|
@ -215,13 +215,6 @@ module Arel
|
|||
end
|
||||
alias limit= take
|
||||
|
||||
def join_sql
|
||||
return nil if @ctx.source.right.empty?
|
||||
|
||||
sql = visitor.dup.extend(Visitors::JoinSql).accept @ctx
|
||||
Nodes::SqlLiteral.new sql
|
||||
end
|
||||
|
||||
def join_sources
|
||||
@ctx.source.right
|
||||
end
|
||||
|
|
|
@ -6,7 +6,6 @@ require 'arel/visitors/postgresql'
|
|||
require 'arel/visitors/mysql'
|
||||
require 'arel/visitors/mssql'
|
||||
require 'arel/visitors/oracle'
|
||||
require 'arel/visitors/join_sql'
|
||||
require 'arel/visitors/where_sql'
|
||||
require 'arel/visitors/dot'
|
||||
require 'arel/visitors/ibm_db'
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
module Arel
|
||||
module Visitors
|
||||
###
|
||||
# This class produces SQL for JOIN clauses but omits the "single-source"
|
||||
# part of the Join grammar:
|
||||
#
|
||||
# http://www.sqlite.org/syntaxdiagrams.html#join-source
|
||||
#
|
||||
# This visitor is used in SelectManager#join_sql and is for backwards
|
||||
# compatibility with Arel V1.0
|
||||
module JoinSql
|
||||
private
|
||||
|
||||
def visit_Arel_Nodes_SelectCore o
|
||||
o.source.right.map { |j| visit j }.join ' '
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
|
@ -584,9 +584,8 @@ module Arel
|
|||
aliaz = table.alias
|
||||
manager = Arel::SelectManager.new Table.engine
|
||||
manager.from Nodes::InnerJoin.new(aliaz, table[:id].eq(aliaz[:id]))
|
||||
manager.join_sql.must_be_like %{
|
||||
INNER JOIN "users" "users_2" "users"."id" = "users_2"."id"
|
||||
}
|
||||
assert_match 'INNER JOIN "users" "users_2" "users"."id" = "users_2"."id"',
|
||||
manager.to_sql
|
||||
end
|
||||
|
||||
it 'returns outer join sql' do
|
||||
|
@ -594,9 +593,8 @@ module Arel
|
|||
aliaz = table.alias
|
||||
manager = Arel::SelectManager.new Table.engine
|
||||
manager.from Nodes::OuterJoin.new(aliaz, table[:id].eq(aliaz[:id]))
|
||||
manager.join_sql.must_be_like %{
|
||||
LEFT OUTER JOIN "users" "users_2" "users"."id" = "users_2"."id"
|
||||
}
|
||||
assert_match 'LEFT OUTER JOIN "users" "users_2" "users"."id" = "users_2"."id"',
|
||||
manager.to_sql
|
||||
end
|
||||
|
||||
it 'can have a non-table alias as relation name' do
|
||||
|
@ -619,12 +617,7 @@ module Arel
|
|||
it 'returns string join sql' do
|
||||
manager = Arel::SelectManager.new Table.engine
|
||||
manager.from Nodes::StringJoin.new(Nodes.build_quoted('hello'))
|
||||
manager.join_sql.must_be_like %{ 'hello' }
|
||||
end
|
||||
|
||||
it 'returns nil join sql' do
|
||||
manager = Arel::SelectManager.new Table.engine
|
||||
manager.join_sql.must_be_nil
|
||||
assert_match "'hello'", manager.to_sql
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -1,68 +0,0 @@
|
|||
require 'helper'
|
||||
|
||||
module Arel
|
||||
module Visitors
|
||||
describe 'the join_sql visitor' do
|
||||
before do
|
||||
@visitor = ToSql.new Table.engine.connection
|
||||
@visitor.extend(JoinSql)
|
||||
end
|
||||
|
||||
it 'should visit string join' do
|
||||
sql = @visitor.accept Nodes::StringJoin.new(Nodes.build_quoted('omg'))
|
||||
sql.must_be_like "'omg'"
|
||||
end
|
||||
|
||||
describe 'inner join' do
|
||||
it 'should visit left if left is a join' do
|
||||
t = Table.new :users
|
||||
sm = t.select_manager
|
||||
sm.join(t).on(t[:id]).join(t).on(t[:id])
|
||||
sm.join_sql.must_be_like %{
|
||||
INNER JOIN "users" ON "users"."id"
|
||||
INNER JOIN "users" ON "users"."id"
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
describe 'FULL outer join' do
|
||||
it 'should visit left if left is a join' do
|
||||
t = Table.new :users
|
||||
sm = t.select_manager
|
||||
sm.join(t, Nodes::FullOuterJoin).on(t[:id]).join(
|
||||
t, Nodes::FullOuterJoin).on(t[:id])
|
||||
sm.join_sql.must_be_like %{
|
||||
FULL OUTER JOIN "users" ON "users"."id"
|
||||
FULL OUTER JOIN "users" ON "users"."id"
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
describe 'outer join' do
|
||||
it 'should visit left if left is a join' do
|
||||
t = Table.new :users
|
||||
sm = t.select_manager
|
||||
sm.join(t, Nodes::OuterJoin).on(t[:id]).join(
|
||||
t, Nodes::OuterJoin).on(t[:id])
|
||||
sm.join_sql.must_be_like %{
|
||||
LEFT OUTER JOIN "users" ON "users"."id"
|
||||
LEFT OUTER JOIN "users" ON "users"."id"
|
||||
}
|
||||
end
|
||||
end
|
||||
|
||||
describe 'right outer join' do
|
||||
it 'should visit left if left is a join' do
|
||||
t = Table.new :users
|
||||
sm = t.select_manager
|
||||
sm.join(t, Nodes::RightOuterJoin).on(t[:id]).join(
|
||||
t, Nodes::RightOuterJoin).on(t[:id])
|
||||
sm.join_sql.must_be_like %{
|
||||
RIGHT OUTER JOIN "users" ON "users"."id"
|
||||
RIGHT OUTER JOIN "users" ON "users"."id"
|
||||
}
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue