654
655
uint64_t setup_tables_done_option);
655
656
void free_underlaid_joins(Session *session, Select_Lex *select);
657
bool mysql_handle_derived(LEX *lex, bool (*processor)(Session *session,
658
bool handle_derived(LEX *lex, bool (*processor)(Session *session,
659
660
TableList *table));
660
bool mysql_derived_prepare(Session *session, LEX *lex, TableList *t);
661
bool mysql_derived_filling(Session *session, LEX *lex, TableList *t);
661
bool derived_prepare(Session *session, LEX *lex, TableList *t);
662
bool derived_filling(Session *session, LEX *lex, TableList *t);
662
663
int prepare_create_field(CreateField *sql_field,
663
664
uint32_t *blob_columns,
664
665
int *timestamps, int *timestamps_with_niladic);
666
bool mysql_create_table(Session *session,
667
bool create_table(Session *session,
667
668
const TableIdentifier &identifier,
668
669
HA_CREATE_INFO *create_info,
669
670
message::Table &table_proto,
679
680
bool tmp_table, uint32_t select_field_count,
680
681
bool is_if_not_exists);
682
bool mysql_create_like_table(Session* session,
683
bool create_like_table(Session* session,
683
684
const TableIdentifier &destination_identifier,
684
685
TableList* table, TableList* src_table,
685
686
message::Table &create_table_proto,
686
687
bool is_if_not_exists,
687
688
bool is_engine_set);
689
bool mysql_rename_table(Session &session,
690
bool rename_table(Session &session,
690
691
plugin::StorageEngine *base,
691
692
const TableIdentifier &old_identifier,
692
693
const TableIdentifier &new_identifier);
694
bool mysql_prepare_update(Session *session, TableList *table_list,
695
bool prepare_update(Session *session, TableList *table_list,
695
696
Item **conds, uint32_t order_num, Order *order);
696
int mysql_update(Session *session,TableList *tables,List<Item> &fields,
697
int update_query(Session *session,TableList *tables,List<Item> &fields,
697
698
List<Item> &values,COND *conds,
698
699
uint32_t order_num, Order *order, ha_rows limit,
699
700
enum enum_duplicates handle_duplicates, bool ignore);
700
bool mysql_prepare_insert(Session *session, TableList *table_list, Table *table,
701
bool prepare_insert(Session *session, TableList *table_list, Table *table,
701
702
List<Item> &fields, List_item *values,
702
703
List<Item> &update_fields,
703
704
List<Item> &update_values, enum_duplicates duplic,
704
705
COND **where, bool select_insert,
705
706
bool check_fields, bool abort_on_warning);
706
bool mysql_insert(Session *session,TableList *table,List<Item> &fields,
707
bool insert_query(Session *session,TableList *table,List<Item> &fields,
707
708
List<List_item> &values, List<Item> &update_fields,
708
709
List<Item> &update_values, enum_duplicates flag,
710
711
int check_that_all_fields_are_given_values(Session *session, Table *entry,
711
712
TableList *table_list);
712
int mysql_prepare_delete(Session *session, TableList *table_list, Item **conds);
713
bool mysql_delete(Session *session, TableList *table_list, COND *conds,
713
int prepare_delete(Session *session, TableList *table_list, Item **conds);
714
bool delete_query(Session *session, TableList *table_list, COND *conds,
714
715
SQL_LIST *order, ha_rows rows, uint64_t options,
715
716
bool reset_auto_increment);
716
bool mysql_truncate(Session& session, TableList *table_list);
717
bool truncate(Session& session, TableList *table_list);
717
718
TableShare *get_table_share(Session *session, TableList *table_list, char *key,
718
719
uint32_t key_length, uint32_t db_flags, int *error);
719
720
TableShare *get_cached_table_share(const char *db, const char *table_name);