Loading sql/sql_class.h +19 −4 Original line number Diff line number Diff line Loading @@ -1369,8 +1369,19 @@ class THD :public Statement, ulonglong limit_found_rows; ulonglong options; /* Bitmap of states */ longlong row_count_func; /* For the ROW_COUNT() function */ ha_rows cuted_fields, sent_row_count, examined_row_count; ha_rows cuted_fields; /* 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 of the query. Loading Loading @@ -1403,7 +1414,11 @@ class THD :public Statement, /* Statement id is thread-wide. This counter is used to generate ids */ ulong statement_id_counter; 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; long dbug_thread_id; pthread_t real_id; uint tmp_table, global_read_lock; Loading sql/sql_select.cc +9 −0 Original line number Diff line number Diff line Loading @@ -10347,6 +10347,15 @@ do_select(JOIN *join,List<Item> *fields,TABLE *table,Procedure *procedure) error= (*end_select)(join,join_tab,0); if (error == NESTED_LOOP_OK || error == NESTED_LOOP_QUERY_LIMIT) error= (*end_select)(join,join_tab,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()) { Loading Loading
sql/sql_class.h +19 −4 Original line number Diff line number Diff line Loading @@ -1369,8 +1369,19 @@ class THD :public Statement, ulonglong limit_found_rows; ulonglong options; /* Bitmap of states */ longlong row_count_func; /* For the ROW_COUNT() function */ ha_rows cuted_fields, sent_row_count, examined_row_count; ha_rows cuted_fields; /* 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 of the query. Loading Loading @@ -1403,7 +1414,11 @@ class THD :public Statement, /* Statement id is thread-wide. This counter is used to generate ids */ ulong statement_id_counter; 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; long dbug_thread_id; pthread_t real_id; uint tmp_table, global_read_lock; Loading
sql/sql_select.cc +9 −0 Original line number Diff line number Diff line Loading @@ -10347,6 +10347,15 @@ do_select(JOIN *join,List<Item> *fields,TABLE *table,Procedure *procedure) error= (*end_select)(join,join_tab,0); if (error == NESTED_LOOP_OK || error == NESTED_LOOP_QUERY_LIMIT) error= (*end_select)(join,join_tab,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()) { Loading