89 return (view !=
nullptr && !(intptr_t(view) & 0x1));
The MVCC read view manager.
Definition: read0read.h:44
static bool is_view_active(ReadView *view)
Definition: read0read.h:86
void view_open(ReadView *&view, trx_t *trx)
Allocate and create a view.
Definition: read0read.cc:529
~MVCC()
Destructor.
Definition: read0read.cc:341
ulint size() const
Definition: read0read.cc:700
view_list_t m_free
Free views ready for reuse.
Definition: read0read.h:131
ReadView * get_view()
Find a free view from the active list, if none found then allocate a new view.
Definition: read0read.cc:478
view_list_t m_views
Active and closed views, the closed views will have the creator trx id set to TRX_ID_MAX.
Definition: read0read.h:135
ReadView * get_view_created_by_trx_id(trx_id_t trx_id) const
Definition: read0read.cc:582
static void set_view_creator_trx_id(ReadView *view, trx_id_t id)
Set the view creator transaction id.
Definition: read0read.h:97
MVCC & operator=(const MVCC &)
typedef UT_LIST_BASE_NODE_T(ReadView, m_view_list) view_list_t
void clone_oldest_view(ReadView *view)
Clones the oldest view and stores it in view.
Definition: read0read.cc:674
void view_close(ReadView *&view, bool own_mutex)
Close a view created by the above function.
Definition: read0read.cc:721
void view_release(ReadView *&view)
Release a view that is inactive but not closed.
Definition: read0read.cc:501
bool validate() const
Validates a read view list.
Definition: read0read.cc:203
ReadView * get_oldest_view() const
Get the oldest view in the system.
Definition: read0read.cc:605
MVCC(ulint size)
Constructor.
Definition: read0read.cc:333
Read view lists the trx ids of those transactions for which a consistent read should not see the modi...
Definition: read0types.h:48
void creator_trx_id(trx_id_t id)
Set the creator transaction id, existing id must be 0.
Definition: read0types.h:269
Definition: trx0trx.h:675
ib_id_t trx_id_t
Transaction identifier (DB_TRX_ID, DATA_TRX_ID)
Definition: trx0types.h:138
Version control for database, common definitions, and include files.
unsigned long int ulint
Definition: univ.i:406
#define ut_ad(EXPR)
Debug assertion.
Definition: ut0dbg.h:69
#define ut_a(EXPR)
Abort execution if EXPR does not evaluate to nonzero.
Definition: ut0dbg.h:57