MySQL 8.4.0
Source Code Documentation
mi_write.cc File Reference
#include <errno.h>
#include <fcntl.h>
#include <sys/types.h>
#include <algorithm>
#include "my_dbug.h"
#include "my_inttypes.h"
#include "my_macros.h"
#include "my_tree.h"
#include "storage/myisam/fulltext.h"
#include "storage/myisam/myisamdef.h"
#include "storage/myisam/rt_index.h"

Classes

struct  bulk_insert_param
 

Macros

#define MAX_POINTER_LENGTH   8
 

Functions

static int w_search (MI_INFO *info, MI_KEYDEF *keyinfo, uint comp_flag, uchar *key, uint key_length, my_off_t pos, uchar *father_buff, uchar *father_keypos, my_off_t father_page, bool insert_last)
 
static int _mi_balance_page (MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key, uchar *curr_buff, uchar *father_buff, uchar *father_keypos, my_off_t father_page)
 
static uchar_mi_find_last_pos (MI_KEYDEF *keyinfo, uchar *page, uchar *key, uint *return_key_length, uchar **after_key)
 
int _mi_ck_write_tree (MI_INFO *info, uint keynr, uchar *key, uint key_length)
 
int _mi_ck_write_btree (MI_INFO *info, uint keynr, uchar *key, uint key_length)
 
int mi_write (MI_INFO *info, uchar *record)
 
int _mi_ck_write (MI_INFO *info, uint keynr, uchar *key, uint key_length)
 
int _mi_ck_real_write_btree (MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key, uint key_length, my_off_t *root, uint comp_flag)
 
int _mi_enlarge_root (MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key, my_off_t *root)
 
int _mi_insert (MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key, uchar *anc_buff, uchar *key_pos, uchar *key_buff, uchar *father_buff, uchar *father_key_pos, my_off_t father_page, bool insert_last)
 
int _mi_split_page (MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key, uchar *buff, uchar *key_buff, bool insert_last_key)
 
uchar_mi_find_half_pos (uint nod_flag, MI_KEYDEF *keyinfo, uchar *page, uchar *key, uint *return_key_length, uchar **after_key)
 
static int keys_compare (const void *a, const void *b, const void *c)
 
static void keys_free (void *v_key, TREE_FREE mode, const void *v_param)
 
int mi_init_bulk_insert (MI_INFO *info, ulong cache_size, ha_rows rows)
 
void mi_flush_bulk_insert (MI_INFO *info, uint inx)
 
void mi_end_bulk_insert (MI_INFO *info)
 

Macro Definition Documentation

◆ MAX_POINTER_LENGTH

#define MAX_POINTER_LENGTH   8

Function Documentation

◆ _mi_balance_page()

static int _mi_balance_page ( MI_INFO info,
MI_KEYDEF keyinfo,
uchar key,
uchar curr_buff,
uchar father_buff,
uchar father_keypos,
my_off_t  father_page 
)
static

◆ _mi_ck_real_write_btree()

int _mi_ck_real_write_btree ( MI_INFO info,
MI_KEYDEF keyinfo,
uchar key,
uint  key_length,
my_off_t root,
uint  comp_flag 
)

◆ _mi_ck_write()

int _mi_ck_write ( MI_INFO info,
uint  keynr,
uchar key,
uint  key_length 
)

◆ _mi_ck_write_btree()

int _mi_ck_write_btree ( MI_INFO info,
uint  keynr,
uchar key,
uint  key_length 
)

◆ _mi_ck_write_tree()

int _mi_ck_write_tree ( MI_INFO info,
uint  keynr,
uchar key,
uint  key_length 
)

◆ _mi_enlarge_root()

int _mi_enlarge_root ( MI_INFO info,
MI_KEYDEF keyinfo,
uchar key,
my_off_t root 
)

◆ _mi_find_half_pos()

uchar * _mi_find_half_pos ( uint  nod_flag,
MI_KEYDEF keyinfo,
uchar page,
uchar key,
uint *  return_key_length,
uchar **  after_key 
)

◆ _mi_find_last_pos()

static uchar * _mi_find_last_pos ( MI_KEYDEF keyinfo,
uchar page,
uchar key,
uint *  return_key_length,
uchar **  after_key 
)
static

◆ _mi_insert()

int _mi_insert ( MI_INFO info,
MI_KEYDEF keyinfo,
uchar key,
uchar anc_buff,
uchar key_pos,
uchar key_buff,
uchar father_buff,
uchar father_key_pos,
my_off_t  father_page,
bool  insert_last 
)

◆ _mi_split_page()

int _mi_split_page ( MI_INFO info,
MI_KEYDEF keyinfo,
uchar key,
uchar buff,
uchar key_buff,
bool  insert_last_key 
)

◆ keys_compare()

static int keys_compare ( const void *  a,
const void *  b,
const void *  c 
)
static

◆ keys_free()

static void keys_free ( void *  v_key,
TREE_FREE  mode,
const void *  v_param 
)
static

◆ mi_end_bulk_insert()

void mi_end_bulk_insert ( MI_INFO info)

◆ mi_flush_bulk_insert()

void mi_flush_bulk_insert ( MI_INFO info,
uint  inx 
)

◆ mi_init_bulk_insert()

int mi_init_bulk_insert ( MI_INFO info,
ulong  cache_size,
ha_rows  rows 
)

◆ mi_write()

int mi_write ( MI_INFO info,
uchar record 
)

◆ w_search()

static int w_search ( MI_INFO info,
MI_KEYDEF keyinfo,
uint  comp_flag,
uchar key,
uint  key_length,
my_off_t  pos,
uchar father_buff,
uchar father_keypos,
my_off_t  father_page,
bool  insert_last 
)
static