File boot_sr.c
FileList > cubrid > src > transaction > boot_sr.c
Go to the source code of this file
#include "config.h"
#include <setjmp.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <assert.h>
#include "boot_sr.h"
#include "area_alloc.h"
#include "btree.h"
#include "chartype.h"
#include "dbtran_def.h"
#include "error_manager.h"
#include "system_parameter.h"
#include "object_primitive.h"
#include "locator_sr.h"
#include "heap_file.h"
#include "system_catalog.h"
#include "transform.h"
#include "databases_file.h"
#include "language_support.h"
#include "message_catalog.h"
#include "perf_monitor.h"
#include "porting_inline.hpp"
#include "set_object.h"
#include "util_func.h"
#include "intl_support.h"
#include "serial.h"
#include "server_interface.h"
#include "jansson.h"
#include "pl_sr.h"
#include "xserver_interface.h"
#include "session.h"
#include "event_log.h"
#include "trace_log.h"
#include "tz_support.h"
#include "filter_pred_cache.h"
#include "scan_manager.h"
#include "slotted_page.h"
#include "thread_manager.hpp"
#include "double_write_buffer.hpp"
#include "xasl_cache.h"
#include "log_volids.hpp"
#include "vacuum.h"
#include "tde.h"
#include "porting.h"
#include "log_manager.h"
#include "catalog_class.h"
#include "connection_sr.h"
#include "server_support.h"
#include "px_worker_manager_global.hpp"
#include "tcp.h"
#include "memory_wrapper.hpp"
Classes
Public Types
Public Attributes
Public Static Attributes
Public Functions
| Type |
Name |
| void |
boot_client_all_finalize (int final_level)
|
| const char * |
boot_client_type_to_string (BOOT_CLIENT_TYPE type)
|
| const char * |
boot_db_full_name ()
|
| const char * |
boot_db_name (void)
|
| int |
boot_dbparm_save_volume (THREAD_ENTRY * thread_p, DB_VOLTYPE voltype, VOLID volid)
|
| void |
boot_donot_shutdown_server_at_exit (void)
|
| VOLID |
boot_find_next_permanent_volid (THREAD_ENTRY * thread_p)
|
| int |
boot_find_root_heap (HFID * root_hfid_p)
|
| const char * |
boot_get_lob_path (void)
|
| int |
boot_get_new_volume_name_and_id (THREAD_ENTRY * thread_p, DB_VOLTYPE voltype, const char * given_path, const char * given_name, char * fullname_newvol_out, VOLID * volid_newvol_out)
|
| int |
boot_reset_db_parm (THREAD_ENTRY * thread_p)
|
| int |
boot_reset_mk_after_restart_from_backup (THREAD_ENTRY * thread_p, BO_RESTART_ARG * r_args)
|
| int |
boot_restart_server (THREAD_ENTRY * thread_p, bool print_restart, const char * db_name, bool from_backup, CHECK_ARGS * check_coll_and_timezone, BO_RESTART_ARG * r_args, bool skip_vacuum)
|
| void |
boot_server_all_finalize (THREAD_ENTRY * thread_p, ER_FINAL_CODE is_er_final, BOOT_SERVER_SHUTDOWN_MODE shutdown_common_modules)
|
| void |
boot_server_status (BOOT_SERVER_STATUS status)
|
| bool |
boot_set_skip_check_ct_classes (bool val)
|
| VOLID |
xboot_add_volume_extension (THREAD_ENTRY * thread_p, DBDEF_VOL_EXT_INFO * ext_info)
|
| int |
xboot_backup (THREAD_ENTRY * thread_p, const char * backup_path, FILEIO_BACKUP_LEVEL backup_level, bool delete_unneeded_logarchives, const char * backup_verbose_file, int num_threads, FILEIO_ZIP_METHOD zip_method, FILEIO_ZIP_LEVEL zip_level, int skip_activelog, int sleep_msecs, bool separate_keys)
|
| int |
xboot_check_db_consistency (THREAD_ENTRY * thread_p, int check_flag, OID * oids, int num_oids, BTID * index_btid)
|
| DISK_ISVALID |
xboot_checkdb_table (THREAD_ENTRY * thread_p, int check_flag, OID * oid, BTID * index_btid)
|
| int |
xboot_compact_db (THREAD_ENTRY * thread_p, OID * class_oids, int n_classes, int space_to_process, int instance_lock_timeout, int class_lock_timeout, bool delete_old_repr, OID * last_processed_class_oid, OID * last_processed_oid, int * total_objects, int * failed_objects, int * modified_objects, int * big_objects, int * initial_last_repr_id)
|
| int |
xboot_compact_start (THREAD_ENTRY * thread_p)
|
| int |
xboot_compact_stop (THREAD_ENTRY * thread_p)
|
| int |
xboot_copy (REFPTR(THREAD_ENTRY, thread_p), const char * from_dbname, const char * new_db_name, const char * new_db_path, const char * new_log_path, const char * new_lob_path, const char * new_db_server_host, const char * new_volext_path, const char * fileof_vols_and_copypaths, bool new_db_overwrite)
|
| int |
xboot_delete (const char * db_name, bool force_delete, BOOT_SERVER_SHUTDOWN_MODE shutdown_common_modules)
|
| int |
xboot_emergency_patch (const char * db_name, bool recreate_log, DKNPAGES log_npages, const char * db_locale, FILE * out_fp)
|
| VOLID |
xboot_find_last_permanent (THREAD_ENTRY * thread_p)
|
| VOLID |
xboot_find_last_temp (THREAD_ENTRY * thread_p)
|
| int |
xboot_find_number_permanent_volumes (THREAD_ENTRY * thread_p)
|
| int |
xboot_find_number_temp_volumes (THREAD_ENTRY * thread_p)
|
| const char * |
xboot_get_server_session_key (void)
|
| int |
xboot_heap_compact (THREAD_ENTRY * thread_p, OID * class_oid)
|
| int |
xboot_initialize_server (const BOOT_CLIENT_CREDENTIAL * client_credential, BOOT_DB_PATH_INFO * db_path_info, bool db_overwrite, const char * file_addmore_vols, volatile DKNPAGES db_npages, PGLENGTH db_desired_pagesize, volatile DKNPAGES log_npages, PGLENGTH db_desired_log_page_size, OID * rootclass_oid, HFID * rootclass_hfid, int client_lock_wait, TRAN_ISOLATION client_isolation)
|
| void |
xboot_notify_unregister_client (THREAD_ENTRY * thread_p, int tran_index)
|
| VOLID |
xboot_peek_last_permanent (THREAD_ENTRY * thread_p)
|
| int |
xboot_register_client (THREAD_ENTRY * thread_p, BOOT_CLIENT_CREDENTIAL * client_credential, int client_lock_wait, TRAN_ISOLATION client_isolation, TRAN_STATE * tran_state, BOOT_SERVER_CREDENTIAL * server_credential)
|
| int |
xboot_restart_from_backup (THREAD_ENTRY * thread_p, int print_restart, const char * db_name, BO_RESTART_ARG * r_args)
|
| bool |
xboot_shutdown_server (REFPTR(THREAD_ENTRY, thread_p), ER_FINAL_CODE is_er_final)
|
| int |
xboot_soft_rename (THREAD_ENTRY * thread_p, const char * old_db_name, const char * new_db_name, const char * new_db_path, const char * new_log_path, const char * new_db_server_host, const char * new_volext_path, const char * fileof_vols_and_renamepaths, bool new_db_overwrite, bool extern_rename, bool force_delete)
|
| int |
xboot_unregister_client (REFPTR(THREAD_ENTRY, thread_p), int tran_index)
|
| int |
xcallback_console_print (THREAD_ENTRY * thread_p, char * print_str)
|
Public Static Functions
| Type |
Name |
| int |
boot_after_copydb (THREAD_ENTRY * thread_p)
|
| void |
boot_check_db_at_num_shutdowns (bool force_nshutdowns)
|
| int |
boot_check_permanent_volumes (THREAD_ENTRY * thread_p)
|
| int |
boot_create_all_volumes (THREAD_ENTRY * thread_p, const BOOT_CLIENT_CREDENTIAL * client_credential, const char * db_comments, DKNPAGES db_npages, const char * file_addmore_vols, const char * log_path, const char * log_prefix, DKNPAGES log_npages, int client_lock_wait, TRAN_ISOLATION client_isolation)
|
| void |
boot_ctrl_c_in_init_server (int ignore_signo)
|
| int |
boot_db_parm_update_heap (THREAD_ENTRY * thread_p)
|
| char * |
boot_find_new_db_path (char * db_pathbuf, const char * fileof_vols_and_wherepaths)
|
| int |
boot_find_rest_permanent_volumes (THREAD_ENTRY * thread_p, bool newvolpath, bool use_volinfo, VOLID volid, int(*)(THREAD_ENTRY *thread_p, VOLID xvolid, const char *vlabel, void *args) fun, void * args)
|
| int |
boot_find_rest_volumes (THREAD_ENTRY * thread_p, BO_RESTART_ARG * r_args, VOLID volid, int(*)(THREAD_ENTRY *thread_p, VOLID xvolid, const char *vlabel, void *args) fun, void * args)
|
| int |
boot_generate_tde_keys (THREAD_ENTRY * thread_p)
|
| INTL_CODESET |
boot_get_db_charset_from_header (THREAD_ENTRY * thread_p, const char * log_path, const char * log_prefix)
|
| int |
boot_get_db_parm (THREAD_ENTRY * thread_p, BOOT_DB_PARM * dbparm, OID * dbparm_oid)
|
| int |
boot_make_session_server_key (void)
|
| void |
boot_make_temp_volume_fullname (char * temp_vol_fullname, VOLID temp_volid)
|
| int |
boot_mount (THREAD_ENTRY * thread_p, VOLID volid, const char * vlabel, void * ignore_arg)
|
| int |
boot_parse_add_volume_extensions (THREAD_ENTRY * thread_p, const char * filename_addmore_vols)
|
| int |
boot_remove_all_temp_volumes (THREAD_ENTRY * thread_p, REMOVE_TEMP_VOL_ACTION delete_action)
|
| int |
boot_remove_all_volumes (THREAD_ENTRY * thread_p, const char * db_fullname, const char * log_path, const char * log_prefix, bool dirty_rem, bool force_delete)
|
| int |
boot_remove_temp_volume (THREAD_ENTRY * thread_p, VOLID volid, const char * vlabel)
|
| void |
boot_remove_temp_volumes (THREAD_ENTRY * thread_p)
|
| void |
boot_remove_unknown_temp_volumes (THREAD_ENTRY * thread_p)
|
| void |
boot_remove_useless_path_separator (const char * path, char * new_path)
|
| void |
boot_shutdown_server_at_exit (void)
|
| char * |
boot_volume_info_log_path (char * log_path)
|
Macros
Public Types Documentation
typedef BOOT_DB_PARM
typedef struct boot_dbparm BOOT_DB_PARM;
typedef REMOVE_TEMP_VOL_ACTION
typedef enum remove_temp_vol_action REMOVE_TEMP_VOL_ACTION;
enum boot__sr_8c_1aeb8d583a31cccbb8cf9b452a8e298063
enum boot__sr_8c_1aeb8d583a31cccbb8cf9b452a8e298063 {
CHECK_ONLY = 0,
REPAIR_ALL = 1
};
enum remove_temp_vol_action
enum remove_temp_vol_action {
REMOVE_TEMP_VOL_DEFAULT_ACTION,
ONLY_PHYSICAL_REMOVE_TEMP_VOL_ACTION
};
Public Attributes Documentation
variable boot_Enabled_flush_daemons
bool boot_Enabled_flush_daemons;
variable boot_Host_name
char boot_Host_name[CUB_MAXHOSTNAMELEN];
variable boot_Server_status
BOOT_SERVER_STATUS boot_Server_status;
Public Static Attributes Documentation
variable boot_Db_full_name
char boot_Db_full_name[PATH_MAX];
variable boot_Db_parm
BOOT_DB_PARM* boot_Db_parm;
variable boot_Db_parm_oid
variable boot_Init_server_is_canceled
bool boot_Init_server_is_canceled;
variable boot_Init_server_jmpbuf
jmp_buf boot_Init_server_jmpbuf;
variable boot_Lob_path
char boot_Lob_path[PATH_MAX+ ES_URI_PREFIX_MAX];
variable boot_Server_process_id
int boot_Server_process_id;
variable boot_Server_session_key
char boot_Server_session_key[SERVER_SESSION_KEY_SIZE];
variable boot_Set_server_at_exit
bool boot_Set_server_at_exit;
variable boot_Struct_db_parm
BOOT_DB_PARM boot_Struct_db_parm;
variable skip_to_check_ct_classes_for_rebuild
bool skip_to_check_ct_classes_for_rebuild;
Public Functions Documentation
function boot_client_all_finalize
void boot_client_all_finalize (
int final_level
)
function boot_client_type_to_string
const char * boot_client_type_to_string (
BOOT_CLIENT_TYPE type
)
function boot_db_full_name
const char * boot_db_full_name ()
function boot_db_name
const char * boot_db_name (
void
)
function boot_dbparm_save_volume
int boot_dbparm_save_volume (
THREAD_ENTRY * thread_p,
DB_VOLTYPE voltype,
VOLID volid
)
function boot_donot_shutdown_server_at_exit
void boot_donot_shutdown_server_at_exit (
void
)
function boot_find_next_permanent_volid
VOLID boot_find_next_permanent_volid (
THREAD_ENTRY * thread_p
)
function boot_find_root_heap
int boot_find_root_heap (
HFID * root_hfid_p
)
function boot_get_lob_path
const char * boot_get_lob_path (
void
)
function boot_get_new_volume_name_and_id
int boot_get_new_volume_name_and_id (
THREAD_ENTRY * thread_p,
DB_VOLTYPE voltype,
const char * given_path,
const char * given_name,
char * fullname_newvol_out,
VOLID * volid_newvol_out
)
function boot_reset_db_parm
int boot_reset_db_parm (
THREAD_ENTRY * thread_p
)
function boot_reset_mk_after_restart_from_backup
int boot_reset_mk_after_restart_from_backup (
THREAD_ENTRY * thread_p,
BO_RESTART_ARG * r_args
)
function boot_restart_server
int boot_restart_server (
THREAD_ENTRY * thread_p,
bool print_restart,
const char * db_name,
bool from_backup,
CHECK_ARGS * check_coll_and_timezone,
BO_RESTART_ARG * r_args,
bool skip_vacuum
)
function boot_server_all_finalize
void boot_server_all_finalize (
THREAD_ENTRY * thread_p,
ER_FINAL_CODE is_er_final,
BOOT_SERVER_SHUTDOWN_MODE shutdown_common_modules
)
function boot_server_status
void boot_server_status (
BOOT_SERVER_STATUS status
)
function boot_set_skip_check_ct_classes
bool boot_set_skip_check_ct_classes (
bool val
)
function xboot_add_volume_extension
VOLID xboot_add_volume_extension (
THREAD_ENTRY * thread_p,
DBDEF_VOL_EXT_INFO * ext_info
)
function xboot_backup
int xboot_backup (
THREAD_ENTRY * thread_p,
const char * backup_path,
FILEIO_BACKUP_LEVEL backup_level,
bool delete_unneeded_logarchives,
const char * backup_verbose_file,
int num_threads,
FILEIO_ZIP_METHOD zip_method,
FILEIO_ZIP_LEVEL zip_level,
int skip_activelog,
int sleep_msecs,
bool separate_keys
)
function xboot_check_db_consistency
int xboot_check_db_consistency (
THREAD_ENTRY * thread_p,
int check_flag,
OID * oids,
int num_oids,
BTID * index_btid
)
function xboot_checkdb_table
DISK_ISVALID xboot_checkdb_table (
THREAD_ENTRY * thread_p,
int check_flag,
OID * oid,
BTID * index_btid
)
function xboot_compact_db
int xboot_compact_db (
THREAD_ENTRY * thread_p,
OID * class_oids,
int n_classes,
int space_to_process,
int instance_lock_timeout,
int class_lock_timeout,
bool delete_old_repr,
OID * last_processed_class_oid,
OID * last_processed_oid,
int * total_objects,
int * failed_objects,
int * modified_objects,
int * big_objects,
int * initial_last_repr_id
)
function xboot_compact_start
int xboot_compact_start (
THREAD_ENTRY * thread_p
)
function xboot_compact_stop
int xboot_compact_stop (
THREAD_ENTRY * thread_p
)
function xboot_copy
int xboot_copy (
REFPTR ( THREAD_ENTRY , thread_p),
const char * from_dbname,
const char * new_db_name,
const char * new_db_path,
const char * new_log_path,
const char * new_lob_path,
const char * new_db_server_host,
const char * new_volext_path,
const char * fileof_vols_and_copypaths,
bool new_db_overwrite
)
function xboot_delete
int xboot_delete (
const char * db_name,
bool force_delete,
BOOT_SERVER_SHUTDOWN_MODE shutdown_common_modules
)
function xboot_emergency_patch
int xboot_emergency_patch (
const char * db_name,
bool recreate_log,
DKNPAGES log_npages,
const char * db_locale,
FILE * out_fp
)
function xboot_find_last_permanent
VOLID xboot_find_last_permanent (
THREAD_ENTRY * thread_p
)
function xboot_find_last_temp
VOLID xboot_find_last_temp (
THREAD_ENTRY * thread_p
)
function xboot_find_number_permanent_volumes
int xboot_find_number_permanent_volumes (
THREAD_ENTRY * thread_p
)
function xboot_find_number_temp_volumes
int xboot_find_number_temp_volumes (
THREAD_ENTRY * thread_p
)
function xboot_get_server_session_key
const char * xboot_get_server_session_key (
void
)
function xboot_heap_compact
int xboot_heap_compact (
THREAD_ENTRY * thread_p,
OID * class_oid
)
function xboot_initialize_server
int xboot_initialize_server (
const BOOT_CLIENT_CREDENTIAL * client_credential,
BOOT_DB_PATH_INFO * db_path_info,
bool db_overwrite,
const char * file_addmore_vols,
volatile DKNPAGES db_npages,
PGLENGTH db_desired_pagesize,
volatile DKNPAGES log_npages,
PGLENGTH db_desired_log_page_size,
OID * rootclass_oid,
HFID * rootclass_hfid,
int client_lock_wait,
TRAN_ISOLATION client_isolation
)
function xboot_notify_unregister_client
void xboot_notify_unregister_client (
THREAD_ENTRY * thread_p,
int tran_index
)
function xboot_peek_last_permanent
VOLID xboot_peek_last_permanent (
THREAD_ENTRY * thread_p
)
function xboot_register_client
int xboot_register_client (
THREAD_ENTRY * thread_p,
BOOT_CLIENT_CREDENTIAL * client_credential,
int client_lock_wait,
TRAN_ISOLATION client_isolation,
TRAN_STATE * tran_state,
BOOT_SERVER_CREDENTIAL * server_credential
)
function xboot_restart_from_backup
int xboot_restart_from_backup (
THREAD_ENTRY * thread_p,
int print_restart,
const char * db_name,
BO_RESTART_ARG * r_args
)
function xboot_shutdown_server
bool xboot_shutdown_server (
REFPTR ( THREAD_ENTRY , thread_p),
ER_FINAL_CODE is_er_final
)
function xboot_soft_rename
int xboot_soft_rename (
THREAD_ENTRY * thread_p,
const char * old_db_name,
const char * new_db_name,
const char * new_db_path,
const char * new_log_path,
const char * new_db_server_host,
const char * new_volext_path,
const char * fileof_vols_and_renamepaths,
bool new_db_overwrite,
bool extern_rename,
bool force_delete
)
function xboot_unregister_client
int xboot_unregister_client (
REFPTR ( THREAD_ENTRY , thread_p),
int tran_index
)
function xcallback_console_print
int xcallback_console_print (
THREAD_ENTRY * thread_p,
char * print_str
)
Public Static Functions Documentation
function boot_after_copydb
static int boot_after_copydb (
THREAD_ENTRY * thread_p
)
function boot_check_db_at_num_shutdowns
static void boot_check_db_at_num_shutdowns (
bool force_nshutdowns
)
function boot_check_permanent_volumes
static int boot_check_permanent_volumes (
THREAD_ENTRY * thread_p
)
function boot_create_all_volumes
static int boot_create_all_volumes (
THREAD_ENTRY * thread_p,
const BOOT_CLIENT_CREDENTIAL * client_credential,
const char * db_comments,
DKNPAGES db_npages,
const char * file_addmore_vols,
const char * log_path,
const char * log_prefix,
DKNPAGES log_npages,
int client_lock_wait,
TRAN_ISOLATION client_isolation
)
function boot_ctrl_c_in_init_server
static void boot_ctrl_c_in_init_server (
int ignore_signo
)
function boot_db_parm_update_heap
static int boot_db_parm_update_heap (
THREAD_ENTRY * thread_p
)
function boot_find_new_db_path
static char * boot_find_new_db_path (
char * db_pathbuf,
const char * fileof_vols_and_wherepaths
)
function boot_find_rest_permanent_volumes
static int boot_find_rest_permanent_volumes (
THREAD_ENTRY * thread_p,
bool newvolpath,
bool use_volinfo,
VOLID volid,
int (*)( THREAD_ENTRY *thread_p, VOLID xvolid , const char *vlabel, void *args) fun,
void * args
)
function boot_find_rest_volumes
static int boot_find_rest_volumes (
THREAD_ENTRY * thread_p,
BO_RESTART_ARG * r_args,
VOLID volid,
int (*)( THREAD_ENTRY *thread_p, VOLID xvolid , const char *vlabel, void *args) fun,
void * args
)
function boot_generate_tde_keys
static int boot_generate_tde_keys (
THREAD_ENTRY * thread_p
)
static INTL_CODESET boot_get_db_charset_from_header (
THREAD_ENTRY * thread_p,
const char * log_path,
const char * log_prefix
)
function boot_get_db_parm
static int boot_get_db_parm (
THREAD_ENTRY * thread_p,
BOOT_DB_PARM * dbparm,
OID * dbparm_oid
)
function boot_make_session_server_key
static int boot_make_session_server_key (
void
)
function boot_make_temp_volume_fullname
static void boot_make_temp_volume_fullname (
char * temp_vol_fullname,
VOLID temp_volid
)
function boot_mount
static int boot_mount (
THREAD_ENTRY * thread_p,
VOLID volid,
const char * vlabel,
void * ignore_arg
)
function boot_parse_add_volume_extensions
static int boot_parse_add_volume_extensions (
THREAD_ENTRY * thread_p,
const char * filename_addmore_vols
)
function boot_remove_all_temp_volumes
static int boot_remove_all_temp_volumes (
THREAD_ENTRY * thread_p,
REMOVE_TEMP_VOL_ACTION delete_action
)
function boot_remove_all_volumes
static int boot_remove_all_volumes (
THREAD_ENTRY * thread_p,
const char * db_fullname,
const char * log_path,
const char * log_prefix,
bool dirty_rem,
bool force_delete
)
function boot_remove_temp_volume
static int boot_remove_temp_volume (
THREAD_ENTRY * thread_p,
VOLID volid,
const char * vlabel
)
function boot_remove_temp_volumes
static void boot_remove_temp_volumes (
THREAD_ENTRY * thread_p
)
function boot_remove_unknown_temp_volumes
static void boot_remove_unknown_temp_volumes (
THREAD_ENTRY * thread_p
)
function boot_remove_useless_path_separator
static void boot_remove_useless_path_separator (
const char * path,
char * new_path
)
function boot_shutdown_server_at_exit
static void boot_shutdown_server_at_exit (
void
)
function boot_volume_info_log_path
static char * boot_volume_info_log_path (
char * log_path
)
Macro Definition Documentation
define BOOTSR_MAX_LINE
#define BOOTSR_MAX_LINE `500`
#define BOOT_FORMAT_MAX_LENGTH `500`
define BOOT_LEAVE_SAFE_OSDISK_PARTITION_FREE_SPACE
#define BOOT_LEAVE_SAFE_OSDISK_PARTITION_FREE_SPACE `(1250 * ( IO_DEFAULT_PAGE_SIZE / IO_PAGESIZE )) /* 5 Mbytes */`
define BOOT_LOB_TEMP_DIR_KEYWORD
#define BOOT_LOB_TEMP_DIR_KEYWORD `"ces"`
The documentation for this class was generated from the following file cubrid/src/transaction/boot_sr.c