966
966
TableShare *get_table_share(Session *session, TableList *table_list, char *key,
967
967
uint32_t key_length, uint32_t db_flags, int *error);
968
968
TableShare *get_cached_table_share(const char *db, const char *table_name);
969
Table *open_ltable(Session *session, TableList *table_list, thr_lock_type update);
970
Table *open_table(Session *session, TableList *table_list, bool *refresh, uint32_t flags);
971
bool name_lock_locked_table(Session *session, TableList *tables);
972
969
bool reopen_name_locked_table(Session* session, TableList* table_list, bool link_in);
973
970
Table *table_cache_insert_placeholder(Session *session, const char *key,
974
971
uint32_t key_length);
975
972
bool lock_table_name_if_not_cached(Session *session, const char *db,
976
973
const char *table_name, Table **table);
977
Table *find_locked_table(Session *session, const char *db,const char *table_name);
978
void detach_merge_children(Table *table, bool clear_refs);
979
bool fix_merge_after_open(TableList *old_child_list, TableList **old_last,
980
TableList *new_child_list, TableList **new_last);
981
974
bool reopen_table(Table *table);
982
975
bool reopen_tables(Session *session,bool get_locks,bool in_refresh);
983
976
void close_data_files_and_morph_locks(Session *session, const char *db,
984
977
const char *table_name);
985
978
void close_handle_and_leave_table_as_lock(Table *table);
986
bool open_new_frm(Session *session, TableShare *share, const char *alias,
987
uint32_t db_stat, uint32_t prgflag,
988
uint32_t ha_open_flags, Table *outparam,
989
TableList *table_desc, MEM_ROOT *mem_root);
990
979
bool wait_for_tables(Session *session);
991
980
bool table_is_used(Table *table, bool wait_for_name_lock);
992
981
Table *drop_locked_tables(Session *session,const char *db, const char *table_name);
998
987
find_field_in_tables(Session *session, Item_ident *item,
999
988
TableList *first_table, TableList *last_table,
1000
989
Item **ref, find_item_error_report_type report_error,
1001
bool check_privileges, bool register_tree_change);
990
bool register_tree_change);
1003
992
find_field_in_table_ref(Session *session, TableList *table_list,
1004
993
const char *name, uint32_t length,
1005
994
const char *item_name, const char *db_name,
1006
995
const char *table_name, Item **ref,
1007
bool check_privileges, bool allow_rowid,
1008
997
uint32_t *cached_field_index_ptr,
1009
998
bool register_tree_change, TableList **actual_table);
1012
1001
bool allow_rowid, uint32_t *cached_field_index_ptr);
1014
1003
find_field_in_table_sef(Table *table, const char *name);
1015
int update_virtual_fields_marked_for_write(Table *table,
1016
bool ignore_stored=true);
1019
1006
#endif /* DRIZZLED_HANDLER_H */