NCBI C++ ToolKit
|
Search Toolkit Book for MDB_rxbody
The information we store in a single slot of the reader table. More...
Public Attributes | |
volatile txnid_t | mrb_txnid |
Current Transaction ID when this transaction began, or (txnid_t)-1. More... | |
volatile pid_t | mrb_pid |
The process ID of the process owning this reader txn. More... | |
volatile pthread_t | mrb_tid |
The thread ID of the thread owning this txn. More... | |
The information we store in a single slot of the reader table.
In addition to a transaction ID, we also record the process and thread ID that owns a slot, so that we can detect stale information, e.g. threads or processes that went away without cleaning up.
volatile pid_t MDB_rxbody::mrb_pid |
volatile pthread_t MDB_rxbody::mrb_tid |
volatile txnid_t MDB_rxbody::mrb_txnid |
Current Transaction ID when this transaction began, or (txnid_t)-1.
Multiple readers that start at the same time will probably have the same ID here. Again, it's not important to exclude them from anything; all we need to know is which version of the DB they started from so we can avoid overwriting any data used in that particular version.