20 #include <myisammrg.h>
32 enum_table_ref_type m_child_table_ref_type;
33 ulonglong m_child_def_version;
39 inline enum_table_ref_type get_child_table_ref_type()
41 return m_child_table_ref_type;
43 inline ulonglong get_child_def_version()
45 return m_child_def_version;
47 inline void set_child_def_version(enum_table_ref_type child_table_ref_type,
50 m_child_table_ref_type= child_table_ref_type;
51 m_child_def_version= version;
55 char *table_name_arg,
size_t table_name_len_arg)
58 db.length= db_len_arg;
59 name.str= table_name_arg;
60 name.length= table_name_len_arg;
61 m_child_def_version= ~0ULL;
62 m_child_table_ref_type= TABLE_REF_NULL;
83 const char *index_type(uint key_number);
84 ulonglong table_flags()
const
86 return (HA_REC_NOT_IN_SEQ | HA_AUTO_PART_KEY | HA_NO_TRANSACTIONS |
87 HA_BINLOG_ROW_CAPABLE | HA_BINLOG_STMT_CAPABLE |
88 HA_NULL_IN_KEY | HA_CAN_INDEX_BLOBS | HA_FILE_BASED |
89 HA_ANY_INDEX_MAY_BE_UNIQUE | HA_CAN_BIT_FIELD |
94 ulong index_flags(uint inx, uint part,
bool all_parts)
const
96 return ((table_share->key_info[inx].algorithm == HA_KEY_ALG_FULLTEXT) ?
97 0 : HA_READ_NEXT | HA_READ_PREV | HA_READ_RANGE |
98 HA_READ_ORDER | HA_KEYREAD_ONLY);
100 uint max_supported_keys()
const {
return MI_MAX_KEY; }
101 uint max_supported_key_length()
const {
return MI_MAX_KEY_LENGTH; }
102 uint max_supported_key_part_length()
const {
return MI_MAX_KEY_LENGTH; }
104 {
return ulonglong2double(
stats.data_file_length) / IO_SIZE + file->tables; }
106 int open(
const char *
name,
int mode, uint test_if_locked);
112 int write_row(uchar *
buf);
113 int update_row(
const uchar * old_data, uchar * new_data);
114 int delete_row(
const uchar *
buf);
116 enum ha_rkey_function find_flag);
118 key_part_map keypart_map,
119 enum ha_rkey_function find_flag);
129 void position(
const uchar *
record);
134 int extra(
enum ha_extra_function operation);
135 int extra_opt(
enum ha_extra_function operation, ulong cache_size);
136 int external_lock(THD *thd,
int lock_type);
140 enum thr_lock_type lock_type);
142 void append_create_info(
String *packet);
144 TABLE *table_ptr() {
return table; }