parameters: (self, line, match)
docstring: Parse a line that represents query plan node.
docstring_summary: Parse a line that represents query plan node.
docstring_tokens: Parse a line that represents query plan node .
function: def parse_node(self, line, match):
      """Parse a line that represents query plan node."""
      i = self.get_depth(line)
      tok = match.split(':')
      node = NodePlan(i, tok[0], tok[1])
      self.push_to_stack(i, node)
      child = self.plan_stack[-1]
      self.plan_nodes[child.id] = child
      if len(self.plan_stack) > 1:
        # this is not a root node
        par = self.plan_stack[-2]
        self.add_edge(par.id, child.id)
        if 'SCAN' in child.name:
          for n in self.plan_stack:
            self.successor_scans[n.id].add(child.id)
      m = RE_BRACE.search(line)
      if m:
        self.node_param[child.id] = m.group(1)
function_tokens: def parse_node ( self , line , match ) : i = self . get_depth ( line ) tok = match . split ( ':' ) node = NodePlan ( i , tok [ 0 ] , tok [ 1 ] ) self . push_to_stack ( i , node ) child = self . plan_stack [ - 1 ] self . plan_nodes [ child . id ] = child if len ( self . plan_stack ) > 1 : # this is not a root node par = self . plan_stack [ - 2 ] self . add_edge ( par . id , child . id ) if 'SCAN' in child . name : for n in self . plan_stack : self . successor_scans [ n . id ] . add ( child . id ) m = RE_BRACE . search ( line ) if m : self . node_param [ child . id ] = m . group ( 1 )