MySQL 8.4.3
Source Code Documentation
|
#include "my_config.h"
#include <assert.h>
#include <fcntl.h>
#include <stdlib.h>
#include <sys/types.h>
#include <time.h>
#include <algorithm>
#include "m_string.h"
#include "my_byteorder.h"
#include "my_compiler.h"
#include "my_dbug.h"
#include "my_default.h"
#include "my_getopt.h"
#include "my_inttypes.h"
#include "my_io.h"
#include "my_macros.h"
#include "my_pointer_arithmetic.h"
#include "my_tree.h"
#include "mysql/strings/int2str.h"
#include "mysys_err.h"
#include "print_version.h"
#include "sql/field.h"
#include "sql/mysqld_cs.h"
#include "storage/myisam/myisam_sys.h"
#include "storage/myisam/myisamdef.h"
#include "storage/myisam/queues.h"
#include "welcome_copyright_notice.h"
#include "storage/myisam/mi_extrafunc.h"
Classes | |
struct | st_file_buffer |
struct | HUFF_COUNTS |
struct | HUFF_ELEMENT |
union | HUFF_ELEMENT::un_element |
struct | HUFF_ELEMENT::un_element::st_nod |
struct | HUFF_ELEMENT::un_element::st_leaf |
struct | HUFF_TREE |
struct | PACK_MRG_INFO |
Macros | |
#define | BITS_SAVED 64 |
#define | IS_OFFSET ((uint)32768) /* Bit if offset or char in tree */ |
#define | HEAD_LENGTH 32 |
#define | ALLOWED_JOIN_DIFF 256 /* Diff allowed to join trees */ |
#define | DATA_TMP_EXT ".TMD" |
#define | OLD_EXT ".OLD" |
#define | FRM_EXT ".frm" |
#define | WRITE_COUNT MY_HOW_OFTEN_TO_WRITE |
Enumerations | |
enum | options_mp { OPT_CHARSETS_DIR_MP = 256 } |
Functions | |
int | main (int argc, char **argv) |
static void | get_options (int *argc, char ***argv) |
static MI_INFO * | open_isam_file (char *name, int mode) |
static bool | open_isam_files (PACK_MRG_INFO *mrg, char **names, uint count) |
static int | compress (PACK_MRG_INFO *file, char *join_name) |
static int | create_dest_frm (char *source_table, char *dest_table) |
Create FRM for the destination table for –join operation Copy the first table FRM as the destination table FRM file. More... | |
static HUFF_COUNTS * | init_huff_count (MI_INFO *info, my_off_t records) |
static void | free_counts_and_tree_and_queue (HUFF_TREE *huff_trees, uint trees, HUFF_COUNTS *huff_counts, uint fields) |
static int | compare_tree (const void *cmp_arg, const void *a, const void *b) |
static int | get_statistic (PACK_MRG_INFO *mrg, HUFF_COUNTS *huff_counts) |
static void | check_counts (HUFF_COUNTS *huff_counts, uint trees, my_off_t records) |
static int | test_space_compress (HUFF_COUNTS *huff_counts, my_off_t records, uint max_space_length, my_off_t *space_counts, my_off_t tot_space_count, enum en_fieldtype field_type) |
static HUFF_TREE * | make_huff_trees (HUFF_COUNTS *huff_counts, uint trees) |
static int | make_huff_tree (HUFF_TREE *tree, HUFF_COUNTS *huff_counts) |
static int | compare_huff_elements (void *not_used, uchar *a, uchar *b) |
static int | save_counts_in_queue (void *v_key, element_count count, void *v_tree) |
static my_off_t | calc_packed_length (HUFF_COUNTS *huff_counts, uint flag) |
static uint | join_same_trees (HUFF_COUNTS *huff_counts, uint trees) |
static int | make_huff_decode_table (HUFF_TREE *huff_tree, uint trees) |
static void | make_traverse_code_tree (HUFF_TREE *huff_tree, HUFF_ELEMENT *element, uint size, ulonglong code) |
static int | write_header (PACK_MRG_INFO *isam_file, uint header_length, uint trees, my_off_t tot_elements, my_off_t filelength) |
static void | write_field_info (HUFF_COUNTS *counts, uint fields, uint trees) |
static my_off_t | write_huff_tree (HUFF_TREE *huff_tree, uint trees) |
static uint * | make_offset_code_tree (HUFF_TREE *huff_tree, HUFF_ELEMENT *element, uint *offset) |
static uint | max_bit (uint value) |
static int | compress_isam_file (PACK_MRG_INFO *file, HUFF_COUNTS *huff_counts) |
static char * | make_new_name (char *new_name, char *old_name) |
static char * | make_old_name (char *new_name, char *old_name) |
static void | init_file_buffer (File file, bool read_buffer) |
static int | flush_buffer (ulong neaded_length) |
static void | end_file_buffer (void) |
static void | write_bits (ulonglong value, uint bits) |
static void | flush_bits (void) |
static int | save_state (MI_INFO *isam_file, PACK_MRG_INFO *mrg, my_off_t new_length, ha_checksum crc) |
static int | save_state_mrg (File file, PACK_MRG_INFO *isam_file, my_off_t new_length, ha_checksum crc) |
static int | mrg_close (PACK_MRG_INFO *mrg) |
static int | mrg_rrnd (PACK_MRG_INFO *info, uchar *buf) |
static void | mrg_reset (PACK_MRG_INFO *mrg) |
static void | fakebigcodes (HUFF_COUNTS *huff_counts, HUFF_COUNTS *end_count) |
st_keycache_thread_var * | keycache_thread_var () |
static void | usage (void) |
static bool | get_one_option (int optid, const struct my_option *opt, char *argument) |
static char * | bindigits (ulonglong value, uint bits) |
static char * | hexdigits (ulonglong value) |
Variables | |
static int | error_on_write = 0 |
static int | test_only = 0 |
static int | verbose = 0 |
static int | silent = 0 |
static int | write_loop = 0 |
static int | force_pack = 0 |
static int | isamchk_neaded = 0 |
static int | tmpfile_createflag = O_RDWR | O_TRUNC | O_EXCL |
static bool | backup |
static bool | opt_wait |
static uint | tree_buff_length = 65536 - MALLOC_OVERHEAD |
static char | tmp_dir [FN_REFLEN] = {0} |
static char * | join_table |
static my_off_t | intervall_length |
static ha_checksum | glob_crc |
static struct st_file_buffer | file_buffer |
static QUEUE | queue |
static HUFF_COUNTS * | global_count |
static char | zero_string [] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} |
static const char * | load_default_groups [] = {"myisampack", nullptr} |
static struct my_option | my_long_options [] |
#define ALLOWED_JOIN_DIFF 256 /* Diff allowed to join trees */ |
#define BITS_SAVED 64 |
#define DATA_TMP_EXT ".TMD" |
#define FRM_EXT ".frm" |
#define HEAD_LENGTH 32 |
#define IS_OFFSET ((uint)32768) /* Bit if offset or char in tree */ |
#define OLD_EXT ".OLD" |
#define WRITE_COUNT MY_HOW_OFTEN_TO_WRITE |
enum options_mp |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
Create FRM for the destination table for –join operation Copy the first table FRM as the destination table FRM file.
Doing so will help the mysql server to recognize the newly created table. See Bug#36573.
source_table | Name of the source table |
dest_table | Name of the destination table |
0 | Successful copy operation |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
st_keycache_thread_var * keycache_thread_var | ( | ) |
int main | ( | int | argc, |
char ** | argv | ||
) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |