MySQL 9.0.1
Source Code Documentation
|
#include <sql_load.h>
Public Member Functions | |
Sql_cmd_load_table (enum_filetype filetype, bool is_local_file, enum_source_type source_type, const LEX_STRING &filename, ulong file_count, bool in_key_order, On_duplicate on_duplicate, Table_ident *table, List< String > *opt_partitions, const CHARSET_INFO *opt_charset, LEX_CSTRING compression_algorithm, String *opt_xml_rows_identified_by, const Field_separators &field_separators, const Line_separators &line_separators, ulong skip_lines, mem_root_deque< Item * > *opt_fields_or_vars, mem_root_deque< Item * > *opt_set_fields, mem_root_deque< Item * > *opt_set_exprs, List< String > *opt_set_expr_strings, ulong concurrency, ulonglong memory_size, bool is_bulk_operation) | |
enum_sql_command | sql_command_code () const override |
Return the command code for this statement. More... | |
bool | execute (THD *thd) override |
Execute this SQL statement. More... | |
bool | is_bulk_load () const override |
Public Member Functions inherited from Sql_cmd | |
bool | needs_explicit_preparation () const |
bool | is_regular () const |
bool | is_prepared () const |
virtual bool | prepare (THD *) |
Prepare this SQL statement. More... | |
virtual void | cleanup (THD *) |
Command-specific reinitialization before execution of prepared statement. More... | |
void | set_owner (Prepared_statement *stmt) |
Set the owning prepared statement. More... | |
Prepared_statement * | owner () const |
Get the owning prepared statement. More... | |
void | set_as_part_of_sp () |
Mark statement as part of procedure. More... | |
bool | is_part_of_sp () const |
virtual enum enum_sql_cmd_type | sql_cmd_type () const |
virtual bool | is_single_table_plan () const |
virtual bool | accept (THD *, Select_lex_visitor *) |
virtual const MYSQL_LEX_CSTRING * | eligible_secondary_storage_engine (THD *) const |
Is this statement of a type and on a form that makes it eligible for execution in a secondary storage engine? More... | |
virtual bool | are_dynamic_parameters_allowed () const |
void | disable_secondary_storage_engine () |
Disable use of secondary storage engines in this statement. More... | |
void | enable_secondary_storage_engine () |
bool | secondary_storage_engine_disabled () const |
Has use of secondary storage engines been disabled for this statement? More... | |
void | use_secondary_storage_engine (const handlerton *hton) |
Mark the current statement as using a secondary storage engine. More... | |
bool | using_secondary_storage_engine () const |
Is this statement using a secondary storage engine? More... | |
const handlerton * | secondary_engine () const |
Get the handlerton of the secondary engine that is used for executing this statement, or nullptr if a secondary engine is not used. More... | |
void | set_optional_transform_prepared (bool value) |
bool | is_optional_transform_prepared () |
Public Attributes | |
sql_exchange | m_exchange |
const bool | m_is_local_file |
const On_duplicate | m_on_duplicate |
Table_ident *const | m_table |
List< String > *const | m_opt_partitions |
mem_root_deque< Item * > | m_opt_fields_or_vars |
mem_root_deque< Item * > | m_opt_set_fields |
mem_root_deque< Item * > | m_opt_set_exprs |
List< String > *const | m_opt_set_expr_strings |
A list of strings is maintained to store the SET clause command user strings which are specified in load data operation. More... | |
Private Member Functions | |
bool | execute_inner (THD *thd, enum enum_duplicates handle_duplicates) |
Execute LOAD DATA query. More... | |
bool | execute_bulk (THD *thd) |
Execute BULK LOAD DATA. More... | |
bool | truncate_table_for_bulk_load (THD *thd, Table_ref *const table_ref, dd::Table *table_def) |
Truncate to create a new table for BULK LOAD. More... | |
bool | check_bulk_load_parameters (THD *thd) |
Check bulk load parameters for limits. More... | |
bool | validate_table_for_bulk_load (THD *thd, Table_ref *const table_ref, dd::Table *table_def, handlerton **hton) |
Validate table for bulk load operation. More... | |
bool | bulk_driver_service (THD *thd, const TABLE *table, size_t &affected_rows) |
bool | read_fixed_length (THD *thd, COPY_INFO &info, Table_ref *table_list, READ_INFO &read_info, ulong skip_lines) |
Read of rows of fixed size + optional garbage + optional newline. More... | |
bool | read_sep_field (THD *thd, COPY_INFO &info, Table_ref *table_list, READ_INFO &read_info, const String &enclosed, ulong skip_lines) |
Read rows in delimiter-separated formats. More... | |
bool | read_xml_field (THD *thd, COPY_INFO &info, Table_ref *table_list, READ_INFO &read_info, ulong skip_lines) |
Read rows in xml format. More... | |
bool | write_execute_load_query_log_event (THD *thd, const char *db, const char *table_name, bool is_concurrent, enum enum_duplicates duplicates, bool transactional_table, int errocode) |
Private Attributes | |
enum_source_type | m_bulk_source |
Source for bulk data. More... | |
ulong | m_file_count |
Number of input files. More... | |
bool | m_ordered_data |
true if input data is in order of Primary Key. More... | |
ulong | m_concurrency |
Number of concurrent loaders to use. More... | |
ulonglong | m_memory_size |
Maximum memory size to be used in bytes. More... | |
bool | m_is_bulk_operation |
true if BULK LOAD. More... | |
LEX_CSTRING | m_compression_algorithm_string |
Additional Inherited Members | |
Protected Member Functions inherited from Sql_cmd | |
Sql_cmd () | |
virtual | ~Sql_cmd () |
void | set_prepared () |
Set this statement as prepared. More... | |
|
inline |
|
private |
|
private |
Check bulk load parameters for limits.
thd | Current thread |
|
overridevirtual |
Execute this SQL statement.
thd | the current thread. |
Implements Sql_cmd.
|
private |
Execute BULK LOAD DATA.
thd | Current thread. |
|
private |
Execute LOAD DATA query.
thd | Current thread. |
handle_duplicates | Indicates whenever we should emit error or replace row if we will meet duplicates. |
|
inlineoverridevirtual |
Reimplemented from Sql_cmd.
|
private |
Read of rows of fixed size + optional garbage + optional newline.
thd | Pointer to THD object |
info | Pointer to COPY_INFO object |
table_list | Pointer to Table_ref object |
read_info | Pointer to READ_INFO object |
skip_lines | Number of ignored lines at the start of the file. |
|
private |
Read rows in delimiter-separated formats.
thd | Pointer to THD object |
info | Pointer to COPY_INFO object |
table_list | Pointer to Table_ref object |
read_info | Pointer to READ_INFO object |
enclosed | ENCLOSED BY character |
skip_lines | Number of ignored lines at the start of the file. |
|
private |
Read rows in xml format.
thd | Pointer to THD object |
info | Pointer to COPY_INFO object |
table_list | Pointer to Table_ref object |
read_info | Pointer to READ_INFO object |
skip_lines | Number of ignored lines at the start of the file. |
|
inlineoverridevirtual |
Return the command code for this statement.
Implements Sql_cmd.
|
private |
Truncate to create a new table for BULK LOAD.
The transaction is not committed and rolls back if bulk load fails.
thd | Current thread |
table_ref | table reference |
table_def | dd table |
|
private |
Validate table for bulk load operation.
thd | Thread handle. | |
table_ref | Table_ref instance of a table. | |
table_def | DD table instance of a table. | |
[out] | hton | Handlerton instance of table's SE. |
|
private |
|
private |
Source for bulk data.
|
private |
|
private |
Number of concurrent loaders to use.
sql_exchange Sql_cmd_load_table::m_exchange |
|
private |
Number of input files.
|
private |
true if BULK LOAD.
const bool Sql_cmd_load_table::m_is_local_file |
|
private |
Maximum memory size to be used in bytes.
const On_duplicate Sql_cmd_load_table::m_on_duplicate |
mem_root_deque<Item *> Sql_cmd_load_table::m_opt_fields_or_vars |
A list of strings is maintained to store the SET clause command user strings which are specified in load data operation.
This list will be used during the reconstruction of "load data" statement at the time of writing to binary log.
mem_root_deque<Item *> Sql_cmd_load_table::m_opt_set_exprs |
mem_root_deque<Item *> Sql_cmd_load_table::m_opt_set_fields |
|
private |
true if input data is in order of Primary Key.
Table_ident* const Sql_cmd_load_table::m_table |