Drizzled Public API Documentation

plan_struct Struct Reference

#include <row0sel.h>

Public Attributes

dict_table_ttable
 
dict_index_tindex
 
btr_pcur_t pcur
 
ibool asc
 
ibool pcur_is_open
 
ibool cursor_at_end
 
ibool stored_cursor_rec_processed
 
que_node_t ** tuple_exps
 
dtuple_ttuple
 
ulint mode
 
ulint n_exact_match
 
ibool unique_search
 
ulint n_rows_fetched
 
ulint n_rows_prefetched
 
ulint first_prefetched
 
ibool no_prefetch
 
sym_node_list_t columns
 
 end_conds
 
 other_conds
 
ibool must_get_clust
 
ulint * clust_map
 
dtuple_tclust_ref
 
btr_pcur_t clust_pcur
 
mem_heap_told_vers_heap
 

Detailed Description

Query plan

Definition at line 203 of file row0sel.h.

Member Data Documentation

ibool plan_struct::asc

TRUE if cursor traveling upwards

Definition at line 209 of file row0sel.h.

ulint* plan_struct::clust_map

map telling how clust_ref is built from the fields of a non-clustered record

Definition at line 266 of file row0sel.h.

btr_pcur_t plan_struct::clust_pcur

if index is non-clustered, we use this pcur to search the clustered index

Definition at line 272 of file row0sel.h.

Referenced by pars_update_statement(), and sel_node_free_private().

dtuple_t* plan_struct::clust_ref

the reference to the clustered index entry is built here if index is a non-clustered index

Definition at line 269 of file row0sel.h.

sym_node_list_t plan_struct::columns

symbol table nodes for the columns to retrieve from the table

Definition at line 244 of file row0sel.h.

ibool plan_struct::cursor_at_end

TRUE if the cursor is open but we know that there are no more qualifying rows left to retrieve from the index tree; NOTE though, that there may still be unprocessed rows in the prefetch stack; always FALSE when pcur_is_open is FALSE

Definition at line 212 of file row0sel.h.

plan_struct::end_conds

conditions which determine the fetch limit of the index segment we have to look at: when one of these fails, the result set has been exhausted for the cursor in this index; these conditions are normalized so that in a comparison the column for this table is the first argument

Definition at line 247 of file row0sel.h.

Referenced by opt_print_query_plan().

ulint plan_struct::first_prefetched

index of the first cached row in select buffer arrays for each column

Definition at line 241 of file row0sel.h.

dict_index_t* plan_struct::index

table index used in the search

Definition at line 206 of file row0sel.h.

Referenced by opt_print_query_plan(), and pars_update_statement().

ulint plan_struct::mode

search mode: PAGE_CUR_G, ...

Definition at line 230 of file row0sel.h.

ibool plan_struct::must_get_clust

TRUE if index is a non-clustered index and we must also fetch the clustered index record; this is the case if the non-clustered record does not contain all the needed columns, or if this is a single-table explicit cursor, or a searched update or delete

Definition at line 258 of file row0sel.h.

Referenced by opt_find_all_cols(), and pars_update_statement().

ulint plan_struct::n_exact_match

number of first fields in the search tuple which must be exactly matched

Definition at line 231 of file row0sel.h.

Referenced by opt_print_query_plan().

ulint plan_struct::n_rows_fetched

number of rows fetched using pcur after it was opened

Definition at line 236 of file row0sel.h.

ulint plan_struct::n_rows_prefetched

number of prefetched rows cached for fetch: fetching several rows in the same mtr saves CPU time

Definition at line 238 of file row0sel.h.

ibool plan_struct::no_prefetch

no prefetch for this table

Definition at line 243 of file row0sel.h.

Referenced by pars_update_statement().

mem_heap_t* plan_struct::old_vers_heap

memory heap used in building an old version of a row, or NULL

Definition at line 275 of file row0sel.h.

Referenced by sel_node_free_private().

plan_struct::other_conds

the rest of search conditions we can test at this table in a join

Definition at line 256 of file row0sel.h.

btr_pcur_t plan_struct::pcur

persistent cursor used to search the index

Definition at line 207 of file row0sel.h.

Referenced by pars_update_statement(), and sel_node_free_private().

ibool plan_struct::pcur_is_open

TRUE if pcur has been positioned and we can try to fetch new rows

Definition at line 210 of file row0sel.h.

ibool plan_struct::stored_cursor_rec_processed

TRUE if the pcur position has been stored and the record it is positioned on has already been processed

Definition at line 219 of file row0sel.h.

dict_table_t* plan_struct::table

table struct in the dictionary cache

Definition at line 204 of file row0sel.h.

dtuple_t* plan_struct::tuple

search tuple

Definition at line 229 of file row0sel.h.

Referenced by opt_print_query_plan().

que_node_t** plan_struct::tuple_exps

array of expressions which are used to calculate the field values in the search tuple: there is one expression for each field in the search tuple

Definition at line 223 of file row0sel.h.

ibool plan_struct::unique_search

TRUE if we are searching an index record with a unique key

Definition at line 234 of file row0sel.h.


The documentation for this struct was generated from the following file: