1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-01 03:47:19 +03:00

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

into  mysql.com:/misc/mysql/31700/51-31700
This commit is contained in:
tnurnberg@white.intern.koehntopp.de
2007-11-10 18:44:40 +01:00
2 changed files with 28 additions and 4 deletions

View File

@ -1365,9 +1365,20 @@ public:
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 @@ public:
/* 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;

View File

@ -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())
{ {