182 return (!std::binary_search(
p,
p +
m_ids.
size(),
id));
206 "Trx read view will not see trx with"
318 byte pad1[64 -
sizeof(node_t)];
The MVCC read view manager.
Definition: read0read.h:44
This is similar to a std::vector but it is not a drop in replacement.
Definition: read0types.h:51
ulint m_size
Number of active elements in the array.
Definition: read0types.h:143
const trx_id_t * data() const
Definition: read0types.h:123
value_type * m_ptr
Memory for the array.
Definition: read0types.h:140
trx_ids_t::value_type value_type
Definition: read0types.h:52
void push_back(value_type value)
Append a value to the array.
Definition: read0read.cc:270
ids_t & operator=(const ids_t &)
value_type front() const
Definition: read0types.h:98
~ids_t()
Destructor.
Definition: read0types.h:60
ulint size() const
Definition: read0types.h:127
ids_t()
Constructor.
Definition: read0types.h:56
void insert(value_type value)
Insert the value in the correct slot, preserving the order.
Definition: read0read.cc:283
void reserve(ulint n)
Try and increase the size of the array.
Definition: read0read.cc:217
bool empty() const
Definition: read0types.h:131
value_type back() const
Definition: read0types.h:106
void clear()
Reset the size to 0.
Definition: read0types.h:78
trx_id_t * data()
Definition: read0types.h:119
ulint m_reserved
Size of m_ptr in elements.
Definition: read0types.h:146
void resize(ulint n)
Resize the array, sets the current element count.
Definition: read0types.h:70
void assign(const value_type *start, const value_type *end)
Copy and overwrite the current array contents.
Definition: read0read.cc:248
ulint capacity() const
Definition: read0types.h:82
Read view lists the trx ids of those transactions for which a consistent read should not see the modi...
Definition: read0types.h:48
void print_limits(FILE *file) const
Write the limits to the file.
Definition: read0types.h:204
~ReadView()
ReadView destructor.
Definition: read0read.cc:327
void copy_prepare(const ReadView &other)
Copy state from another view.
Definition: read0read.cc:577
ReadView()
ReadView constructor.
Definition: read0read.cc:315
trx_id_t m_view_low_limit_no
The low limit number up to which read views don't need to access undo log records for MVCC.
Definition: read0types.h:309
bool le(const ReadView *rhs) const
Definition: read0types.h:242
node_t m_view_list
Definition: read0types.h:319
byte pad1[64 - sizeof(node_t)]
List of read views in trx_sys.
Definition: read0types.h:318
void copy_complete()
Complete the copy, insert the creator transaction id into the m_trx_ids too and adjust the m_up_limit...
Definition: read0read.cc:603
void creator_trx_id(trx_id_t id)
Set the creator transaction id, existing id must be 0.
Definition: read0types.h:269
trx_id_t low_limit_no() const
Definition: read0types.h:224
bool changes_visible(trx_id_t id, const table_name_t &name) const
Check whether the changes by id are visible.
Definition: read0types.h:163
trx_id_t m_low_limit_id
The read should not see any transaction with trx id >= this value.
Definition: read0types.h:284
bool is_closed() const
Definition: read0types.h:199
void reduce_low_limit(trx_id_t trx_no)
Check and reduce low limit number for read view.
Definition: read0types.h:214
typedef UT_LIST_NODE_T(ReadView) node_t
bool sees(trx_id_t id) const
Definition: read0types.h:188
trx_id_t m_up_limit_id
The read should see all trx ids which are strictly smaller (<) than this value.
Definition: read0types.h:289
void close()
Mark the view as closed.
Definition: read0types.h:192
ids_t m_ids
Set of RW transactions that was active when this snapshot was taken.
Definition: read0types.h:297
trx_id_t m_creator_trx_id
trx id of creating transaction, set to TRX_ID_MAX for free views.
Definition: read0types.h:293
bool m_closed
AC-NL-RO transaction view that has been "closed".
Definition: read0types.h:313
trx_id_t view_low_limit_no() const
Definition: read0types.h:237
void copy_trx_ids(const trx_ids_t &trx_ids)
Copy the transaction ids from the source vector.
Definition: read0read.cc:354
void prepare(trx_id_t id)
Opens a read view where exactly the transactions serialized before this point in time are seen in the...
Definition: read0read.cc:447
ReadView & operator=(const ReadView &)
bool empty() const
Definition: read0types.h:232
trx_id_t m_low_limit_no
The view does not need to see the undo logs for transactions whose transaction number is strictly sma...
Definition: read0types.h:302
ReadView(const ReadView &)
static void check_trx_id_sanity(trx_id_t id, const table_name_t &name)
Check whether transaction id is valid.
Definition: trx0sys.cc:63
trx_id_t low_limit_id() const
Definition: read0types.h:228
const char * p
Definition: ctype-mb.cc:1235
Data dictionary memory object creation.
static void start(mysql_harness::PluginFuncEnv *env)
Definition: http_auth_backend_plugin.cc:180
uint16_t value_type
Definition: vt100.h:184
const std::string FILE("FILE")
Cursor end()
A past-the-end Cursor.
Definition: rules_table_service.cc:192
void delete_arr(T *ptr) noexcept
Releases storage which has been dynamically allocated through any of the ut::new_arr*() variants.
Definition: ut0new.h:1109
case opt name
Definition: sslopt-case.h:29
Table name wrapper for pretty-printing.
Definition: dict0mem.h:470
Transaction system global type definitions.
constexpr trx_id_t TRX_ID_MAX
Maximum transaction identifier.
Definition: trx0types.h:145
#define TRX_ID_FMT
printf(3) format used for printing DB_TRX_ID and other system fields
Definition: trx0types.h:49
std::vector< trx_id_t, ut::allocator< trx_id_t > > trx_ids_t
Definition: trx0types.h:596
ib_id_t trx_id_t
Transaction identifier (DB_TRX_ID, DATA_TRX_ID)
Definition: trx0types.h:138
unsigned long int ulint
Definition: univ.i:406
#define ut_ad(EXPR)
Debug assertion.
Definition: ut0dbg.h:105
#define ut_d(EXPR)
Debug statement.
Definition: ut0dbg.h:107
unsigned long id[MAX_DEAD]
Definition: xcom_base.cc:510
int n
Definition: xcom_base.cc:509