diff options
author | unknown <Sinisa@sinisa.nasamreza.org> | 2004-10-05 14:47:10 +0300 |
---|---|---|
committer | unknown <Sinisa@sinisa.nasamreza.org> | 2004-10-05 14:47:10 +0300 |
commit | 83b54807223200714ac1c6bc2ba2a73b02423d55 (patch) | |
tree | e4bcdb5528b634d1ac005bdf029c34921e8ba13f /sql/sql_union.cc | |
parent | a8cbb00d5c61db88c06ce4a58004a034bc70a45f (diff) | |
download | mariadb-git-83b54807223200714ac1c6bc2ba2a73b02423d55.tar.gz |
Fix for wrongly calculated Examined_rows in 4.0 UNION's.
sql/sql_union.cc:
Fixing a non-critical bug in 4.0 UNION's which results in erronously
calculated number o fexamined rows. This value is displayed in the
slow query log.
This is a bug number #5879.
Diffstat (limited to 'sql/sql_union.cc')
-rw-r--r-- | sql/sql_union.cc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/sql/sql_union.cc b/sql/sql_union.cc index f79ff7967db..f9c21079851 100644 --- a/sql/sql_union.cc +++ b/sql/sql_union.cc @@ -39,6 +39,7 @@ int mysql_union(THD *thd, LEX *lex,select_result *result) TABLE_LIST *first_table=(TABLE_LIST *)lex->select_lex.table_list.first; TMP_TABLE_PARAM tmp_table_param; select_union *union_result; + ha_rows examined_rows= 0; DBUG_ENTER("mysql_union"); /* Fix tables 'to-be-unioned-from' list to point at opened tables */ @@ -202,6 +203,7 @@ int mysql_union(THD *thd, LEX *lex,select_result *result) union_result); if (res) goto exit; + examined_rows+= thd->examined_row_count; /* Needed for the following test and for records_at_start in next loop */ table->file->info(HA_STATUS_VARIABLE); if (found_rows_for_union & sl->options) @@ -258,12 +260,15 @@ int mysql_union(THD *thd, LEX *lex,select_result *result) if (describe) thd->select_limit= HA_POS_ERROR; // no limit - res=mysql_select(thd,&result_table_list, + res= mysql_select(thd,&result_table_list, item_list, NULL, (describe) ? 0 : order, (ORDER*) NULL, NULL, (ORDER*) NULL, thd->options, result); if (!res) - thd->limit_found_rows = (ulonglong)table->file->records + add_rows; + { + thd->limit_found_rows= (ulonglong)table->file->records + add_rows; + thd->examined_row_count+= examined_rows; + } } } |