MySQL 8.0.40
Source Code Documentation
|
SQL evaluator: evaluates simple data structures, like expressions, in a query graph. More...
#include "pars0pars.h"
#include "pars0sym.h"
#include "que0types.h"
#include "univ.i"
#include "eval0eval.ic"
Go to the source code of this file.
Functions | |
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. More... | |
static void | eval_sym (sym_node_t *sym_node) |
Evaluates a symbol table symbol. More... | |
static void | eval_exp (que_node_t *exp_node) |
Evaluates an expression. More... | |
static void | eval_node_set_int_val (que_node_t *node, lint val) |
Sets an integer value as the value of an expression node. More... | |
static lint | eval_node_get_int_val (que_node_t *node) |
Gets an integer value from an expression node. More... | |
static void | eval_node_copy_and_alloc_val (que_node_t *node, const byte *str, ulint len) |
Copies a binary string value as the value of a query graph node. More... | |
static void | eval_node_copy_val (que_node_t *node1, que_node_t *node2) |
Copies a query node value to another node. More... | |
static bool | eval_node_get_bool_val (que_node_t *node) |
Gets a boolean value from a query node. More... | |
bool | eval_cmp (func_node_t *cmp_node) |
Evaluates a comparison node. More... | |
SQL evaluator: evaluates simple data structures, like expressions, in a query graph.
Created 12/29/1997 Heikki Tuuri
bool eval_cmp | ( | func_node_t * | cmp_node | ) |
Evaluates a comparison node.
cmp_node | in: comparison node |
|
inlinestatic |
Evaluates an expression.
in: expression
|
inlinestatic |
Copies a binary string value as the value of a query graph node.
Allocates a new buffer if necessary.
[in] | node | query graph node |
[in] | str | binary string |
[in] | len | string length or UNIV_SQL_NULL |
|
inlinestatic |
Copies a query node value to another node.
[in] | node1 | node to copy to |
[in] | node2 | node to copy from |
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. in: query graph node
The freeing for pushed column values is done in sel_col_prefetch_buf_free.
node | in: query graph node |
|
inlinestatic |
Gets a boolean value from a query node.
|
inlinestatic |
Gets an integer value from an expression node.
|
inlinestatic |
Sets an integer value as the value of an expression node.
[in] | node | expression node |
[in] | val | value to set |
|
inlinestatic |
Evaluates a symbol table symbol.
in: symbol table node