88 return (view !=
nullptr && !(intptr_t(view) & 0x1));
The MVCC read view manager.
Definition: read0read.h:43
static bool is_view_active(ReadView *view)
Definition: read0read.h:85
void view_open(ReadView *&view, trx_t *trx)
Allocate and create a view.
Definition: read0read.cc:528
~MVCC()
Destructor.
Definition: read0read.cc:340
ulint size() const
Definition: read0read.cc:699
view_list_t m_free
Free views ready for reuse.
Definition: read0read.h:130
ReadView * get_view()
Find a free view from the active list, if none found then allocate a new view.
Definition: read0read.cc:477
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:134
ReadView * get_view_created_by_trx_id(trx_id_t trx_id) const
Definition: read0read.cc:581
static void set_view_creator_trx_id(ReadView *view, trx_id_t id)
Set the view creator transaction id.
Definition: read0read.h:96
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:673
void view_close(ReadView *&view, bool own_mutex)
Close a view created by the above function.
Definition: read0read.cc:720
void view_release(ReadView *&view)
Release a view that is inactive but not closed.
Definition: read0read.cc:500
bool validate() const
Validates a read view list.
Definition: read0read.cc:202
ReadView * get_oldest_view() const
Get the oldest view in the system.
Definition: read0read.cc:604
MVCC(ulint size)
Constructor.
Definition: read0read.cc:332
Read view lists the trx ids of those transactions for which a consistent read should not see the modi...
Definition: read0types.h:47
void creator_trx_id(trx_id_t id)
Set the creator transaction id, existing id must be 0.
Definition: read0types.h:268
Definition: trx0trx.h:685
ib_id_t trx_id_t
Transaction identifier (DB_TRX_ID, DATA_TRX_ID)
Definition: trx0types.h:137
Version control for database, common definitions, and include files.
unsigned long int ulint
Definition: univ.i:405
#define ut_ad(EXPR)
Debug assertion.
Definition: ut0dbg.h:68
#define ut_a(EXPR)
Abort execution if EXPR does not evaluate to nonzero.
Definition: ut0dbg.h:56