MySQL 5.6.14 Source Code Document
|
Go to the source code of this file.
Functions | |
UNIV_INLINE que_node_t * | que_node_get_like_node (que_node_t *node) |
UNIV_INTERN byte * | eval_node_alloc_val_buf (que_node_t *node, ulint size) |
UNIV_INTERN void | eval_node_free_val_buf (que_node_t *node) |
UNIV_INLINE ibool | eval_cmp_like (que_node_t *arg1, que_node_t *arg2) |
ibool | eval_cmp (func_node_t *cmp_node) |
UNIV_INLINE void | eval_logical (func_node_t *logical_node) |
UNIV_INLINE void | eval_arith (func_node_t *arith_node) |
UNIV_INLINE void | eval_aggregate (func_node_t *node) |
UNIV_INLINE void | eval_notfound (func_node_t *func_node) |
UNIV_INLINE void | eval_substr (func_node_t *func_node) |
UNIV_INLINE void | eval_binary_to_number (func_node_t *func_node) |
UNIV_INLINE void | eval_to_binary (func_node_t *func_node) |
UNIV_INLINE void | eval_predefined (func_node_t *func_node) |
UNIV_INTERN void | eval_func (func_node_t *func_node) |
SQL evaluator: evaluates simple data structures, like expressions, in a query graph
Created 12/29/1997 Heikki Tuuri
Definition in file eval0eval.cc.
UNIV_INLINE void eval_aggregate | ( | func_node_t * | node | ) |
Evaluates an aggregate operation node.
node | in: aggregate operation node |
Definition at line 352 of file eval0eval.cc.
UNIV_INLINE void eval_arith | ( | func_node_t * | arith_node | ) |
Evaluates an arithmetic operation node.
arith_node | in: arithmetic operation node |
Definition at line 308 of file eval0eval.cc.
UNIV_INLINE void eval_binary_to_number | ( | func_node_t * | func_node | ) |
Evaluates a predefined function node.
func_node | in: function node |
Definition at line 655 of file eval0eval.cc.
ibool eval_cmp | ( | func_node_t * | cmp_node | ) |
Evaluates a comparison node.
cmp_node | in: comparison node |
Definition at line 202 of file eval0eval.cc.
UNIV_INTERN void eval_func | ( | func_node_t * | func_node | ) |
Evaluates a function node.
func_node | in: function node |
Definition at line 875 of file eval0eval.cc.
UNIV_INLINE void eval_logical | ( | func_node_t * | logical_node | ) |
Evaluates a logical operation node.
logical_node | in: logical operation node |
Definition at line 267 of file eval0eval.cc.
UNIV_INTERN byte* eval_node_alloc_val_buf | ( | que_node_t * | node, |
ulint | size | ||
) |
Allocate a buffer from global dynamic memory for a value of a que_node. NOTE that this memory must be explicitly freed when the query graph is freed. If the node already has an allocated buffer, that buffer is freed here. NOTE that this is the only function where dynamic memory should be allocated for a query node val field.
node | in: query graph node; sets the val field data field to point to the new buffer, and len field equal to size |
size | in: buffer size |
Definition at line 66 of file eval0eval.cc.
UNIV_INTERN void eval_node_free_val_buf | ( | que_node_t * | node | ) |
Free the buffer from global dynamic memory for a value of a que_node, if it has been allocated in the above function. The freeing for pushed column values is done in sel_col_prefetch_buf_free.
node | in: query graph node |
Definition at line 106 of file eval0eval.cc.
UNIV_INLINE void eval_notfound | ( | func_node_t * | func_node | ) |
Evaluates a notfound-function node.
func_node | in: function node |
Definition at line 473 of file eval0eval.cc.
UNIV_INLINE void eval_predefined | ( | func_node_t * | func_node | ) |
Evaluates a predefined function node.
func_node | in: function node |
Definition at line 783 of file eval0eval.cc.
UNIV_INLINE void eval_substr | ( | func_node_t * | func_node | ) |
Evaluates a substr-function node.
func_node | in: function node |
Definition at line 510 of file eval0eval.cc.
UNIV_INLINE void eval_to_binary | ( | func_node_t * | func_node | ) |
Evaluates a predefined function node. If the first argument is an integer, this function looks at the second argument which is the integer length in bytes, and converts the integer to a VARCHAR. If the first argument is of some other type, this function converts it to BINARY.
func_node | in: function node |
Definition at line 739 of file eval0eval.cc.