mirror of
https://github.com/MariaDB/server.git
synced 2026-05-04 14:15:33 +02:00
Fixed bug in SQL_CALC_FOUND_ROWS + LIMIT
Docs/manual.texi: Changelog mysql-test/r/select_found.result: Test of FOUND_ROWS() bug fix mysql-test/t/select_found.test: Test of FOUND_ROWS() bug fix
This commit is contained in:
parent
3a395a994a
commit
45e0cd6129
4 changed files with 50 additions and 3 deletions
|
|
@ -4900,12 +4900,24 @@ 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->select && jt->select->quick) &&
|
||||
!(jt->table->file->table_flags() & HA_NOT_EXACT_COUNT))
|
||||
{
|
||||
/* Join over all rows in table; Return number of found rows */
|
||||
TABLE *table=jt->table;
|
||||
|
||||
join->select_options ^= OPTION_FOUND_ROWS;
|
||||
jt->table->file->info(HA_STATUS_VARIABLE);
|
||||
join->send_records = jt->table->file->records;
|
||||
if (table->record_pointers ||
|
||||
(table->io_cache && my_b_inited(table->io_cache)))
|
||||
{
|
||||
/* Using filesort */
|
||||
join->send_records= table->found_records;
|
||||
}
|
||||
else
|
||||
{
|
||||
table->file->info(HA_STATUS_VARIABLE);
|
||||
join->send_records = table->file->records;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue