MySQL 9.6.0
Source Code Documentation
ddl0bulk.cc File Reference

BULK Data Load. More...

#include "ddl0bulk.h"
#include <cstddef>
#include <cstdint>
#include <cstring>
#include <iostream>
#include <memory>
#include "api0api.h"
#include "btr0mtib.h"
#include "current_thd.h"
#include "data0data.h"
#include "data0type.h"
#include "db0err.h"
#include "dict0stats.h"
#include "field_types.h"
#include "lob0lob.h"
#include "mach0data.h"
#include "mem0mem.h"
#include "mysql/components/services/bulk_data_service.h"
#include "scope_guard.h"
#include "sql/field.h"
#include "sql/sql_table.h"
#include "trx0roll.h"
#include "trx0sys.h"
#include "trx0undo.h"

Namespaces

namespace  ddl_bulk
 

Functions

static dberr_t ddl_bulk::fill_tuple (dtuple_t *tuple, const row_prebuilt_t *prebuilt, const Rows_mysql &rows, size_t row_index, uint64_t &last_rowid, unsigned char *row_id_data, std::list< Btree_multi::Btree_load * > &subtrees, size_t queue_size, mem_heap_t *gcol_heap, bool &gcol_blobs_flushed)
 Fill the tuple to set the column data. More...
 
static dberr_t ddl_bulk::fill_tuple_up_to_n_cols (dtuple_t *tuple, const row_prebuilt_t *prebuilt, const Rows_mysql &rows, size_t row_index, size_t n_cols, uint64_t &last_rowid, unsigned char *row_id_data, std::list< Btree_multi::Btree_load * > &subtrees, size_t queue_size, bool allocate_subtree, mem_heap_t *gcol_heap, bool &gcol_blobs_flushed, bool validate_gcols)
 Fill the tuple to set the column data. More...
 
static void ddl_bulk::fill_system_columns (dtuple_t *entry, const row_prebuilt_t *prebuilt, unsigned char *trx_data, unsigned char *rollptr_data, unsigned char *row_id_data)
 Fill system columns for index entry to be loaded. More...
 
static void ddl_bulk::fill_index_entry (dtuple_t *entry, const dtuple_t *tuple, const row_prebuilt_t *prebuilt, unsigned char *trx_data, unsigned char *rollptr_data, unsigned char *row_id_data, bool fill_sys_cols=true)
 Fill he cluster index entry from tuple data. More...
 
static dberr_t ddl_bulk::setup_dfield (const row_prebuilt_t *prebuilt, Field *field, const Column_mysql &sql_col, dfield_t *src_dfield, dfield_t *dst_dfield)
 Sets up a dfield_t structure for a generated field based on src_dfield and user data in sql_col. More...
 
static bool ddl_bulk::store_int_col (const Column_mysql &col, byte *data_ptr, size_t &data_len)
 Store integer column in Innodb format. More...
 
static std::string ddl_bulk::print_int_field (dfield_t *field)
 
static std::string ddl_bulk::print_dfield_hex (const dfield_t *field)
 

Detailed Description

BULK Data Load.

Currently treated like DDL