class Arel::Visitors::Firebird
Private Instance Methods
visit_Arel_Nodes_Limit(o, collector)
click to toggle source
# File lib/arel/visitors/firebird.rb, line 62 def visit_Arel_Nodes_Limit(o, collector) collector << 'FIRST ' visit o.expr, collector end
visit_Arel_Nodes_Offset(o, collector)
click to toggle source
# File lib/arel/visitors/firebird.rb, line 67 def visit_Arel_Nodes_Offset(o, collector) collector << 'SKIP ' visit o.expr, collector end
visit_Arel_Nodes_SelectCore(o, collector, select_statement)
click to toggle source
# File lib/arel/visitors/firebird.rb, line 14 def visit_Arel_Nodes_SelectCore(o, collector, select_statement) collector << 'SELECT' visit_Arel_Nodes_SelectOptions(select_statement, collector) collector = collect_optimizer_hints(o, collector) collector = maybe_visit o.set_quantifier, collector collect_nodes_for o.projections, collector, ' ' if o.source && !o.source.empty? collector << ' FROM ' collector = visit o.source, collector end collect_nodes_for o.wheres, collector, ' WHERE ', ' AND ' collect_nodes_for o.groups, collector, ' GROUP BY ' unless o.havings.empty? collector << ' HAVING ' inject_join o.havings, collector, ' AND ' end collect_nodes_for o.windows, collector, ' WINDOW ' collector end
visit_Arel_Nodes_SelectStatement(o, collector)
click to toggle source
# File lib/arel/visitors/firebird.rb, line 40 def visit_Arel_Nodes_SelectStatement o, collector if o.with collector = visit o.with, collector collector << ' ' end collector = o.cores.inject(collector) { |c,x| visit_Arel_Nodes_SelectCore(x, c, o) } unless o.orders.empty? collector << ' ORDER BY ' len = o.orders.length - 1 o.orders.each_with_index { |x, i| collector = visit(x, collector) collector << ', ' unless len == i } end collector end
visit_Arel_Nodes_Union(o, collector)
click to toggle source
# File lib/arel/visitors/firebird.rb, line 79 def visit_Arel_Nodes_Union o, collector infix_value(o, collector, ' UNION ') end
visit_Arel_Nodes_UnionAll(o, collector)
click to toggle source
# File lib/arel/visitors/firebird.rb, line 83 def visit_Arel_Nodes_UnionAll o, collector infix_value(o, collector, ' UNION ALL ') end
visit_Arel_SelectManager(o, collector)
click to toggle source
# File lib/arel/visitors/firebird.rb, line 72 def visit_Arel_SelectManager o, collector return visit(o.ast, collector) if o.parentheses_ignored collector << '(' visit(o.ast, collector) << ')' end