MySQL 8.0.40
Source Code Documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
srv0conc.h File Reference

InnoDB concurrency manager header file. More...

Go to the source code of this file.

Functions

dberr_t srv_conc_enter_innodb (row_prebuilt_t *prebuilt)
 Puts an OS thread to wait if there are too many concurrent threads (>= srv_thread_concurrency) inside InnoDB. More...
 
void srv_conc_force_enter_innodb (trx_t *trx)
 This lets a thread enter InnoDB regardless of the number of threads inside InnoDB. More...
 
void srv_conc_force_exit_innodb (trx_t *trx)
 This must be called when a thread exits InnoDB in a lock wait or at the end of an SQL statement. More...
 
int32_t srv_conc_get_waiting_threads (void)
 Get the count of threads waiting inside InnoDB. More...
 
int32_t srv_conc_get_active_threads (void)
 Get the count of threads active inside InnoDB. More...
 

Variables

uint32_t srv_max_n_threads
 We are prepared for a situation that we have this many threads waiting for a semaphore inside InnoDB. More...
 
ulong srv_thread_concurrency
 The following controls how many threads we let inside InnoDB concurrently: threads waiting for locks are not counted into the number because otherwise we could get a deadlock. More...
 

Detailed Description

InnoDB concurrency manager header file.

Created 2011/04/18 Sunny Bains

Function Documentation

◆ srv_conc_enter_innodb()

dberr_t srv_conc_enter_innodb ( row_prebuilt_t prebuilt)

Puts an OS thread to wait if there are too many concurrent threads (>= srv_thread_concurrency) inside InnoDB.

The threads wait in a FIFO queue.

Parameters
[in,out]prebuiltrow prebuilt handler
Returns
Innodb error code.

◆ srv_conc_force_enter_innodb()

void srv_conc_force_enter_innodb ( trx_t trx)

This lets a thread enter InnoDB regardless of the number of threads inside InnoDB.

This must be called when a thread ends a lock wait. in: transaction object associated with the thread

This must be called when a thread ends a lock wait.

Parameters
trxin: transaction object associated with the thread

◆ srv_conc_force_exit_innodb()

void srv_conc_force_exit_innodb ( trx_t trx)

This must be called when a thread exits InnoDB in a lock wait or at the end of an SQL statement.

in: transaction object associated with the thread

Parameters
trxin: transaction object associated with the thread

◆ srv_conc_get_active_threads()

int32_t srv_conc_get_active_threads ( void  )

Get the count of threads active inside InnoDB.

◆ srv_conc_get_waiting_threads()

int32_t srv_conc_get_waiting_threads ( void  )

Get the count of threads waiting inside InnoDB.

Variable Documentation

◆ srv_max_n_threads

uint32_t srv_max_n_threads
extern

We are prepared for a situation that we have this many threads waiting for a semaphore inside InnoDB.

Maximum number of threads inside InnoDB.

innodb_init_params() sets the value.

◆ srv_thread_concurrency

ulong srv_thread_concurrency
extern

The following controls how many threads we let inside InnoDB concurrently: threads waiting for locks are not counted into the number because otherwise we could get a deadlock.

Value of 0 will disable the concurrency check.