#include <LogicalTxnParticipantFactory.h>
Inheritance diagram for LogicalTxnParticipantFactory:
Public Member Functions | |
virtual | ~LogicalTxnParticipantFactory () |
virtual SharedLogicalTxnParticipant | loadParticipant (LogicalTxnClassId classId, ByteInputStream &logStream)=0 |
Recovers a LogicalTxnParticipant from the log. |
Definition at line 35 of file LogicalTxnParticipantFactory.h.
LogicalTxnParticipantFactory::~LogicalTxnParticipantFactory | ( | ) | [virtual] |
virtual SharedLogicalTxnParticipant LogicalTxnParticipantFactory::loadParticipant | ( | LogicalTxnClassId | classId, | |
ByteInputStream & | logStream | |||
) | [pure virtual] |
Recovers a LogicalTxnParticipant from the log.
Using the classId to determine the participant type to create, the factory reads required constructor parameters from the log input stream. The factory may peool participant instances; i.e. when the same constructor parameters are encountered a second time, the factory can return the same instance. (TODO: refine this when parallelized recovery is implemented.) The implementation must consume ALL log data for this record, even if some of it turns out to be unneeded.
classId | the LogicalTxnClassId recorded when the participant was logged while online | |
logStream | the log information written by the participant's describeParticipant() implementation |
Implemented in BTreeRecoveryFactory, FtrsTableWriterFactory, DatabaseTest, and LogicalTxnTest.
Referenced by LogicalRecoveryTxn::recoverParticipant().