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?, #invalid?, java_class, loopback, rewrite_event_field_name, rewrite_event_type_name, rewrite_query, #targets, #to_hash, traverse_fields

Constructor Details

#initialize(ast_nodetree) ⇒ SubQuery

Returns a new instance of SubQuery.



441
442
443
444
445
# File 'lib/norikra/query.rb', line 441

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

Instance Method Details

#astObject



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

def ast; @ast; end

#dupObject



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

def dup; self; end

#dup_with_stream_name(actual_name) ⇒ Object



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

def dup_with_stream_name(actual_name); self; end

#expressionObject



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

def expression; ''; end

#nameObject



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

def name; ''; end

#subqueriesObject



449
450
451
452
453
# File 'lib/norikra/query.rb', line 449

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