![]() |
MySQL 9.6.0
Source Code Documentation
|
Column metadata information. More...
#include <bulk_data_service.h>
Public Attributes | |
| void *(* | begin )(THD *thd, const TABLE *table, size_t keynr, size_t data_size, size_t memory, size_t num_threads) |
| Begin Loading bulk data to SE. More... | |
| bool(* | load )(THD *thd, void *ctx, const TABLE *table, const Rows_mysql &sql_rows, size_t thread, Bulk_load::Stat_callbacks &wait_cbks) |
| Load a set of rows to SE table by one thread. More... | |
| bool(* | open_blob )(THD *thd, void *load_ctx, const TABLE *table, Blob_context &blob_ctx, unsigned char *blobref, size_t thread) |
| Create a blob context object to insert a blob. More... | |
| bool(* | write_blob )(THD *thd, void *load_ctx, const TABLE *table, Blob_context blob_ctx, unsigned char *blobref, size_t thread, const unsigned char *data, size_t data_len) |
| Write data into a blob. More... | |
| bool(* | close_blob )(THD *thd, void *load_ctx, const TABLE *table, Blob_context blob_ctx, unsigned char *blobref, size_t thread) |
| Close the blob. More... | |
| bool(* | end )(THD *thd, void *ctx, const TABLE *table, bool error) |
| End Loading bulk data to SE. More... | |
| bool(* | is_table_supported )(THD *thd, const TABLE *table) |
| Check if a table is supported by the bulk load implementation. More... | |
| size_t(* | get_se_memory_size )(THD *thd, const TABLE *table) |
| Get available buffer pool memory for bulk load operations. More... | |
| bool(* | copy_existing_data )(void *ctx, const TABLE *table, size_t thread, Bulk_load::Stat_callbacks &wait_cbks) |
| Copies data from existing table into the duplicated table during incremental load. More... | |
| bool(* | set_source_table_data )(void *ctx, const TABLE *table, const std::vector< Bulk_load::Source_table_data > &source_table_data) |
| Sets the source table data (table name and key range boundaries) for all loaders. More... | |
Column metadata information.
| void *(* s_mysql_bulk_data_load::begin) (THD *thd, const TABLE *table, size_t keynr, size_t data_size, size_t memory, size_t num_threads) |
Begin Loading bulk data to SE.
| [in,out] | thd | session THD |
| [in] | table | MySQL TABLE |
| [in] | keynr | key number, identifying the index being loaded. |
| [in] | data_size | total data size to load |
| [in] | memory | SE memory to be used |
| [in] | num_threads | Number of concurrent threads |
| bool(* s_mysql_bulk_data_load::close_blob) (THD *thd, void *load_ctx, const TABLE *table, Blob_context blob_ctx, unsigned char *blobref, size_t thread) |
Close the blob.
| [in,out] | thd | session THD |
| [in,out] | load_ctx | SE load context returned by begin() |
| [in] | table | MySQL TABLE |
| [in] | blob_ctx | a blob context object to insert a blob. |
| [out] | blobref | buffer to hold blob reference |
| [in] | thread | current thread number |
| bool(* s_mysql_bulk_data_load::copy_existing_data) (void *ctx, const TABLE *table, size_t thread, Bulk_load::Stat_callbacks &wait_cbks) |
Copies data from existing table into the duplicated table during incremental load.
This is called after the bulk load component detects we reached the end of the CSV input for the respective sub-loader and it signals that the loader should now iterate through the remainded or the existing data in the original table and migrate it.
| [in,out] | ctx | SE load context |
| [in] | table | MySQL TABLE |
| [in] | thread | loader thread index |
| [in,out] | wait_cbks | wait stat callbacks |
End Loading bulk data to SE.
Called at the end of bulk load execution, even if begin or load calls failed.
| [in,out] | thd | session THD |
| [in,out] | ctx | SE load context |
| [in] | table | MySQL TABLE |
| [in] | error | true, if exiting after error |
Get available buffer pool memory for bulk load operations.
| [in,out] | thd | session THD |
| [in] | table | MySQL TABLE |
Check if a table is supported by the bulk load implementation.
| [in,out] | thd | session THD |
| [in] | table | MySQL TABLE |
| bool(* s_mysql_bulk_data_load::load) (THD *thd, void *ctx, const TABLE *table, const Rows_mysql &sql_rows, size_t thread, Bulk_load::Stat_callbacks &wait_cbks) |
Load a set of rows to SE table by one thread.
| [in,out] | thd | session THD |
| [in,out] | ctx | SE load context returned by begin() |
| [in] | table | MySQL TABLE |
| [in] | sql_rows | row data to load |
| [in] | thread | current thread number |
| [in] | wait_cbks | wait stat callbacks |
| bool(* s_mysql_bulk_data_load::open_blob) (THD *thd, void *load_ctx, const TABLE *table, Blob_context &blob_ctx, unsigned char *blobref, size_t thread) |
Create a blob context object to insert a blob.
| [in,out] | thd | session THD |
| [in,out] | load_ctx | SE load context returned by begin() |
| [in] | table | MySQL TABLE |
| [out] | blob_ctx | a blob context object to insert a blob. |
| [out] | blobref | buffer to hold blob reference |
| [in] | thread | current thread number |
| bool(* s_mysql_bulk_data_load::set_source_table_data) (void *ctx, const TABLE *table, const std::vector< Bulk_load::Source_table_data > &source_table_data) |
Sets the source table data (table name and key range boundaries) for all loaders.
| [in,out] | ctx | SE load context |
| [in] | table | MySQL TABLE |
| [in] | source_table_data | vector containing the source table data |
| bool(* s_mysql_bulk_data_load::write_blob) (THD *thd, void *load_ctx, const TABLE *table, Blob_context blob_ctx, unsigned char *blobref, size_t thread, const unsigned char *data, size_t data_len) |
Write data into a blob.
| [in,out] | thd | session THD |
| [in,out] | load_ctx | SE load context returned by begin() |
| [in] | table | MySQL TABLE |
| [in] | blob_ctx | a blob context object to insert a blob. |
| [out] | blobref | buffer to hold blob reference |
| [in] | thread | current thread number |
| [in] | data | blob data to be written |
| [in] | data_len | length of blob data to be written (in bytes); |