class Bmg::Sql::Processor::FromSelf

Public Instance Methods

on_except(sexpr)
Alias for: on_nonjoin_exp
on_intersect(sexpr)
Alias for: on_nonjoin_exp
on_nonjoin_exp(sexpr) click to toggle source
# File lib/bmg/sql/processor/from_self.rb, line 14
def on_nonjoin_exp(sexpr)
  q = builder.next_qualifier!
  [ :with_exp,
    [:with_spec,
      builder.name_intro(q, sexpr)],
    builder.select_all(sexpr, q, q) ]
end
on_select_exp(sexpr)
Alias for: on_nonjoin_exp
on_union(sexpr)
Alias for: on_nonjoin_exp
on_with_exp(sexpr) click to toggle source
# File lib/bmg/sql/processor/from_self.rb, line 6
def on_with_exp(sexpr)
  q = builder.next_qualifier!
  name_intro = builder.name_intro(q, sexpr.select_exp)
  [ :with_exp,
    sexpr.with_spec.dup.push(name_intro),
    builder.select_all(sexpr.select_exp, q, q) ]
end