MySQL  8.0.21
Source Code Documentation
Derived_refs_iterator Class Reference

This iterates on those references to a derived table / view / CTE which are materialized. More...

#include <table.h>

Public Member Functions

 Derived_refs_iterator (TABLE_LIST *start_arg)
 
TABLEget_next ()
 
void rewind ()
 
bool is_first () const
 

Private Attributes

TABLE_LIST *const start
 The reference provided in construction. More...
 
int ref_idx
 Current index in cte->tmp_tables. More...
 

Detailed Description

This iterates on those references to a derived table / view / CTE which are materialized.

If a recursive CTE, this includes recursive references. Upon construction it is passed a non-recursive materialized reference to the derived table (TABLE_LIST*). For a CTE it may return more than one reference; for a derived table or a view, there is only one (as references to a same view are treated as independent objects). References are returned as TABLE*.

Constructor & Destructor Documentation

◆ Derived_refs_iterator()

Derived_refs_iterator::Derived_refs_iterator ( TABLE_LIST start_arg)
inlineexplicit

Member Function Documentation

◆ get_next()

TABLE* Derived_refs_iterator::get_next ( )
inline

◆ is_first()

bool Derived_refs_iterator::is_first ( ) const
inline
Returns
true if the last get_next() returned the first element.

◆ rewind()

void Derived_refs_iterator::rewind ( void  )
inline

Member Data Documentation

◆ ref_idx

int Derived_refs_iterator::ref_idx
private

Current index in cte->tmp_tables.

◆ start

TABLE_LIST* const Derived_refs_iterator::start
private

The reference provided in construction.


The documentation for this class was generated from the following file: