MySQL 8.4.2
Source Code Documentation
|
Classes | |
class | Row_header |
Functions | |
static void | log_conversion_error (const Column_text &text_col, std::string mesg) |
Log details of error during data conversion. More... | |
template<typename S , typename U > | |
static int | format_int_column (const Column_text &text_col, const CHARSET_INFO *charset, const Field *field, bool write_in_buffer, Column_mysql &sql_col, Bulk_load_error_location_details &error_details) |
Create an integer column converting data from CSV text. More... | |
static int | format_char_column (const Column_text &text_col, const CHARSET_INFO *charset, const Field *field, bool write_length, const Column_meta &col_meta, bool single_byte, Column_mysql &sql_col, size_t &length_size, Bulk_load_error_location_details &error_details) |
Create a char/varchar column converting data to MySQL storage format. More... | |
static int | format_float_column (const Column_text &text_col, const CHARSET_INFO *charset, const Field *field, Column_mysql &sql_col, Bulk_load_error_location_details &error_details) |
Create a FLOAT column converting data to MySQL storage format. More... | |
static int | format_double_column (const Column_text &text_col, const CHARSET_INFO *charset, const Field *field, Column_mysql &sql_col, Bulk_load_error_location_details &error_details) |
Create a DOUBLE column converting data to MySQL storage format. More... | |
static int | format_decimal_column (const Column_text &text_col, const CHARSET_INFO *charset, const Field *field, Column_mysql &sql_col, Bulk_load_error_location_details &error_details) |
Create a DECIMAL column converting data to MySQL storage format. More... | |
static int | format_datetime_column (THD *thd, const Column_text &text_col, const CHARSET_INFO *charset, const Field *field, Column_mysql &sql_col, Bulk_load_error_location_details &error_details) |
Create a DATETIME column converting data to MySQL storage format. More... | |
static int | format_date_column (THD *thd, const Column_text &text_col, const CHARSET_INFO *charset, const Field *field, Column_mysql &sql_col, Bulk_load_error_location_details &error_details) |
Create a DATE column converting data to MySQL storage format. More... | |
static int | format_time_column (THD *thd, const Column_text &text_col, const CHARSET_INFO *charset, const Field *field, Column_mysql &sql_col, Bulk_load_error_location_details &error_details) |
Create a TIME column converting data to MySQL storage format. More... | |
static int | format_row (THD *thd, const TABLE_SHARE *table_share, const Rows_text &text_rows, size_t text_row_index, char *&buffer, size_t &buffer_length, const CHARSET_INFO *charset, const Row_meta &metadata, Rows_mysql &sql_rows, size_t sql_row_index, bool single_byte_char, bool &completed, Bulk_load_error_location_details &error_details) |
Create a row in converting column data to MySQL storage format. More... | |
static int | fill_column_data (char *buffer, size_t buffer_length, const Column_meta &col_meta, const Row_header &header, bool marked_fixed, size_t &col_length, Column_mysql &sql_col) |
Fill data in column from raw format. More... | |
static int | fill_row_data (char *buffer, size_t buffer_length, bool fill_keys, const Row_meta &metadata, Row_header &header, Rows_mysql &sql_rows, size_t row_num, size_t &row_length) |
Fill data in row from raw format. More... | |
int | mysql_format_using_key (const Row_meta &metadata, const Rows_mysql &sql_keys, size_t key_offset, Rows_mysql &sql_rows, size_t sql_index) noexcept |
int | mysql_format_from_raw (char *buffer, size_t buffer_length, const Row_meta &metadata, size_t start_index, size_t &consumed_length, Rows_mysql &sql_rows) noexcept |
int | mysql_format (THD *thd, const TABLE *table, const Rows_text &text_rows, size_t &next_index, char *buffer, size_t &buffer_length, const CHARSET_INFO *charset, const Row_meta &metadata, Rows_mysql &sql_rows, Bulk_load_error_location_details &error_details) noexcept |
bool | is_killed (THD *thd) noexcept |
int | compare_keys (const Column_mysql &key1, const Column_mysql &key2, const Column_meta &col_meta) noexcept |
static void | set_data_type (const Field *field, Column_meta &col_meta) |
Fill column metadata type related information from mysql field structure. More... | |
static void | fill_column_metadata (const Field *field, Column_meta &col_meta) |
Fill column metadata from mysql field structure. More... | |
bool | get_row_metadata (THD *, const TABLE *table, bool have_key, Row_meta &metadata) noexcept |
|
noexcept |
|
static |
Fill data in column from raw format.
[in,out] | buffer | input raw data buffer |
[in] | buffer_length | buffer length |
[in] | col_meta | column metadata |
[in] | header | row header |
[in] | marked_fixed | if the row is marked as fixed length |
[out] | col_length | column length |
[out] | sql_col | column data |
|
static |
Fill column metadata from mysql field structure.
[in] | field | MySQL field from TABLE |
[out] | col_meta | column metadata object to fill |
|
static |
Fill data in row from raw format.
[in,out] | buffer | input raw data buffer |
[in] | buffer_length | buffer length |
[in] | fill_keys | true if keys to be filled otherwise the entire row |
[in] | metadata | row metadata |
[in,out] | header | row header |
[in,out] | sql_rows | row bunch to fill data |
[in] | row_num | index of the row within row bunch |
[out] | row_length | row length |
|
static |
Create a char/varchar column converting data to MySQL storage format.
[in] | text_col | input column in text read from CSV |
[in] | charset | character set for the input column data |
[in] | field | table column metadata |
[in] | write_length | write length of column data if variable length |
[in] | col_meta | column metadata |
[in] | single_byte | if true, allocation is done assuming single byte return ER_TOO_BIG_FIELDLENGTH if not enough |
[out] | sql_col | converted column in MySQL storage format |
[out] | length_size | number of bytes used to write the length |
[out] | error_details | error location details |
|
static |
Create a DATE column converting data to MySQL storage format.
[in] | thd | session THD |
[in] | text_col | input column in text read from CSV |
[in] | charset | character set for the input column data |
[in] | field | table column metadata |
[out] | sql_col | converted column in MySQL storage format |
[out] | error_details | error location details |
|
static |
Create a DATETIME column converting data to MySQL storage format.
[in] | thd | session THD |
[in] | text_col | input column in text read from CSV |
[in] | charset | character set for the input column data |
[in] | field | table column metadata |
[out] | sql_col | converted column in MySQL storage format |
[out] | error_details | the error details |
|
static |
Create a DECIMAL column converting data to MySQL storage format.
[in] | text_col | input column in text read from CSV |
[in] | charset | character set for the input column data |
[in] | field | table column metadata |
[out] | sql_col | converted column in MySQL storage format |
[out] | error_details | the error details |
|
static |
Create a DOUBLE column converting data to MySQL storage format.
[in] | text_col | input column in text read from CSV |
[in] | charset | character set for the input column data |
[in] | field | table column metadata |
[out] | sql_col | converted column in MySQL storage format |
[out] | error_details | the error details |
|
static |
Create a FLOAT column converting data to MySQL storage format.
[in] | text_col | input column in text read from CSV |
[in] | charset | character set for the input column data |
[in] | field | table column metadata |
[out] | sql_col | converted column in MySQL storage format |
[out] | error_details | the error details |
|
static |
Create an integer column converting data from CSV text.
[in] | text_col | input column in text read from CSV |
[in] | charset | character set for the input column data |
[in] | field | table column metadata |
[in] | write_in_buffer | write integer data in column buffer |
[out] | sql_col | converted column in MySQL storage format |
[out] | error_details | the error details |
|
static |
Create a row in converting column data to MySQL storage format.
[in] | thd | session THD |
[in] | table_share | shared table object |
[in] | text_rows | input rows with columns in text read from CSV |
[in] | text_row_index | current text row index |
[in] | buffer | buffer to write to |
[in] | buffer_length | buffer length |
[in] | charset | character set for the input row data |
[in] | metadata | row metadata |
[out] | sql_rows | converted row in MySQL storage format |
[in] | sql_row_index | current sql row index |
[in] | single_byte_char | assume single byte char length is enough |
[out] | completed | if all rows are processed |
[out] | error_details | the error details |
|
static |
Create a TIME column converting data to MySQL storage format.
[in] | thd | session THD |
[in] | text_col | input column in text read from CSV |
[in] | charset | character set for the input column data |
[in] | field | table column metadata |
[out] | sql_col | converted column in MySQL storage format |
[out] | error_details | the error details |
|
noexcept |
|
noexcept |
|
static |
Log details of error during data conversion.
[in] | text_col | input column from CSV file |
[in] | mesg | error message to append to |
|
noexcept |
|
noexcept |
|
noexcept |
|
static |
Fill column metadata type related information from mysql field structure.
[in] | field | MySQL field from TABLE |
[out] | col_meta | column metadata object to fill |