|
Zero
0.1.0
|
Locking-related status of one transaction. More...
#include <lock_x.h>
Public Member Functions | |
| xct_lock_info_t () | |
| ~xct_lock_info_t () | |
| xct_lock_info_t * | reset_for_reuse () |
| ostream & | dump_locks (ostream &out) const |
| unsafe output operator, for debugging More... | |
| tid_t | tid () const |
| ID of the transaction that owns this structure. More... | |
| void | set_tid (const tid_t &t) |
| See above. More... | |
| xct_lock_entry_t * | link_to_new_request (lock_queue_t *queue, lock_queue_entry_t *entry) |
| Each thread has a wait_map. More... | |
| void | remove_request (xct_lock_entry_t *entry) |
| XctLockHashMap & | get_private_hashmap () |
Public Attributes | |
| xct_lock_entry_t * | _head |
| xct_lock_entry_t * | _tail |
| XctLockHashMap | _hashmap |
| srwlock_t | _shared_latch |
| bool | _permission_to_violate |
| lsn_t | _commit_lsn |
Private Attributes | |
| tid_t | _tid |
| atomic_thread_map_t | _wait_map |
Friends | |
| ostream & | operator<< (ostream &o, const xct_lock_info_t &x) |
| unsafe output operator, for debugging More... | |
Locking-related status of one transaction.
Shared between transaction (xct_t) and lock manager. Note that this object is one-per-transaction, not one-per-lock. The per-lock object is xct_lock_entry_t (xct side) and lock_queue_entry_t (queue side).
| xct_lock_info_t::xct_lock_info_t | ( | ) |
| xct_lock_info_t::~xct_lock_info_t | ( | ) |
| ostream& xct_lock_info_t::dump_locks | ( | ostream & | out | ) | const |
unsafe output operator, for debugging
|
inline |
Returns the private hashmap to check already-granted locks.
| xct_lock_entry_t * xct_lock_info_t::link_to_new_request | ( | lock_queue_t * | queue, |
| lock_queue_entry_t * | entry | ||
| ) |
Each thread has a wait_map.
| void xct_lock_info_t::remove_request | ( | xct_lock_entry_t * | entry | ) |
| xct_lock_info_t * xct_lock_info_t::reset_for_reuse | ( | ) |
Prepare this structure for use by a new transaction. Used by the TLS agent when recycling a structure after the xct that used it goes away.
|
inline |
See above.
|
inline |
ID of the transaction that owns this structure.
|
friend |
unsafe output operator, for debugging
| lsn_t xct_lock_info_t::_commit_lsn |
| XctLockHashMap xct_lock_info_t::_hashmap |
Auxiliary hashmap of the locks acquired by this transaction.
| xct_lock_entry_t* xct_lock_info_t::_head |
| bool xct_lock_info_t::_permission_to_violate |
| srwlock_t xct_lock_info_t::_shared_latch |
| xct_lock_entry_t* xct_lock_info_t::_tail |
|
private |
|
private |
1.8.12