Struct mariadb_sys::TABLE_SHARE
source · #[repr(C)]pub struct TABLE_SHARE {Show 118 fields
pub table_category: TABLE_CATEGORY,
pub name_hash: HASH,
pub mem_root: MEM_ROOT,
pub keynames: TYPELIB,
pub fieldnames: TYPELIB,
pub intervals: *mut TYPELIB,
pub LOCK_ha_data: mysql_mutex_t,
pub LOCK_share: mysql_mutex_t,
pub LOCK_statistics: mysql_mutex_t,
pub tdc: *mut TDC_element,
pub tabledef_version: LEX_CUSTRING,
pub option_list: *mut engine_option_value,
pub option_struct: *mut ha_table_option_struct,
pub field: *mut *mut Field,
pub found_next_number_field: *mut *mut Field,
pub key_info: *mut KEY,
pub check_constraints: *mut *mut Virtual_column_info,
pub blob_field: *mut uint,
pub vcol_defs: LEX_CUSTRING,
pub stats_cb: *mut TABLE_STATISTICS_CB,
pub default_values: *mut uchar,
pub comment: LEX_CSTRING,
pub table_charset: *const charset_info_st,
pub check_set: *mut MY_BITMAP,
pub all_set: MY_BITMAP,
pub table_cache_key: LEX_CSTRING,
pub db: LEX_CSTRING,
pub table_name: LEX_CSTRING,
pub path: LEX_CSTRING,
pub normalized_path: LEX_CSTRING,
pub connect_string: LEX_CSTRING,
pub keys_in_use: key_map,
pub ignored_indexes: key_map,
pub keys_for_keyread: key_map,
pub min_rows: ha_rows,
pub max_rows: ha_rows,
pub avg_row_length: ulong,
pub mysql_version: ulong,
pub reclength: ulong,
pub stored_rec_length: ulong,
pub db_plugin: plugin_ref,
pub optimizer_costs: OPTIMIZER_COSTS,
pub row_type: Type,
pub table_type: Type,
pub tmp_table: Type,
pub transactional: Type,
pub page_checksum: Type,
pub key_block_size: uint,
pub stats_sample_pages: uint,
pub stats_auto_recalc: Type,
pub null_bytes: uint,
pub last_null_bit_pos: uint,
pub null_bytes_for_compare: uint,
pub fields: uint,
pub stored_fields: uint,
pub virtual_fields: uint,
pub virtual_not_stored_blob_fields: uint,
pub null_fields: uint,
pub blob_fields: uint,
pub varchar_fields: uint,
pub default_fields: uint,
pub visible_fields: uint,
pub default_expressions: uint,
pub table_check_constraints: uint,
pub field_check_constraints: uint,
pub rec_buff_length: uint,
pub keys: uint,
pub key_parts: uint,
pub ext_key_parts: uint,
pub max_key_length: uint,
pub max_unique_length: uint,
pub db_create_options: uint,
pub db_options_in_use: uint,
pub db_record_offset: uint,
pub rowid_field_offset: uint,
pub primary_key: uint,
pub next_number_index: uint,
pub next_number_key_offset: uint,
pub next_number_keypart: uint,
pub error: Type,
pub open_errno: uint,
pub column_bitmap_size: uint,
pub frm_version: uchar,
pub check_set_initialized: Type,
pub use_ext_keys: bool,
pub null_field_first: bool,
pub system: bool,
pub not_usable_by_query_cache: bool,
pub online_backup: bool,
pub no_replicate: bool,
pub crashed: bool,
pub is_view: bool,
pub can_cmp_whole_record: bool,
pub table_creation_was_logged: bool,
pub non_determinstic_insert: bool,
pub has_update_default_function: bool,
pub can_do_row_logging: bool,
pub long_unique_table: bool,
pub keep_original_mysql_version: bool,
pub optimizer_costs_inited: bool,
pub table_map_id: ulonglong,
pub incompatible_version: ulong,
pub view_def: *const File_parser,
pub sequence: *mut SEQUENCE,
pub auto_partitioned: bool,
pub partition_info_str: *mut c_char,
pub partition_info_str_len: uint,
pub partition_info_buffer_size: uint,
pub default_part_plugin: plugin_ref,
pub online_alter_binlog: *mut Cache_flip_event_log,
pub versioned: Type,
pub vers: TABLE_SHARE_period_info_t,
pub period: TABLE_SHARE_period_info_t,
pub vers_skip_auto_create: bool,
pub table_field_def_cache: *const TABLE_FIELD_DEF,
pub ha_share: *mut Handler_share,
pub m_psi: *mut PSI_table_share,
pub frm_image: *mut LEX_CUSTRING,
}Expand description
This structure is shared between different table objects. There is one instance of table share per one table in the database.
Fields§
§table_category: TABLE_CATEGORYCategory of this table.
name_hash: HASH§mem_root: MEM_ROOT§keynames: TYPELIB§fieldnames: TYPELIB§intervals: *mut TYPELIB§LOCK_ha_data: mysql_mutex_t§LOCK_statistics: mysql_mutex_t§tdc: *mut TDC_element§tabledef_version: LEX_CUSTRING§option_list: *mut engine_option_value§option_struct: *mut ha_table_option_struct§field: *mut *mut Field§found_next_number_field: *mut *mut Field§key_info: *mut KEY§check_constraints: *mut *mut Virtual_column_info§blob_field: *mut uint§vcol_defs: LEX_CUSTRING§stats_cb: *mut TABLE_STATISTICS_CB§default_values: *mut uchar§comment: LEX_CSTRING§table_charset: *const charset_info_st§check_set: *mut MY_BITMAP§all_set: MY_BITMAP§table_cache_key: LEX_CSTRING§db: LEX_CSTRING§table_name: LEX_CSTRING§path: LEX_CSTRING§normalized_path: LEX_CSTRING§connect_string: LEX_CSTRING§keys_in_use: key_map§ignored_indexes: key_map§keys_for_keyread: key_map§min_rows: ha_rows§max_rows: ha_rows§avg_row_length: ulong§mysql_version: ulong§reclength: ulong§stored_rec_length: ulong§db_plugin: plugin_ref§optimizer_costs: OPTIMIZER_COSTS§row_type: Type§table_type: Type§tmp_table: Type§transactional: TypeTransactional or not.
page_checksum: TypePer-page checksums or not.
key_block_size: uint§stats_sample_pages: uint§stats_auto_recalc: Type§null_bytes: uint§last_null_bit_pos: uint§null_bytes_for_compare: uint§fields: uint§stored_fields: uint§virtual_fields: uint§virtual_not_stored_blob_fields: uint§null_fields: uint§blob_fields: uint§varchar_fields: uint§default_fields: uint§visible_fields: uint§default_expressions: uint§table_check_constraints: uint§field_check_constraints: uint§rec_buff_length: uint§keys: uint§key_parts: uint§ext_key_parts: uint§max_key_length: uint§max_unique_length: uint§db_create_options: uint§db_options_in_use: uint§db_record_offset: uint§rowid_field_offset: uint§primary_key: uint§next_number_index: uint§next_number_key_offset: uint§next_number_keypart: uint§error: Type§open_errno: uint§column_bitmap_size: uint§frm_version: uchar§check_set_initialized: Type§use_ext_keys: bool§null_field_first: bool§system: bool§not_usable_by_query_cache: bool§online_backup: bool§no_replicate: bool§crashed: bool§is_view: bool§can_cmp_whole_record: bool§table_creation_was_logged: bool§non_determinstic_insert: bool§has_update_default_function: bool§can_do_row_logging: bool§long_unique_table: bool§keep_original_mysql_version: bool§optimizer_costs_inited: bool§table_map_id: ulonglong§incompatible_version: ulong§view_def: *const File_parserFor shares representing views File_parser object with view definition read from .FRM file.
sequence: *mut SEQUENCE§auto_partitioned: bool§partition_info_str: *mut c_char§partition_info_str_len: uint§partition_info_buffer_size: uint§default_part_plugin: plugin_ref§online_alter_binlog: *mut Cache_flip_event_log§versioned: Type§vers: TABLE_SHARE_period_info_t§period: TABLE_SHARE_period_info_t§vers_skip_auto_create: bool§table_field_def_cache: *const TABLE_FIELD_DEFCache the checked structure of this table.
The pointer data is used to describe the structure that a instance of the table must have. Each element of the array specifies a field that must exist on the table.
The pointer is cached in order to perform the check only once – when the table is loaded from the disk.
Main handler’s share
m_psi: *mut PSI_table_shareInstrumentation for this table share.
frm_image: *mut LEX_CUSTRINGonly during CREATE TABLE (@sa ha_create_table)
Implementations§
source§impl TABLE_SHARE
impl TABLE_SHARE
pub unsafe fn init_period_from_extra2( &mut self, period: *mut TABLE_SHARE_period_info_t, data: *const uchar, end: *const uchar ) -> bool
pub unsafe fn visit_subgraph( &mut self, waiting_ticket: *mut Wait_for_flush, gvisitor: *mut MDL_wait_for_graph_visitor ) -> bool
pub unsafe fn wait_for_old_version( &mut self, thd: *mut THD, abstime: *mut timespec, deadlock_weight: uint ) -> bool
pub unsafe fn destroy(&mut self)
pub unsafe fn actual_n_key_parts(&mut self, thd: *mut THD) -> uint
pub unsafe fn init_from_binary_frm_image( &mut self, thd: *mut THD, write: bool, frm_image: *const uchar, frm_length: usize, par_image: *const uchar, par_length: usize ) -> c_int
pub unsafe fn init_from_sql_statement_string( &mut self, thd: *mut THD, write: bool, sql: *const c_char, sql_length: usize ) -> c_int
pub unsafe fn write_frm_image( &mut self, frm_image: *const uchar, frm_length: usize ) -> bool
pub unsafe fn write_par_image( &mut self, par_image: *const uchar, par_length: usize ) -> bool
pub unsafe fn read_frm_image( &mut self, frm_image: *mut *const uchar, frm_length: *mut usize ) -> bool
pub unsafe fn free_frm_image(&mut self, frm: *const uchar)
pub unsafe fn set_overlapped_keys(&mut self)
pub unsafe fn set_ignored_indexes(&mut self)
pub unsafe fn usable_indexes(&mut self, thd: *mut THD) -> key_map
pub unsafe fn make_long_hash_func( &self, thd: *mut THD, mem_root: *mut MEM_ROOT, field_list: *mut List ) -> *mut Item_func_hash
pub unsafe fn update_optimizer_costs(&mut self, hton: *mut handlerton)
pub unsafe fn update_engine_independent_stats( &mut self, stat: *mut TABLE_STATISTICS_CB )
pub unsafe fn histograms_exists(&mut self) -> bool
Auto Trait Implementations§
impl !RefUnwindSafe for TABLE_SHARE
impl !Send for TABLE_SHARE
impl !Sync for TABLE_SHARE
impl Unpin for TABLE_SHARE
impl !UnwindSafe for TABLE_SHARE
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more