MySQL 8.0.40
Source Code Documentation
Sql_cmd_load_table Class Referencefinal

#include <sql_load.h>

Inheritance diagram for Sql_cmd_load_table:
[legend]

Public Member Functions

 Sql_cmd_load_table (enum_filetype filetype, bool is_local_file, const LEX_STRING &filename, On_duplicate on_duplicate, Table_ident *table, List< String > *opt_partitions, const CHARSET_INFO *opt_charset, 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)
 
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...
 
- 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 bool reprepare_on_execute_required () const
 Some SQL commands currently require re-preparation on re-execution of a prepared statement or stored procedure. 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_statementowner () 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 bool is_dml () const
 
virtual bool is_single_table_plan () const
 
virtual bool accept (THD *, Select_lex_visitor *)
 
virtual const MYSQL_LEX_CSTRINGeligible_secondary_storage_engine () const
 Is this statement of a type and on a form that makes it eligible for execution in a secondary storage engine? More...
 
void disable_secondary_storage_engine ()
 Disable use of secondary storage engines in this statement. More...
 
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 handlertonsecondary_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 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)
 

Additional Inherited Members

- Protected Member Functions inherited from Sql_cmd
 Sql_cmd ()
 
virtual ~Sql_cmd ()
 
void set_prepared ()
 Set this statement as prepared. More...
 

Constructor & Destructor Documentation

◆ Sql_cmd_load_table()

Sql_cmd_load_table::Sql_cmd_load_table ( enum_filetype  filetype,
bool  is_local_file,
const LEX_STRING filename,
On_duplicate  on_duplicate,
Table_ident table,
List< String > *  opt_partitions,
const CHARSET_INFO opt_charset,
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 
)
inline

Member Function Documentation

◆ execute()

bool Sql_cmd_load_table::execute ( THD thd)
overridevirtual

Execute this SQL statement.

Parameters
thdthe current thread.
Returns
false if success, true if error

Implements Sql_cmd.

◆ execute_inner()

bool Sql_cmd_load_table::execute_inner ( THD thd,
enum enum_duplicates  handle_duplicates 
)
private

Execute LOAD DATA query.

Parameters
thdCurrent thread.
handle_duplicatesIndicates whenever we should emit error or replace row if we will meet duplicates.
Returns
true if error

◆ read_fixed_length()

bool Sql_cmd_load_table::read_fixed_length ( THD thd,
COPY_INFO info,
Table_ref table_list,
READ_INFO read_info,
ulong  skip_lines 
)
private

Read of rows of fixed size + optional garbage + optional newline.

Parameters
thdPointer to THD object
infoPointer to COPY_INFO object
table_listPointer to Table_ref object
read_infoPointer to READ_INFO object
skip_linesNumber of ignored lines at the start of the file.
Returns
true if error

◆ read_sep_field()

bool Sql_cmd_load_table::read_sep_field ( THD thd,
COPY_INFO info,
Table_ref table_list,
READ_INFO read_info,
const String enclosed,
ulong  skip_lines 
)
private

Read rows in delimiter-separated formats.

Parameters
thdPointer to THD object
infoPointer to COPY_INFO object
table_listPointer to Table_ref object
read_infoPointer to READ_INFO object
enclosedENCLOSED BY character
skip_linesNumber of ignored lines at the start of the file.
Returns
true if error

◆ read_xml_field()

bool Sql_cmd_load_table::read_xml_field ( THD thd,
COPY_INFO info,
Table_ref table_list,
READ_INFO read_info,
ulong  skip_lines 
)
private

Read rows in xml format.

Parameters
thdPointer to THD object
infoPointer to COPY_INFO object
table_listPointer to Table_ref object
read_infoPointer to READ_INFO object
skip_linesNumber of ignored lines at the start of the file.
Returns
true if error

◆ sql_command_code()

enum_sql_command Sql_cmd_load_table::sql_command_code ( ) const
inlineoverridevirtual

Return the command code for this statement.

Implements Sql_cmd.

◆ write_execute_load_query_log_event()

bool Sql_cmd_load_table::write_execute_load_query_log_event ( THD thd,
const char *  db_arg,
const char *  table_name_arg,
bool  is_concurrent,
enum enum_duplicates  duplicates,
bool  transactional_table,
int  errcode 
)
private
Note
Not a very useful function; just to avoid duplication of code
Returns
true if error

Member Data Documentation

◆ m_exchange

sql_exchange Sql_cmd_load_table::m_exchange

◆ m_is_local_file

const bool Sql_cmd_load_table::m_is_local_file

◆ m_on_duplicate

const On_duplicate Sql_cmd_load_table::m_on_duplicate

◆ m_opt_fields_or_vars

mem_root_deque<Item *> Sql_cmd_load_table::m_opt_fields_or_vars

◆ m_opt_partitions

List<String>* const Sql_cmd_load_table::m_opt_partitions

◆ m_opt_set_expr_strings

List<String>* const Sql_cmd_load_table::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.

This list will be used during the reconstruction of "load data" statement at the time of writing to binary log.

◆ m_opt_set_exprs

mem_root_deque<Item *> Sql_cmd_load_table::m_opt_set_exprs

◆ m_opt_set_fields

mem_root_deque<Item *> Sql_cmd_load_table::m_opt_set_fields

◆ m_table

Table_ident* const Sql_cmd_load_table::m_table

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