43 extern ibool que_trace_on;
298 que_node_t* node_list,
307 que_node_t* node_list);
343 ibool reserve_dict_mutex,
390 #define QUE_THR_MAGIC_N 8476583
391 #define QUE_THR_MAGIC_FREED 123461526
440 #define QUE_FORK_SELECT_NON_SCROLL 1
441 #define QUE_FORK_SELECT_SCROLL 2
442 #define QUE_FORK_INSERT 3
443 #define QUE_FORK_UPDATE 4
444 #define QUE_FORK_ROLLBACK 5
447 #define QUE_FORK_PURGE 6
448 #define QUE_FORK_EXECUTE 7
449 #define QUE_FORK_PROCEDURE 8
450 #define QUE_FORK_PROCEDURE_CALL 9
451 #define QUE_FORK_MYSQL_INTERFACE 10
452 #define QUE_FORK_RECOVERY 11
455 #define QUE_FORK_ACTIVE 1
456 #define QUE_FORK_COMMAND_WAIT 2
457 #define QUE_FORK_INVALID 3
458 #define QUE_FORK_BEING_FREED 4
461 #define QUE_NODE_CONTROL_STAT 1024
464 #define QUE_NODE_LOCK 1
465 #define QUE_NODE_INSERT 2
466 #define QUE_NODE_UPDATE 4
467 #define QUE_NODE_CURSOR 5
468 #define QUE_NODE_SELECT 6
469 #define QUE_NODE_AGGREGATE 7
470 #define QUE_NODE_FORK 8
471 #define QUE_NODE_THR 9
472 #define QUE_NODE_UNDO 10
473 #define QUE_NODE_COMMIT 11
474 #define QUE_NODE_ROLLBACK 12
475 #define QUE_NODE_PURGE 13
476 #define QUE_NODE_CREATE_TABLE 14
477 #define QUE_NODE_CREATE_INDEX 15
478 #define QUE_NODE_SYMBOL 16
479 #define QUE_NODE_RES_WORD 17
480 #define QUE_NODE_FUNC 18
481 #define QUE_NODE_ORDER 19
482 #define QUE_NODE_PROC (20 + QUE_NODE_CONTROL_STAT)
483 #define QUE_NODE_IF (21 + QUE_NODE_CONTROL_STAT)
484 #define QUE_NODE_WHILE (22 + QUE_NODE_CONTROL_STAT)
485 #define QUE_NODE_ASSIGNMENT 23
486 #define QUE_NODE_FETCH 24
487 #define QUE_NODE_OPEN 25
488 #define QUE_NODE_COL_ASSIGNMENT 26
489 #define QUE_NODE_FOR (27 + QUE_NODE_CONTROL_STAT)
490 #define QUE_NODE_RETURN 28
491 #define QUE_NODE_ROW_PRINTF 29
492 #define QUE_NODE_ELSIF 30
493 #define QUE_NODE_CALL 31
494 #define QUE_NODE_EXIT 32
497 #define QUE_THR_RUNNING 1
498 #define QUE_THR_PROCEDURE_WAIT 2
499 #define QUE_THR_COMPLETED 3
504 #define QUE_THR_COMMAND_WAIT 4
505 #define QUE_THR_LOCK_WAIT 5
506 #define QUE_THR_SIG_REPLY_WAIT 6
507 #define QUE_THR_SUSPENDED 7
508 #define QUE_THR_ERROR 8
511 #define QUE_THR_LOCK_NOLOCK 0
512 #define QUE_THR_LOCK_ROW 1
513 #define QUE_THR_LOCK_TABLE 2
516 #define QUE_CUR_NOT_DEFINED 1
517 #define QUE_CUR_START 2
518 #define QUE_CUR_END 3
522 #include "que0que.ic"
UNIV_INTERN void que_thr_stop_for_mysql_no_error(que_thr_t *thr, trx_t *trx)
UNIV_INLINE ulint que_node_get_val_buf_size(que_node_t *node)
UNIV_INLINE que_node_t * que_fork_get_child(que_fork_t *fork)
UNIV_INLINE que_node_t * que_node_list_add_last(que_node_t *node_list, que_node_t *node)
UNIV_INLINE void que_node_set_val_buf_size(que_node_t *node, ulint size)
UNIV_INTERN void que_run_threads(que_thr_t *thr)
UNIV_INLINE ibool que_graph_is_select(que_t *graph)
UNIV_INTERN void que_thr_end_wait(que_thr_t *thr, que_thr_t **next_thr)
UNIV_INLINE ulint que_node_list_get_len(que_node_t *node_list)
typedef UT_LIST_BASE_NODE_T(mutex_t) ut_list_base_node_t
UNIV_INTERN void que_fork_error_handle(trx_t *trx, que_t *fork)
UNIV_INLINE ibool que_thr_peek_stop(que_thr_t *thr)
UNIV_INTERN que_node_t * que_node_get_containing_loop_node(que_node_t *node)
UNIV_INLINE dtype_t * que_node_get_data_type(que_node_t *node)
UNIV_INTERN ibool que_thr_stop(que_thr_t *thr)
UNIV_INTERN void que_graph_free(que_t *graph)
UNIV_INLINE void que_node_set_parent(que_node_t *node, que_node_t *parent)
#define UT_LIST_NODE_T(TYPE)
UNIV_INTERN void que_graph_free_recursive(que_node_t *node)
UNIV_INTERN ulint que_eval_sql(pars_info_t *info, const char *sql, ibool reserve_dict_mutex, trx_t *trx)
UNIV_INLINE que_thr_t * que_fork_get_first_thr(que_fork_t *fork)
UNIV_INTERN void que_thr_stop_for_mysql(que_thr_t *thr)
UNIV_INTERN void que_thr_move_to_run_state_for_mysql(que_thr_t *thr, trx_t *trx)
UNIV_INLINE que_node_t * que_node_get_parent(que_node_t *node)
UNIV_INLINE ulint que_node_get_type(que_node_t *node)
UNIV_INLINE ibool thr_is_recv(const que_thr_t *thr)
UNIV_INLINE trx_t * thr_get_trx(que_thr_t *thr)
UNIV_INLINE dfield_t * que_node_get_val(que_node_t *node)
UNIV_INTERN que_thr_t * que_thr_create(que_fork_t *parent, mem_heap_t *heap)
UNIV_INTERN void que_thr_end_wait_no_next_thr(que_thr_t *thr)
UNIV_INLINE que_node_t * que_node_get_next(que_node_t *node)
UNIV_INTERN que_thr_t * que_fork_start_command(que_fork_t *fork)
UNIV_INTERN void que_graph_publish(que_t *graph, sess_t *sess)
UNIV_INTERN void que_node_print_info(que_node_t *node)
UNIV_INTERN que_fork_t * que_fork_create(que_t *graph, que_node_t *parent, ulint fork_type, mem_heap_t *heap)