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 67 of file join_table.h.
key_map drizzled::JoinTable::checked_keys |
Keys checked in find_best
Definition at line 159 of file join_table.h.
Referenced by drizzled::make_join_statistics(), and drizzled::update_ref_and_keys().
COND_EQUAL* drizzled::JoinTable::cond_equal |
multiple equalities for the on expression
Definition at line 131 of file join_table.h.
Referenced by drizzled::make_outerjoin_info().
key_map drizzled::JoinTable::const_keys |
Keys with constant part
Definition at line 158 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 229 of file join_table.h.
Referenced by drizzled::check_interleaving_with_nj(), and drizzled::make_join_statistics().
JoinTable* drizzled::JoinTable::first_inner |
first inner table for including outerjoin
Definition at line 132 of file join_table.h.
Referenced by drizzled::eq_ref_table(), drizzled::Join::exec(), drizzled::optimizer::Scan::getStats(), and drizzled::make_outerjoin_info().
JoinTable* drizzled::JoinTable::first_unmatched |
used for optimization purposes only
Definition at line 137 of file join_table.h.
Referenced by drizzled::evaluate_join_record(), drizzled::evaluate_null_complemented_join_record(), and drizzled::sub_select().
JoinTable* drizzled::JoinTable::first_upper |
first inner table for embedding outer join
Definition at line 136 of file join_table.h.
Referenced by drizzled::evaluate_join_record(), drizzled::evaluate_null_complemented_join_record(), and drizzled::make_outerjoin_info().
bool drizzled::JoinTable::found |
true after all matches or null complement
Definition at line 133 of file join_table.h.
Referenced by drizzled::evaluate_join_record(), drizzled::evaluate_null_complemented_join_record(), and drizzled::sub_select().
bool drizzled::JoinTable::found_match |
Used by InsideOut scan. Just set to true when have found a row.
Definition at line 211 of file join_table.h.
Referenced by drizzled::evaluate_join_record().
ha_rows drizzled::JoinTable::found_records |
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 169 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 208 of file join_table.h.
JoinTable* drizzled::JoinTable::insideout_match_tab |
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 207 of file join_table.h.
Referenced by drizzled::optimizer::Index::getStats(), and drizzled::optimizer::Scan::getStats().
key_map drizzled::JoinTable::keys |
all keys with can be used
Definition at line 161 of file join_table.h.
Referenced by drizzled::get_best_combination(), and drizzled::make_join_statistics().
optimizer::KeyUse* drizzled::JoinTable::keyuse |
pointer to first used key
Definition at line 118 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().
JoinTable* drizzled::JoinTable::last_inner |
last table table for embedding outer join
Definition at line 135 of file join_table.h.
Referenced by drizzled::evaluate_join_record(), drizzled::evaluate_null_complemented_join_record(), drizzled::make_outerjoin_info(), and drizzled::sub_select().
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 196 of file join_table.h.
Referenced by drizzled::test_if_skip_sort_order().
bool drizzled::JoinTable::not_null_compl |
true before null complement is added
Definition at line 134 of file join_table.h.
Referenced by drizzled::evaluate_null_complemented_join_record(), and drizzled::sub_select().
Item** drizzled::JoinTable::on_expr_ref |
pointer to the associated on expression
Definition at line 130 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().
Item* drizzled::JoinTable::pre_idx_push_select_cond |
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 129 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 175 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 164 of file join_table.h.
Referenced by drizzled::best_access_path(), and drizzled::make_join_statistics().
int drizzled::JoinTable::rowid_keep_flags |
A set of flags from the above enum
Definition at line 226 of file join_table.h.
Read_record_func drizzled::JoinTable::save_read_first_record |
to save read_first_record
Definition at line 155 of file join_table.h.
int(* drizzled::JoinTable::save_read_record)(ReadRecord *) |
to save read_record.read_record
Definition at line 156 of file join_table.h.
bool drizzled::JoinTable::sorted |
True if index-based access method must return records in order
Definition at line 190 of file join_table.h.
Referenced by drizzled::Join::exec(), and drizzled::join_read_last_key().
uint32_t drizzled::JoinTable::status |
Save status for cache
Definition at line 181 of file join_table.h.
enum access_method drizzled::JoinTable::type |
Access method.
Definition at line 185 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_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 184 of file join_table.h.
Referenced by drizzled::calc_used_field_length().
uint32_t drizzled::JoinTable::used_fieldlength |
Not sure...
Definition at line 183 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 182 of file join_table.h.
Referenced by drizzled::calc_used_field_length().