MySQL 9.0.0
Source Code Documentation
s_mysql_bulk_data_load Struct Reference

Column metadata information. More...

#include <bulk_data_service.h>

Public Attributes

void *(* begin )(THD *thd, const TABLE *table, 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...
 

Detailed Description

Column metadata information.

Member Data Documentation

◆ begin

void *(* s_mysql_bulk_data_load::begin) (THD *thd, const TABLE *table, size_t data_size, size_t memory, size_t num_threads)

Begin Loading bulk data to SE.

Parameters
[in,out]thdsession THD
[in]tableMySQL TABLE
[in]data_sizetotal data size to load
[in]memorySE memory to be used
[in]num_threadsNumber of concurrent threads
Returns
SE bulk load context or nullptr in case of an error.

◆ close_blob

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.

Parameters
[in,out]thdsession THD
[in,out]load_ctxSE load context returned by begin()
[in]tableMySQL TABLE
[in]blob_ctxa blob context object to insert a blob.
[out]blobrefbuffer to hold blob reference
[in]threadcurrent thread number
Returns
true if successful.

◆ end

bool(* s_mysql_bulk_data_load::end) (THD *thd, void *ctx, const TABLE *table, bool error)

End Loading bulk data to SE.

Called at the end of bulk load execution, even if begin or load calls failed.

Parameters
[in,out]thdsession THD
[in,out]ctxSE load context
[in]tableMySQL TABLE
[in]errortrue, if exiting after error
Returns
true if successful.

◆ get_se_memory_size

size_t(* s_mysql_bulk_data_load::get_se_memory_size) (THD *thd, const TABLE *table)

Get available buffer pool memory for bulk load operations.

Parameters
[in,out]thdsession THD
[in]tableMySQL TABLE
Returns
buffer pool memory available for bulk load.

◆ is_table_supported

bool(* s_mysql_bulk_data_load::is_table_supported) (THD *thd, const TABLE *table)

Check if a table is supported by the bulk load implementation.

Parameters
[in,out]thdsession THD
[in]tableMySQL TABLE
Returns
true if table is supported.

◆ load

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.

Parameters
[in,out]thdsession THD
[in,out]ctxSE load context returned by begin()
[in]tableMySQL TABLE
[in]sql_rowsrow data to load
[in]threadcurrent thread number
[in]wait_cbkswait stat callbacks
Returns
true if successful.

◆ open_blob

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.

Parameters
[in,out]thdsession THD
[in,out]load_ctxSE load context returned by begin()
[in]tableMySQL TABLE
[out]blob_ctxa blob context object to insert a blob.
[out]blobrefbuffer to hold blob reference
[in]threadcurrent thread number
Returns
true if successful.

◆ write_blob

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.

Parameters
[in,out]thdsession THD
[in,out]load_ctxSE load context returned by begin()
[in]tableMySQL TABLE
[in]blob_ctxa blob context object to insert a blob.
[out]blobrefbuffer to hold blob reference
[in]threadcurrent thread number
[in]datablob data to be written
[in]data_lenlength of blob data to be written (in bytes);
Returns
true if successful.

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