class Bmg::Sql::Processor::Requalify

Attributes

requalify[R]

Public Class Methods

new(builder) click to toggle source
Calls superclass method Bmg::Sql::Processor::new
# File lib/bmg/sql/processor/requalify.rb, line 6
def initialize(builder)
  super
  @requalify = Hash.new{|h,k|
    h[k.to_s] = builder.next_qualifier!
  }
end

Public Instance Methods

on_qualified_identifier(sexpr) click to toggle source
# File lib/bmg/sql/processor/requalify.rb, line 26
def on_qualified_identifier(sexpr)
  Predicate::Factory.qualified_identifier(requalify[sexpr.qualifier.to_s].to_sym, sexpr.name.to_sym)
end
on_range_var_name(sexpr) click to toggle source
# File lib/bmg/sql/processor/requalify.rb, line 17
def on_range_var_name(sexpr)
  Grammar.sexpr [:range_var_name, requalify[sexpr.qualifier.to_s] ]
end
on_where_clause(sexpr) click to toggle source
# File lib/bmg/sql/processor/requalify.rb, line 21
def on_where_clause(sexpr)
  pred = Predicate::Grammar.sexpr(apply(sexpr.predicate))
  sexpr([:where_clause, pred])
end