CUBRID Engine  latest
cubthread::entry Class Reference

#include <thread_entry.hpp>

Collaboration diagram for cubthread::entry:
Collaboration graph

Public Types

enum  status {
  status::TS_DEAD, status::TS_FREE, status::TS_RUN, status::TS_WAIT,
  status::TS_CHECK
}
 

Public Member Functions

 entry ()
 
 ~entry ()
 
void request_lock_free_transactions (void)
 
thread_id_t get_id ()
 
pthread_t get_posix_id ()
 
void register_id ()
 
void unregister_id ()
 
bool is_on_current_thread () const
 
void return_lock_free_transaction_entries (void)
 
void lock (void)
 
void unlock (void)
 
cuberr::contextget_error_context (void)
 
cubbase::alloc_trackerget_alloc_tracker (void)
 
cubbase::pgbuf_trackerget_pgbuf_tracker (void)
 
cubsync::critical_section_trackerget_csect_tracker (void)
 
log_system_tdesget_system_tdes (void)
 
void set_system_tdes (log_system_tdes *sys_tdes)
 
void reset_system_tdes (void)
 
void claim_system_worker ()
 
void retire_system_worker ()
 
void end_resource_tracks (void)
 
void push_resource_tracks (void)
 
void pop_resource_tracks (void)
 
void assign_lf_tran_index (lockfree::tran::index idx)
 
lockfree::tran::index pull_lf_tran_index ()
 
lockfree::tran::index get_lf_tran_index ()
 

Public Attributes

int index
 
thread_type type
 
thread_id_t emulate_tid
 
int client_id
 
int tran_index
 
int private_lru_index
 
pthread_mutex_t tran_index_lock
 
unsigned int rid
 
status m_status
 
pthread_mutex_t th_entry_lock
 
pthread_cond_t wakeup_cond
 
HL_HEAPID private_heap_id
 
adj_arraycnv_adj_buffer [3]
 
css_conn_entryconn_entry
 
xasl_unpack_infoxasl_unpack_info_ptr
 
int xasl_errcode
 
int xasl_recursion_depth
 
unsigned int rand_seed
 
struct drand48_data rand_buf
 
thread_resume_suspend_status resume_status
 
int request_latch_mode
 
int request_fix_count
 
bool victim_request_fail
 
bool interrupted
 
std::atomic_bool shutdown
 
bool check_interrupt
 
bool wait_for_latch_promote
 
entrynext_wait_thrd
 
void * lockwait
 
INT64 lockwait_stime
 
int lockwait_msecs
 
int lockwait_state
 
void * query_entry
 
entrytran_next_wait
 
entryworker_thrd_list
 
struct log_ziplog_zip_undo
 
struct log_ziplog_zip_redo
 
char * log_data_ptr
 
int log_data_length
 
bool no_logging
 
int net_request_index
 
struct vacuum_workervacuum_worker
 
bool sort_stats_active
 
EVENT_STAT event_stats
 
int trace_format
 
bool on_trace
 
bool clear_trace
 
lf_tran_entrytran_entries [THREAD_TS_COUNT]
 
fi_test_itemfi_test_array
 
int count_private_allocators
 
int m_qlist_count
 
cubload::driverm_loaddb_driver
 

Private Member Functions

void clear_resources (void)
 

Private Attributes

thread_id_t m_id
 
cuberr::context m_error
 
bool m_cleared
 
cubbase::alloc_trackerm_alloc_tracker
 
cubbase::pgbuf_trackerm_pgbuf_tracker
 
cubsync::critical_section_trackerm_csect_tracker
 
log_system_tdesm_systdes
 
lockfree::tran::index m_lf_tran_index
 

Detailed Description

Definition at line 189 of file thread_entry.hpp.

Member Enumeration Documentation

Enumerator
TS_DEAD 
TS_FREE 
TS_RUN 
TS_WAIT 
TS_CHECK 

Definition at line 196 of file thread_entry.hpp.

Constructor & Destructor Documentation

cubthread::entry::~entry ( void  )

Definition at line 191 of file thread_entry.cpp.

References clear_resources(), m_alloc_tracker, m_csect_tracker, and m_pgbuf_tracker.

Member Function Documentation

void cubthread::entry::assign_lf_tran_index ( lockfree::tran::index  idx)

Definition at line 405 of file thread_entry.cpp.

References m_lf_tran_index.

Referenced by cubthread::manager::init_entries(), and cubthread::initialize_thread_entries().

Here is the caller graph for this function:

void cubthread::entry::claim_system_worker ( )

Definition at line 389 of file thread_entry.cpp.

References assert, LOG_SYSTEM_TRAN_INDEX, m_systdes, NULL, and tran_index.

Referenced by index_builder_loader_context::on_create(), and vacuum_init_thread_context().

Here is the caller graph for this function:

void cubthread::entry::clear_resources ( void  )
private
void cubthread::entry::end_resource_tracks ( void  )
cubbase::alloc_tracker& cubthread::entry::get_alloc_tracker ( void  )
inline

Definition at line 302 of file thread_entry.hpp.

Referenced by db_private_alloc_debug(), db_private_realloc_debug(), and db_private_realloc_external().

Here is the caller graph for this function:

cubsync::critical_section_tracker& cubthread::entry::get_csect_tracker ( void  )
inline

Definition at line 310 of file thread_entry.hpp.

cuberr::context& cubthread::entry::get_error_context ( void  )
inline
thread_id_t cubthread::entry::get_id ( )

Definition at line 280 of file thread_entry.cpp.

References m_id.

lockfree::tran::index cubthread::entry::get_lf_tran_index ( )

Definition at line 419 of file thread_entry.cpp.

References m_lf_tran_index.

Referenced by cubthread::lockfree_hashmap< Key, T >::iterator::iterator().

Here is the caller graph for this function:

cubbase::pgbuf_tracker& cubthread::entry::get_pgbuf_tracker ( void  )
inline

Definition at line 306 of file thread_entry.hpp.

pthread_t cubthread::entry::get_posix_id ( )

Definition at line 286 of file thread_entry.cpp.

References m_id.

Referenced by register_id().

Here is the caller graph for this function:

log_system_tdes* cubthread::entry::get_system_tdes ( void  )
inline

Definition at line 315 of file thread_entry.hpp.

Referenced by vacuum_init_thread_context().

Here is the caller graph for this function:

bool cubthread::entry::is_on_current_thread ( ) const

Definition at line 318 of file thread_entry.cpp.

References m_id.

void cubthread::entry::lock ( void  )

Definition at line 337 of file thread_entry.cpp.

References pthread_mutex_lock, and th_entry_lock.

Referenced by thread_lock_entry().

Here is the caller graph for this function:

void cubthread::entry::pop_resource_tracks ( void  )
lockfree::tran::index cubthread::entry::pull_lf_tran_index ( )

Definition at line 411 of file thread_entry.cpp.

References lockfree::tran::INVALID_INDEX, and m_lf_tran_index.

void cubthread::entry::push_resource_tracks ( void  )
void cubthread::entry::register_id ( )

Definition at line 301 of file thread_entry.cpp.

References assert, get_posix_id(), and m_id.

Referenced by cubthread::entry_manager::create_context(), and cubthread::initialize().

Here is the caller graph for this function:

void cubthread::entry::reset_system_tdes ( void  )
inline

Definition at line 323 of file thread_entry.hpp.

References NULL.

Referenced by log_system_tdes::rv_end_simulation().

Here is the caller graph for this function:

void cubthread::entry::retire_system_worker ( )

Definition at line 397 of file thread_entry.cpp.

References m_systdes, NULL, NULL_TRAN_INDEX, and tran_index.

Referenced by index_builder_loader_context::on_retire().

Here is the caller graph for this function:

void cubthread::entry::return_lock_free_transaction_entries ( void  )

Definition at line 324 of file thread_entry.cpp.

References i, lf_tran_return_entry(), NULL, THREAD_TS_COUNT, and tran_entries.

Referenced by cubthread::manager::return_lock_free_transaction_entries(), and cubthread::return_lock_free_transaction_entries().

Here is the caller graph for this function:

void cubthread::entry::set_system_tdes ( log_system_tdes sys_tdes)
inline

Definition at line 319 of file thread_entry.hpp.

Referenced by log_system_tdes::rv_simulate_system_tdes().

Here is the caller graph for this function:

void cubthread::entry::unlock ( void  )

Definition at line 343 of file thread_entry.cpp.

References pthread_mutex_unlock, and th_entry_lock.

Referenced by thread_unlock_entry().

Here is the caller graph for this function:

void cubthread::entry::unregister_id ( )

Definition at line 312 of file thread_entry.cpp.

References m_id.

Referenced by cubthread::daemon_entry_manager::on_retire(), and cubthread::entry_manager::retire_context().

Here is the caller graph for this function:

Member Data Documentation

bool cubthread::entry::check_interrupt
bool cubthread::entry::clear_trace

Definition at line 272 of file thread_entry.hpp.

Referenced by thread_need_clear_trace(), and thread_set_clear_trace().

int cubthread::entry::client_id

Definition at line 214 of file thread_entry.hpp.

adj_array* cubthread::entry::cnv_adj_buffer[3]

Definition at line 225 of file thread_entry.hpp.

Referenced by clear_resources(), and entry().

int cubthread::entry::count_private_allocators
thread_id_t cubthread::entry::emulate_tid

Definition at line 212 of file thread_entry.hpp.

fi_test_item* cubthread::entry::fi_test_array

Definition at line 278 of file thread_entry.hpp.

bool cubthread::entry::interrupted

Definition at line 240 of file thread_entry.hpp.

void* cubthread::entry::lockwait

Definition at line 246 of file thread_entry.hpp.

int cubthread::entry::lockwait_msecs

Definition at line 248 of file thread_entry.hpp.

int cubthread::entry::lockwait_state

Definition at line 249 of file thread_entry.hpp.

INT64 cubthread::entry::lockwait_stime

Definition at line 247 of file thread_entry.hpp.

int cubthread::entry::log_data_length

Definition at line 257 of file thread_entry.hpp.

char* cubthread::entry::log_data_ptr

Definition at line 256 of file thread_entry.hpp.

Referenced by clear_resources().

struct log_zip* cubthread::entry::log_zip_redo

Definition at line 255 of file thread_entry.hpp.

Referenced by clear_resources().

struct log_zip* cubthread::entry::log_zip_undo

Definition at line 254 of file thread_entry.hpp.

Referenced by clear_resources().

cubbase::alloc_tracker& cubthread::entry::m_alloc_tracker
private
bool cubthread::entry::m_cleared
private

Definition at line 347 of file thread_entry.hpp.

Referenced by clear_resources().

cubsync::critical_section_tracker& cubthread::entry::m_csect_tracker
private
cuberr::context cubthread::entry::m_error
private

Definition at line 344 of file thread_entry.hpp.

thread_id_t cubthread::entry::m_id
private
lockfree::tran::index cubthread::entry::m_lf_tran_index
private

Definition at line 355 of file thread_entry.hpp.

Referenced by assign_lf_tran_index(), get_lf_tran_index(), and pull_lf_tran_index().

cubbase::pgbuf_tracker& cubthread::entry::m_pgbuf_tracker
private
int cubthread::entry::m_qlist_count

Definition at line 282 of file thread_entry.hpp.

Referenced by end_resource_tracks().

log_system_tdes* cubthread::entry::m_systdes
private

Definition at line 353 of file thread_entry.hpp.

Referenced by claim_system_worker(), clear_resources(), and retire_system_worker().

int cubthread::entry::net_request_index

Definition at line 261 of file thread_entry.hpp.

entry* cubthread::entry::next_wait_thrd

Definition at line 244 of file thread_entry.hpp.

bool cubthread::entry::no_logging

Definition at line 259 of file thread_entry.hpp.

Referenced by clear_resources().

bool cubthread::entry::on_trace

Definition at line 271 of file thread_entry.hpp.

Referenced by thread_is_on_trace(), and thread_trace_on().

HL_HEAPID cubthread::entry::private_heap_id
int cubthread::entry::private_lru_index
void* cubthread::entry::query_entry

Definition at line 250 of file thread_entry.hpp.

struct drand48_data cubthread::entry::rand_buf

Definition at line 234 of file thread_entry.hpp.

Referenced by entry().

unsigned int cubthread::entry::rand_seed

Definition at line 233 of file thread_entry.hpp.

Referenced by entry().

int cubthread::entry::request_fix_count

Definition at line 238 of file thread_entry.hpp.

int cubthread::entry::request_latch_mode

Definition at line 237 of file thread_entry.hpp.

unsigned int cubthread::entry::rid

Definition at line 218 of file thread_entry.hpp.

std::atomic_bool cubthread::entry::shutdown
bool cubthread::entry::sort_stats_active

Definition at line 265 of file thread_entry.hpp.

Referenced by thread_get_sort_stats_active(), and thread_set_sort_stats_active().

int cubthread::entry::trace_format

Definition at line 270 of file thread_entry.hpp.

Referenced by thread_set_trace_format().

pthread_mutex_t cubthread::entry::tran_index_lock

Definition at line 217 of file thread_entry.hpp.

Referenced by clear_resources(), and entry().

entry* cubthread::entry::tran_next_wait

Definition at line 251 of file thread_entry.hpp.

struct vacuum_worker* cubthread::entry::vacuum_worker

Definition at line 263 of file thread_entry.hpp.

Referenced by vacuum_init_thread_context().

bool cubthread::entry::victim_request_fail

Definition at line 239 of file thread_entry.hpp.

bool cubthread::entry::wait_for_latch_promote

Definition at line 243 of file thread_entry.hpp.

entry* cubthread::entry::worker_thrd_list

Definition at line 252 of file thread_entry.hpp.

int cubthread::entry::xasl_errcode

Definition at line 230 of file thread_entry.hpp.

int cubthread::entry::xasl_recursion_depth
xasl_unpack_info* cubthread::entry::xasl_unpack_info_ptr

Definition at line 229 of file thread_entry.hpp.


The documentation for this class was generated from the following files: