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