The MVCC read view manager.
Definition: read0mvcc_interface.h:89
virtual void view_close(Read_view_interface *&view, bool own_mutex)=0
Closes a view previously opened by view_open(..).
virtual void set_view_creator_trx_id(Read_view_interface *&view, trx_id_t id)=0
Sets the view creator transaction id, when a transaction which previously called view_open(view,...
virtual bool is_view_open(const Read_view_interface *view) const =0
Can be used only for nullptr or view assigned by view_open(view,..) or view_close(view,...
virtual void clone_oldest_view(Read_view_interface *&view)=0
Clones the oldest open view or if there is no open view at the moment, clones one which would be crea...
virtual void undo_purge_has_shutdown()=0
Instructs the MVCC that the Undo Purge was shutdown and will not be asking to clone the oldest Read V...
virtual void initialize(trx_id_t max_assigned_trx_id, trx_ids_t active_ids)=0
Initializes the MVCC once the max_committed_trx_id estimate is learned from reading system tablespace...
virtual void undo_purge_is_starting()=0
Instructs the MVCC that the Undo Purge is about to start working and MVCC will be asked to clone the ...
virtual size_t get_open_views_count() const =0
Returns the number of open views.
virtual void view_free(Read_view_interface *&view)=0
Makes sure the view is properly freed: if view is already nullptr does nothing, otherwise it must be ...
virtual ~MVCC_interface()=default
Destructor.
virtual void view_open(Read_view_interface *&view, trx_t *trx)=0
If view is nullptr then allocates a view, otherwise, reuses the one provided, in both cases opening i...
Definition: read0read_view_interface.h:33
Definition: trx0trx.h:670
Transaction system global type definitions.
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