Page identifier.
Definition: buf0types.h:207
dberr_t
Definition: db0err.h:39
static int flags[50]
Definition: hp_test1.cc:40
The transaction lock system.
static rtr_mbr_t * prdt_get_mbr_from_prdt(const lock_prdt_t *prdt)
Get a minimum bounding box from a Predicate.
Definition: lock0prdt.cc:53
lock_prdt_t * lock_get_prdt_from_lock(const lock_t *lock)
Get predicate lock's minimum bounding box.
Definition: lock0prdt.cc:63
struct lock_prdt lock_prdt_t
void lock_init_prdt_from_mbr(lock_prdt_t *prdt, rtr_mbr_t *mbr, ulint mode, mem_heap_t *heap)
Initiate a Predicate lock from a MBR.
Definition: lock0prdt.cc:597
void lock_prdt_update_parent(buf_block_t *left_block, buf_block_t *right_block, lock_prdt_t *left_prdt, lock_prdt_t *right_prdt, const page_id_t &page_id)
Adjust locks from an ancestor page of Rtree on the appropriate level .
Definition: lock0prdt.cc:490
void lock_prdt_update_split(buf_block_t *block, buf_block_t *new_block, lock_prdt_t *prdt, lock_prdt_t *new_prdt)
Update predicate lock when page splits.
Definition: lock0prdt.cc:586
bool lock_prdt_has_to_wait(const trx_t *trx, ulint type_mode, lock_prdt_t *prdt, const lock_t *lock2)
Checks if a predicate lock request for a new lock has to wait for request lock2.
Definition: lock0prdt.cc:146
void lock_prdt_lock(buf_block_t *block, lock_prdt_t *prdt, dict_index_t *index, que_thr_t *thr)
Acquires LOCK_S | LOCK_PREDICATE on a block.
Definition: lock0prdt.cc:615
bool lock_other_has_prdt_page_lock(const trx_t *trx, const page_id_t &page_id)
Check whether there are R-tree Page locks on a page by other transactions.
Definition: lock0prdt.cc:714
dberr_t lock_place_prdt_page_lock(const page_id_t &page_id, dict_index_t *index, que_thr_t *thr)
Acquire a "Page" lock on a block.
Definition: lock0prdt.cc:671
void lock_prdt_page_free_from_discard(const buf_block_t *block, struct Locks_hashtable &lock_hash)
Removes predicate lock objects set on an index page which is discarded.
Definition: lock0prdt.cc:746
void lock_prdt_rec_move(const buf_block_t *receiver, const buf_block_t *donator)
Moves the locks of a record to another record and resets the lock bits of the donating record.
Definition: lock0prdt.cc:723
dberr_t lock_prdt_insert_check_and_lock(ulint flags, const rec_t *rec, buf_block_t *block, dict_index_t *index, que_thr_t *thr, mtr_t *mtr, lock_prdt_t *prdt)
Checks if locks of other transactions prevent an immediate insert of a predicate record.
Definition: lock0prdt.cc:410
void lock_prdt_set_prdt(lock_t *lock, const lock_prdt_t *prdt)
Append a predicate to the lock.
Definition: lock0prdt.cc:89
uint16_t uint16
Definition: my_inttypes.h:65
Provides atomic access in shared-exclusive modes.
Definition: shared_spin_lock.h:79
mode
Definition: file_handle.h:60
byte rec_t
Definition: rem0types.h:41
A hashmap used by lock sys, to organize locks by page (block), so that it is easy to maintain a list ...
Definition: lock0lock.h:1018
The buffer control block structure.
Definition: buf0buf.h:1690
Data structure for an index.
Definition: dict0mem.h:1046
Definition: lock0prdt.h:40
uint16 op
Definition: lock0prdt.h:42
void * data
Definition: lock0prdt.h:41
Lock struct; protected by lock_sys latches.
Definition: lock0priv.h:137
The info structure stored at the beginning of a heap block.
Definition: mem0mem.h:302
Mini-transaction handle and buffer.
Definition: mtr0mtr.h:177
Definition: que0que.h:242
In memory representation of a minimum bounding rectangle.
Definition: rtree_support.h:40
Definition: trx0trx.h:675
Version control for database, common definitions, and include files.
unsigned long int ulint
Definition: univ.i:406