80
80
typedef struct st_sort_field SORT_FIELD;
82
82
typedef List<Item> List_item;
84
typedef struct st_savepoint SAVEPOINT;
85
extern uint32_t savepoint_alloc_size;
86
83
extern KEY_CREATE_INFO default_key_create_info;
88
85
/* Forward declaration for condition pushdown to storage engine */
678
675
extern const char *binlog_format_names[];
679
676
extern uint32_t total_ha, total_ha_2pc;
681
/* Wrapper functions */
682
#define ha_commit(session) (ha_commit_trans((session), true))
683
#define ha_rollback(session) (ha_rollback_trans((session), true))
685
678
/* basic stuff */
686
679
int ha_init_errors(void);
687
680
int ha_init(void);
688
681
int ha_end(void);
690
/* transactions: interface to plugin::StorageEngine functions */
691
int ha_commit_one_phase(Session *session, bool all);
692
int ha_rollback_trans(Session *session, bool all);
694
/* transactions: these functions never call plugin::StorageEngine functions directly */
695
int ha_commit_trans(Session *session, bool all);
696
int ha_autocommit_or_rollback(Session *session, int error);
697
int ha_enable_transaction(Session *session, bool on);
700
int ha_rollback_to_savepoint(Session *session, SAVEPOINT *sv);
701
int ha_savepoint(Session *session, SAVEPOINT *sv);
702
int ha_release_savepoint(Session *session, SAVEPOINT *sv);
704
/* these are called by storage engines */
705
void trans_register_ha(Session *session, bool all, drizzled::plugin::StorageEngine *engine);
707
683
uint32_t filename_to_tablename(const char *from, char *to, uint32_t to_length);
708
684
bool tablename_to_filename(const char *from, char *to, size_t to_length);
717
693
!((all ? &session->transaction.all : &session->transaction.stmt)->no_2pc))
720
bool mysql_xa_recover(Session *session);
722
696
SORT_FIELD * make_unireg_sortorder(order_st *order, uint32_t *length,
723
697
SORT_FIELD *sortorder);
724
698
int setup_order(Session *session, Item **ref_pointer_array, TableList *tables,