예제 #1
0
ExecutorContext::ExecutorContext(int64_t siteId,
                CatalogId partitionId,
                UndoQuantum *undoQuantum,
                Topend* topend,
                Pool* tempStringPool,
                VoltDBEngine* engine,
                std::string hostname,
                CatalogId hostId,
                DRTupleStream *drStream,
                DRTupleStream *drReplicatedStream) :
    m_topEnd(topend),
    m_tempStringPool(tempStringPool),
    m_undoQuantum(undoQuantum),
    m_drStream(drStream),
    m_drReplicatedStream(drReplicatedStream),
    m_engine(engine),
    m_txnId(0),
    m_spHandle(0),
    m_lastCommittedSpHandle(0),
    m_siteId(siteId),
    m_partitionId(partitionId),
    m_hostname(hostname),
    m_hostId(hostId),
    m_epoch(0) // set later
{
    (void)pthread_once(&static_keyOnce, createThreadLocalKey);
    bindToThread();
}
예제 #2
0
ExecutorContext::ExecutorContext(int64_t siteId,
                CatalogId partitionId,
                UndoQuantum *undoQuantum,
                Topend* topend,
                Pool* tempStringPool,
                bool exportEnabled,
                std::string hostname,
                CatalogId hostId) :
    m_topEnd(topend), m_tempStringPool(tempStringPool),
    m_undoQuantum(undoQuantum), m_txnId(0),
    m_lastCommittedTxnId(0),
    m_siteId(siteId), m_partitionId(partitionId),
    m_hostname(hostname), m_hostId(hostId),
    m_exportEnabled(exportEnabled), m_epoch(0) // set later
{
    (void)pthread_once(&static_keyOnce, createThreadLocalKey);
    bindToThread();
}