提交 d4bfaf2b 编写于 作者: A Aaron Patterson

cleaning up more nodes

上级 ef46276a
......@@ -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
......
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/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'
module Arel
module Nodes
class Group < Arel::Nodes::Unary
end
end
end
module Arel
module Nodes
class Grouping < Arel::Nodes::Unary
end
end
end
module Arel
module Nodes
class Having < Arel::Nodes::Unary
end
end
end
module Arel
module Nodes
class Not < Arel::Nodes::Unary
end
end
end
module Arel
module Nodes
class Offset < Arel::Nodes::Unary
alias :value :expr
end
end
end
module Arel
module Nodes
class On < Arel::Nodes::Unary
end
end
end
......@@ -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
......@@ -27,7 +27,7 @@ def visit_Arel_Nodes_SelectStatement o
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 @@ def visit_Arel_Nodes_SelectStatement o
end
def visit_Arel_Nodes_Offset o
"raw_rnum_ > #{visit o.value}"
"raw_rnum_ > #{visit o.expr}"
end
###
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册