Drizzled Public API Documentation

drizzled::JoinTable Class Reference

List of all members.

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

Tabletable
optimizer::KeyUsekeyuse
optimizer::SqlSelectselect
COND * select_cond
optimizer::QuickSelectInterfacequick
Itempre_idx_push_select_cond
Item ** on_expr_ref
COND_EQUALcond_equal
JoinTablefirst_inner
bool found
bool not_null_compl
JoinTablelast_inner
JoinTablefirst_upper
JoinTablefirst_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
Joinjoin
JoinTableinsideout_match_tab
unsigned char * insideout_buf
bool found_match
int rowid_keep_flags
std::bitset< 64 > embedding_map

Detailed Description

Definition at line 74 of file join_table.h.


Member Data Documentation

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().

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().

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().

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::Scan::getStats(), drizzled::optimizer::Index::getStats(), and drizzled::make_join_readinfo().

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().

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().

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().

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().

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.

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().

Save status for cache

Definition at line 188 of file join_table.h.

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().

Number of used fields in join set

Definition at line 189 of file join_table.h.

Referenced by drizzled::calc_used_field_length().


The documentation for this class was generated from the following files: