CUBRID Engine  latest
cubload::server_object_loader Class Reference

#include <load_server_loader.hpp>

Inheritance diagram for cubload::server_object_loader:
Inheritance graph
Collaboration diagram for cubload::server_object_loader:
Collaboration graph

Public Member Functions

 server_object_loader ()=delete
 
 server_object_loader (session &session, error_handler &error_handler)
 
 ~server_object_loader () override=default
 
void init (class_id clsid) override
 
void destroy () override
 
void start_line (int object_id) override
 
void process_line (constant_type *cons) override
 
void finish_line () override
 
void flush_records () override
 
std::size_t get_rows_number () override
 
- Public Member Functions inherited from cubload::object_loader
virtual ~object_loader ()=default
 

Private Member Functions

int process_constant (constant_type *cons, const attribute &attr)
 
int process_generic_constant (constant_type *cons, const attribute &attr)
 
int process_monetary_constant (constant_type *cons, const attribute &attr)
 
int process_collection_constant (constant_type *cons, const attribute &attr)
 
void clear_db_values ()
 
db_valueget_attribute_db_value (size_t attr_index)
 
void start_scancache (const OID &class_oid)
 
void stop_scancache ()
 
void start_attrinfo (const OID &class_oid)
 
void stop_attrinfo ()
 

Private Attributes

sessionm_session
 
error_handlerm_error_handler
 
cubthread::entrym_thread_ref
 
class_id m_clsid
 
const class_entrym_class_entry
 
bool m_attrinfo_started
 
heap_cache_attrinfo m_attrinfo
 
std::vector< db_valuem_db_values
 
std::vector< record_descriptorm_recdes_collected
 
bool m_scancache_started
 
heap_scancache m_scancache
 
std::size_t m_rows
 

Detailed Description

Definition at line 71 of file load_server_loader.hpp.

Constructor & Destructor Documentation

cubload::server_object_loader::server_object_loader ( )
delete
cubload::server_object_loader::server_object_loader ( session session,
error_handler error_handler 
)

Definition at line 366 of file load_server_loader.cpp.

cubload::server_object_loader::~server_object_loader ( )
overridedefault

Member Function Documentation

void cubload::server_object_loader::clear_db_values ( )
private

Definition at line 838 of file load_server_loader.cpp.

References db_value_clear(), heap_attrinfo_clear_dbvalues(), i, m_attrinfo, and m_db_values.

Referenced by finish_line().

Here is the caller graph for this function:

void cubload::server_object_loader::destroy ( )
overridevirtual
db_value & cubload::server_object_loader::get_attribute_db_value ( size_t  attr_index)
private

Definition at line 855 of file load_server_loader.cpp.

References assert, and m_db_values.

Referenced by process_collection_constant(), process_generic_constant(), process_line(), and process_monetary_constant().

Here is the caller graph for this function:

std::size_t cubload::server_object_loader::get_rows_number ( )
overridevirtual

Implements cubload::object_loader.

Definition at line 612 of file load_server_loader.cpp.

References m_rows.

void cubload::server_object_loader::start_attrinfo ( const OID class_oid)
private

Definition at line 924 of file load_server_loader.cpp.

References heap_attrinfo_start(), LOADDB_MSG_LOAD_FAIL, m_attrinfo, m_attrinfo_started, m_error_handler, m_thread_ref, NO_ERROR, NULL, and cubload::error_handler::on_failure_with_line().

Referenced by init().

Here is the caller graph for this function:

void cubload::server_object_loader::start_line ( int  object_id)
overridevirtual

Implements cubload::object_loader.

Definition at line 419 of file load_server_loader.cpp.

void cubload::server_object_loader::start_scancache ( const OID class_oid)
private
void cubload::server_object_loader::stop_attrinfo ( )
private

Definition at line 937 of file load_server_loader.cpp.

References heap_attrinfo_end(), m_attrinfo, m_attrinfo_started, and m_thread_ref.

Referenced by destroy().

Here is the caller graph for this function:

Member Data Documentation

heap_cache_attrinfo cubload::server_object_loader::m_attrinfo
private
bool cubload::server_object_loader::m_attrinfo_started
private

Definition at line 110 of file load_server_loader.hpp.

Referenced by start_attrinfo(), and stop_attrinfo().

class_id cubload::server_object_loader::m_clsid
private

Definition at line 107 of file load_server_loader.hpp.

Referenced by destroy(), and init().

std::vector<db_value> cubload::server_object_loader::m_db_values
private

Definition at line 112 of file load_server_loader.hpp.

Referenced by clear_db_values(), and get_attribute_db_value().

std::vector<record_descriptor> cubload::server_object_loader::m_recdes_collected
private

Definition at line 113 of file load_server_loader.hpp.

Referenced by destroy(), finish_line(), and flush_records().

std::size_t cubload::server_object_loader::m_rows
private

Definition at line 118 of file load_server_loader.hpp.

Referenced by flush_records(), get_rows_number(), and process_line().

heap_scancache cubload::server_object_loader::m_scancache
private

Definition at line 116 of file load_server_loader.hpp.

Referenced by flush_records(), start_scancache(), and stop_scancache().

bool cubload::server_object_loader::m_scancache_started
private

Definition at line 115 of file load_server_loader.hpp.

Referenced by finish_line(), start_scancache(), and stop_scancache().

session& cubload::server_object_loader::m_session
private

Definition at line 103 of file load_server_loader.hpp.

Referenced by finish_line(), flush_records(), init(), and process_line().

cubthread::entry* cubload::server_object_loader::m_thread_ref
private

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