mirror of
https://github.com/MariaDB/server.git
synced 2026-05-04 14:15:33 +02:00
Update for BTREE keys in HEAP tables
Split handler->option_flag() to handler->table_flags() and handler->index_flags() Docs/manual.texi: Updated standard binary options include/my_base.h: Update for BTREE keys in HEAP tables libmysql/net.c: merge with net_serv.cc mysql-test/r/func_misc.result: Update for new behaviour of inet_ntoa sql/field.cc: Update for BTREE keys in HEAP tables sql/field.h: Update for BTREE keys in HEAP tables sql/filesort.cc: Update for BTREE keys in HEAP tables sql/ha_berkeley.h: Update for BTREE keys in HEAP tables sql/ha_heap.h: Update for BTREE keys in HEAP tables sql/ha_innodb.h: Update for BTREE keys in HEAP tables sql/ha_isam.cc: Update for BTREE keys in HEAP tables sql/ha_isam.h: Update for BTREE keys in HEAP tables sql/ha_isammrg.h: Update for BTREE keys in HEAP tables sql/ha_myisam.cc: Update for BTREE keys in HEAP tables sql/ha_myisam.h: Update for BTREE keys in HEAP tables sql/ha_myisammrg.h: Update for BTREE keys in HEAP tables sql/handler.cc: Update for BTREE keys in HEAP tables sql/handler.h: Update for BTREE keys in HEAP tables sql/log.cc: Update for BTREE keys in HEAP tables sql/net_serv.cc: Update for BTREE keys in HEAP tables sql/opt_range.cc: Update for BTREE keys in HEAP tables sql/opt_sum.cc: Update for BTREE keys in HEAP tables sql/records.cc: Update for BTREE keys in HEAP tables sql/sql_class.h: Update for BTREE keys in HEAP tables sql/sql_handler.cc: Update for BTREE keys in HEAP tables sql/sql_insert.cc: Update for BTREE keys in HEAP tables sql/sql_select.cc: Update for BTREE keys in HEAP tables sql/sql_show.cc: Update for BTREE keys in HEAP tables sql/sql_table.cc: Update for BTREE keys in HEAP tables sql/structs.h: Update for BTREE keys in HEAP tables sql/table.cc: Update for BTREE keys in HEAP tables sql/unireg.cc: Update for BTREE keys in HEAP tables
This commit is contained in:
parent
40a2774087
commit
6326ec9944
32 changed files with 222 additions and 158 deletions
|
|
@ -982,7 +982,7 @@ make_join_statistics(JOIN *join,TABLE_LIST *tables,COND *conds,
|
|||
s->dependent=(table_map) 0;
|
||||
s->key_dependent=(table_map) 0;
|
||||
if ((table->system || table->file->records <= 1) && ! s->dependent &&
|
||||
!(table->file->option_flag() & HA_NOT_EXACT_COUNT) &&
|
||||
!(table->file->table_flags() & HA_NOT_EXACT_COUNT) &&
|
||||
!table->fulltext_searched)
|
||||
{
|
||||
set_position(join,const_count++,s,(KEYUSE*) 0);
|
||||
|
|
@ -1073,7 +1073,7 @@ make_join_statistics(JOIN *join,TABLE_LIST *tables,COND *conds,
|
|||
if (s->dependent & ~(join->const_table_map))
|
||||
continue;
|
||||
if (table->file->records <= 1L &&
|
||||
!(table->file->option_flag() & HA_NOT_EXACT_COUNT))
|
||||
!(table->file->table_flags() & HA_NOT_EXACT_COUNT))
|
||||
{ // system table
|
||||
int tmp;
|
||||
s->type=JT_SYSTEM;
|
||||
|
|
@ -1882,7 +1882,7 @@ find_best(JOIN *join,table_map rest_tables,uint idx,double record_count,
|
|||
** Set tmp to (previous record count) * (records / combination)
|
||||
*/
|
||||
if ((found_part & 1) &&
|
||||
!(table->file->option_flag() & HA_ONLY_WHOLE_INDEX))
|
||||
!(table->file->index_flags(key) & HA_ONLY_WHOLE_INDEX))
|
||||
{
|
||||
max_key_part=max_part_bit(found_part);
|
||||
/* Check if quick_range could determinate how many rows we
|
||||
|
|
@ -1970,7 +1970,7 @@ find_best(JOIN *join,table_map rest_tables,uint idx,double record_count,
|
|||
if ((records >= s->found_records || best > s->read_time) &&
|
||||
!(s->quick && best_key && s->quick->index == best_key->key &&
|
||||
best_max_key_part >= s->table->quick_key_parts[best_key->key]) &&
|
||||
!((s->table->file->option_flag() & HA_TABLE_SCAN_ON_INDEX) &&
|
||||
!((s->table->file->table_flags() & HA_TABLE_SCAN_ON_INDEX) &&
|
||||
s->table->used_keys && best_key))
|
||||
{ // Check full join
|
||||
if (s->on_expr)
|
||||
|
|
@ -4899,7 +4899,7 @@ end_send(JOIN *join, JOIN_TAB *join_tab __attribute__((unused)),
|
|||
JOIN_TAB *jt=join->join_tab;
|
||||
if ((join->tables == 1) && !join->tmp_table && !join->sort_and_group
|
||||
&& !join->send_group_parts && !join->having && !jt->select_cond &&
|
||||
!(jt->table->file->option_flag() & HA_NOT_EXACT_COUNT))
|
||||
!(jt->table->file->table_flags() & HA_NOT_EXACT_COUNT))
|
||||
{
|
||||
/* Join over all rows in table; Return number of found rows */
|
||||
join->select_options ^= OPTION_FOUND_ROWS;
|
||||
|
|
@ -5533,7 +5533,7 @@ test_if_skip_sort_order(JOIN_TAB *tab,ORDER *order,ha_rows select_limit,
|
|||
Use a traversal function that starts by reading the last row
|
||||
with key part (A) and then traverse the index backwards.
|
||||
*/
|
||||
if (table->file->option_flag() & HA_NOT_READ_PREFIX_LAST)
|
||||
if (table->file->table_flags() & HA_NOT_READ_PREFIX_LAST)
|
||||
DBUG_RETURN(1);
|
||||
tab->read_first_record= join_read_last_key;
|
||||
tab->read_record.read_record= join_read_prev_same;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue