Public Types | |
enum | { KEEP_ROWID = 1, CALL_POSITION = 2 } |
Public Member Functions | |
void | cleanup () |
bool | is_using_loose_index_scan () |
void | readCachedRecord () |
int | joinReadConstTable (optimizer::Position *pos) |
int | joinReadSystem () |
Public Attributes | |
Table * | table |
optimizer::KeyUse * | keyuse |
optimizer::SqlSelect * | select |
COND * | select_cond |
optimizer::QuickSelectInterface * | quick |
Item * | pre_idx_push_select_cond |
Item ** | on_expr_ref |
COND_EQUAL * | cond_equal |
JoinTable * | first_inner |
bool | found |
bool | not_null_compl |
JoinTable * | last_inner |
JoinTable * | first_upper |
JoinTable * | first_unmatched |
const char * | info |
uint32_t | packed_info |
Read_record_func | read_first_record |
Next_select_func | next_select |
ReadRecord | read_record |
Read_record_func | save_read_first_record |
int(* | save_read_record )(ReadRecord *) |
double | worst_seeks |
key_map | const_keys |
key_map | checked_keys |
key_map | needed_reg |
key_map | keys |
ha_rows | records |
ha_rows | found_records |
ha_rows | read_time |
table_map | dependent |
table_map | key_dependent |
uint32_t | use_quick |
uint32_t | index |
uint32_t | status |
uint32_t | used_fields |
uint32_t | used_fieldlength |
uint32_t | used_blobs |
enum access_method | type |
bool | cached_eq_ref_table |
bool | eq_ref_table |
bool | not_used_in_distinct |
bool | sorted |
ha_rows | limit |
table_reference_st | ref |
JoinCache | cache |
Join * | join |
JoinTable * | insideout_match_tab |
unsigned char * | insideout_buf |
bool | found_match |
int | rowid_keep_flags |
std::bitset< 64 > | embedding_map |
Definition at line 74 of file join_table.h.
Keys checked in find_best
Definition at line 166 of file join_table.h.
Referenced by drizzled::make_join_statistics(), and drizzled::update_ref_and_keys().
multiple equalities for the on expression
Definition at line 138 of file join_table.h.
Referenced by drizzled::make_outerjoin_info().
key_map drizzled::JoinTable::const_keys |
Keys with constant part
Definition at line 165 of file join_table.h.
Referenced by drizzled::add_group_and_distinct_keys(), drizzled::make_join_statistics(), and drizzled::update_const_equal_items().
std::bitset<64> drizzled::JoinTable::embedding_map |
Bitmap of nested joins this table is part of
Definition at line 236 of file join_table.h.
Referenced by drizzled::check_interleaving_with_nj(), and drizzled::make_join_statistics().
first inner table for including outerjoin
Definition at line 139 of file join_table.h.
Referenced by drizzled::eq_ref_table(), drizzled::Join::exec(), drizzled::optimizer::Scan::getStats(), and drizzled::make_outerjoin_info().
used for optimization purposes only
Definition at line 144 of file join_table.h.
Referenced by drizzled::evaluate_join_record(), and drizzled::evaluate_null_complemented_join_record().
first inner table for embedding outer join
Definition at line 143 of file join_table.h.
Referenced by drizzled::evaluate_join_record(), drizzled::evaluate_null_complemented_join_record(), and drizzled::make_outerjoin_info().
true after all matches or null complement
Definition at line 140 of file join_table.h.
Referenced by drizzled::evaluate_join_record(), drizzled::evaluate_null_complemented_join_record(), and drizzled::sub_select().
Used by InsideOut scan. Just set to true when have found a row.
Definition at line 218 of file join_table.h.
Referenced by drizzled::evaluate_join_record().
Number of records that will be scanned (yes scanned, not returned) by the best 'independent' access method, i.e. table scan or QUICK_*_SELECT)
Definition at line 176 of file join_table.h.
Referenced by drizzled::best_access_path(), drizzled::join_tab_cmp(), and drizzled::make_join_statistics().
unsigned char* drizzled::JoinTable::insideout_buf |
Buffer to save index tuple to be able to skip dups
Definition at line 215 of file join_table.h.
Referenced by drizzled::make_join_readinfo().
ptr - this join tab should do an InsideOut scan. Points to the tab for which we'll need to check tab->found_match.
NULL - Not an insideout scan.
Definition at line 214 of file join_table.h.
Referenced by drizzled::optimizer::Index::getStats(), drizzled::optimizer::Scan::getStats(), and drizzled::make_join_readinfo().
key_map drizzled::JoinTable::keys |
all keys with can be used
Definition at line 168 of file join_table.h.
Referenced by drizzled::get_best_combination(), and drizzled::make_join_statistics().
pointer to first used key
Definition at line 125 of file join_table.h.
Referenced by drizzled::best_access_path(), drizzled::Join::exec(), drizzled::make_join_statistics(), drizzled::test_if_skip_sort_order(), drizzled::update_const_equal_items(), and drizzled::update_ref_and_keys().
last table table for embedding outer join
Definition at line 142 of file join_table.h.
Referenced by drizzled::evaluate_join_record(), drizzled::evaluate_null_complemented_join_record(), and drizzled::make_outerjoin_info().
ha_rows drizzled::JoinTable::limit |
If it's not 0 the number stored this field indicates that the index scan has been chosen to access the table data and we expect to scan this number of rows for the table.
Definition at line 203 of file join_table.h.
Referenced by drizzled::test_if_skip_sort_order().
true before null complement is added
Definition at line 141 of file join_table.h.
Referenced by drizzled::evaluate_null_complemented_join_record().
pointer to the associated on expression
Definition at line 137 of file join_table.h.
Referenced by drizzled::get_best_combination(), drizzled::make_join_statistics(), drizzled::make_outerjoin_info(), drizzled::remove_constants(), and drizzled::update_ref_and_keys().
The value of select_cond before we've attempted to do Index Condition Pushdown. We may need to restore everything back if we first choose one index but then reconsider (see test_if_skip_sort_order() for such scenarios). NULL means no index condition pushdown was performed.
Definition at line 136 of file join_table.h.
Referenced by drizzled::test_if_skip_sort_order().
ha_rows drizzled::JoinTable::read_time |
Cost of accessing the table using "ALL" or range/index_merge access method (but not 'index' for some reason), i.e. this matches method which E(records) is in found_records.
Definition at line 182 of file join_table.h.
Referenced by drizzled::best_access_path(), and drizzled::make_join_statistics().
ha_rows drizzled::JoinTable::records |
Either #rows in the table or 1 for const table.
Definition at line 171 of file join_table.h.
Referenced by drizzled::best_access_path(), and drizzled::make_join_statistics().
A set of flags from the above enum
Definition at line 233 of file join_table.h.
Read_record_func drizzled::JoinTable::save_read_first_record |
to save read_first_record
Definition at line 162 of file join_table.h.
to save read_record.read_record
Definition at line 163 of file join_table.h.
True if index-based access method must return records in order
Definition at line 197 of file join_table.h.
Referenced by drizzled::Join::exec(), drizzled::join_read_last_key(), and drizzled::make_join_readinfo().
uint32_t drizzled::JoinTable::status |
Save status for cache
Definition at line 188 of file join_table.h.
Access method.
Definition at line 192 of file join_table.h.
Referenced by drizzled::eq_ref_table(), drizzled::get_best_combination(), drizzled::optimizer::Index::getStats(), drizzled::optimizer::Scan::getStats(), drizzled::make_join_readinfo(), drizzled::make_join_statistics(), drizzled::Join::optimize(), and drizzled::test_if_skip_sort_order().
uint32_t drizzled::JoinTable::used_blobs |
Number of BLOB fields in join set
Definition at line 191 of file join_table.h.
Referenced by drizzled::calc_used_field_length().
Not sure...
Definition at line 190 of file join_table.h.
Referenced by drizzled::calc_used_field_length().
uint32_t drizzled::JoinTable::used_fields |
Number of used fields in join set
Definition at line 189 of file join_table.h.
Referenced by drizzled::calc_used_field_length().