Commit b25bf95f authored by unknown's avatar unknown

Merge mysql.com:/misc/mysql/31700/50-31700

into  mysql.com:/misc/mysql/31700/51-31700


sql/sql_class.h:
  Auto merged
sql/sql_select.cc:
  manual merge
parents f97b8e48 a41b4763
...@@ -1365,9 +1365,20 @@ class THD :public Statement, ...@@ -1365,9 +1365,20 @@ class THD :public Statement,
ulonglong limit_found_rows; ulonglong limit_found_rows;
ulonglong options; /* Bitmap of states */ ulonglong options; /* Bitmap of states */
longlong row_count_func; /* For the ROW_COUNT() function */ longlong row_count_func; /* For the ROW_COUNT() function */
ha_rows cuted_fields, ha_rows cuted_fields;
sent_row_count, examined_row_count;
/*
number of rows we actually sent to the client, including "synthetic"
rows in ROLLUP etc.
*/
ha_rows sent_row_count;
/*
number of rows we read, sent or not, including in create_sort_index()
*/
ha_rows examined_row_count;
/* /*
The set of those tables whose fields are referenced in all subqueries The set of those tables whose fields are referenced in all subqueries
of the query. of the query.
...@@ -1403,7 +1414,11 @@ class THD :public Statement, ...@@ -1403,7 +1414,11 @@ class THD :public Statement,
/* Statement id is thread-wide. This counter is used to generate ids */ /* Statement id is thread-wide. This counter is used to generate ids */
ulong statement_id_counter; ulong statement_id_counter;
ulong rand_saved_seed1, rand_saved_seed2; ulong rand_saved_seed1, rand_saved_seed2;
ulong row_count; // Row counter, mainly for errors and warnings /*
Row counter, mainly for errors and warnings. Not increased in
create_sort_index(); may differ from examined_row_count.
*/
ulong row_count;
pthread_t real_id; /* For debugging */ pthread_t real_id; /* For debugging */
my_thread_id thread_id; my_thread_id thread_id;
uint tmp_table, global_read_lock; uint tmp_table, global_read_lock;
......
...@@ -10648,6 +10648,15 @@ do_select(JOIN *join,List<Item> *fields,TABLE *table,Procedure *procedure) ...@@ -10648,6 +10648,15 @@ do_select(JOIN *join,List<Item> *fields,TABLE *table,Procedure *procedure)
error= (*end_select)(join, 0, 0); error= (*end_select)(join, 0, 0);
if (error == NESTED_LOOP_OK || error == NESTED_LOOP_QUERY_LIMIT) if (error == NESTED_LOOP_OK || error == NESTED_LOOP_QUERY_LIMIT)
error= (*end_select)(join, 0, 1); error= (*end_select)(join, 0, 1);
/*
If we don't go through evaluate_join_record(), do the counting
here. join->send_records is increased on success in end_send(),
so we don't touch it here.
*/
join->examined_rows++;
join->thd->row_count++;
DBUG_ASSERT(join->examined_rows <= 1);
} }
else if (join->send_row_on_empty_set()) else if (join->send_row_on_empty_set())
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment