24#ifndef SQL_OPTIMIZER_INTERNAL_INCLUDED
25#define SQL_OPTIMIZER_INTERNAL_INCLUDED
Base class that is used to represent any kind of expression in a relational query.
Definition: item.h:936
Definition: sql_optimizer.h:133
For each client connection we create a separate thread with THD serving as a thread/connection descri...
Definition: sql_lexer_thd.h:36
bool * cond_guard
Definition: sql_optimizer_internal.h:104
uint sj_pred_no
Definition: sql_optimizer_internal.h:105
Item_field * item_field
Item representing the column.
Definition: sql_optimizer_internal.h:93
Key_field(Item_field *item_field, Item *val, uint level, uint optimize, bool eq_func, bool null_rejecting, bool *cond_guard, uint sj_pred_no)
Definition: sql_optimizer_internal.h:82
uint optimize
KEY_OPTIMIZE_*.
Definition: sql_optimizer_internal.h:96
bool add_key_fields(THD *thd, JOIN *join, Key_field **key_fields, uint *and_level, Item *cond, table_map usable_tables, SARGABLE_PARAM **sargables)
The guts of the ref optimizer.
Definition: sql_optimizer.cc:7475
Item * val
May be empty if diff constant.
Definition: sql_optimizer_internal.h:94
uint level
Definition: sql_optimizer_internal.h:95
bool eq_func
Definition: sql_optimizer_internal.h:97
bool null_rejecting
If true, the condition this struct represents will not be satisfied when val IS NULL.
Definition: sql_optimizer_internal.h:103
Some integer typedefs for easier portability.
uint64_t table_map
Definition: my_table_map.h:30
std::string join(const detail::range auto &rng, std::string_view delim)
join elements of a range into a string separated by a delimiter.
Definition: string.h:74
Classes used for query optimizations.
A Key_field is a descriptor of a predicate of the form (column <op> val).
Definition: sql_optimizer_internal.h:81
Definition: sql_optimizer.h:83