MySQL 8.3.0
Source Code Documentation
LO_graph Class Reference

Public Member Functions

 LO_graph ()
 
 ~LO_graph ()
 
void check_mutex (LO_thread *thread, const LO_lock *old_lock, const LO_mutex_lock *new_lock)
 
void check_rwlock (LO_thread *thread, const LO_lock *old_lock, const LO_rwlock_lock *new_lock, PSI_rwlock_operation op)
 
void check_file (LO_thread *thread, const LO_lock *old_lock, const LO_file_class *new_file)
 
void check_cond (LO_thread *thread, const LO_lock *old_lock, const LO_cond_wait *new_lock)
 
void check_common (LO_thread *thread, const char *from_class_name, const char *from_state_name, const LO_node *from_node, const LO_lock *old_lock, const char *to_class_name, bool recursive, const char *to_operation_name, const LO_node *to_node, const LO_lock *new_lock)
 
LO_nodefind_state_node (const char *qname, const char *state)
 
LO_nodefind_operation_node (const char *qname, bool recursive, const char *state, const char *operation)
 
LO_nodefind_node (const char *qname)
 
void add_node (LO_node *node)
 
void add_class (const char *class_name)
 
void add_arc (const LO_authorised_arc *arc)
 
void add_arc (LO_node *from, LO_node *to, bool recursive, int flags, const char *constraint, const char *comment)
 
void add_unresolved_arc (LO_authorised_arc *arc)
 
void dump_txt ()
 
void scc_util (const SCC_visitor *v, int *discovery_time, int *scc_count, LO_node *n, std::stack< LO_node * > *st)
 
int compute_scc (const SCC_visitor *v)
 
void compute_scc_girth (int number_of_scc, const SCC_visitor *v)
 
void compute_node_girth (int iter_scc, const SCC_visitor *v, LO_node *start)
 
void dump_scc (FILE *out, int number_of_scc, bool print_loop_flag)
 
void dump_one_scc (FILE *out, int scc, int number_of_scc, bool print_loop_flag)
 

Private Attributes

LO_node_list m_nodes
 
LO_arc_list m_arcs
 
LO_authorised_arc_list m_unresolved_arcs
 
LO_arcm_arc_matrix [LO_MAX_NODE_NUMBER][LO_MAX_NODE_NUMBER]
 

Constructor & Destructor Documentation

◆ LO_graph()

LO_graph::LO_graph ( )

◆ ~LO_graph()

LO_graph::~LO_graph ( )

Member Function Documentation

◆ add_arc() [1/2]

void LO_graph::add_arc ( const LO_authorised_arc arc)

◆ add_arc() [2/2]

void LO_graph::add_arc ( LO_node from,
LO_node to,
bool  recursive,
int  flags,
const char *  constraint,
const char *  comment 
)

◆ add_class()

void LO_graph::add_class ( const char *  class_name)

◆ add_node()

void LO_graph::add_node ( LO_node node)

◆ add_unresolved_arc()

void LO_graph::add_unresolved_arc ( LO_authorised_arc arc)

◆ check_common()

void LO_graph::check_common ( LO_thread thread,
const char *  from_class_name,
const char *  from_state_name,
const LO_node from_node,
const LO_lock old_lock,
const char *  to_class_name,
bool  recursive,
const char *  to_operation_name,
const LO_node to_node,
const LO_lock new_lock 
)

◆ check_cond()

void LO_graph::check_cond ( LO_thread thread,
const LO_lock old_lock,
const LO_cond_wait new_lock 
)

◆ check_file()

void LO_graph::check_file ( LO_thread thread,
const LO_lock old_lock,
const LO_file_class new_file 
)

◆ check_mutex()

void LO_graph::check_mutex ( LO_thread thread,
const LO_lock old_lock,
const LO_mutex_lock new_lock 
)

◆ check_rwlock()

void LO_graph::check_rwlock ( LO_thread thread,
const LO_lock old_lock,
const LO_rwlock_lock new_lock,
PSI_rwlock_operation  op 
)

◆ compute_node_girth()

void LO_graph::compute_node_girth ( int  iter_scc,
const SCC_visitor v,
LO_node start 
)

List of nodes at girth distance from the start node.

List of nodes at girth+1 distance from the start node.

◆ compute_scc()

int LO_graph::compute_scc ( const SCC_visitor v)

◆ compute_scc_girth()

void LO_graph::compute_scc_girth ( int  number_of_scc,
const SCC_visitor v 
)

◆ dump_one_scc()

void LO_graph::dump_one_scc ( FILE *  out,
int  scc,
int  number_of_scc,
bool  print_loop_flag 
)

◆ dump_scc()

void LO_graph::dump_scc ( FILE *  out,
int  number_of_scc,
bool  print_loop_flag 
)

◆ dump_txt()

void LO_graph::dump_txt ( )

◆ find_node()

LO_node * LO_graph::find_node ( const char *  qname)

◆ find_operation_node()

LO_node * LO_graph::find_operation_node ( const char *  qname,
bool  recursive,
const char *  state,
const char *  operation 
)

◆ find_state_node()

LO_node * LO_graph::find_state_node ( const char *  qname,
const char *  state 
)

◆ scc_util()

void LO_graph::scc_util ( const SCC_visitor v,
int *  discovery_time,
int *  scc_count,
LO_node n,
std::stack< LO_node * > *  st 
)

Member Data Documentation

◆ m_arc_matrix

LO_arc* LO_graph::m_arc_matrix[LO_MAX_NODE_NUMBER][LO_MAX_NODE_NUMBER]
private

◆ m_arcs

LO_arc_list LO_graph::m_arcs
private

◆ m_nodes

LO_node_list LO_graph::m_nodes
private

◆ m_unresolved_arcs

LO_authorised_arc_list LO_graph::m_unresolved_arcs
private

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