From d4bfaf2b82934e8611824c15cbf855d3d02418b5 Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Tue, 14 Dec 2010 20:53:19 -0800 Subject: cleaning up more nodes --- Manifest.txt | 6 ------ lib/arel/nodes.rb | 10 +++------- lib/arel/nodes/group.rb | 6 ------ lib/arel/nodes/grouping.rb | 6 ------ lib/arel/nodes/having.rb | 6 ------ lib/arel/nodes/not.rb | 6 ------ lib/arel/nodes/offset.rb | 7 ------- lib/arel/nodes/on.rb | 6 ------ lib/arel/nodes/unary.rb | 12 ++++++++++++ lib/arel/visitors/oracle.rb | 4 ++-- 10 files changed, 17 insertions(+), 52 deletions(-) delete mode 100644 lib/arel/nodes/group.rb delete mode 100644 lib/arel/nodes/grouping.rb delete mode 100644 lib/arel/nodes/having.rb delete mode 100644 lib/arel/nodes/not.rb delete mode 100644 lib/arel/nodes/offset.rb delete mode 100644 lib/arel/nodes/on.rb diff --git a/Manifest.txt b/Manifest.txt index 82c2c4f61a..0dcd1eb2b8 100644 --- a/Manifest.txt +++ b/Manifest.txt @@ -25,9 +25,6 @@ lib/arel/nodes/delete_statement.rb lib/arel/nodes/equality.rb lib/arel/nodes/exists.rb lib/arel/nodes/function.rb -lib/arel/nodes/group.rb -lib/arel/nodes/grouping.rb -lib/arel/nodes/having.rb lib/arel/nodes/in.rb lib/arel/nodes/inner_join.rb lib/arel/nodes/insert_statement.rb @@ -36,9 +33,6 @@ lib/arel/nodes/lock.rb lib/arel/nodes/max.rb lib/arel/nodes/min.rb lib/arel/nodes/node.rb -lib/arel/nodes/not.rb -lib/arel/nodes/offset.rb -lib/arel/nodes/on.rb lib/arel/nodes/ordering.rb lib/arel/nodes/outer_join.rb lib/arel/nodes/select_core.rb diff --git a/lib/arel/nodes.rb b/lib/arel/nodes.rb index 83977c356a..9af6ad9ce3 100644 --- a/lib/arel/nodes.rb +++ b/lib/arel/nodes.rb @@ -1,5 +1,8 @@ require 'arel/nodes/node' + require 'arel/nodes/unary' +require 'arel/nodes/unqualified_column' + require 'arel/nodes/binary' require 'arel/nodes/equality' @@ -7,31 +10,24 @@ require 'arel/nodes/and' require 'arel/nodes/in' require 'arel/nodes/lock' -require 'arel/nodes/not' require 'arel/nodes/join_source' require 'arel/nodes/ordering' require 'arel/nodes/function' require 'arel/nodes/count' require 'arel/nodes/values' -require 'arel/nodes/offset' require 'arel/nodes/sum' require 'arel/nodes/exists' require 'arel/nodes/max' require 'arel/nodes/min' require 'arel/nodes/avg' -require 'arel/nodes/having' require 'arel/nodes/sql_literal' require 'arel/nodes/select_core' require 'arel/nodes/select_statement' require 'arel/nodes/insert_statement' require 'arel/nodes/update_statement' require 'arel/nodes/delete_statement' -require 'arel/nodes/unqualified_column' require 'arel/nodes/table_alias' -require 'arel/nodes/group' -require 'arel/nodes/grouping' require 'arel/nodes/inner_join' require 'arel/nodes/outer_join' require 'arel/nodes/string_join' -require 'arel/nodes/on' diff --git a/lib/arel/nodes/group.rb b/lib/arel/nodes/group.rb deleted file mode 100644 index a7fa6f170d..0000000000 --- a/lib/arel/nodes/group.rb +++ /dev/null @@ -1,6 +0,0 @@ -module Arel - module Nodes - class Group < Arel::Nodes::Unary - end - end -end diff --git a/lib/arel/nodes/grouping.rb b/lib/arel/nodes/grouping.rb deleted file mode 100644 index 18adeae97f..0000000000 --- a/lib/arel/nodes/grouping.rb +++ /dev/null @@ -1,6 +0,0 @@ -module Arel - module Nodes - class Grouping < Arel::Nodes::Unary - end - end -end diff --git a/lib/arel/nodes/having.rb b/lib/arel/nodes/having.rb deleted file mode 100644 index 6972c58dda..0000000000 --- a/lib/arel/nodes/having.rb +++ /dev/null @@ -1,6 +0,0 @@ -module Arel - module Nodes - class Having < Arel::Nodes::Unary - end - end -end diff --git a/lib/arel/nodes/not.rb b/lib/arel/nodes/not.rb deleted file mode 100644 index de138435bb..0000000000 --- a/lib/arel/nodes/not.rb +++ /dev/null @@ -1,6 +0,0 @@ -module Arel - module Nodes - class Not < Arel::Nodes::Unary - end - end -end diff --git a/lib/arel/nodes/offset.rb b/lib/arel/nodes/offset.rb deleted file mode 100644 index d93e46aa1f..0000000000 --- a/lib/arel/nodes/offset.rb +++ /dev/null @@ -1,7 +0,0 @@ -module Arel - module Nodes - class Offset < Arel::Nodes::Unary - alias :value :expr - end - end -end diff --git a/lib/arel/nodes/on.rb b/lib/arel/nodes/on.rb deleted file mode 100644 index 953d64f9f1..0000000000 --- a/lib/arel/nodes/on.rb +++ /dev/null @@ -1,6 +0,0 @@ -module Arel - module Nodes - class On < Arel::Nodes::Unary - end - end -end diff --git a/lib/arel/nodes/unary.rb b/lib/arel/nodes/unary.rb index edda89e1f0..f679017597 100644 --- a/lib/arel/nodes/unary.rb +++ b/lib/arel/nodes/unary.rb @@ -2,10 +2,22 @@ module Arel module Nodes class Unary < Arel::Nodes::Node attr_accessor :expr + alias :value :expr def initialize expr @expr = expr end end + + %w{ + Not + Group + Grouping + Offset + Having + On + }.each do |name| + const_set(name, Class.new(Unary)) + end end end diff --git a/lib/arel/visitors/oracle.rb b/lib/arel/visitors/oracle.rb index ecb157f8bc..63dfc6788c 100644 --- a/lib/arel/visitors/oracle.rb +++ b/lib/arel/visitors/oracle.rb @@ -27,7 +27,7 @@ module Arel SELECT * FROM ( SELECT raw_sql_.*, rownum raw_rnum_ FROM (#{sql}) raw_sql_ - WHERE rownum <= #{offset.value.to_i + limit} + WHERE rownum <= #{offset.expr.to_i + limit} ) WHERE #{visit offset} eosql @@ -58,7 +58,7 @@ module Arel end def visit_Arel_Nodes_Offset o - "raw_rnum_ > #{visit o.value}" + "raw_rnum_ > #{visit o.expr}" end ### -- cgit v1.2.3