CUBRID Engine
latest
|
#include <load_server_loader.hpp>
Public Member Functions | |
server_class_installer ()=delete | |
server_class_installer (session &session, error_handler &error_handler) | |
~server_class_installer () override=default | |
void | set_class_id (class_id clsid) override |
void | check_class (const char *class_name, int class_id) override |
int | install_class (const char *class_name) override |
void | install_class (string_type *class_name, class_command_spec_type *cmd_spec) override |
bool | is_class_ignored (const char *classname) |
void | to_lowercase_identifier (const char *idname, cubmem::extensible_block &eb) |
Public Member Functions inherited from cubload::class_installer | |
virtual | ~class_installer ()=default |
Private Member Functions | |
LC_FIND_CLASSNAME | locate_class (const char *class_name, OID &class_oid) |
void | register_class_with_attributes (const char *class_name, class_command_spec_type *cmd_spec) |
void | get_class_attributes (heap_cache_attrinfo &attrinfo, attribute_type attr_type, or_attribute *&or_attributes, int *n_attributes) |
Private Attributes | |
session & | m_session |
error_handler & | m_error_handler |
class_id | m_clsid |
Definition at line 43 of file load_server_loader.hpp.
|
delete |
cubload::server_class_installer::server_class_installer | ( | session & | session, |
error_handler & | error_handler | ||
) |
Definition at line 46 of file load_server_loader.cpp.
|
overridedefault |
|
overridevirtual |
Implements cubload::class_installer.
Definition at line 61 of file load_server_loader.cpp.
References cubload::session::append_log_msg(), cubmem::extensible_block::get_read_ptr(), is_class_ignored(), LC_CLASSNAME_EXIST, LOADDB_MSG_CLASS_TITLE, LOADDB_MSG_UNKNOWN_CLASS, locate_class(), m_error_handler, m_session, cubload::error_handler::on_failure_with_line(), and to_lowercase_identifier().
|
private |
Definition at line 305 of file load_server_loader.cpp.
References assert, cubload::LDR_ATTRIBUTE_ANY, cubload::LDR_ATTRIBUTE_CLASS, cubload::LDR_ATTRIBUTE_DEFAULT, and cubload::LDR_ATTRIBUTE_SHARED.
Referenced by register_class_with_attributes().
|
overridevirtual |
Implements cubload::class_installer.
Definition at line 86 of file load_server_loader.cpp.
References NO_ERROR, NULL, and register_class_with_attributes().
|
overridevirtual |
Implements cubload::class_installer.
Definition at line 96 of file load_server_loader.cpp.
References ARG_FILE_LINE, cubload::class_command_spec_type::attr_type, ER_ERROR_SEVERITY, ER_LDR_CLASS_NOT_SUPPORTED, ER_LDR_SHARED_NOT_SUPPORTED, er_set(), cubload::LDR_ATTRIBUTE_CLASS, cubload::LDR_ATTRIBUTE_SHARED, m_error_handler, NULL, cubload::error_handler::on_syntax_failure(), register_class_with_attributes(), and cubload::string_type::val.
Definition at line 334 of file load_server_loader.cpp.
References cubload::session::get_args(), cubmem::extensible_block::get_ptr(), cubload::load_args::ignore_classes, IS_OLD_GLO_CLASS, m_session, and to_lowercase_identifier().
Referenced by check_class(), and register_class_with_attributes().
|
private |
Definition at line 115 of file load_server_loader.cpp.
References BU_LOCK, cubthread::get_entry(), and xlocator_find_class_oid().
Referenced by check_class(), and register_class_with_attributes().
|
private |
Definition at line 122 of file load_server_loader.cpp.
References cubload::session::append_log_msg(), ARG_FILE_LINE, assert, cubload::class_command_spec_type::attr_list, cubload::class_command_spec_type::attr_type, db_private_free_and_init, or_attribute::def_order, or_attribute::domain, ER_ERROR_SEVERITY, ER_OBJ_ATTRIBUTE_CANT_BE_NULL, er_set(), ER_SM_ATTRIBUTE_NOT_FOUND, cubload::session::get_args(), get_class_attributes(), cubload::session::get_class_registry(), cubthread::get_entry(), cubload::attribute::get_index(), cubmem::extensible_block::get_read_ptr(), heap_attrinfo_end(), heap_attrinfo_start(), heap_get_class_record(), heap_scancache_end(), heap_scancache_quick_start_root_hfid(), i, or_attribute::id, is_class_ignored(), cubload::session::is_failed(), LC_CLASSNAME_EXIST, cubload::LDR_ATTRIBUTE_DEFAULT, LOADDB_MSG_IGNORED_CLASS, LOADDB_MSG_LOAD_FAIL, LOADDB_MSG_UNKNOWN_CLASS, locate_class(), m_clsid, m_error_handler, m_session, cubload::string_type::next, NO_ERROR, NULL, cubload::NULL_CLASS_ID, OID_SET_NULL, cubload::error_handler::on_error_with_line(), cubload::error_handler::on_failure(), cubload::error_handler::on_failure_with_line(), or_get_attrname(), PEEK, cubload::class_registry::register_class(), cubload::class_registry::register_ignored_class(), S_SUCCESS, cubload::load_args::syntax_check, to_lowercase_identifier(), and cubload::string_type::val.
Referenced by install_class().
|
overridevirtual |
Implements cubload::class_installer.
Definition at line 55 of file load_server_loader.cpp.
References m_clsid.
void cubload::server_class_installer::to_lowercase_identifier | ( | const char * | idname, |
cubmem::extensible_block & | eb | ||
) |
Definition at line 358 of file load_server_loader.cpp.
References cubmem::extensible_block::extend_to(), cubmem::extensible_block::get_ptr(), intl_identifier_lower(), and intl_identifier_lower_string_size().
Referenced by check_class(), is_class_ignored(), and register_class_with_attributes().
|
private |
Definition at line 63 of file load_server_loader.hpp.
Referenced by register_class_with_attributes(), and set_class_id().
|
private |
Definition at line 61 of file load_server_loader.hpp.
Referenced by check_class(), install_class(), and register_class_with_attributes().
|
private |
Definition at line 60 of file load_server_loader.hpp.
Referenced by check_class(), is_class_ignored(), and register_class_with_attributes().