File unload_schema.c¶
FileList > cubrid > src > executables > unload_schema.c
Go to the source code of this file
#include "config.h"#include <stdio.h>#include <stdlib.h>#include <errno.h>#include <string.h>#include <unistd.h>#include <sys/types.h>#include <sys/stat.h>#include <assert.h>#include "db.h"#include "extract_schema.hpp"#include "authenticate.h"#include "schema_manager.h"#include "trigger_description.hpp"#include "unload_object_file.h"#include "object_primitive.h"#include "parser.h"#include "printer.hpp"#include "message_catalog.h"#include "utility.h"#include "unloaddb.h"#include "execute_schema.h"#include "set_object.h"#include "jsp_cl.h"#include "class_object.h"#include "object_print.h"#include "dbtype.h"#include "tde.h"#include "sp_catalog.hpp"
Public Types¶
| Type | Name |
|---|---|
| enum | ALTER_SERIAL_VALUE_INDEX |
| enum | ATTRIBUTE_QUALIFIER |
| enum | EXTRACT_CLASS_TYPE |
| enum | METHOD_QUALIFIER |
| enum | RESOLUTION_QUALIFIER |
| enum | SERIAL_VALUE_INDEX |
| enum | SYNONYM_VALUE_INDEX |
Public Functions¶
| Type | Name |
|---|---|
| int | create_filename_indexes (const char * output_dirname, const char * output_prefix, char * output_filename_p, const size_t filename_size) |
| int | create_filename_schema (const char * output_dirname, const char * output_prefix, char * output_filename_p, const size_t filename_size) |
| int | create_filename_trigger (const char * output_dirname, const char * output_prefix, char * output_filename_p, const size_t filename_size) |
| int | extract_classes_to_file (extract_context & ctxt) |
| int | extract_indexes_to_file (extract_context & ctxt, const char * output_filename) |
| int | extract_triggers (extract_context & ctxt, print_output & output_ctx) |
| int | extract_triggers_to_file (extract_context & ctxt, const char * output_filename) |
Public Static Functions¶
Macros¶
| Type | Name |
|---|---|
| define | CLASS_NAME_MAX 80 |
| define | CLASS_SUFFIX "\_class" |
| define | EX_ERROR_CHECK (c, d, m) /* multi line expression */ |
| define | FK_SUFFIX "\_fk" |
| define | GRANT_SUFFIX "\_grant" |
| define | INDEX_NAME "\_indexes" |
| define | PK_SUFFIX "\_pk" |
| define | PROCEDURE_SUFFIX "\_procedure" |
| define | SCHEMA_INFO "\_schema\_info" |
| define | SCHEMA_NAME "\_schema" |
| define | SERIAL_SUFFIX "\_serial" |
| define | SERVER_SUFFIX "\_server" |
| define | SERVER_VALUE_INDEX_MAX (10) |
| define | SYNONYM_SUFFIX "\_synonym" |
| define | TRIGGER_NAME "\_trigger" |
| define | UK_SUFFIX "\_uk" |
| define | USER_SUFFIX "\_user" |
| define | VCLASS_QUERY_SPEC_SUFFIX "\_vclass\_query\_spec" |
| define | VCLASS_SUFFIX "\_vclass" |
Public Types Documentation¶
enum ALTER_SERIAL_VALUE_INDEX¶
enum ALTER_SERIAL_VALUE_INDEX {
ALTER_SERIAL_UNIQUE_NAME,
ALTER_SERIAL_NAME,
ALTER_SERIAL_OWNER_NAME,
ALTER_SERIAL_CURRENT_VAL,
ALTER_SERIAL_INCREMENT_VAL,
ALTER_SERIAL_MAX_VAL,
ALTER_SERIAL_MIN_VAL,
ALTER_SERIAL_CYCLIC,
ALTER_SERIAL_STARTED,
ALTER_SERIAL_CACHED_NUM,
ALTER_SERIAL_CLASS_NAME,
ALTER_SERIAL_COMMENT,
ALTER_SERIAL_VALUE_INDEX_MAX
};
enum ATTRIBUTE_QUALIFIER¶
enum EXTRACT_CLASS_TYPE¶
enum METHOD_QUALIFIER¶
enum RESOLUTION_QUALIFIER¶
enum SERIAL_VALUE_INDEX¶
enum SERIAL_VALUE_INDEX {
SERIAL_UNIQUE_NAME,
SERIAL_NAME,
SERIAL_OWNER_NAME,
SERIAL_CURRENT_VAL,
SERIAL_INCREMENT_VAL,
SERIAL_MAX_VAL,
SERIAL_MIN_VAL,
SERIAL_CYCLIC,
SERIAL_STARTED,
SERIAL_CACHED_NUM,
SERIAL_COMMENT,
SERIAL_VALUE_INDEX_MAX
};
enum SYNONYM_VALUE_INDEX¶
enum SYNONYM_VALUE_INDEX {
SYNONYM_UNIQUE_NAME,
SYNONYM_OWNER,
SYNONYM_IS_PUBLIC,
SYNONYM_TARGET_NAME,
SYNONYM_TARGET_OWNER_NAME,
SYNONYM_COMMENT,
SYNONYM_VALUE_INDEX_MAX
};
Public Functions Documentation¶
function create_filename_indexes¶
int create_filename_indexes (
const char * output_dirname,
const char * output_prefix,
char * output_filename_p,
const size_t filename_size
)
function create_filename_schema¶
int create_filename_schema (
const char * output_dirname,
const char * output_prefix,
char * output_filename_p,
const size_t filename_size
)
function create_filename_trigger¶
int create_filename_trigger (
const char * output_dirname,
const char * output_prefix,
char * output_filename_p,
const size_t filename_size
)
function extract_classes_to_file¶
function extract_indexes_to_file¶
function extract_triggers¶
function extract_triggers_to_file¶
Public Static Functions Documentation¶
function check_domain_dependencies¶
static int check_domain_dependencies (
DB_DOMAIN * domain,
DB_OBJECT * this_class,
DB_OBJLIST * unordered,
DB_OBJLIST * ordered
)
function create_filefullpath¶
static int create_filefullpath (
const char * output_dirname,
const char * output_filename,
char * output_filename_p,
const size_t filename_size
)
function create_filename¶
static int create_filename (
const char * output_dirname,
const char * output_prefix,
const char * suffix,
char * output_filename_p,
const size_t filename_size
)
function create_filename¶
static int create_filename (
const char * output_dirname,
const char * output_prefix,
const char * infix,
const char * suffix,
char * output_filename_p,
const size_t filename_size
)
function create_filename_schema_info¶
static int create_filename_schema_info (
const char * output_dirname,
const char * output_prefix,
char * output_filename_p,
const size_t filename_size
)
function create_schema_info¶
function do_recreate_where_clause_or_function_attr¶
static PARSER_VARCHAR * do_recreate_where_clause_or_function_attr (
PARSER_CONTEXT ** parser,
const char * class_name,
DB_CONSTRAINT * constraint,
bool where_clause
)
function emit_all_attributes¶
static bool emit_all_attributes (
extract_context & ctxt,
print_output & output_ctx,
DB_OBJECT * class_,
const char * class_type,
int * has_indexes,
EMIT_STORAGE_ORDER storage_order
)
function emit_attribute_def¶
static void emit_attribute_def (
extract_context & ctxt,
print_output & output_ctx,
DB_ATTRIBUTE * attribute,
ATTRIBUTE_QUALIFIER qualifier
)
function emit_autoincrement_def¶
function emit_class_alter_serial¶
function emit_class_attributes¶
static bool emit_class_attributes (
extract_context & ctxt,
print_output & output_ctx,
DB_OBJECT * class_,
const char * class_type
)
function emit_class_meta¶
function emit_class_query_spec¶
static void emit_class_query_spec (
extract_context & ctxt,
print_output & output_ctx,
EXTRACT_CLASS_TYPE extract_class
)
function emit_cycle_warning¶
function emit_domain_def¶
static void emit_domain_def (
extract_context & ctxt,
print_output & output_ctx,
DB_DOMAIN * domains
)
function emit_foreign_key¶
static int emit_foreign_key (
extract_context & ctxt,
print_output & output_ctx,
DB_OBJLIST * classes
)
function emit_grant¶
function emit_index_def¶
function emit_indexes¶
static int emit_indexes (
extract_context & ctxt,
print_output & output_ctx,
DB_OBJLIST * classes,
int has_indexes,
DB_OBJLIST * vclass_list_has_using_index
)
function emit_instance_attributes¶
static bool emit_instance_attributes (
extract_context & ctxt,
print_output & output_ctx,
DB_OBJECT * class_,
const char * class_type,
int * has_indexes,
EMIT_STORAGE_ORDER storage_order
)
function emit_methfile_def¶
function emit_method_def¶
static void emit_method_def (
extract_context & ctxt,
print_output & output_ctx,
DB_METHOD * method,
METHOD_QUALIFIER qualifier
)
function emit_method_files¶
function emit_methods¶
static bool emit_methods (
extract_context & ctxt,
print_output & output_ctx,
DB_OBJECT * class_,
const char * class_type
)
function emit_partition_info¶
function emit_partition_parts¶
static void emit_partition_parts (
print_output & output_ctx,
SM_PARTITION * partition_info,
int partcnt
)
function emit_primary_and_unique_def¶
static void emit_primary_and_unique_def (
extract_context & ctxt,
print_output & output_ctx,
DB_OBJECT * class_,
const char * class_type
)
function emit_primary_key¶
static void emit_primary_key (
extract_context & ctxt,
print_output & output_ctx,
DB_OBJLIST * classes
)
function emit_primary_key_def¶
static void emit_primary_key_def (
extract_context & ctxt,
print_output & output_ctx,
DB_OBJECT * class_,
const char * class_type
)
function emit_query_specs¶
static DB_OBJLIST * emit_query_specs (
extract_context & ctxt,
print_output & output_ctx,
DB_OBJLIST * classes
)
function emit_query_specs_has_using_index¶
static int emit_query_specs_has_using_index (
extract_context & ctxt,
print_output & output_ctx,
DB_OBJLIST * vclass_list_has_using_index
)
function emit_resolution_def¶
static void emit_resolution_def (
extract_context & ctxt,
print_output & output_ctx,
DB_RESOLUTION * resolution,
RESOLUTION_QUALIFIER qualifier
)
function emit_resolutions¶
static bool emit_resolutions (
extract_context & ctxt,
print_output & output_ctx,
DB_OBJECT * class_,
const char * class_type
)
function emit_reverse_unique_def¶
static void emit_reverse_unique_def (
extract_context & ctxt,
print_output & output_ctx,
DB_OBJECT * class_
)
function emit_schema¶
static void emit_schema (
extract_context & ctxt,
print_output & output_ctx,
EXTRACT_CLASS_TYPE extract_class
)
function emit_stored_procedure_args¶
function emit_stored_procedure_code¶
static int emit_stored_procedure_code (
extract_context & ctxt,
print_output & output_ctx,
const char * code_name,
const char * owner_name,
DB_VALUE * comment
)
function emit_stored_procedure_post¶
function emit_stored_procedure_pre¶
function emit_superclasses¶
static bool emit_superclasses (
extract_context & ctxt,
print_output & output_ctx,
DB_OBJECT * class_,
const char * class_type
)
function emit_unique_def¶
static void emit_unique_def (
extract_context & ctxt,
print_output & output_ctx,
DB_OBJECT * class_,
const char * class_type
)
function emit_unique_key¶
static void emit_unique_key (
extract_context & ctxt,
print_output & output_ctx,
DB_OBJLIST * classes
)
function ex_contains_object_reference¶
function export_serial¶
function export_server¶
function export_synonym¶
function extract_all_schema_file¶
function extract_class¶
function extract_fk¶
function extract_grant¶
function extract_pk¶
function extract_procedure¶
function extract_schema¶
function extract_serial¶
function extract_server¶
function extract_split_schema_files¶
function extract_synonym¶
function extract_uk¶
function extract_user¶
function extract_vclass¶
function extract_vclass_query_spec¶
function filter_system_classes¶
function filter_unrequired_classes¶
function filter_user_classes¶
function force_one_class¶
static void force_one_class (
print_output & output_ctx,
DB_OBJLIST ** class_list,
DB_OBJLIST ** order_list
)
function get_classes¶
function get_ordered_classes¶
function has_dependencies¶
static int has_dependencies (
DB_OBJECT * class_,
DB_OBJLIST * unordered,
DB_OBJLIST * ordered,
int conservative
)
function has_vclass_domains¶
function is_dependent_class¶
function order_classes¶
function str_tolower¶
Macro Definition Documentation¶
define CLASS_NAME_MAX¶
define CLASS_SUFFIX¶
define EX_ERROR_CHECK¶
define FK_SUFFIX¶
define GRANT_SUFFIX¶
define INDEX_NAME¶
define PK_SUFFIX¶
define PROCEDURE_SUFFIX¶
define SCHEMA_INFO¶
define SCHEMA_NAME¶
define SERIAL_SUFFIX¶
define SERVER_SUFFIX¶
define SERVER_VALUE_INDEX_MAX¶
define SYNONYM_SUFFIX¶
define TRIGGER_NAME¶
define UK_SUFFIX¶
define USER_SUFFIX¶
define VCLASS_QUERY_SPEC_SUFFIX¶
define VCLASS_SUFFIX¶
The documentation for this class was generated from the following file cubrid/src/executables/unload_schema.c