Code cleanup (remove garbage comments and #if 0-s)
This commit is contained in:
parent
9ccce9f100
commit
862135a18a
@ -34,6 +34,8 @@
|
|||||||
#define NO_MORE_RECORDS_IN_BUFFER (uint)(-1)
|
#define NO_MORE_RECORDS_IN_BUFFER (uint)(-1)
|
||||||
|
|
||||||
void save_or_restore_used_tabs(JOIN_TAB *join_tab, bool save);
|
void save_or_restore_used_tabs(JOIN_TAB *join_tab, bool save);
|
||||||
|
JOIN_TAB *next_linear_tab(JOIN* join, JOIN_TAB* tab, bool include_bush_roots);
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
* Join cache module
|
* Join cache module
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
@ -138,54 +140,6 @@ uint add_table_data_fields_to_join_cache(JOIN_TAB *tab,
|
|||||||
return len;
|
return len;
|
||||||
}
|
}
|
||||||
|
|
||||||
JOIN_TAB *next_linear_tab(JOIN* join, JOIN_TAB* tab, bool include_bush_roots);
|
|
||||||
|
|
||||||
// /*
|
|
||||||
// Get the next table whose records are stored in the join buffer of this cache
|
|
||||||
//
|
|
||||||
// SYNOPSIS
|
|
||||||
// get_next_table()
|
|
||||||
// tab the table for which the next table is to be returned
|
|
||||||
//
|
|
||||||
// DESCRIPTION
|
|
||||||
// For a given table whose records are stored in this cache the function
|
|
||||||
// returns the next such table if there is any.
|
|
||||||
// The function takes into account that the tables whose records are
|
|
||||||
// are stored in the same cache now can interleave with tables from
|
|
||||||
// materialized semijoin subqueries.
|
|
||||||
//
|
|
||||||
// TODO
|
|
||||||
// This function should be modified/simplified after the new code for
|
|
||||||
// materialized semijoins is merged.
|
|
||||||
//
|
|
||||||
// RETURN
|
|
||||||
// The next join table whose records are stored in the buffer of this cache
|
|
||||||
// if such table exists, 0 - otherwise
|
|
||||||
// */
|
|
||||||
//
|
|
||||||
// JOIN_TAB *JOIN_CACHE::get_next_table(JOIN_TAB *tab)
|
|
||||||
// {
|
|
||||||
//
|
|
||||||
// if (++tab == join_tab)
|
|
||||||
// return NULL;
|
|
||||||
// if (join_tab->first_sjm_sibling)
|
|
||||||
// return tab;
|
|
||||||
// uint i= tab-join->join_tab;
|
|
||||||
// /*
|
|
||||||
// Temporary measure before MWL#90 refactorings are there: if 'tab' is at upper
|
|
||||||
// level (i.e. it's not inside an SJM nest), still include into the join buffer
|
|
||||||
// the tables from within SJM nest. We might need the subquery's select list
|
|
||||||
// columns, because SJ-Materialization-Scan upacks data to those.
|
|
||||||
//
|
|
||||||
// while (sj_is_materialize_strategy(join->best_positions[i].sj_strategy) &&
|
|
||||||
// i < join->tables)
|
|
||||||
// i+= join->best_positions[i].n_sj_tables;
|
|
||||||
//
|
|
||||||
// */
|
|
||||||
// return join->join_tab+i < join_tab ? join->join_tab+i : NULL;
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Determine different counters of fields associated with a record in the cache
|
Determine different counters of fields associated with a record in the cache
|
||||||
|
|
||||||
@ -206,13 +160,7 @@ JOIN_TAB *next_linear_tab(JOIN* join, JOIN_TAB* tab, bool include_bush_roots);
|
|||||||
void JOIN_CACHE::calc_record_fields()
|
void JOIN_CACHE::calc_record_fields()
|
||||||
{
|
{
|
||||||
JOIN_TAB *tab;
|
JOIN_TAB *tab;
|
||||||
/**
|
|
||||||
psergey-merge: was:
|
|
||||||
JOIN_TAB *tab = prev_cache ? prev_cache->join_tab :
|
|
||||||
(join_tab->first_sjm_sibling ?
|
|
||||||
join_tab->first_sjm_sibling :
|
|
||||||
join->join_tab+join->const_tables);
|
|
||||||
**/
|
|
||||||
if (prev_cache)
|
if (prev_cache)
|
||||||
tab= prev_cache->join_tab;
|
tab= prev_cache->join_tab;
|
||||||
else
|
else
|
||||||
@ -235,17 +183,11 @@ psergey-merge: was:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
start_tab= tab;
|
start_tab= tab;
|
||||||
/*
|
|
||||||
while (start_tab->bush_children && start_tab != join_tab)
|
|
||||||
start_tab++;
|
|
||||||
*/
|
|
||||||
if (start_tab->bush_children)
|
if (start_tab->bush_children)
|
||||||
start_tab= start_tab->bush_children->start;
|
start_tab= start_tab->bush_children->start;
|
||||||
|
|
||||||
tab= start_tab;
|
tab= start_tab;
|
||||||
|
|
||||||
//tables= join_tab-tab;
|
|
||||||
//tables= 0;
|
|
||||||
fields= 0;
|
fields= 0;
|
||||||
blobs= 0;
|
blobs= 0;
|
||||||
flag_fields= 0;
|
flag_fields= 0;
|
||||||
@ -253,7 +195,6 @@ psergey-merge: was:
|
|||||||
data_field_ptr_count= 0;
|
data_field_ptr_count= 0;
|
||||||
referenced_fields= 0;
|
referenced_fields= 0;
|
||||||
|
|
||||||
//psergey-merge: for ( ; tab ; tab= get_next_table(tab))
|
|
||||||
/*
|
/*
|
||||||
The following loop will get inside SJM nests, because data may be unpacked
|
The following loop will get inside SJM nests, because data may be unpacked
|
||||||
to sjm-inner tables.
|
to sjm-inner tables.
|
||||||
@ -267,7 +208,6 @@ psergey-merge: was:
|
|||||||
blobs+= tab->used_blobs;
|
blobs+= tab->used_blobs;
|
||||||
|
|
||||||
fields+= tab->check_rowid_field();
|
fields+= tab->check_rowid_field();
|
||||||
//tables++;
|
|
||||||
}
|
}
|
||||||
if ((with_match_flag= join_tab->use_match_flag()))
|
if ((with_match_flag= join_tab->use_match_flag()))
|
||||||
flag_fields++;
|
flag_fields++;
|
||||||
@ -313,14 +253,7 @@ void JOIN_CACHE::collect_info_on_key_args()
|
|||||||
cache= this;
|
cache= this;
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
/*
|
|
||||||
psergey-merge:
|
|
||||||
tab"=start_tab" is not a correct substitute for
|
|
||||||
"cache->join_tab - cache->tables".
|
|
||||||
*/
|
|
||||||
for (tab= cache->start_tab; tab != cache->join_tab; tab= next_linear_tab(join, tab, FALSE))
|
for (tab= cache->start_tab; tab != cache->join_tab; tab= next_linear_tab(join, tab, FALSE))
|
||||||
//for (tab= cache->join_tab-cache->tables; tab ;
|
|
||||||
// tab= cache->get_next_table(tab))
|
|
||||||
{
|
{
|
||||||
uint key_args;
|
uint key_args;
|
||||||
bitmap_clear_all(&tab->table->tmp_set);
|
bitmap_clear_all(&tab->table->tmp_set);
|
||||||
@ -436,8 +369,6 @@ void JOIN_CACHE::create_flag_fields()
|
|||||||
©);
|
©);
|
||||||
|
|
||||||
/* Create fields for all null bitmaps and null row flags that are needed */
|
/* Create fields for all null bitmaps and null row flags that are needed */
|
||||||
// // psergey-merge: for (tab= join_tab-tables; tab; tab= get_next_table(tab))
|
|
||||||
//for (tab= join_tab-tables; tab < join_tab; tab++)
|
|
||||||
for (tab= start_tab; tab != join_tab; tab= next_linear_tab(join, tab, FALSE))
|
for (tab= start_tab; tab != join_tab; tab= next_linear_tab(join, tab, FALSE))
|
||||||
{
|
{
|
||||||
TABLE *table= tab->table;
|
TABLE *table= tab->table;
|
||||||
@ -525,9 +456,6 @@ void JOIN_CACHE::create_key_arg_fields()
|
|||||||
while (ext_key_arg_cnt)
|
while (ext_key_arg_cnt)
|
||||||
{
|
{
|
||||||
cache= cache->prev_cache;
|
cache= cache->prev_cache;
|
||||||
//for (tab= cache->join_tab-cache->tables; tab;
|
|
||||||
// tab= cache->get_next_table(tab))
|
|
||||||
//psergey-merge: ^
|
|
||||||
for (tab= cache->start_tab; tab != cache->join_tab;
|
for (tab= cache->start_tab; tab != cache->join_tab;
|
||||||
tab= next_linear_tab(join, tab, FALSE))
|
tab= next_linear_tab(join, tab, FALSE))
|
||||||
{
|
{
|
||||||
@ -637,8 +565,6 @@ void JOIN_CACHE::create_remaining_fields()
|
|||||||
CACHE_FIELD **copy_ptr= blob_ptr+data_field_ptr_count;
|
CACHE_FIELD **copy_ptr= blob_ptr+data_field_ptr_count;
|
||||||
|
|
||||||
for (tab= start_tab; tab != join_tab; tab= next_linear_tab(join, tab, FALSE))
|
for (tab= start_tab; tab != join_tab; tab= next_linear_tab(join, tab, FALSE))
|
||||||
//psergey-merge: for (tab= join_tab-tables; tab; tab= get_next_table(tab))
|
|
||||||
//for (tab= join_tab-tables; tab < join_tab; tab++)
|
|
||||||
{
|
{
|
||||||
MY_BITMAP *rem_field_set;
|
MY_BITMAP *rem_field_set;
|
||||||
TABLE *table= tab->table;
|
TABLE *table= tab->table;
|
||||||
@ -795,7 +721,6 @@ ulong JOIN_CACHE::get_min_join_buffer_size()
|
|||||||
if (!min_buff_size)
|
if (!min_buff_size)
|
||||||
{
|
{
|
||||||
ulong len= 0;
|
ulong len= 0;
|
||||||
//for (JOIN_TAB *tab= join_tab-tables; tab < join_tab; tab++)
|
|
||||||
for (JOIN_TAB *tab= start_tab; tab != join_tab; tab= next_linear_tab(join, tab, FALSE))
|
for (JOIN_TAB *tab= start_tab; tab != join_tab; tab= next_linear_tab(join, tab, FALSE))
|
||||||
len+= tab->get_max_used_fieldlength();
|
len+= tab->get_max_used_fieldlength();
|
||||||
len+= get_record_max_affix_length() + get_max_key_addon_space_per_record();
|
len+= get_record_max_affix_length() + get_max_key_addon_space_per_record();
|
||||||
@ -849,7 +774,6 @@ ulong JOIN_CACHE::get_max_join_buffer_size(bool optimize_buff_size)
|
|||||||
ulong max_sz;
|
ulong max_sz;
|
||||||
ulong min_sz= get_min_join_buffer_size();
|
ulong min_sz= get_min_join_buffer_size();
|
||||||
ulong len= 0;
|
ulong len= 0;
|
||||||
//for (JOIN_TAB *tab= join_tab-tables; tab < join_tab; tab++)
|
|
||||||
for (JOIN_TAB *tab= start_tab; tab != join_tab; tab= next_linear_tab(join, tab, FALSE))
|
for (JOIN_TAB *tab= start_tab; tab != join_tab; tab= next_linear_tab(join, tab, FALSE))
|
||||||
len+= tab->get_used_fieldlength();
|
len+= tab->get_used_fieldlength();
|
||||||
len+= get_record_max_affix_length();
|
len+= get_record_max_affix_length();
|
||||||
@ -925,11 +849,8 @@ int JOIN_CACHE::alloc_buffer()
|
|||||||
set_if_bigger(max_records, 10);
|
set_if_bigger(max_records, 10);
|
||||||
min_buff_size= get_min_join_buffer_size();
|
min_buff_size= get_min_join_buffer_size();
|
||||||
buff_size= get_max_join_buffer_size(optimize_buff_size);
|
buff_size= get_max_join_buffer_size(optimize_buff_size);
|
||||||
//psergey-merge: for (tab= join->join_tab+join->const_tables; tab <= join_tab; tab++)
|
|
||||||
// for (tab= cache->join_tab-cache->tables; tab < cache->join_tab ; tab++)
|
for (tab= start_tab; tab!= join_tab; tab= next_linear_tab(join, tab, FALSE))
|
||||||
// (fixed)
|
|
||||||
for (tab= /*join->join_tab + join->const_tables*/ start_tab; tab!= join_tab;
|
|
||||||
tab= next_linear_tab(join, tab, FALSE))
|
|
||||||
{
|
{
|
||||||
cache= tab->cache;
|
cache= tab->cache;
|
||||||
if (cache)
|
if (cache)
|
||||||
|
@ -8201,12 +8201,6 @@ uint check_join_cache_usage(JOIN_TAB *tab,
|
|||||||
|
|
||||||
join->return_tab= 0;
|
join->return_tab= 0;
|
||||||
|
|
||||||
//psergey-merge: fixes with prev)tab?
|
|
||||||
/*
|
|
||||||
- if (cache_level == 0 || i == join->const_tables)
|
|
||||||
+ if (cache_level == 0 || i == join->const_tables || !prev_tab)
|
|
||||||
|
|
||||||
*/
|
|
||||||
/*
|
/*
|
||||||
Don't use join cache if @@join_cache_level==0 or this table is the first
|
Don't use join cache if @@join_cache_level==0 or this table is the first
|
||||||
one join suborder (either at top level or inside a bush)
|
one join suborder (either at top level or inside a bush)
|
||||||
@ -8447,9 +8441,6 @@ restart:
|
|||||||
case JT_ALL:
|
case JT_ALL:
|
||||||
tab->used_join_cache_level= check_join_cache_usage(tab, options,
|
tab->used_join_cache_level= check_join_cache_usage(tab, options,
|
||||||
no_jbuf_after,
|
no_jbuf_after,
|
||||||
//tab == last_sjm_table ?
|
|
||||||
// first_sjm_table :
|
|
||||||
// tab-1);
|
|
||||||
prev_tab);
|
prev_tab);
|
||||||
tab->use_join_cache= test(tab->used_join_cache_level);
|
tab->use_join_cache= test(tab->used_join_cache_level);
|
||||||
/*
|
/*
|
||||||
@ -8510,10 +8501,9 @@ make_join_readinfo(JOIN *join, ulonglong options, uint no_jbuf_after)
|
|||||||
setup_semijoin_dups_elimination(join, options, no_jbuf_after))
|
setup_semijoin_dups_elimination(join, options, no_jbuf_after))
|
||||||
DBUG_RETURN(TRUE); /* purecov: inspected */
|
DBUG_RETURN(TRUE); /* purecov: inspected */
|
||||||
|
|
||||||
//for (i= 0; i < join->const_tables; i++) //psergey-merge-todo: partial_join_cardinality for everything.
|
|
||||||
for (tab= first_linear_tab(join, TRUE);
|
for (tab= first_linear_tab(join, TRUE);
|
||||||
tab;
|
tab;
|
||||||
tab= next_linear_tab(join, tab, TRUE)) /// << psergey-merge2: is that ok???
|
tab= next_linear_tab(join, tab, TRUE))
|
||||||
{
|
{
|
||||||
tab->partial_join_cardinality= 1;
|
tab->partial_join_cardinality= 1;
|
||||||
}
|
}
|
||||||
@ -13816,19 +13806,6 @@ int rr_sequential_and_unpack(READ_RECORD *info)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#if 0
|
|
||||||
psergey-merge: todo:
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (sjm->is_sj_scan)
|
|
||||||
{
|
|
||||||
/* Reset the cursor for a new scan over the table */
|
|
||||||
if (sjm->table->file->ha_rnd_init(TRUE))
|
|
||||||
DBUG_RETURN(NESTED_LOOP_ERROR);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Fill the join buffer with partial records, retrieve all full matches for them
|
Fill the join buffer with partial records, retrieve all full matches for them
|
||||||
|
|
||||||
@ -19579,7 +19556,6 @@ static void select_describe(JOIN *join, bool need_tmp_table, bool need_order,
|
|||||||
examined_rows= tab->records;
|
examined_rows= tab->records;
|
||||||
else
|
else
|
||||||
examined_rows= tab->table->file->stats.records;
|
examined_rows= tab->table->file->stats.records;
|
||||||
//psergey-merge: examined_rows= (ha_rows)tab->records_read;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
Loading…
x
Reference in New Issue
Block a user