33 #ifndef UNIV_HOTBACKUP
42 namespace drizzled {
class Session; }
99 __attribute__((nonnull));
359 ulint max_query_len);
385 __attribute__((pure));
396 #ifndef UNIV_HOTBACKUP
414 #define trx_is_interrupted(trx) FALSE
422 #define TRX_WEIGHT(t) ((t)->undo_no + UT_LIST_GET_LEN((t)->trx_locks))
438 #define TRX_QUE_STATE_STR_MAX_LEN 12
467 #define TRX_MAGIC_N 91118598
484 ulint isolation_level;
485 ulint check_foreigns;
489 unsigned check_unique_secondary;
501 unsigned flush_log_later;
507 unsigned must_flush_log_later;
514 unsigned has_search_latch;
522 ulint declared_to_be_inside_innodb;
543 ulint handling_signals;
561 const char* mysql_log_file_name;
566 ib_int64_t mysql_log_offset;
571 ulint mysql_process_no;
574 ulint mysql_n_tables_locked;
578 ulint search_latch_timeout;
589 ulint n_tickets_to_enter_innodb;
620 que_t* graph_before_signal_handling;
641 ibool was_chosen_as_deadlock_victim;
708 ulint n_autoinc_rows;
717 char detailed_error[256];
732 #define TRX_MAX_N_THREADS 32
738 #define TRX_NOT_STARTED 0
740 #define TRX_COMMITTED_IN_MEMORY 2
741 #define TRX_PREPARED 3
744 #define TRX_QUE_RUNNING 0
745 #define TRX_QUE_LOCK_WAIT 1
746 #define TRX_QUE_ROLLING_BACK 2
747 #define TRX_QUE_COMMITTING 3
750 #define TRX_ISO_READ_UNCOMMITTED 0
759 #define TRX_ISO_READ_COMMITTED 1
772 #define TRX_ISO_REPEATABLE_READ 2
780 #define TRX_ISO_SERIALIZABLE 3
786 #define TRX_DUP_IGNORE 1
787 #define TRX_DUP_REPLACE 2
791 #define TRX_SIG_NO_SIGNAL 0
792 #define TRX_SIG_TOTAL_ROLLBACK 1
793 #define TRX_SIG_ROLLBACK_TO_SAVEPT 2
794 #define TRX_SIG_COMMIT 3
795 #define TRX_SIG_ERROR_OCCURRED 4
796 #define TRX_SIG_BREAK_EXECUTION 5
799 #define TRX_SIG_SELF 0
802 #define TRX_SIG_OTHER_SESS 1
823 #include "trx0trx.ic"
UNIV_INLINE void trx_start_if_not_started_low(trx_t *trx)
UNIV_INTERN ibool trx_is_strict(trx_t *trx)
UNIV_INTERN int trx_recover_for_mysql(XID *xid_list, ulint len)
UNIV_INTERN void trx_free_for_mysql(trx_t *trx)
UNIV_INTERN ibool trx_is_interrupted(trx_t *trx)
UNIV_INTERN ulint trx_commit_complete_for_mysql(trx_t *trx)
UNIV_INTERN void trx_cleanup_at_db_startup(trx_t *trx)
UNIV_INLINE void trx_start_if_not_started(trx_t *trx)
UNIV_INLINE void trx_set_dict_operation(trx_t *trx, enum trx_dict_op op)
UNIV_INTERN read_view_t * trx_assign_read_view(trx_t *trx)
TODO: Rename this file - func.h is stupid.
UNIV_INTERN void trx_lists_init_at_db_start(void)
UNIV_INTERN ulint trx_commit_for_mysql(trx_t *trx)
UNIV_INTERN void trx_free(trx_t *trx)
UNIV_INTERN void trx_free_for_background(trx_t *trx)
UNIV_INTERN trx_t * trx_allocate_for_background(void)
typedef UT_LIST_BASE_NODE_T(mutex_t) ut_list_base_node_t
UNIV_INTERN trx_t * trx_create(sess_t *sess) __attribute__((nonnull))
UNIV_INTERN void trx_sig_reply(trx_sig_t *sig, que_thr_t **next_thr)
UNIV_INTERN void trx_search_latch_release_if_reserved(trx_t *trx)
#define UT_LIST_NODE_T(TYPE)
UNIV_INTERN void trx_print(FILE *f, trx_t *trx, ulint max_query_len)
UNIV_INTERN void trx_sig_remove(trx_t *trx, trx_sig_t *sig)
ulint dict_operation_lock_mode
UNIV_INTERN que_thr_t * trx_commit_step(que_thr_t *thr)
UNIV_INTERN void trx_sig_send(trx_t *trx, ulint type, ulint sender, que_thr_t *receiver_thr, trx_savept_t *savept, que_thr_t **next_thr)
UNIV_INTERN void trx_end_lock_wait(trx_t *trx)
UNIV_INLINE const dict_index_t * trx_get_error_info(const trx_t *trx)
UNIV_INTERN trx_t * trx_get_trx_by_xid(const XID *xid)
UNIV_INTERN trx_t * trx_allocate_for_mysql(void)
os_thread_t os_thread_id_t
UNIV_INTERN void trx_mark_sql_stat_end(trx_t *trx)
UNIV_INTERN void trx_commit_off_kernel(trx_t *trx)
UNIV_INTERN void trx_end_signal_handling(trx_t *trx)
UNIV_INLINE enum trx_dict_op trx_get_dict_operation(const trx_t *trx) __attribute__((pure))
enum trx_dict_op trx_dict_op_t
UNIV_INTERN void trx_set_detailed_error(trx_t *trx, const char *msg)
UNIV_INTERN ibool trx_start(trx_t *trx, ulint rseg_id)
UNIV_INLINE ibool trx_log_commit_id(const trx_t *trx)
drizzled::Session * mysql_thd
UNIV_INTERN commit_node_t * commit_node_create(mem_heap_t *heap)
UNIV_INTERN void trx_set_detailed_error_from_file(trx_t *trx, FILE *file)
UNIV_INTERN void trx_sig_start_handle(trx_t *trx, que_thr_t **next_thr)
ulint trx_n_mysql_transactions
UNIV_INTERN ibool trx_weight_ge(const trx_t *a, const trx_t *b)
UNIV_INTERN ulint trx_prepare_for_mysql(trx_t *trx)
trx_dict_op_t dict_operation
UNIV_INTERN ibool trx_start_low(trx_t *trx, ulint rseg_id)
UNIV_INLINE const char * trx_get_que_state_str(const trx_t *trx)