122 return view !=
nullptr && !((
ReadView *)view)->is_closed();
129 ((
ReadView *)view)->creator_trx_id(
id);
The MVCC read view manager.
Definition: read0mvcc_interface.h:89
The MVCC read view manager.
Definition: read0read.h:46
MVCC(const MVCC &)=delete
void set_view_creator_trx_id(Read_view_interface *&view, trx_id_t id) override
Sets the view creator transaction id, when a transaction which previously called view_open(view,...
Definition: read0read.h:125
view_list_t m_free
Free views ready for reuse.
Definition: read0read.h:147
ReadView * get_view()
Get a view from the free list, or allocate a new one if it's empty.
Definition: read0read.cc:466
~MVCC() override
Destructor.
Definition: read0read.cc:335
MVCC & operator=(const MVCC &)=delete
void view_close(Read_view_interface *&view, bool own_mutex) override
Closes a view previously opened by view_open(..).
Definition: read0read.cc:774
void view_open(Read_view_interface *&view, trx_t *trx) override
If view is nullptr then allocates a view, otherwise, reuses the one provided, in both cases opening i...
Definition: read0read.cc:485
view_list_t m_views
Active and closed views.
Definition: read0read.h:150
bool is_view_open(const Read_view_interface *view) const override
Can be used only for nullptr or view assigned by view_open(view,..) or view_close(view,...
Definition: read0read.h:120
void initialize(trx_id_t max_committed_trx_id, trx_ids_t active_ids) override
Initializes the MVCC once the max_committed_trx_id estimate is learned from reading system tablespace...
Definition: read0read.cc:330
void clone_oldest_view(Read_view_interface *&view) override
Clones the oldest open view or if there is no open view at the moment, clones one which would be crea...
Definition: read0read.cc:706
typedef UT_LIST_BASE_NODE_T(ReadView, m_view_list) view_list_t
void undo_purge_has_shutdown() override
Instructs the MVCC that the Undo Purge was shutdown and will not be asking to clone the oldest Read V...
Definition: read0read.cc:772
size_t get_open_views_count() const override
Returns the number of open views.
Definition: read0read.cc:754
void undo_purge_is_starting() override
Instructs the MVCC that the Undo Purge is about to start working and MVCC will be asked to clone the ...
Definition: read0read.cc:770
void validate() const
Asserts the read view list is sorted.
Definition: read0read.cc:200
MVCC(ulint size)
Constructor.
Definition: read0read.cc:322
char _padding[ut::INNODB_CACHE_LINE_SIZE]
Definition: read0read.h:53
void view_free(Read_view_interface *&view) override
Makes sure the view is properly freed: if view is already nullptr does nothing, otherwise it must be ...
Definition: read0read.cc:671
Read view lists the trx ids of those transactions for which a consistent read should not see the modi...
Definition: read0types.h:49
Definition: read0read_view_interface.h:33
size_t size(const char *const c)
Definition: base64.h:46
constexpr size_t INNODB_CACHE_LINE_SIZE
CPU cache line size.
Definition: ut0cpu_cache.h:41
Definition: trx0trx.h:670
std::vector< trx_id_t, ut::allocator< trx_id_t > > trx_ids_t
Definition: trx0types.h:633
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:403
Utilities related to CPU cache.
#define ut_ad(EXPR)
Debug assertion.
Definition: ut0dbg.h:109