CUBRID Engine
latest
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include "system_catalog.h"
#include "btree.h"
#include "error_manager.h"
#include "heap_file.h"
#include "transform.h"
#include "set_object.h"
#include "locator_sr.h"
#include "xserver_interface.h"
#include "object_primitive.h"
#include "object_representation.h"
#include "query_dump.h"
#include "tz_support.h"
#include "db_date.h"
#include "dbtype.h"
#include "string_opfunc.h"
#include "thread_manager.hpp"
Go to the source code of this file.
Classes | |
struct | or_value |
union | or_value::or_id |
struct | or_value::or_sub |
struct | catcls_entry |
struct | catcls_property |
Macros | |
#define | IS_SUBSET(value) (value).sub.count >= 0 |
#define | EXCHANGE_OR_VALUE(a, b) |
#define | CATCLS_INDEX_NAME "i__db_class_class_name" |
#define | CATCLS_INDEX_KEY 11 |
#define | CATCLS_OID_TABLE_SIZE 1024 |
Typedefs | |
typedef struct or_value | OR_VALUE |
typedef struct catcls_entry | CATCLS_ENTRY |
typedef struct catcls_property | CATCLS_PROPERTY |
typedef int(* | CREADER) (THREAD_ENTRY *thread_p, OR_BUF *buf, OR_VALUE *value_p) |
Variables | |
bool | catcls_Enable = false |
static BTID | catcls_Btid |
static CATCLS_ENTRY * | catcls_Free_entry_list = NULL |
static MHT_TABLE * | catcls_Class_oid_to_oid_hash_table = NULL |
#define CATCLS_INDEX_KEY 11 |
Definition at line 59 of file catalog_class.c.
Referenced by catcls_find_btid_of_class_name().
#define CATCLS_INDEX_NAME "i__db_class_class_name" |
Definition at line 58 of file catalog_class.c.
Referenced by catcls_find_btid_of_class_name().
#define CATCLS_OID_TABLE_SIZE 1024 |
Definition at line 61 of file catalog_class.c.
Referenced by catcls_compile_catalog_classes().
#define EXCHANGE_OR_VALUE | ( | a, | |
b | |||
) |
Definition at line 50 of file catalog_class.c.
Referenced by catcls_reorder_attributes_by_repr().
#define IS_SUBSET | ( | value | ) | (value).sub.count >= 0 |
Definition at line 48 of file catalog_class.c.
Referenced by catcls_delete_instance(), catcls_insert_instance(), and catcls_update_instance().
typedef struct catcls_entry CATCLS_ENTRY |
Definition at line 64 of file catalog_class.c.
typedef struct catcls_property CATCLS_PROPERTY |
Definition at line 65 of file catalog_class.c.
typedef int(* CREADER) (THREAD_ENTRY *thread_p, OR_BUF *buf, OR_VALUE *value_p) |
Definition at line 66 of file catalog_class.c.
Definition at line 63 of file catalog_class.c.
|
static |
Definition at line 192 of file catalog_class.c.
References ARG_FILE_LINE, assert, catcls_Free_entry_list, csect_check_own, CSECT_CT_OID_TABLE, ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), catcls_entry::next, and NULL.
Referenced by catcls_convert_class_oid_to_oid().
|
static |
Definition at line 445 of file catalog_class.c.
References ARG_FILE_LINE, or_value::or_sub::count, db_value_put_null(), ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), i, NULL, or_value::sub, or_value::value, and or_value::or_sub::value.
Referenced by catcls_convert_attr_id_to_name(), catcls_expand_or_value_by_def(), catcls_expand_or_value_by_repr(), catcls_expand_or_value_by_subset(), catcls_get_or_value_from_class(), catcls_get_or_value_from_class_record(), catcls_get_or_value_from_indexes(), catcls_get_or_value_from_record(), catcls_get_property_set(), and catcls_get_subset().
|
static |
Definition at line 896 of file catalog_class.c.
References or_value::or_sub::count, db_make_int(), i, or_value::sub, or_value::value, and or_value::or_sub::value.
Referenced by catcls_get_or_value_from_class().
Definition at line 937 of file catalog_class.c.
References catcls_resolution_space(), or_value::or_sub::count, DB_EQ, db_get_int(), i, pr_clear_value(), pr_clone_value(), or_value::sub, tp_value_compare(), or_value::value, and or_value::or_sub::value.
Referenced by catcls_get_or_value_from_class().
int catcls_compile_catalog_classes | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 4332 of file catalog_class.c.
References ASSERT_ERROR, tf_ct_attribute::ca_id, catcls_Enable, catcls_find_btid_of_class_name(), catcls_find_class_oid_by_class_name(), catcls_initialize_class_oid_to_oid_hash_table(), CATCLS_OID_TABLE_SIZE, tf_ct_class::cc_atts, tf_ct_class::cc_classoid, tf_ct_class::cc_n_atts, tf_ct_class::cc_name, CT_CLASS_NAME, ct_Classes, db_private_free_and_init, ER_FAILED, error(), heap_get_class_record(), heap_scancache_end(), heap_scancache_quick_start_root_hfid(), i, NO_ERROR, NULL, OID_ISNULL, or_get_attrname(), PEEK, S_SUCCESS, and thread_get_thread_entry_info().
Referenced by boot_restart_server(), catcls_vclass_install(), and createdb().
|
static |
Definition at line 808 of file catalog_class.c.
References ARG_FILE_LINE, or_buf::buffer, catcls_allocate_or_value(), catcls_free_or_value(), catcls_get_or_value_from_attrid(), catcls_get_subset(), catcls_unpack_allocator(), or_value::or_sub::count, db_get_int(), DB_IS_NULL, or_buf::endptr, ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), free_and_init, i, or_value::id, tf_meta_class::mc_n_variable, NO_ERROR, NULL, or_advance(), or_get_var_table(), or_init(), OR_NON_MVCC_HEADER_SIZE, or_seek(), ORC_ATTRIBUTES_INDEX, pr_clear_value(), pr_clone_value(), or_value::sub, tf_Metaclass_class, or_value::value, and or_value::or_sub::value.
Referenced by catcls_get_property_set().
|
static |
Definition at line 717 of file catalog_class.c.
References assert, ASSERT_ERROR, catcls_allocate_entry(), catcls_find_oid(), catcls_find_oid_by_class_name(), catcls_free_entry(), catcls_put_entry(), catcls_entry::class_oid, COPY_OID, CSECT_CT_OID_TABLE, csect_enter, csect_enter_as_reader, csect_exit, db_get_oid(), DB_IS_NULL, db_make_null(), db_make_oid(), er_errid(), ER_FAILED, free_and_init, heap_get_class_name(), INF_WAIT, NO_ERROR, NULL, catcls_entry::oid, and OID_ISNULL.
Referenced by catcls_get_object_set(), catcls_get_or_value_from_attribute(), catcls_get_or_value_from_domain(), catcls_get_or_value_from_method(), catcls_get_or_value_from_method_file(), and catcls_get_or_value_from_resolution().
int catcls_delete_catalog_classes | ( | THREAD_ENTRY * | thread_p, |
const char * | name, | ||
OID * | class_oid | ||
) |
Definition at line 4168 of file catalog_class.c.
References ARG_FILE_LINE, catalog_free_class_info_and_init, catalog_get_class_info(), catcls_delete_instance(), catcls_find_oid_by_class_name(), catcls_remove_entry(), tf_ct_class::cc_classoid, cls_info::ci_hfid, CSECT_CT_OID_TABLE, csect_enter, csect_exit, ct_Class, ER_ERROR_SEVERITY, ER_FAILED, ER_LC_UNKNOWN_CLASSNAME, er_set(), error(), heap_scancache_end_modify(), heap_scancache_start_modify(), INF_WAIT, NO_ERROR, NULL, OID_ISNULL, and SINGLE_ROW_DELETE.
Referenced by locator_delete_force_internal().
|
static |
Definition at line 3857 of file catalog_class.c.
References assert, catcls_delete_subset(), catcls_free_or_value(), catcls_get_or_value_from_record(), COPY, or_value::or_sub::count, er_errid(), error(), heap_create_delete_context(), heap_delete_logical(), heap_get_visible_version(), i, IS_SUBSET, LK_GRANTED, LK_UNCOND_LOCK, locator_add_or_remove_index(), lock_object(), NO_ERROR, NULL, NULL_CHN, RECDES_INITIALIZER, S_SUCCESS, SINGLE_ROW_DELETE, or_value::sub, or_value::or_sub::value, and X_LOCK.
Referenced by catcls_delete_catalog_classes(), catcls_delete_subset(), and catcls_update_subset().
|
static |
Definition at line 3633 of file catalog_class.c.
References assert, catalog_free_class_info_and_init, catalog_get_class_info(), catcls_delete_instance(), cls_info::ci_hfid, or_value::or_id::classoid, or_value::or_sub::count, db_get_oid(), db_get_set(), er_errid(), error(), heap_scancache_end_modify(), heap_scancache_start_modify(), i, or_value::id, MULTI_ROW_DELETE, NO_ERROR, NULL, set_get_element(), or_value::sub, or_value::value, and or_value::or_sub::value.
Referenced by catcls_delete_instance().
Definition at line 515 of file catalog_class.c.
References or_value::or_id::attrid, tf_ct_attribute::ca_id, catcls_allocate_or_value(), tf_ct_class::cc_atts, tf_ct_class::cc_classoid, tf_ct_class::cc_n_atts, or_value::or_id::classoid, COPY_OID, or_value::or_sub::count, DB_DEFAULT_PRECISION, DB_DEFAULT_SCALE, db_value_domain_init(), ER_OUT_OF_VIRTUAL_MEMORY, error(), i, or_value::id, NO_ERROR, NULL, or_value::sub, or_value::value, and or_value::or_sub::value.
Referenced by catcls_get_or_value_from_attribute(), catcls_get_or_value_from_attrid(), catcls_get_or_value_from_class(), catcls_get_or_value_from_domain(), catcls_get_or_value_from_indexes(), catcls_get_or_value_from_method(), catcls_get_or_value_from_method_argument(), catcls_get_or_value_from_method_file(), catcls_get_or_value_from_method_signiture(), catcls_get_or_value_from_partition(), catcls_get_or_value_from_query_spec(), and catcls_get_or_value_from_resolution().
|
static |
Definition at line 2971 of file catalog_class.c.
References or_value::or_id::attrid, catcls_allocate_or_value(), or_value::or_id::classoid, COPY_OID, or_value::or_sub::count, DB_DEFAULT_PRECISION, DB_DEFAULT_SCALE, db_value_domain_init(), ER_OUT_OF_VIRTUAL_MEMORY, error(), disk_representation::fixed, i, or_value::id, disk_attribute::id, disk_representation::n_fixed, disk_representation::n_variable, NO_ERROR, NULL, or_value::sub, or_value::value, or_value::or_sub::value, and disk_representation::variable.
Referenced by catcls_get_or_value_from_record().
|
static |
Definition at line 3027 of file catalog_class.c.
References ASSERT_ERROR_AND_SET, catcls_allocate_or_value(), tf_ct_class::cc_classoid, or_value::or_id::classoid, COPY_OID, or_value::or_sub::count, ct_Class, db_get_oid(), db_get_set(), DB_TYPE_OID, DB_VALUE_TYPE, er_clear(), er_errid(), ER_HEAP_UNKNOWN_OBJECT, err, heap_get_class_oid(), i, NO_ERROR, NULL, OID_EQ, OID_ISNULL, pr_is_set_type(), S_ERROR, set_get_element_nocopy(), set_size(), or_value::sub, or_value::value, and or_value::or_sub::value.
Referenced by catcls_get_or_value_from_buffer().
int catcls_finalize_class_oid_to_oid_hash_table | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 280 of file catalog_class.c.
References catcls_free_entry_kv(), CSECT_CT_OID_TABLE, csect_enter, csect_exit, ER_FAILED, free_and_init, INF_WAIT, mht_destroy(), mht_map(), catcls_entry::next, NO_ERROR, and NULL.
Referenced by boot_server_all_finalize().
int catcls_find_and_set_cached_class_oid | ( | THREAD_ENTRY * | thread_p | ) |
Definition at line 5325 of file catalog_class.c.
References ER_FAILED, i, LC_CLASSNAME_ERROR, NO_ERROR, NULL_LOCK, OID_CACHE_CLASS_CLASS_ID, OID_CACHE_SIZE, oid_get_cached_class_name(), oid_set_cached_class_oid(), and xlocator_find_class_oid().
Referenced by boot_restart_server().
|
static |
Definition at line 616 of file catalog_class.c.
References ARG_FILE_LINE, assert, disk_attribute::bt_stats, btree_stats::btid, BTID_COPY, catalog_free_representation_and_init, catalog_get_last_representation_id(), catalog_get_representation(), CATCLS_INDEX_KEY, CATCLS_INDEX_NAME, tf_ct_class::cc_atts, tf_ct_class::cc_classoid, ct_Class, er_errid(), ER_ERROR_SEVERITY, er_set(), ER_SM_NO_INDEX, error(), disk_attribute::id, NO_ERROR, NULL, and disk_representation::variable.
Referenced by catcls_compile_catalog_classes().
|
static |
Definition at line 590 of file catalog_class.c.
References ARG_FILE_LINE, ER_FAILED, ER_LC_UNKNOWN_CLASSNAME, er_set(), ER_WARNING_SEVERITY, LC_CLASSNAME_DELETED, LC_CLASSNAME_ERROR, NO_ERROR, NULL_LOCK, OID_SET_NULL, and xlocator_find_class_oid().
Referenced by catcls_compile_catalog_classes(), catcls_get_apply_info_log_record_time(), catcls_get_db_collation(), catcls_get_or_value_from_class(), and catcls_get_server_compat_info().
|
static |
Definition at line 315 of file catalog_class.c.
References assert, csect_check_own, CSECT_CT_OID_TABLE, mht_get(), NULL, and catcls_entry::oid.
Referenced by catcls_convert_class_oid_to_oid().
|
static |
Definition at line 682 of file catalog_class.c.
References assert, BTREE_ERROR_OCCURRED, BTREE_KEY_NOTFOUND, tf_ct_class::cc_classoid, ct_Class, db_make_varchar(), DB_MAX_IDENTIFIER_LENGTH, er_errid(), ER_FAILED, error(), LANG_SYS_CODESET, LANG_SYS_COLLATION, NO_ERROR, OID_SET_NULL, pr_clear_value(), S_SELECT, strlen, and xbtree_find_unique().
Referenced by catcls_convert_class_oid_to_oid(), catcls_delete_catalog_classes(), and catcls_update_catalog_classes().
|
static |
Definition at line 237 of file catalog_class.c.
References assert, catcls_Free_entry_list, csect_check_own, CSECT_CT_OID_TABLE, catcls_entry::next, NO_ERROR, and NULL.
Referenced by catcls_convert_class_oid_to_oid(), and catcls_free_entry_kv().
|
static |
Definition at line 226 of file catalog_class.c.
References catcls_free_entry().
Referenced by catcls_finalize_class_oid_to_oid_hash_table(), and catcls_remove_entry().
|
static |
Definition at line 498 of file catalog_class.c.
References catcls_free_sub_value(), or_value::or_sub::count, free_and_init, NULL, pr_clear_value(), or_value::sub, or_value::value, and or_value::or_sub::value.
Referenced by catcls_convert_attr_id_to_name(), catcls_delete_instance(), catcls_get_or_value_from_class(), catcls_get_or_value_from_class_record(), catcls_get_or_value_from_record(), catcls_insert_catalog_classes(), catcls_update_catalog_classes(), and catcls_update_instance().
|
static |
Definition at line 477 of file catalog_class.c.
References or_value::or_sub::count, cubregex::count(), free_and_init, i, NULL, pr_clear_value(), or_value::sub, or_value::value, and or_value::or_sub::value.
Referenced by catcls_free_or_value().
int catcls_get_apply_info_log_record_time | ( | THREAD_ENTRY * | thread_p, |
time_t * | log_record_time | ||
) |
Definition at line 5147 of file catalog_class.c.
References ARG_FILE_LINE, assert, ASSERT_ERROR, catcls_find_class_oid_by_class_name(), CT_HA_APPLY_INFO_NAME, db_datetime::date, db_get_datetime(), DB_IS_NULL, db_mktime(), db_private_free_and_init, ER_ERROR_SEVERITY, ER_FAILED, ER_GENERIC_ERROR, ER_LC_UNKNOWN_CLASSNAME, er_set(), error(), heap_attrinfo_end(), heap_attrinfo_read_dbvalues(), heap_attrinfo_start(), heap_get_class_info(), heap_get_class_record(), heap_next(), heap_scancache_end(), heap_scancache_quick_start_root_hfid(), heap_scancache_start(), HFID_IS_NULL, i, NO_ERROR, NULL, OID_ISNULL, OID_SET_NULL, or_get_attrname(), PEEK, S_SUCCESS, and db_datetime::time.
Referenced by log_is_log_flush_daemon_available().
int catcls_get_db_collation | ( | THREAD_ENTRY * | thread_p, |
LANG_COLL_COMPAT ** | db_collations, | ||
int * | coll_cnt | ||
) |
Definition at line 4910 of file catalog_class.c.
References ARG_FILE_LINE, assert, ASSERT_ERROR, catcls_find_class_oid_by_class_name(), lang_coll_compat::checksum, lang_coll_compat::codeset, lang_coll_compat::coll_id, lang_coll_compat::coll_name, CT_DBCOLL_CHARSET_ID_COLUMN, CT_DBCOLL_CHECKSUM_COLUMN, CT_DBCOLL_COLL_ID_COLUMN, CT_DBCOLL_COLL_NAME_COLUMN, db_get_int(), db_get_string(), db_private_alloc, db_private_free_and_init, db_private_realloc, DB_TYPE_INTEGER, DB_TYPE_STRING, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, ER_FAILED, ER_GENERIC_ERROR, ER_LC_UNKNOWN_CLASSNAME, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), heap_attrinfo_end(), heap_attrinfo_read_dbvalues(), heap_attrinfo_start(), heap_get_class_info(), heap_get_class_record(), heap_next(), heap_scancache_end(), heap_scancache_quick_start_root_hfid(), heap_scancache_start(), HFID_IS_NULL, i, LANG_MAX_COLLATIONS, NO_ERROR, NULL, OID_ISNULL, OID_SET_NULL, or_get_attrname(), PEEK, S_SUCCESS, and strlen.
Referenced by boot_restart_server(), main(), and synccoll_check().
|
static |
Definition at line 2704 of file catalog_class.c.
References assert, ASSERT_ERROR, catcls_convert_class_oid_to_oid(), cubregex::count(), pr_type::data_readval(), db_make_sequence(), er_errid(), error(), i, NO_ERROR, NULL, or_skip_set_header(), set_create_sequence(), set_free(), set_put_element(), tp_Object, and or_value::value.
Referenced by catcls_get_or_value_from_class().
|
static |
variable offset
variable
Definition at line 1229 of file catalog_class.c.
References ARG_FILE_LINE, assert, ASSERT_ERROR, catcls_convert_class_oid_to_oid(), catcls_expand_or_value_by_def(), catcls_get_or_value_from_domain(), catcls_get_subset(), catcls_unpack_allocator(), classobj_get_prop(), or_value::or_sub::count, ct_Attribute, db_value::data, pr_type::data_readval(), db_default_expression_string(), db_get_enum_codeset(), db_get_enum_collation(), db_get_enum_short(), db_get_int(), db_get_set(), db_get_string(), db_get_string_size(), db_make_enumeration(), db_make_int(), db_make_null(), db_make_string(), DB_MAX_COMMENT_LENGTH, DB_MAX_IDENTIFIER_LENGTH, db_private_alloc, db_string_truncate(), DB_TYPE_CHAR, DB_TYPE_ENUMERATION, DB_TYPE_INTEGER, DB_TYPE_NCHAR, DB_TYPE_NULL, DB_TYPE_SEQUENCE, DB_TYPE_STRING, DB_TYPE_VARCHAR, DB_TYPE_VARNCHAR, db_value_is_null(), DB_VALUE_TYPE, db_value_type(), ER_ERROR_SEVERITY, ER_FAILED, ER_GENERIC_ERROR, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), free_and_init, tf_meta_class::mc_n_variable, db_value::need_clear, NO_ERROR, NULL, or_advance(), or_get_value(), or_get_var_table(), OR_INT_SIZE, ORC_ATT_COMMENT_INDEX, ORC_ATT_CURRENT_VALUE_INDEX, ORC_ATT_DOMAIN_INDEX, ORC_ATT_NAME_INDEX, ORC_ATT_ORIGINAL_VALUE_INDEX, ORC_ATT_PROPERTIES_INDEX, ORC_ATT_TRIGGER_INDEX, pr_clear_value(), qdump_operator_type_string(), db_set::set, db_data::set, set_get_element(), set_get_element_nocopy(), set_size(), setobj::size, SM_ATTFLAG_NON_NULL, strlen, or_value::sub, T_TO_CHAR, tf_Metaclass_attribute, tp_domain_resolve_default(), tp_Integer, TP_IS_SET_TYPE, tp_Object, tp_String, valcnv_convert_value_to_string(), or_value::value, and or_value::or_sub::value.
Referenced by catcls_get_or_value_from_class().
|
static |
Definition at line 1579 of file catalog_class.c.
References ARG_FILE_LINE, catcls_expand_or_value_by_def(), catcls_unpack_allocator(), ct_Attrid, pr_type::data_readval(), DB_MAX_IDENTIFIER_LENGTH, db_string_truncate(), ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), free_and_init, or_varinfo::length, tf_meta_class::mc_n_variable, NO_ERROR, NULL, or_varinfo::offset, or_advance(), or_get_var_table(), ORC_ATT_NAME_INDEX, or_buf::ptr, or_value::sub, tf_Metaclass_attribute, tp_Integer, tp_String, or_value::value, and or_value::or_sub::value.
Referenced by catcls_convert_attr_id_to_name().
|
static |
Definition at line 3225 of file catalog_class.c.
References ARG_FILE_LINE, assert, BIG_VAR_OFFSET_SIZE, catcls_expand_or_value_by_subset(), catcls_unpack_allocator(), db_value_put_null(), ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), ER_SM_CORRUPTED, error(), disk_representation::fixed, disk_representation::fixed_length, free_and_init, i, disk_representation::n_fixed, disk_representation::n_variable, NO_ERROR, NULL, or_advance(), OR_BOUND_BIT_BYTES, OR_BOUND_BIT_FLAG, OR_GET_BOUND_BIT, or_get_data(), OR_GET_OFFSET_SIZE, or_get_var_table(), OR_INT_SIZE, OR_MVCC_FLAG_MASK, OR_MVCC_FLAG_SHIFT_BITS, OR_MVCC_FLAG_VALID_DELID, OR_MVCC_FLAG_VALID_INSID, OR_MVCC_FLAG_VALID_PREV_VERSION, or_mvcc_get_repid_and_flags(), OR_MVCC_PREV_VERSION_LSA_SIZE, OR_MVCC_REPID_MASK, OR_MVCCID_SIZE, or_buf::ptr, rc, or_value::sub, tp_Type_id_map, disk_attribute::type, or_value::value, or_value::or_sub::value, and disk_representation::variable.
Referenced by catcls_get_or_value_from_record().
|
static |
variable offset
Definition at line 977 of file catalog_class.c.
References ARG_FILE_LINE, assert, catcls_allocate_or_value(), catcls_apply_component_type(), catcls_apply_resolutions(), catcls_expand_or_value_by_def(), catcls_find_class_oid_by_class_name(), catcls_free_or_value(), catcls_get_object_set(), catcls_get_or_value_from_attribute(), catcls_get_or_value_from_method(), catcls_get_or_value_from_method_file(), catcls_get_or_value_from_partition(), catcls_get_or_value_from_query_spec(), catcls_get_or_value_from_resolution(), catcls_get_property_set(), catcls_get_subset(), catcls_unpack_allocator(), ct_Class, pr_type::data_readval(), db_get_string(), db_make_oid(), DB_MAX_CLASS_COMMENT_LENGTH, DB_MAX_IDENTIFIER_LENGTH, db_string_truncate(), er_errid(), ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), free_and_init, tf_meta_class::mc_n_variable, NO_ERROR, NULL, or_advance(), or_get_var_table(), OR_INT_SIZE, ORC_ATT_COUNT_OFFSET, ORC_ATTRIBUTES_INDEX, ORC_CLASS_ATTRS_INDEX, ORC_CLASS_METHODS_INDEX, ORC_COMMENT_INDEX, ORC_LOADER_COMMANDS_INDEX, ORC_METHOD_FILES_INDEX, ORC_METHODS_INDEX, ORC_NAME_INDEX, ORC_PARTITION_INDEX, ORC_PROPERTIES_INDEX, ORC_QUERY_SPEC_INDEX, ORC_REPRESENTATIONS_INDEX, ORC_RESOLUTIONS_INDEX, ORC_SHARED_ATTRS_INDEX, ORC_SUBCLASSES_INDEX, ORC_SUPERCLASSES_INDEX, ORC_TRIGGERS_INDEX, or_value::sub, tf_Metaclass_class, tp_Integer, tp_Object, tp_String, or_value::value, and or_value::or_sub::value.
Referenced by catcls_get_or_value_from_class_record().
|
static |
Definition at line 3437 of file catalog_class.c.
References assert, BIG_VAR_OFFSET_SIZE, catcls_allocate_or_value(), catcls_free_or_value(), catcls_get_or_value_from_class(), recdes::data, recdes::length, NO_ERROR, NULL, or_advance(), OR_GET_OFFSET_SIZE, or_init(), and OR_NON_MVCC_HEADER_SIZE.
Referenced by catcls_insert_catalog_classes(), and catcls_update_catalog_classes().
|
static |
variable offset
Definition at line 1647 of file catalog_class.c.
References ARG_FILE_LINE, assert, ASSERT_ERROR, catcls_convert_class_oid_to_oid(), catcls_expand_or_value_by_def(), catcls_get_subset(), catcls_unpack_allocator(), ct_Domain, pr_type::data_readval(), DB_DEFAULT_PRECISION, DB_DEFAULT_SCALE, DB_IS_NULL, db_make_null(), db_make_string(), DB_TYPE_SEQUENCE, DB_TYPE_STRING, DB_TYPE_VARIABLE, db_value_domain_init(), er_clear(), er_errid(), ER_ERROR_SEVERITY, ER_FAILED, ER_HEAP_UNKNOWN_OBJECT, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), free_and_init, tf_meta_class::mc_n_variable, db_value::need_clear, NO_ERROR, NULL, or_get_json_schema(), or_get_var_table(), ORC_DOMAIN_ENUMERATION_INDEX, ORC_DOMAIN_SCHEMA_JSON_OFFSET, ORC_DOMAIN_SETDOMAIN_INDEX, pr_type_from_id(), or_value::sub, tf_Metaclass_domain, tp_domain_cache(), tp_domain_construct(), tp_domain_resolve_default(), tp_Integer, tp_Object, or_value::value, and or_value::or_sub::value.
Referenced by catcls_get_or_value_from_attribute(), and catcls_get_or_value_from_method_argument().
|
static |
Definition at line 2226 of file catalog_class.c.
References ARG_FILE_LINE, assert, catcls_allocate_or_value(), catcls_expand_or_value_by_def(), CONST_CAST, or_value::or_sub::count, ct_Index, ct_Indexkey, db_get_int(), db_get_set(), db_get_string(), DB_IS_NULL, db_make_int(), db_make_null(), DB_MAX_COMMENT_LENGTH, DB_MAX_IDENTIFIER_LENGTH, db_string_truncate(), DB_TYPE_INTEGER, DB_TYPE_SEQUENCE, DB_TYPE_STRING, db_value_copy(), db_value_put_null(), DB_VALUE_TYPE, ER_ERROR_SEVERITY, ER_FAILED, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), ER_SM_INVALID_PROPERTY, error(), i, intl_identifier_casecmp(), tp_domain::is_desc, NO_ERROR, NULL, or_unpack_domain(), pr_clear_value(), pr_free_ext_value(), set_get_element(), set_get_element_nocopy(), set_size(), SM_FILTER_INDEX_ID, SM_FUNCTION_INDEX_ID, SM_PREFIX_INDEX_ID, or_value::sub, tp_domain_free(), or_value::value, and or_value::or_sub::value.
Referenced by catcls_get_property_set().
|
static |
variable offset
Definition at line 1791 of file catalog_class.c.
References ARG_FILE_LINE, ASSERT_ERROR, catcls_convert_class_oid_to_oid(), catcls_expand_or_value_by_def(), catcls_get_or_value_from_method_signiture(), catcls_get_subset(), catcls_unpack_allocator(), ct_Method, pr_type::data_readval(), DB_MAX_IDENTIFIER_LENGTH, db_string_truncate(), ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), free_and_init, tf_meta_class::mc_n_variable, NO_ERROR, NULL, or_advance(), or_get_var_table(), OR_INT_SIZE, ORC_METHOD_NAME_INDEX, ORC_METHOD_PROPERTIES_INDEX, ORC_METHOD_SIGNATURE_INDEX, or_value::sub, tf_Metaclass_method, tp_Object, tp_String, or_value::value, and or_value::or_sub::value.
Referenced by catcls_get_or_value_from_class().
|
static |
variable offset
Definition at line 1954 of file catalog_class.c.
References ARG_FILE_LINE, catcls_expand_or_value_by_def(), catcls_get_or_value_from_domain(), catcls_get_subset(), catcls_unpack_allocator(), ct_Metharg, pr_type::data_readval(), ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), free_and_init, tf_meta_class::mc_n_variable, NO_ERROR, NULL, or_get_var_table(), ORC_METHARG_DOMAIN_INDEX, or_value::sub, tf_Metaclass_metharg, tp_Integer, or_value::value, and or_value::or_sub::value.
Referenced by catcls_get_or_value_from_method_signiture().
|
static |
variable offset
Definition at line 2020 of file catalog_class.c.
References ARG_FILE_LINE, ASSERT_ERROR, catcls_convert_class_oid_to_oid(), catcls_expand_or_value_by_def(), catcls_unpack_allocator(), ct_Methfile, pr_type::data_readval(), DB_MAX_IDENTIFIER_LENGTH, db_string_truncate(), ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), free_and_init, tf_meta_class::mc_n_variable, NO_ERROR, NULL, or_advance(), or_get_var_table(), ORC_METHFILE_NAME_INDEX, ORC_METHFILE_PROPERTIES_INDEX, or_value::sub, tf_Metaclass_methfile, tp_Object, tp_String, or_value::value, and or_value::or_sub::value.
Referenced by catcls_get_or_value_from_class().
|
static |
Definition at line 1873 of file catalog_class.c.
References ARG_FILE_LINE, catcls_expand_or_value_by_def(), catcls_get_or_value_from_method_argument(), catcls_get_subset(), catcls_unpack_allocator(), ct_Methsig, pr_type::data_readval(), DB_MAX_IDENTIFIER_LENGTH, db_string_truncate(), ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), free_and_init, tf_meta_class::mc_n_variable, NO_ERROR, NULL, or_advance(), or_get_var_table(), ORC_METHSIG_ARGUMENTS_INDEX, ORC_METHSIG_FUNCTION_NAME_INDEX, ORC_METHSIG_RETURN_VALUE_INDEX, ORC_METHSIG_SQL_DEF_INDEX, or_value::sub, tf_Metaclass_methsig, tp_Integer, tp_String, or_value::value, and or_value::or_sub::value.
Referenced by catcls_get_or_value_from_method().
|
static |
variable offset
Definition at line 5355 of file catalog_class.c.
References ARG_FILE_LINE, assert, catcls_expand_or_value_by_def(), catcls_unpack_allocator(), ct_Partition, pr_type::data_readval(), db_get_string_length(), DB_IS_NULL, DB_MAX_PARTITION_EXPR_LENGTH, DB_MAX_SPEC_LENGTH, db_string_truncate(), ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), free_and_init, tf_meta_class::mc_n_variable, NO_ERROR, NULL, or_get_value(), or_get_var_table(), ORC_PARTITION_COMMENT_INDEX, ORC_PARTITION_EXPR_INDEX, ORC_PARTITION_NAME_INDEX, ORC_PARTITION_VALUES_INDEX, or_value::sub, tf_Metaclass_partition, tp_Integer, tp_String, or_value::value, and or_value::or_sub::value.
Referenced by catcls_get_or_value_from_class().
|
static |
variable offset
Definition at line 2165 of file catalog_class.c.
References ARG_FILE_LINE, catcls_expand_or_value_by_def(), catcls_unpack_allocator(), ct_Queryspec, pr_type::data_readval(), DB_MAX_SPEC_LENGTH, db_string_truncate(), ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), free_and_init, tf_meta_class::mc_n_variable, NO_ERROR, NULL, or_get_var_table(), ORC_QUERY_SPEC_SPEC_INDEX, or_value::sub, tf_Metaclass_query_spec, tp_String, or_value::value, and or_value::or_sub::value.
Referenced by catcls_get_or_value_from_class().
|
static |
Definition at line 3471 of file catalog_class.c.
References assert, catalog_free_representation_and_init, catalog_get_last_representation_id(), catalog_get_representation(), catcls_allocate_or_value(), catcls_expand_or_value_by_repr(), catcls_free_or_value(), catcls_get_or_value_from_buffer(), recdes::data, er_errid(), error(), recdes::length, NO_ERROR, NULL, and or_init().
Referenced by catcls_delete_instance(), and catcls_update_instance().
|
static |
variable offset
Definition at line 2090 of file catalog_class.c.
References ARG_FILE_LINE, ASSERT_ERROR, catcls_convert_class_oid_to_oid(), catcls_expand_or_value_by_def(), catcls_unpack_allocator(), ct_Resolution, pr_type::data_readval(), DB_MAX_IDENTIFIER_LENGTH, db_string_truncate(), ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), free_and_init, tf_meta_class::mc_n_variable, NO_ERROR, NULL, or_get_var_table(), ORC_RES_ALIAS_INDEX, ORC_RES_NAME_INDEX, or_value::sub, tf_Metaclass_resolution, tp_Integer, tp_Object, tp_String, or_value::value, and or_value::or_sub::value.
Referenced by catcls_get_or_value_from_class().
|
static |
Definition at line 2764 of file catalog_class.c.
References catcls_allocate_or_value(), catcls_convert_attr_id_to_name(), catcls_get_or_value_from_indexes(), classobj_get_prop(), or_value::or_sub::count, pr_type::data_readval(), db_get_set(), DB_TYPE_SEQUENCE, db_value_put_null(), DB_VALUE_TYPE, ER_OUT_OF_VIRTUAL_MEMORY, error(), i, NO_ERROR, NULL, pr_clear_value(), catcls_property::seq, set_size(), catcls_property::size, SM_PROPERTY_FOREIGN_KEY, SM_PROPERTY_INDEX, SM_PROPERTY_NUM_INDEX_FAMILY, SM_PROPERTY_PRIMARY_KEY, SM_PROPERTY_REVERSE_INDEX, SM_PROPERTY_REVERSE_UNIQUE, SM_PROPERTY_UNIQUE, or_value::sub, tp_Sequence, and or_value::or_sub::value.
Referenced by catcls_get_or_value_from_class().
int catcls_get_server_compat_info | ( | THREAD_ENTRY * | thread_p, |
INTL_CODESET * | charset_id_p, | ||
char * | lang_buf, | ||
const int | lang_buf_size, | ||
char * | timezone_checksum | ||
) |
Definition at line 4462 of file catalog_class.c.
References ARG_FILE_LINE, assert, ASSERT_ERROR, catcls_find_class_oid_by_class_name(), db_get_int(), db_get_string(), DB_IS_NULL, db_private_free_and_init, DB_TYPE_INTEGER, DB_TYPE_STRING, DB_VALUE_DOMAIN_TYPE, ER_ERROR_SEVERITY, ER_FAILED, ER_GENERIC_ERROR, ER_LC_UNKNOWN_CLASSNAME, er_set(), error(), heap_attrinfo_end(), heap_attrinfo_read_dbvalues(), heap_attrinfo_start(), heap_get_class_info(), heap_get_class_record(), heap_next(), heap_scancache_end(), heap_scancache_quick_start_root_hfid(), heap_scancache_start(), HFID_IS_NULL, i, NO_ERROR, NULL, OID_ISNULL, OID_SET_NULL, or_get_attrname(), PEEK, S_SUCCESS, strlen, and TZ_CHECKSUM_SIZE.
Referenced by boot_restart_server(), and xboot_emergency_patch().
|
static |
Definition at line 2662 of file catalog_class.c.
References catcls_allocate_or_value(), or_value::or_sub::count, cubregex::count(), ER_OUT_OF_VIRTUAL_MEMORY, error(), i, NO_ERROR, NULL, or_skip_set_header(), or_value::sub, and or_value::or_sub::value.
Referenced by catcls_convert_attr_id_to_name(), catcls_get_or_value_from_attribute(), catcls_get_or_value_from_class(), catcls_get_or_value_from_domain(), catcls_get_or_value_from_method(), catcls_get_or_value_from_method_argument(), and catcls_get_or_value_from_method_signiture().
|
static |
Definition at line 560 of file catalog_class.c.
References or_value::or_sub::count, DB_VALUE_DOMAIN_TYPE, pr_type::get_disk_size_of_value(), i, OR_BOUND_BIT_BYTES, OR_MVCC_MAX_HEADER_SIZE, OR_VAR_TABLE_SIZE, or_value::sub, tp_Type_id_map, or_value::value, and or_value::or_sub::value.
Referenced by catcls_insert_instance(), and catcls_update_instance().
|
static |
Definition at line 254 of file catalog_class.c.
References CSECT_CT_OID_TABLE, csect_enter, csect_exit, ER_FAILED, INF_WAIT, mht_create(), NO_ERROR, NULL, oid_compare_equals(), and oid_hash().
Referenced by catcls_compile_catalog_classes().
int catcls_insert_catalog_classes | ( | THREAD_ENTRY * | thread_p, |
RECDES * | record | ||
) |
Definition at line 4099 of file catalog_class.c.
References catalog_free_class_info_and_init, catalog_get_class_info(), catcls_free_or_value(), catcls_get_or_value_from_class_record(), catcls_insert_instance(), tf_ct_class::cc_classoid, cls_info::ci_hfid, ct_Class, ER_FAILED, error(), heap_scancache_end_modify(), heap_scancache_start_modify(), NO_ERROR, NULL, NULL_PAGEID, NULL_SLOTID, NULL_VOLID, and SINGLE_ROW_UPDATE.
Referenced by catcls_update_catalog_classes(), locator_insert_force(), and locator_update_force().
|
static |
Definition at line 3723 of file catalog_class.c.
References recdes::area_size, ARG_FILE_LINE, assert, catcls_guess_record_length(), catcls_insert_subset(), catcls_put_or_value_into_record(), catcls_reorder_attributes_by_repr(), tf_ct_class::cc_classoid, COPY_OID, or_value::or_sub::count, ct_Class, recdes::data, db_get_oid(), db_make_oid(), DB_TYPE_OID, DB_TYPE_VARIABLE, DB_VALUE_DOMAIN_TYPE, db_value_put_null(), DB_VALUE_TYPE, er_errid(), ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), free_and_init, heap_assign_address(), heap_create_update_context(), heap_update_logical(), i, IS_SUBSET, recdes::length, locator_add_or_remove_index(), NO_ERROR, NULL, OID_EQ, OID_ISNULL, REC_HOME, SINGLE_ROW_INSERT, or_value::sub, recdes::type, UPDATE_INPLACE_CURRENT_MVCCID, or_value::value, and or_value::or_sub::value.
Referenced by catcls_insert_catalog_classes(), catcls_insert_subset(), and catcls_update_subset().
|
static |
Definition at line 3534 of file catalog_class.c.
References assert, catalog_free_class_info_and_init, catalog_get_class_info(), catcls_insert_instance(), cls_info::ci_hfid, or_value::or_id::classoid, or_value::or_sub::count, db_make_oid(), db_make_sequence(), er_errid(), error(), heap_scancache_end_modify(), heap_scancache_start_modify(), i, or_value::id, MULTI_ROW_UPDATE, NO_ERROR, NULL, set_create_sequence(), set_free(), set_put_element(), or_value::sub, or_value::value, and or_value::or_sub::value.
Referenced by catcls_insert_instance().
|
static |
Definition at line 347 of file catalog_class.c.
References assert, catcls_entry::class_oid, csect_check_own, CSECT_CT_OID_TABLE, ER_FAILED, mht_put_if_not_exists(), NO_ERROR, NULL, catcls_entry::oid, and OID_EQ.
Referenced by catcls_convert_class_oid_to_oid().
|
static |
Definition at line 3094 of file catalog_class.c.
References ARG_FILE_LINE, BIG_VAR_OFFSET_SIZE, or_buf::buffer, DB_IS_NULL, ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), ER_SM_CORRUPTED, error(), disk_representation::fixed, disk_representation::fixed_length, free_and_init, i, disk_representation::id, MVCCID_NULL, disk_representation::n_fixed, disk_representation::n_variable, NO_ERROR, NULL, or_advance(), OR_BOUND_BIT_BYTES, OR_BOUND_BIT_FLAG, OR_CLEAR_BOUND_BIT, OR_ENABLE_BOUND_BIT, OR_MVCC_FLAG_SHIFT_BITS, OR_MVCC_FLAG_VALID_INSID, OR_MVCC_INSERT_HEADER_SIZE, or_pad(), or_put_bigint(), or_put_data(), or_put_int(), OR_PUT_OFFSET, OR_SET_VAR_OFFSET_SIZE, OR_VAR_TABLE_SIZE, or_buf::ptr, or_value::sub, tp_Type_id_map, disk_attribute::type, or_value::value, or_value::or_sub::value, and disk_representation::variable.
Referenced by catcls_put_or_value_into_record().
|
static |
Definition at line 3391 of file catalog_class.c.
References assert, or_buf::buffer, catalog_free_representation_and_init, catalog_get_last_representation_id(), catalog_get_representation(), catcls_put_or_value_into_buffer(), recdes::data, er_errid(), error(), recdes::length, NO_ERROR, NULL, or_init(), and or_buf::ptr.
Referenced by catcls_insert_instance(), and catcls_update_instance().
int catcls_remove_entry | ( | THREAD_ENTRY * | thread_p, |
OID * | class_oid | ||
) |
Definition at line 385 of file catalog_class.c.
References assert, catcls_free_entry_kv(), csect_check_own, CSECT_CT_OID_TABLE, mht_rem(), NO_ERROR, and NULL.
Referenced by catcls_delete_catalog_classes(), and locator_force_drop_class_name_entry().
|
static |
Definition at line 2882 of file catalog_class.c.
References assert, or_value::or_id::attrid, catalog_free_representation_and_init, catalog_get_last_representation_id(), catalog_get_representation(), or_value::or_id::classoid, er_errid(), error(), EXCHANGE_OR_VALUE, disk_representation::fixed, i, or_value::id, disk_representation::n_fixed, disk_representation::n_variable, NO_ERROR, NULL, or_value::sub, or_value::or_sub::value, and disk_representation::variable.
Referenced by catcls_insert_instance(), and catcls_update_instance().
|
static |
Definition at line 405 of file catalog_class.c.
References assert, COPY_OID, csect_check_own, CSECT_CT_OID_TABLE, ER_FAILED, mht_get(), NO_ERROR, NULL, and catcls_entry::oid.
|
static |
Definition at line 917 of file catalog_class.c.
Referenced by catcls_apply_resolutions().
|
static |
Definition at line 434 of file catalog_class.c.
Referenced by catcls_convert_attr_id_to_name(), catcls_get_or_value_from_attribute(), catcls_get_or_value_from_attrid(), catcls_get_or_value_from_buffer(), catcls_get_or_value_from_class(), catcls_get_or_value_from_domain(), catcls_get_or_value_from_method(), catcls_get_or_value_from_method_argument(), catcls_get_or_value_from_method_file(), catcls_get_or_value_from_method_signiture(), catcls_get_or_value_from_partition(), catcls_get_or_value_from_query_spec(), and catcls_get_or_value_from_resolution().
int catcls_update_catalog_classes | ( | THREAD_ENTRY * | thread_p, |
const char * | name, | ||
RECDES * | record, | ||
OID * | class_oid_p, | ||
UPDATE_INPLACE_STYLE | force_in_place | ||
) |
Definition at line 4253 of file catalog_class.c.
References catalog_free_class_info_and_init, catalog_get_class_info(), catcls_find_oid_by_class_name(), catcls_free_or_value(), catcls_get_or_value_from_class_record(), catcls_insert_catalog_classes(), catcls_update_instance(), tf_ct_class::cc_classoid, cls_info::ci_hfid, ct_Class, ER_FAILED, error(), heap_scancache_end_modify(), heap_scancache_start_modify(), NO_ERROR, NULL, OID_ISNULL, and SINGLE_ROW_UPDATE.
Referenced by locator_update_force().
|
static |
Definition at line 3953 of file catalog_class.c.
References recdes::area_size, ARG_FILE_LINE, assert, catcls_free_or_value(), catcls_get_or_value_from_record(), catcls_guess_record_length(), catcls_put_or_value_into_record(), catcls_reorder_attributes_by_repr(), catcls_update_subset(), tf_ct_class::cc_classoid, COPY, or_value::or_sub::count, ct_Class, recdes::data, DB_EQ, db_get_oid(), db_make_oid(), DB_TYPE_OID, db_value_put_null(), DB_VALUE_TYPE, er_errid(), ER_ERROR_SEVERITY, ER_OUT_OF_VIRTUAL_MEMORY, er_set(), error(), free_and_init, heap_create_update_context(), heap_get_visible_version(), heap_update_logical(), i, IS_SUBSET, recdes::length, locator_update_index(), NO_ERROR, NULL, NULL_CHN, OID_EQ, or_chn(), REC_HOME, RECDES_INITIALIZER, S_SUCCESS, SINGLE_ROW_UPDATE, or_value::sub, tp_value_compare(), recdes::type, or_value::value, and or_value::or_sub::value.
Referenced by catcls_update_catalog_classes(), and catcls_update_subset().
|
static |
Definition at line 4702 of file catalog_class.c.
References assert, catalog_free_class_info_and_init, catalog_get_class_info(), catcls_delete_instance(), catcls_insert_instance(), catcls_update_instance(), cls_info::ci_hfid, or_value::or_id::classoid, or_value::or_sub::count, db_get_oid(), db_get_set(), DB_IS_NULL, db_make_oid(), db_make_sequence(), DB_TYPE_OID, DB_VALUE_TYPE, er_errid(), ER_FAILED, error(), heap_scancache_end_modify(), heap_scancache_start_modify(), i, or_value::id, MULTI_ROW_UPDATE, NO_ERROR, NULL, NULL_PAGEID, NULL_SLOTID, NULL_VOLID, set_create_sequence(), set_free(), set_get_element(), set_put_element(), or_value::sub, or_value::value, and or_value::or_sub::value.
Referenced by catcls_update_instance().
|
static |
Definition at line 104 of file catalog_class.c.
Definition at line 106 of file catalog_class.c.
bool catcls_Enable = false |
Definition at line 102 of file catalog_class.c.
Referenced by au_grant(), au_revoke(), boot_restart_server(), catcls_compile_catalog_classes(), catcls_vclass_install(), createdb(), locator_delete_force_internal(), locator_insert_force(), locator_update_force(), and propagate_revoke().
|
static |
Definition at line 105 of file catalog_class.c.
Referenced by catcls_allocate_entry(), and catcls_free_entry().