Zero  0.1.0
Classes | Macros | Functions | Variables
xct.cpp File Reference
#include "w_defines.h"
#include <new>
#include "sm_base.h"
#include "tls.h"
#include "lock.h"
#include "xct.h"
#include "lock_x.h"
#include "lock_lil.h"
#include "sm.h"
#include <sstream>
#include "chkpt.h"
#include "logrec.h"
#include "buffer_pool.hpp"
#include "lock_raw.h"
#include "log_lsn_tracker.h"
#include "log_core.h"
#include "xct_logger.h"
#include "allocator.h"

Classes

struct  lock_info_ptr
 
struct  lil_lock_info_ptr
 

Macros

#define SM_SOURCE
 
#define XCT_C
 
#define DBGX(arg)   DBG(<< "tid." << _tid arg)
 
#define UNDO_FUDGE_FACTOR(t, nbytes)   int((logfudge_factors[t])*(nbytes))
 

Functions

 DECLARE_TLS (block_pool< xct_t >, xct_pool)
 
 DECLARE_TLS (block_pool< xct_t::xct_core >, xct_core_pool)
 
template<>
xct_t::xct_core * sm_tls_allocator::allocate< xct_t::xct_core > (size_t)
 
 DECLARE_TLS (lock_info_ptr, agent_lock_info)
 
 DECLARE_TLS (lil_lock_info_ptr, agent_lil_lock_info)
 
 DEFINE_SM_ALLOC (xct_t)
 
 DEFINE_SM_ALLOC (xct_t::xct_core)
 
ostream & operator<< (ostream &o, const xct_t &x)
 

Variables

double logfudge_factors [logrec_t::t_max_logrec]
 

Macro Definition Documentation

§ DBGX

#define DBGX (   arg)    DBG(<< "tid." << _tid arg)

§ SM_SOURCE

#define SM_SOURCE

§ UNDO_FUDGE_FACTOR

#define UNDO_FUDGE_FACTOR (   t,
  nbytes 
)    int((logfudge_factors[t])*(nbytes))

§ XCT_C

#define XCT_C

Function Documentation

§ DECLARE_TLS() [1/4]

DECLARE_TLS ( block_pool< xct_t ,
xct_pool   
)

§ DECLARE_TLS() [2/4]

DECLARE_TLS ( block_pool< xct_t::xct_core >  ,
xct_core_pool   
)

§ DECLARE_TLS() [3/4]

DECLARE_TLS ( lock_info_ptr  ,
agent_lock_info   
)

§ DECLARE_TLS() [4/4]

DECLARE_TLS ( lil_lock_info_ptr  ,
agent_lil_lock_info   
)

§ DEFINE_SM_ALLOC() [1/2]

DEFINE_SM_ALLOC ( xct_t  )

§ DEFINE_SM_ALLOC() [2/2]

DEFINE_SM_ALLOC ( xct_t::xct_core  )

§ operator<<()

ostream& operator<< ( ostream &  o,
const xct_t x 
)

§ sm_tls_allocator::allocate< xct_t::xct_core >()

template<>
xct_t::xct_core* sm_tls_allocator::allocate< xct_t::xct_core > ( size_t  )

Variable Documentation

§ logfudge_factors

double logfudge_factors[logrec_t::t_max_logrec]