#[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_share: 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.

§ha_share: *mut Handler_share

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

source

pub unsafe fn init_period_from_extra2( &mut self, period: *mut TABLE_SHARE_period_info_t, data: *const uchar, end: *const uchar ) -> bool

source

pub unsafe fn visit_subgraph( &mut self, waiting_ticket: *mut Wait_for_flush, gvisitor: *mut MDL_wait_for_graph_visitor ) -> bool

source

pub unsafe fn wait_for_old_version( &mut self, thd: *mut THD, abstime: *mut timespec, deadlock_weight: uint ) -> bool

source

pub unsafe fn destroy(&mut self)

source

pub unsafe fn actual_n_key_parts(&mut self, thd: *mut THD) -> uint

source

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

source

pub unsafe fn init_from_sql_statement_string( &mut self, thd: *mut THD, write: bool, sql: *const c_char, sql_length: usize ) -> c_int

source

pub unsafe fn write_frm_image( &mut self, frm_image: *const uchar, frm_length: usize ) -> bool

source

pub unsafe fn write_par_image( &mut self, par_image: *const uchar, par_length: usize ) -> bool

source

pub unsafe fn read_frm_image( &mut self, frm_image: *mut *const uchar, frm_length: *mut usize ) -> bool

source

pub unsafe fn free_frm_image(&mut self, frm: *const uchar)

source

pub unsafe fn set_overlapped_keys(&mut self)

source

pub unsafe fn set_ignored_indexes(&mut self)

source

pub unsafe fn usable_indexes(&mut self, thd: *mut THD) -> key_map

source

pub unsafe fn make_long_hash_func( &self, thd: *mut THD, mem_root: *mut MEM_ROOT, field_list: *mut List ) -> *mut Item_func_hash

source

pub unsafe fn update_optimizer_costs(&mut self, hton: *mut handlerton)

source

pub unsafe fn update_engine_independent_stats( &mut self, stat: *mut TABLE_STATISTICS_CB )

source

pub unsafe fn histograms_exists(&mut self) -> bool

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.