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_CATEGORY
Category 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: Type
Transactional or not.
page_checksum: Type
Per-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_parser
For 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_DEF
Cache 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_share
Instrumentation for this table share.
frm_image: *mut LEX_CUSTRING
only 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