📄 eval0eval.h
字号:
/******************************************************SQL evaluator: evaluates simple data structures, like expressions, ina query graph(c) 1997 Innobase OyCreated 12/29/1997 Heikki Tuuri*******************************************************/#ifndef eval0eval_h#define eval0eval_h#include "univ.i"#include "que0types.h"#include "pars0sym.h"#include "pars0pars.h"/*********************************************************************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 pushedcolumn values is done in sel_col_prefetch_buf_free. */voideval_node_free_val_buf(/*===================*/ que_node_t* node); /* in: query graph node *//*********************************************************************Evaluates a symbol table symbol. */UNIV_INLINEvoideval_sym(/*=====*/ sym_node_t* sym_node); /* in: symbol table node *//*********************************************************************Evaluates an expression. */UNIV_INLINEvoideval_exp(/*=====*/ que_node_t* exp_node); /* in: expression *//*********************************************************************Sets an integer value as the value of an expression node. */UNIV_INLINEvoideval_node_set_int_val(/*==================*/ que_node_t* node, /* in: expression node */ lint val); /* in: value to set *//*********************************************************************Gets an integer value from an expression node. */UNIV_INLINElinteval_node_get_int_val(/*==================*/ /* out: integer value */ que_node_t* node); /* in: expression node *//*********************************************************************Copies a binary string value as the value of a query graph node. Allocates anew buffer if necessary. */UNIV_INLINEvoideval_node_copy_and_alloc_val(/*=========================*/ que_node_t* node, /* in: query graph node */ byte* str, /* in: binary string */ ulint len); /* in: string length or UNIV_SQL_NULL *//*********************************************************************Copies a query node value to another node. */UNIV_INLINEvoideval_node_copy_val(/*===============*/ que_node_t* node1, /* in: node to copy to */ que_node_t* node2); /* in: node to copy from *//*********************************************************************Gets a iboolean value from a query node. */UNIV_INLINEibooleval_node_get_ibool_val(/*===================*/ /* out: iboolean value */ que_node_t* node); /* in: query graph node *//*********************************************************************Evaluates a comparison node. */ibooleval_cmp(/*=====*/ /* out: the result of the comparison */ func_node_t* cmp_node); /* in: comparison node */#ifndef UNIV_NONINL#include "eval0eval.ic"#endif#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -