50
50
#include <drizzled/sql_table.h>
53
int mysql_create_db(Session *thd, char *db, HA_CREATE_INFO *create, bool silent);
54
bool mysql_alter_db(Session *thd, const char *db, HA_CREATE_INFO *create);
55
bool mysql_rm_db(Session *thd,char *db,bool if_exists, bool silent);
56
bool mysql_change_db(Session *thd, const LEX_STRING *new_db_name,
53
int mysql_create_db(Session *session, char *db, HA_CREATE_INFO *create, bool silent);
54
bool mysql_alter_db(Session *session, const char *db, HA_CREATE_INFO *create);
55
bool mysql_rm_db(Session *session,char *db,bool if_exists, bool silent);
56
bool mysql_change_db(Session *session, const LEX_STRING *new_db_name,
57
57
bool force_switch);
58
bool mysql_opt_change_db(Session *thd,
58
bool mysql_opt_change_db(Session *session,
59
59
const LEX_STRING *new_db_name,
60
60
LEX_STRING *saved_db_name,
62
62
bool *cur_db_changed);
65
void write_bin_log(Session *thd, bool clear_error,
65
void write_bin_log(Session *session, bool clear_error,
66
66
char const *query, ulong query_length);
67
void mysql_binlog_send(Session* thd, char* log_ident, my_off_t pos, uint16_t flags);
68
void mysql_client_binlog_statement(Session *thd);
67
void mysql_binlog_send(Session* session, char* log_ident, my_off_t pos, uint16_t flags);
68
void mysql_client_binlog_statement(Session *session);
70
70
/* sql_rename.cc */
71
bool mysql_rename_tables(Session *thd, TableList *table_list, bool silent);
72
bool do_rename(Session *thd, TableList *ren_table, char *new_db,
71
bool mysql_rename_tables(Session *session, TableList *table_list, bool silent);
72
bool do_rename(Session *session, TableList *ren_table, char *new_db,
73
73
char *new_table_name, char *new_table_alias,
77
void mysql_parse(Session *thd, const char *inBuf, uint32_t length,
77
void mysql_parse(Session *session, const char *inBuf, uint32_t length,
78
78
const char ** semicolon);
80
bool mysql_test_parse_for_slave(Session *thd,char *inBuf,uint32_t length);
80
bool mysql_test_parse_for_slave(Session *session,char *inBuf,uint32_t length);
83
83
bool is_update_query(enum enum_sql_command command);
85
bool alloc_query(Session *thd, const char *packet, uint32_t packet_length);
85
bool alloc_query(Session *session, const char *packet, uint32_t packet_length);
87
void mysql_reset_thd_for_next_command(Session *thd);
87
void mysql_reset_session_for_next_command(Session *session);
89
89
void create_select_for_variable(const char *var_name);
123
123
/* drizzled.cc */
124
124
void kill_mysql(void);
125
void close_connection(Session *thd, uint32_t errcode, bool lock);
125
void close_connection(Session *session, uint32_t errcode, bool lock);
127
127
/* sql_select.cc */
128
Table *create_virtual_tmp_table(Session *thd, List<Create_field> &field_list);
128
Table *create_virtual_tmp_table(Session *session, List<Create_field> &field_list);
131
bool mysql_xa_recover(Session *thd);
131
bool mysql_xa_recover(Session *session);
133
133
SORT_FIELD * make_unireg_sortorder(order_st *order, uint32_t *length,
134
134
SORT_FIELD *sortorder);
135
int setup_order(Session *thd, Item **ref_pointer_array, TableList *tables,
135
int setup_order(Session *session, Item **ref_pointer_array, TableList *tables,
136
136
List<Item> &fields, List <Item> &all_fields, order_st *order);
137
int setup_group(Session *thd, Item **ref_pointer_array, TableList *tables,
137
int setup_group(Session *session, Item **ref_pointer_array, TableList *tables,
138
138
List<Item> &fields, List<Item> &all_fields, order_st *order,
139
139
bool *hidden_group_fields);
140
bool fix_inner_refs(Session *thd, List<Item> &all_fields, SELECT_LEX *select,
140
bool fix_inner_refs(Session *session, List<Item> &all_fields, SELECT_LEX *select,
141
141
Item **ref_pointer_array);
143
bool handle_select(Session *thd, LEX *lex, select_result *result,
143
bool handle_select(Session *session, LEX *lex, select_result *result,
144
144
ulong setup_tables_done_option);
145
bool mysql_select(Session *thd, Item ***rref_pointer_array,
145
bool mysql_select(Session *session, Item ***rref_pointer_array,
146
146
TableList *tables, uint32_t wild_num, List<Item> &list,
147
147
COND *conds, uint32_t og_num, order_st *order, order_st *group,
148
148
Item *having, order_st *proc_param, uint64_t select_type,
149
149
select_result *result, SELECT_LEX_UNIT *unit,
150
150
SELECT_LEX *select_lex);
151
void free_underlaid_joins(Session *thd, SELECT_LEX *select);
152
bool mysql_explain_union(Session *thd, SELECT_LEX_UNIT *unit,
151
void free_underlaid_joins(Session *session, SELECT_LEX *select);
152
bool mysql_explain_union(Session *session, SELECT_LEX_UNIT *unit,
153
153
select_result *result);
154
int mysql_explain_select(Session *thd, SELECT_LEX *sl, char const *type,
154
int mysql_explain_select(Session *session, SELECT_LEX *sl, char const *type,
155
155
select_result *result);
156
bool mysql_union(Session *thd, LEX *lex, select_result *result,
156
bool mysql_union(Session *session, LEX *lex, select_result *result,
157
157
SELECT_LEX_UNIT *unit, ulong setup_tables_done_option);
158
bool mysql_handle_derived(LEX *lex, bool (*processor)(Session *thd,
158
bool mysql_handle_derived(LEX *lex, bool (*processor)(Session *session,
160
160
TableList *table));
161
bool mysql_derived_prepare(Session *thd, LEX *lex, TableList *t);
162
bool mysql_derived_filling(Session *thd, LEX *lex, TableList *t);
163
Field *create_tmp_field(Session *thd, Table *table,Item *item, Item::Type type,
161
bool mysql_derived_prepare(Session *session, LEX *lex, TableList *t);
162
bool mysql_derived_filling(Session *session, LEX *lex, TableList *t);
163
Field *create_tmp_field(Session *session, Table *table,Item *item, Item::Type type,
164
164
Item ***copy_func, Field **from_field,
165
165
Field **def_field,
166
166
bool group, bool modify_item,
167
167
bool table_cant_handle_bit_fields,
168
168
bool make_copy_field,
169
169
uint32_t convert_blob_length);
170
void sp_prepare_create_field(Session *thd, Create_field *sql_field);
170
void sp_prepare_create_field(Session *session, Create_field *sql_field);
171
171
int prepare_create_field(Create_field *sql_field,
172
172
uint32_t *blob_columns,
173
173
int *timestamps, int *timestamps_with_niladic,
174
174
int64_t table_flags);
175
bool mysql_create_table(Session *thd,const char *db, const char *table_name,
175
bool mysql_create_table(Session *session,const char *db, const char *table_name,
176
176
HA_CREATE_INFO *create_info,
177
177
Alter_info *alter_info,
178
178
bool tmp_table, uint32_t select_field_count);
179
bool mysql_create_table_no_lock(Session *thd, const char *db,
179
bool mysql_create_table_no_lock(Session *session, const char *db,
180
180
const char *table_name,
181
181
HA_CREATE_INFO *create_info,
182
182
Alter_info *alter_info,
183
183
bool tmp_table, uint32_t select_field_count,
184
184
bool lock_open_lock);
186
bool mysql_alter_table(Session *thd, char *new_db, char *new_name,
186
bool mysql_alter_table(Session *session, char *new_db, char *new_name,
187
187
HA_CREATE_INFO *create_info,
188
188
TableList *table_list,
189
189
Alter_info *alter_info,
190
190
uint32_t order_num, order_st *order, bool ignore);
191
bool mysql_recreate_table(Session *thd, TableList *table_list);
192
bool mysql_create_like_table(Session *thd, TableList *table,
191
bool mysql_recreate_table(Session *session, TableList *table_list);
192
bool mysql_create_like_table(Session *session, TableList *table,
193
193
TableList *src_table,
194
194
HA_CREATE_INFO *create_info);
195
195
bool mysql_rename_table(handlerton *base, const char *old_db,
196
196
const char * old_name, const char *new_db,
197
197
const char * new_name, uint32_t flags);
198
bool mysql_prepare_update(Session *thd, TableList *table_list,
198
bool mysql_prepare_update(Session *session, TableList *table_list,
199
199
Item **conds, uint32_t order_num, order_st *order);
200
int mysql_update(Session *thd,TableList *tables,List<Item> &fields,
200
int mysql_update(Session *session,TableList *tables,List<Item> &fields,
201
201
List<Item> &values,COND *conds,
202
202
uint32_t order_num, order_st *order, ha_rows limit,
203
203
enum enum_duplicates handle_duplicates, bool ignore);
204
bool mysql_multi_update(Session *thd, TableList *table_list,
204
bool mysql_multi_update(Session *session, TableList *table_list,
205
205
List<Item> *fields, List<Item> *values,
206
206
COND *conds, uint64_t options,
207
207
enum enum_duplicates handle_duplicates, bool ignore,
208
208
SELECT_LEX_UNIT *unit, SELECT_LEX *select_lex);
209
bool mysql_prepare_insert(Session *thd, TableList *table_list, Table *table,
209
bool mysql_prepare_insert(Session *session, TableList *table_list, Table *table,
210
210
List<Item> &fields, List_item *values,
211
211
List<Item> &update_fields,
212
212
List<Item> &update_values, enum_duplicates duplic,
213
213
COND **where, bool select_insert,
214
214
bool check_fields, bool abort_on_warning);
215
bool mysql_insert(Session *thd,TableList *table,List<Item> &fields,
215
bool mysql_insert(Session *session,TableList *table,List<Item> &fields,
216
216
List<List_item> &values, List<Item> &update_fields,
217
217
List<Item> &update_values, enum_duplicates flag,
219
int check_that_all_fields_are_given_values(Session *thd, Table *entry,
219
int check_that_all_fields_are_given_values(Session *session, Table *entry,
220
220
TableList *table_list);
221
221
void prepare_triggers_for_insert_stmt(Table *table);
222
int mysql_prepare_delete(Session *thd, TableList *table_list, Item **conds);
223
bool mysql_delete(Session *thd, TableList *table_list, COND *conds,
222
int mysql_prepare_delete(Session *session, TableList *table_list, Item **conds);
223
bool mysql_delete(Session *session, TableList *table_list, COND *conds,
224
224
SQL_LIST *order, ha_rows rows, uint64_t options,
225
225
bool reset_auto_increment);
226
bool mysql_truncate(Session *thd, TableList *table_list, bool dont_send_ok);
227
uint32_t create_table_def_key(Session *thd, char *key, TableList *table_list,
226
bool mysql_truncate(Session *session, TableList *table_list, bool dont_send_ok);
227
uint32_t create_table_def_key(Session *session, char *key, TableList *table_list,
229
TABLE_SHARE *get_table_share(Session *thd, TableList *table_list, char *key,
229
TABLE_SHARE *get_table_share(Session *session, TableList *table_list, char *key,
230
230
uint32_t key_length, uint32_t db_flags, int *error);
231
231
void release_table_share(TABLE_SHARE *share, enum release_type type);
232
232
TABLE_SHARE *get_cached_table_share(const char *db, const char *table_name);
233
Table *open_ltable(Session *thd, TableList *table_list, thr_lock_type update,
233
Table *open_ltable(Session *session, TableList *table_list, thr_lock_type update,
234
234
uint32_t lock_flags);
235
Table *open_table(Session *thd, TableList *table_list, bool *refresh, uint32_t flags);
236
bool name_lock_locked_table(Session *thd, TableList *tables);
237
bool reopen_name_locked_table(Session* thd, TableList* table_list, bool link_in);
238
Table *table_cache_insert_placeholder(Session *thd, const char *key,
235
Table *open_table(Session *session, TableList *table_list, bool *refresh, uint32_t flags);
236
bool name_lock_locked_table(Session *session, TableList *tables);
237
bool reopen_name_locked_table(Session* session, TableList* table_list, bool link_in);
238
Table *table_cache_insert_placeholder(Session *session, const char *key,
239
239
uint32_t key_length);
240
bool lock_table_name_if_not_cached(Session *thd, const char *db,
240
bool lock_table_name_if_not_cached(Session *session, const char *db,
241
241
const char *table_name, Table **table);
242
Table *find_locked_table(Session *thd, const char *db,const char *table_name);
242
Table *find_locked_table(Session *session, const char *db,const char *table_name);
243
243
void detach_merge_children(Table *table, bool clear_refs);
244
244
bool fix_merge_after_open(TableList *old_child_list, TableList **old_last,
245
245
TableList *new_child_list, TableList **new_last);
246
246
bool reopen_table(Table *table);
247
bool reopen_tables(Session *thd,bool get_locks,bool in_refresh);
248
void close_data_files_and_morph_locks(Session *thd, const char *db,
247
bool reopen_tables(Session *session,bool get_locks,bool in_refresh);
248
void close_data_files_and_morph_locks(Session *session, const char *db,
249
249
const char *table_name);
250
250
void close_handle_and_leave_table_as_lock(Table *table);
251
bool open_new_frm(Session *thd, TABLE_SHARE *share, const char *alias,
251
bool open_new_frm(Session *session, TABLE_SHARE *share, const char *alias,
252
252
uint32_t db_stat, uint32_t prgflag,
253
253
uint32_t ha_open_flags, Table *outparam,
254
254
TableList *table_desc, MEM_ROOT *mem_root);
255
bool wait_for_tables(Session *thd);
255
bool wait_for_tables(Session *session);
256
256
bool table_is_used(Table *table, bool wait_for_name_lock);
257
Table *drop_locked_tables(Session *thd,const char *db, const char *table_name);
258
void abort_locked_tables(Session *thd,const char *db, const char *table_name);
259
void execute_init_command(Session *thd, sys_var_str *init_command_var,
257
Table *drop_locked_tables(Session *session,const char *db, const char *table_name);
258
void abort_locked_tables(Session *session,const char *db, const char *table_name);
259
void execute_init_command(Session *session, sys_var_str *init_command_var,
260
260
rw_lock_t *var_mutex);
261
261
extern Field *not_found_field;
262
262
extern Field *view_ref_found;
395
395
enum_resolution_type *resolution);
396
396
bool get_key_map_from_key_list(key_map *map, Table *table,
397
397
List<String> *index_list);
398
bool insert_fields(Session *thd, Name_resolution_context *context,
398
bool insert_fields(Session *session, Name_resolution_context *context,
399
399
const char *db_name, const char *table_name,
400
400
List_iterator<Item> *it, bool any_privileges);
401
bool setup_tables(Session *thd, Name_resolution_context *context,
401
bool setup_tables(Session *session, Name_resolution_context *context,
402
402
List<TableList> *from_clause, TableList *tables,
403
403
TableList **leaves, bool select_insert);
404
bool setup_tables_and_check_access(Session *thd,
404
bool setup_tables_and_check_access(Session *session,
405
405
Name_resolution_context *context,
406
406
List<TableList> *from_clause,
407
407
TableList *tables,
408
408
TableList **leaves,
409
409
bool select_insert);
410
int setup_wild(Session *thd, TableList *tables, List<Item> &fields,
410
int setup_wild(Session *session, TableList *tables, List<Item> &fields,
411
411
List<Item> *sum_func_list, uint32_t wild_num);
412
bool setup_fields(Session *thd, Item** ref_pointer_array,
412
bool setup_fields(Session *session, Item** ref_pointer_array,
413
413
List<Item> &item, enum_mark_columns mark_used_columns,
414
414
List<Item> *sum_func_list, bool allow_sum_func);
415
inline bool setup_fields_with_no_wrap(Session *thd, Item **ref_pointer_array,
415
inline bool setup_fields_with_no_wrap(Session *session, Item **ref_pointer_array,
416
416
List<Item> &item,
417
417
enum_mark_columns mark_used_columns,
418
418
List<Item> *sum_func_list,
419
419
bool allow_sum_func)
422
res= setup_fields(thd, ref_pointer_array, item, mark_used_columns, sum_func_list,
422
res= setup_fields(session, ref_pointer_array, item, mark_used_columns, sum_func_list,
426
int setup_conds(Session *thd, TableList *tables, TableList *leaves,
426
int setup_conds(Session *session, TableList *tables, TableList *leaves,
428
428
int setup_ftfuncs(SELECT_LEX* select);
429
int init_ftfuncs(Session *thd, SELECT_LEX* select, bool no_order);
430
void wait_for_condition(Session *thd, pthread_mutex_t *mutex,
429
int init_ftfuncs(Session *session, SELECT_LEX* select, bool no_order);
430
void wait_for_condition(Session *session, pthread_mutex_t *mutex,
431
431
pthread_cond_t *cond);
432
int open_tables(Session *thd, TableList **tables, uint32_t *counter, uint32_t flags);
432
int open_tables(Session *session, TableList **tables, uint32_t *counter, uint32_t flags);
433
433
/* open_and_lock_tables with optional derived handling */
434
int open_and_lock_tables_derived(Session *thd, TableList *tables, bool derived);
434
int open_and_lock_tables_derived(Session *session, TableList *tables, bool derived);
435
435
/* simple open_and_lock_tables without derived handling */
436
inline int simple_open_n_lock_tables(Session *thd, TableList *tables)
436
inline int simple_open_n_lock_tables(Session *session, TableList *tables)
438
return open_and_lock_tables_derived(thd, tables, false);
438
return open_and_lock_tables_derived(session, tables, false);
440
440
/* open_and_lock_tables with derived handling */
441
inline int open_and_lock_tables(Session *thd, TableList *tables)
441
inline int open_and_lock_tables(Session *session, TableList *tables)
443
return open_and_lock_tables_derived(thd, tables, true);
443
return open_and_lock_tables_derived(session, tables, true);
445
445
/* simple open_and_lock_tables without derived handling for single table */
446
Table *open_n_lock_single_table(Session *thd, TableList *table_l,
446
Table *open_n_lock_single_table(Session *session, TableList *table_l,
447
447
thr_lock_type lock_type);
448
bool open_normal_and_derived_tables(Session *thd, TableList *tables, uint32_t flags);
449
int lock_tables(Session *thd, TableList *tables, uint32_t counter, bool *need_reopen);
450
int decide_logging_format(Session *thd, TableList *tables);
451
Table *open_temporary_table(Session *thd, const char *path, const char *db,
448
bool open_normal_and_derived_tables(Session *session, TableList *tables, uint32_t flags);
449
int lock_tables(Session *session, TableList *tables, uint32_t counter, bool *need_reopen);
450
int decide_logging_format(Session *session, TableList *tables);
451
Table *open_temporary_table(Session *session, const char *path, const char *db,
452
452
const char *table_name, bool link_in_list,
453
453
open_table_mode open_mode);
454
454
bool rm_temporary_table(handlerton *base, char *path, bool frm_only);
455
455
void free_io_cache(Table *entry);
456
456
void intern_close_table(Table *entry);
457
bool close_thread_table(Session *thd, Table **table_ptr);
458
void close_temporary_tables(Session *thd);
459
void close_tables_for_reopen(Session *thd, TableList **tables);
457
bool close_thread_table(Session *session, Table **table_ptr);
458
void close_temporary_tables(Session *session);
459
void close_tables_for_reopen(Session *session, TableList **tables);
460
460
TableList *find_table_in_list(TableList *table,
461
461
TableList *TableList::*link,
462
462
const char *db_name,
463
463
const char *table_name);
464
TableList *unique_table(Session *thd, TableList *table, TableList *table_list,
464
TableList *unique_table(Session *session, TableList *table, TableList *table_list,
465
465
bool check_alias);
466
Table *find_temporary_table(Session *thd, const char *db, const char *table_name);
467
Table *find_temporary_table(Session *thd, TableList *table_list);
468
int drop_temporary_table(Session *thd, TableList *table_list);
469
void close_temporary_table(Session *thd, Table *table, bool free_share,
466
Table *find_temporary_table(Session *session, const char *db, const char *table_name);
467
Table *find_temporary_table(Session *session, TableList *table_list);
468
int drop_temporary_table(Session *session, TableList *table_list);
469
void close_temporary_table(Session *session, Table *table, bool free_share,
470
470
bool delete_table);
471
471
void close_temporary(Table *table, bool free_share, bool delete_table);
472
bool rename_temporary_table(Session* thd, Table *table, const char *new_db,
472
bool rename_temporary_table(Session* session, Table *table, const char *new_db,
473
473
const char *table_name);
474
474
void remove_db_from_cache(const char *db);
475
475
void flush_tables();
752
752
#define DRIZZLE_LOCK_IGNORE_GLOBAL_READ_ONLY 0x0010
753
753
#define DRIZZLE_LOCK_PERF_SCHEMA 0x0020
755
void mysql_unlock_tables(Session *thd, DRIZZLE_LOCK *sql_lock);
756
void mysql_unlock_read_tables(Session *thd, DRIZZLE_LOCK *sql_lock);
757
void mysql_unlock_some_tables(Session *thd, Table **table,uint32_t count);
758
void mysql_lock_remove(Session *thd, DRIZZLE_LOCK *locked,Table *table,
755
void mysql_unlock_tables(Session *session, DRIZZLE_LOCK *sql_lock);
756
void mysql_unlock_read_tables(Session *session, DRIZZLE_LOCK *sql_lock);
757
void mysql_unlock_some_tables(Session *session, Table **table,uint32_t count);
758
void mysql_lock_remove(Session *session, DRIZZLE_LOCK *locked,Table *table,
759
759
bool always_unlock);
760
void mysql_lock_abort(Session *thd, Table *table, bool upgrade_lock);
761
void mysql_lock_downgrade_write(Session *thd, Table *table,
760
void mysql_lock_abort(Session *session, Table *table, bool upgrade_lock);
761
void mysql_lock_downgrade_write(Session *session, Table *table,
762
762
thr_lock_type new_lock_type);
763
bool mysql_lock_abort_for_thread(Session *thd, Table *table);
763
bool mysql_lock_abort_for_thread(Session *session, Table *table);
764
764
DRIZZLE_LOCK *mysql_lock_merge(DRIZZLE_LOCK *a,DRIZZLE_LOCK *b);
765
TableList *mysql_lock_have_duplicate(Session *thd, TableList *needle,
765
TableList *mysql_lock_have_duplicate(Session *session, TableList *needle,
766
766
TableList *haystack);
767
bool lock_global_read_lock(Session *thd);
768
void unlock_global_read_lock(Session *thd);
769
bool wait_if_global_read_lock(Session *thd, bool abort_on_refresh,
767
bool lock_global_read_lock(Session *session);
768
void unlock_global_read_lock(Session *session);
769
bool wait_if_global_read_lock(Session *session, bool abort_on_refresh,
770
770
bool is_not_commit);
771
void start_waiting_global_read_lock(Session *thd);
772
bool make_global_read_lock_block_commit(Session *thd);
771
void start_waiting_global_read_lock(Session *session);
772
bool make_global_read_lock_block_commit(Session *session);
773
773
bool set_protect_against_global_read_lock(void);
774
774
void unset_protect_against_global_read_lock(void);
775
775
void broadcast_refresh(void);
776
int try_transactional_lock(Session *thd, TableList *table_list);
777
int check_transactional_lock(Session *thd, TableList *table_list);
778
int set_handler_table_locks(Session *thd, TableList *table_list,
776
int try_transactional_lock(Session *session, TableList *table_list);
777
int check_transactional_lock(Session *session, TableList *table_list);
778
int set_handler_table_locks(Session *session, TableList *table_list,
779
779
bool transactional);
781
781
/* Lock based on name */
782
int lock_and_wait_for_table_name(Session *thd, TableList *table_list);
783
int lock_table_name(Session *thd, TableList *table_list, bool check_in_use);
784
void unlock_table_name(Session *thd, TableList *table_list);
785
bool wait_for_locked_table_names(Session *thd, TableList *table_list);
786
bool lock_table_names(Session *thd, TableList *table_list);
787
void unlock_table_names(Session *thd, TableList *table_list,
782
int lock_and_wait_for_table_name(Session *session, TableList *table_list);
783
int lock_table_name(Session *session, TableList *table_list, bool check_in_use);
784
void unlock_table_name(Session *session, TableList *table_list);
785
bool wait_for_locked_table_names(Session *session, TableList *table_list);
786
bool lock_table_names(Session *session, TableList *table_list);
787
void unlock_table_names(Session *session, TableList *table_list,
788
788
TableList *last_table);
789
bool lock_table_names_exclusively(Session *thd, TableList *table_list);
790
bool is_table_name_exclusively_locked_by_this_thread(Session *thd,
789
bool lock_table_names_exclusively(Session *session, TableList *table_list);
790
bool is_table_name_exclusively_locked_by_this_thread(Session *session,
791
791
TableList *table_list);
792
bool is_table_name_exclusively_locked_by_this_thread(Session *thd, unsigned char *key,
792
bool is_table_name_exclusively_locked_by_this_thread(Session *session, unsigned char *key,