MySQL  8.0.16
Source Code Documentation
HA_CREATE_INFO Struct Reference

#include <handler.h>

Public Member Functions

void init_create_options_from_share (const TABLE_SHARE *share, uint used_fields)
 Fill HA_CREATE_INFO to be used by ALTER as well as upgrade code. More...
 

Public Attributes

const CHARSET_INFOtable_charset {nullptr}
 
const CHARSET_INFOdefault_table_charset {nullptr}
 
LEX_STRING connect_string {nullptr, 0}
 
const char * password {nullptr}
 
const char * tablespace {nullptr}
 
LEX_STRING comment {nullptr, 0}
 
LEX_STRING compress {nullptr, 0}
 
Algorithm (and possible options) to be used for InnoDB's transparent page compression. More...
 
LEX_STRING encrypt_type {nullptr, 0}
 
This attibute is used for InnoDB's transparent page encryption. More...
 
LEX_STRING secondary_engine {nullptr, 0}
 Secondary engine of the table. More...
 
const char * data_file_name {nullptr}
 
const char * index_file_name {nullptr}
 
const char * alias {nullptr}
 
ulonglong max_rows {0}
 
ulonglong min_rows {0}
 
ulonglong auto_increment_value {0}
 
ulong table_options {0}
 
ulong avg_row_length {0}
 
ulong used_fields {0}
 
ulong key_block_size {0}
 
uint stats_sample_pages {0}
 
enum_stats_auto_recalc stats_auto_recalc {HA_STATS_AUTO_RECALC_DEFAULT}
 
SQL_I_List< TABLE_LISTmerge_list
 
handlertondb_type {nullptr}
 
enum row_type row_type = ROW_TYPE_DEFAULT
 Row type of the table definition. More...
 
uint null_bits {0}
 
uint options {0}
 
uint merge_insert_method {0}
 
ha_storage_media storage_media {HA_SM_DEFAULT}
 
bool m_hidden {false}
 

Member Function Documentation

◆ init_create_options_from_share()

void HA_CREATE_INFO::init_create_options_from_share ( const TABLE_SHARE share,
uint  used_fields 
)

Fill HA_CREATE_INFO to be used by ALTER as well as upgrade code.

This function separates code from mysql_prepare_alter_table() to be used by upgrade code as well to reduce code duplication. For ALTER code path, this lets new create options override the old ones.

Parameters
[in]shareTABLE_SHARE object
[in]used_fieldsIf a given create option is not flagged, old value be copied from the TABLE_SHARE.

Member Data Documentation

◆ alias

const char* HA_CREATE_INFO::alias {nullptr}

◆ auto_increment_value

ulonglong HA_CREATE_INFO::auto_increment_value {0}

◆ avg_row_length

ulong HA_CREATE_INFO::avg_row_length {0}

◆ comment

LEX_STRING HA_CREATE_INFO::comment {nullptr, 0}

◆ compress

LEX_STRING HA_CREATE_INFO::compress {nullptr, 0}


Algorithm (and possible options) to be used for InnoDB's transparent page compression.

If this attribute is set then it is hint to the storage engine to try and compress the data using the specified algorithm where possible. Note: this value is interpreted by the storage engine only. and ignored by the Server layer.

◆ connect_string

LEX_STRING HA_CREATE_INFO::connect_string {nullptr, 0}

◆ data_file_name

const char* HA_CREATE_INFO::data_file_name {nullptr}

◆ db_type

handlerton* HA_CREATE_INFO::db_type {nullptr}

◆ default_table_charset

const CHARSET_INFO* HA_CREATE_INFO::default_table_charset {nullptr}

◆ encrypt_type

LEX_STRING HA_CREATE_INFO::encrypt_type {nullptr, 0}


This attibute is used for InnoDB's transparent page encryption.

If this attribute is set then it is hint to the storage engine to encrypt the data. Note: this value is interpreted by the storage engine only. and ignored by the Server layer.

◆ index_file_name

const char* HA_CREATE_INFO::index_file_name {nullptr}

◆ key_block_size

ulong HA_CREATE_INFO::key_block_size {0}

◆ m_hidden

bool HA_CREATE_INFO::m_hidden {false}

◆ max_rows

ulonglong HA_CREATE_INFO::max_rows {0}

◆ merge_insert_method

uint HA_CREATE_INFO::merge_insert_method {0}

◆ merge_list

SQL_I_List<TABLE_LIST> HA_CREATE_INFO::merge_list

◆ min_rows

ulonglong HA_CREATE_INFO::min_rows {0}

◆ null_bits

uint HA_CREATE_INFO::null_bits {0}

◆ options

uint HA_CREATE_INFO::options {0}

◆ password

const char* HA_CREATE_INFO::password {nullptr}

◆ row_type

enum row_type HA_CREATE_INFO::row_type = ROW_TYPE_DEFAULT

Row type of the table definition.

Defaults to ROW_TYPE_DEFAULT for all non-ALTER statements. For ALTER TABLE defaults to ROW_TYPE_NOT_USED (means "keep the current").

Can be changed either explicitly by the parser. If nothing specified inherits the value of the original table (if present).

◆ secondary_engine

LEX_STRING HA_CREATE_INFO::secondary_engine {nullptr, 0}

Secondary engine of the table.

Is nullptr if no secondary engine defined.

◆ stats_auto_recalc

enum_stats_auto_recalc HA_CREATE_INFO::stats_auto_recalc {HA_STATS_AUTO_RECALC_DEFAULT}

◆ stats_sample_pages

uint HA_CREATE_INFO::stats_sample_pages {0}

◆ storage_media

ha_storage_media HA_CREATE_INFO::storage_media {HA_SM_DEFAULT}

◆ table_charset

const CHARSET_INFO* HA_CREATE_INFO::table_charset {nullptr}

◆ table_options

ulong HA_CREATE_INFO::table_options {0}

◆ tablespace

const char* HA_CREATE_INFO::tablespace {nullptr}

◆ used_fields

ulong HA_CREATE_INFO::used_fields {0}

The documentation for this struct was generated from the following files: