InnoDB Plugin  1.0
Functions
eval0eval.h File Reference
#include "univ.i"
#include "que0types.h"
#include "pars0sym.h"
#include "pars0pars.h"
#include "eval0eval.ic"
Include dependency graph for eval0eval.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

UNIV_INTERN void eval_node_free_val_buf (que_node_t *node)
UNIV_INLINE void eval_sym (sym_node_t *sym_node)
UNIV_INLINE void eval_exp (que_node_t *exp_node)
UNIV_INLINE void eval_node_set_int_val (que_node_t *node, lint val)
UNIV_INLINE lint eval_node_get_int_val (que_node_t *node)
UNIV_INLINE void eval_node_copy_and_alloc_val (que_node_t *node, const byte *str, ulint len)
UNIV_INLINE void eval_node_copy_val (que_node_t *node1, que_node_t *node2)
UNIV_INLINE ibool eval_node_get_ibool_val (que_node_t *node)
UNIV_INTERN ibool eval_cmp (func_node_t *cmp_node)

Detailed Description

SQL evaluator: evaluates simple data structures, like expressions, in a query graph

Created 12/29/1997 Heikki Tuuri

Function Documentation

UNIV_INTERN ibool eval_cmp ( func_node_t cmp_node)

Evaluates a comparison node.

Returns
the result of the comparison in: comparison node
UNIV_INLINE void eval_exp ( que_node_t *  exp_node)

Evaluates an expression. in: expression

Evaluates an expression.

Parameters
exp_nodein: expression
UNIV_INLINE 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. Allocates a new buffer if necessary. in: string length or UNIV_SQL_NULL

Copies a binary string value as the value of a query graph node. Allocates a new buffer if necessary.

Parameters
nodein: query graph node
strin: binary string
lenin: string length or UNIV_SQL_NULL
UNIV_INLINE void eval_node_copy_val ( que_node_t *  node1,
que_node_t *  node2 
)

Copies a query node value to another node. in: node to copy from

Copies a query node value to another node.

Parameters
node1in: node to copy to
node2in: node to copy from
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. in: query graph node

UNIV_INLINE ibool eval_node_get_ibool_val ( que_node_t *  node)

Gets a iboolean value from a query node.

Returns
iboolean value in: query graph node

Gets a iboolean value from a query node.

Returns
iboolean value
Parameters
nodein: query graph node
UNIV_INLINE lint eval_node_get_int_val ( que_node_t *  node)

Gets an integer value from an expression node.

Returns
integer value in: expression node

Gets an integer non-SQL null value from an expression node.

Returns
integer value
Parameters
nodein: expression node
UNIV_INLINE void eval_node_set_int_val ( que_node_t *  node,
lint  val 
)

Sets an integer value as the value of an expression node. in: value to set

Sets an integer value as the value of an expression node.

Parameters
nodein: expression node
valin: value to set
UNIV_INLINE void eval_sym ( sym_node_t sym_node)

Evaluates a symbol table symbol. in: symbol table node

Evaluates a symbol table symbol.

Parameters
sym_nodein: symbol table node