Drizzled Public API Documentation

drizzled::JoinTable Class Reference

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
 
CONDselect_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 67 of file join_table.h.

Member Data Documentation

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

JoinTable* drizzled::JoinTable::last_inner
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
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.

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


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