Class: Norikra::SubQuery

Inherits:
Query
  • Object
show all
Defined in:
lib/norikra/query.rb

Instance Attribute Summary

Attributes inherited from Query

#fieldsets, #group, #statement_name

Instance Method Summary collapse

Methods inherited from Query

#<=>, #aliases, #astnode, #dump, #explore, #fields, imported_java_class?, #inspect, #invalid?, java_class, #nullable_fields, rewrite_event_field_name, rewrite_event_type_name, rewrite_nullable_fields, rewrite_query, #suspended?, #targets, #to_hash, traverse_fields

Constructor Details

#initialize(ast_nodetree) ⇒ SubQuery

Returns a new instance of SubQuery.



530
531
532
533
534
# File 'lib/norikra/query.rb', line 530

def initialize(ast_nodetree)
  @ast = ast_nodetree
  @targets = nil
  @subqueries = nil
end

Instance Method Details

#astObject



536
# File 'lib/norikra/query.rb', line 536

def ast; @ast; end

#dupObject



546
# File 'lib/norikra/query.rb', line 546

def dup; self; end

#dup_with_stream_name(actual_name) ⇒ Object



547
# File 'lib/norikra/query.rb', line 547

def dup_with_stream_name(actual_name); self; end

#expressionObject



545
# File 'lib/norikra/query.rb', line 545

def expression; ''; end

#nameObject



544
# File 'lib/norikra/query.rb', line 544

def name; ''; end

#subqueriesObject



538
539
540
541
542
# File 'lib/norikra/query.rb', line 538

def subqueries
  return @subqueries if @subqueries
  @subqueries = @ast.children.map{|c| c.listup(:subquery)}.reduce(&:+).map{|n| Norikra::SubQuery.new(n)}
  @subqueries
end