From 8fc2241df61ce274b652fae09e4640a50a500af7 Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Tue, 8 Apr 2014 16:27:33 -0700 Subject: removing unused join_sql method --- Manifest.txt | 5 ++-- lib/arel/select_manager.rb | 7 ----- lib/arel/visitors.rb | 1 - lib/arel/visitors/join_sql.rb | 19 ------------ test/test_select_manager.rb | 17 ++++------- test/visitors/test_join_sql.rb | 68 ------------------------------------------ 6 files changed, 7 insertions(+), 110 deletions(-) delete mode 100644 lib/arel/visitors/join_sql.rb delete mode 100644 test/visitors/test_join_sql.rb diff --git a/Manifest.txt b/Manifest.txt index a5c2c2bab5..b19411be84 100644 --- a/Manifest.txt +++ b/Manifest.txt @@ -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 diff --git a/lib/arel/select_manager.rb b/lib/arel/select_manager.rb index f49f76d98f..a3bfa9a230 100644 --- a/lib/arel/select_manager.rb +++ b/lib/arel/select_manager.rb @@ -213,13 +213,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 diff --git a/lib/arel/visitors.rb b/lib/arel/visitors.rb index 3986ad9ce5..4a8d254ba7 100644 --- a/lib/arel/visitors.rb +++ b/lib/arel/visitors.rb @@ -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' diff --git a/lib/arel/visitors/join_sql.rb b/lib/arel/visitors/join_sql.rb deleted file mode 100644 index 1cdd7eb5ca..0000000000 --- a/lib/arel/visitors/join_sql.rb +++ /dev/null @@ -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 diff --git a/test/test_select_manager.rb b/test/test_select_manager.rb index 6258705e2f..6c7098b3d9 100644 --- a/test/test_select_manager.rb +++ b/test/test_select_manager.rb @@ -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 diff --git a/test/visitors/test_join_sql.rb b/test/visitors/test_join_sql.rb deleted file mode 100644 index 34378dafe7..0000000000 --- a/test/visitors/test_join_sql.rb +++ /dev/null @@ -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 -- cgit v1.2.3