| MySQL 5.6.14 Source Code Document
    | 
#include "row0sel.h"#include "dict0dict.h"#include "dict0boot.h"#include "trx0undo.h"#include "trx0trx.h"#include "btr0btr.h"#include "btr0cur.h"#include "btr0sea.h"#include "mach0data.h"#include "que0que.h"#include "row0upd.h"#include "row0row.h"#include "row0vers.h"#include "rem0cmp.h"#include "lock0lock.h"#include "eval0eval.h"#include "pars0sym.h"#include "pars0pars.h"#include "row0mysql.h"#include "read0read.h"#include "buf0lru.h"#include "ha_prototypes.h"#include "m_string.h"#include "my_sys.h"#include "my_compare.h"
Go to the source code of this file.
| Macros | |
| #define | SEL_MAX_N_PREFETCH 16 | 
| #define | SEL_PREFETCH_LIMIT 1 | 
| #define | SEL_COST_LIMIT 100 | 
| #define | SEL_FOUND 0 | 
| #define | SEL_EXHAUSTED 1 | 
| #define | SEL_RETRY 2 | 
| #define | row_sel_field_store_in_mysql_format(dest, templ, idx, field, src, len) row_sel_field_store_in_mysql_format_func(dest,templ,src,len) | 
| #define | row_sel_store_mysql_field(m, p, r, i, o, f, t) row_sel_store_mysql_field_func(m,p,r,o,f,t) | 
| Functions | |
| UNIV_INTERN sel_node_t * | sel_node_create (mem_heap_t *heap) | 
| UNIV_INTERN void | sel_node_free_private (sel_node_t *node) | 
| UNIV_INLINE void | sel_eval_select_list (sel_node_t *node) | 
| UNIV_INLINE void | sel_assign_into_var_values (sym_node_t *var, sel_node_t *node) | 
| UNIV_INLINE void | sel_reset_aggregate_vals (sel_node_t *node) | 
| UNIV_INLINE void | row_sel_copy_input_variable_vals (sel_node_t *node) | 
| UNIV_INTERN void | sel_col_prefetch_buf_free (sel_buf_t *prefetch_buf) | 
| UNIV_INLINE void | sel_enqueue_prefetched_row (plan_t *plan) | 
| Variables | |
| static dict_index_t * | index | 
| static dict_index_t rec_t * | rec | 
| static dict_index_t rec_t ulint ** | offsets | 
| static dict_index_t rec_t ulint mem_heap_t ** | offset_heap | 
| static dict_index_t rec_t ulint mem_heap_t mem_heap_t ** | old_vers_heap | 
| static dict_index_t rec_t ulint mem_heap_t mem_heap_t rec_t ** | old_vers | 
| UNIV_INLINE void row_sel_copy_input_variable_vals | ( | sel_node_t * | node | ) | 
Copies the input variable values when an explicit cursor is opened.
| node | in: select node | 
Definition at line 391 of file row0sel.cc.

| UNIV_INLINE void sel_assign_into_var_values | ( | sym_node_t * | var, | 
| sel_node_t * | node | ||
| ) | 
Assigns the values in the select list to the possible into-variables in SELECT ... INTO ...
| var | in: first variable in a list of variables | 
| node | in: select node | 
Definition at line 338 of file row0sel.cc.

| UNIV_INTERN void sel_col_prefetch_buf_free | ( | sel_buf_t * | prefetch_buf | ) | 
Frees a prefetch buffer for a column, including the dynamically allocated memory for data stored there.
| prefetch_buf | in, own: prefetch buffer | 
Definition at line 524 of file row0sel.cc.

| UNIV_INLINE void sel_enqueue_prefetched_row | ( | plan_t * | plan | ) | 
Pushes the column values for a prefetched, cached row to the column prefetch buffers from the val fields in the column nodes.
| plan | in: plan node for a table | 
Definition at line 610 of file row0sel.cc.

| UNIV_INLINE void sel_eval_select_list | ( | sel_node_t * | node | ) | 
Evaluates the values in a select list. If there are aggregate functions, their argument value is added to the aggregate total.
| node | in: select node | 
Definition at line 318 of file row0sel.cc.

| UNIV_INTERN sel_node_t* sel_node_create | ( | mem_heap_t * | heap | ) | 
Creates a select node struct.
| heap | in: memory heap where created | 
Definition at line 270 of file row0sel.cc.


| UNIV_INTERN void sel_node_free_private | ( | sel_node_t * | node | ) | 
Frees the memory private to a select node when a query graph is freed, does not free the heap where the node was originally created.
| node | in: select node struct | 
Definition at line 292 of file row0sel.cc.


| UNIV_INLINE void sel_reset_aggregate_vals | ( | sel_node_t * | node | ) | 
Resets the aggregate value totals in the select list of an aggregate type query.
| node | in: select node | 
Definition at line 368 of file row0sel.cc.

| dict_index_t* index | 
< in: read view in: plan node for table
Definition at line 683 of file row0sel.cc.
| dict_index_t rec_t ulint mem_heap_t** offset_heap | 
in/out: memory heap from which the offsets are allocated
Definition at line 683 of file row0sel.cc.
| dict_index_t rec_t ulint** offsets | 
in/out: offsets returned by rec_get_offsets(rec, plan->index)
Definition at line 683 of file row0sel.cc.
| dict_index_t rec_t ulint mem_heap_t mem_heap_t rec_t** old_vers | 
out: old version, or NULL if the record does not exist in the view: i.e., it was freshly inserted afterwards
Definition at line 683 of file row0sel.cc.
| dict_index_t rec_t ulint mem_heap_t mem_heap_t** old_vers_heap | 
out: old version heap to use
Definition at line 683 of file row0sel.cc.
| dict_index_t rec_t* rec | 
in: record in a clustered index
Definition at line 683 of file row0sel.cc.