Loading Docs/manual.texi +2 −0 Original line number Diff line number Diff line Loading @@ -49402,6 +49402,8 @@ if the first @code{SELECT} has this option and if there is global @code{LIMIT} for the entire statement. For the moment, this requires using parentheses for individual @code{SELECT} queries within the statement. @item Fixed bug in @code{SQL_CALC_FOUND_ROWS} and LIMIT. @item Don't give an error for @code{CREATE TABLE ...(... VARCHAR(0))}. @item Fixed @code{SIGINT} and @code{SIGQUIT} problems in @file{mysql.cc} on Linux mysql-test/r/select_found.result +17 −1 Original line number Diff line number Diff line Loading @@ -66,7 +66,7 @@ a 2 select FOUND_ROWS(); FOUND_ROWS() 5 3 drop table t1; CREATE TABLE t1 ( `id` smallint(5) unsigned NOT NULL auto_increment, Loading Loading @@ -153,3 +153,19 @@ SELECT FOUND_ROWS(); FOUND_ROWS() 199 drop table t1,t2; CREATE TABLE `t1` ( `titre` char(80) NOT NULL default '', `numeropost` mediumint(8) unsigned NOT NULL auto_increment, `maxnumrep` int(10) unsigned NOT NULL default '0', PRIMARY KEY (`numeropost`), KEY `maxnumrep` (`maxnumrep`) ) TYPE=MyISAM ROW_FORMAT=FIXED; INSERT INTO t1 (titre,maxnumrep) VALUES ('test1','1'),('test2','2'),('test3','3'); SELECT SQL_CALC_FOUND_ROWS titre,numeropost,maxnumrep FROM t1 WHERE numeropost IN (1,2) ORDER BY maxnumrep DESC LIMIT 0, 1; titre numeropost maxnumrep test2 2 2 SELECT FOUND_ROWS(); FOUND_ROWS() 2 drop table t1; mysql-test/t/select_found.test +17 −0 Original line number Diff line number Diff line Loading @@ -68,3 +68,20 @@ SELECT SQL_CALC_FOUND_ROWS DISTINCT email FROM t2 LEFT JOIN t1 ON kid = t2.id W SELECT FOUND_ROWS(); drop table t1,t2; # # Test bug when using range optimization # CREATE TABLE `t1` ( `titre` char(80) NOT NULL default '', `numeropost` mediumint(8) unsigned NOT NULL auto_increment, `maxnumrep` int(10) unsigned NOT NULL default '0', PRIMARY KEY (`numeropost`), KEY `maxnumrep` (`maxnumrep`) ) TYPE=MyISAM ROW_FORMAT=FIXED; INSERT INTO t1 (titre,maxnumrep) VALUES ('test1','1'),('test2','2'),('test3','3'); SELECT SQL_CALC_FOUND_ROWS titre,numeropost,maxnumrep FROM t1 WHERE numeropost IN (1,2) ORDER BY maxnumrep DESC LIMIT 0, 1; SELECT FOUND_ROWS(); drop table t1; sql/sql_select.cc +14 −2 Original line number Diff line number Diff line Loading @@ -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 Loading
Docs/manual.texi +2 −0 Original line number Diff line number Diff line Loading @@ -49402,6 +49402,8 @@ if the first @code{SELECT} has this option and if there is global @code{LIMIT} for the entire statement. For the moment, this requires using parentheses for individual @code{SELECT} queries within the statement. @item Fixed bug in @code{SQL_CALC_FOUND_ROWS} and LIMIT. @item Don't give an error for @code{CREATE TABLE ...(... VARCHAR(0))}. @item Fixed @code{SIGINT} and @code{SIGQUIT} problems in @file{mysql.cc} on Linux
mysql-test/r/select_found.result +17 −1 Original line number Diff line number Diff line Loading @@ -66,7 +66,7 @@ a 2 select FOUND_ROWS(); FOUND_ROWS() 5 3 drop table t1; CREATE TABLE t1 ( `id` smallint(5) unsigned NOT NULL auto_increment, Loading Loading @@ -153,3 +153,19 @@ SELECT FOUND_ROWS(); FOUND_ROWS() 199 drop table t1,t2; CREATE TABLE `t1` ( `titre` char(80) NOT NULL default '', `numeropost` mediumint(8) unsigned NOT NULL auto_increment, `maxnumrep` int(10) unsigned NOT NULL default '0', PRIMARY KEY (`numeropost`), KEY `maxnumrep` (`maxnumrep`) ) TYPE=MyISAM ROW_FORMAT=FIXED; INSERT INTO t1 (titre,maxnumrep) VALUES ('test1','1'),('test2','2'),('test3','3'); SELECT SQL_CALC_FOUND_ROWS titre,numeropost,maxnumrep FROM t1 WHERE numeropost IN (1,2) ORDER BY maxnumrep DESC LIMIT 0, 1; titre numeropost maxnumrep test2 2 2 SELECT FOUND_ROWS(); FOUND_ROWS() 2 drop table t1;
mysql-test/t/select_found.test +17 −0 Original line number Diff line number Diff line Loading @@ -68,3 +68,20 @@ SELECT SQL_CALC_FOUND_ROWS DISTINCT email FROM t2 LEFT JOIN t1 ON kid = t2.id W SELECT FOUND_ROWS(); drop table t1,t2; # # Test bug when using range optimization # CREATE TABLE `t1` ( `titre` char(80) NOT NULL default '', `numeropost` mediumint(8) unsigned NOT NULL auto_increment, `maxnumrep` int(10) unsigned NOT NULL default '0', PRIMARY KEY (`numeropost`), KEY `maxnumrep` (`maxnumrep`) ) TYPE=MyISAM ROW_FORMAT=FIXED; INSERT INTO t1 (titre,maxnumrep) VALUES ('test1','1'),('test2','2'),('test3','3'); SELECT SQL_CALC_FOUND_ROWS titre,numeropost,maxnumrep FROM t1 WHERE numeropost IN (1,2) ORDER BY maxnumrep DESC LIMIT 0, 1; SELECT FOUND_ROWS(); drop table t1;
sql/sql_select.cc +14 −2 Original line number Diff line number Diff line Loading @@ -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