Merge work:/home/bk/mysql-4.0 into hundin.mysql.fi:/my/bk/mysql-4.0
This commit is contained in:
commit
30d5eb2287
@ -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
|
for the entire statement. For the moment, this requires using parentheses for
|
||||||
individual @code{SELECT} queries within the statement.
|
individual @code{SELECT} queries within the statement.
|
||||||
@item
|
@item
|
||||||
|
Fixed bug in @code{SQL_CALC_FOUND_ROWS} and LIMIT.
|
||||||
|
@item
|
||||||
Don't give an error for @code{CREATE TABLE ...(... VARCHAR(0))}.
|
Don't give an error for @code{CREATE TABLE ...(... VARCHAR(0))}.
|
||||||
@item
|
@item
|
||||||
Fixed @code{SIGINT} and @code{SIGQUIT} problems in @file{mysql.cc} on Linux
|
Fixed @code{SIGINT} and @code{SIGQUIT} problems in @file{mysql.cc} on Linux
|
||||||
|
@ -66,7 +66,7 @@ a
|
|||||||
2
|
2
|
||||||
select FOUND_ROWS();
|
select FOUND_ROWS();
|
||||||
FOUND_ROWS()
|
FOUND_ROWS()
|
||||||
5
|
3
|
||||||
drop table t1;
|
drop table t1;
|
||||||
CREATE TABLE t1 (
|
CREATE TABLE t1 (
|
||||||
`id` smallint(5) unsigned NOT NULL auto_increment,
|
`id` smallint(5) unsigned NOT NULL auto_increment,
|
||||||
@ -153,3 +153,19 @@ SELECT FOUND_ROWS();
|
|||||||
FOUND_ROWS()
|
FOUND_ROWS()
|
||||||
199
|
199
|
||||||
drop table t1,t2;
|
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;
|
||||||
|
@ -68,3 +68,20 @@ SELECT SQL_CALC_FOUND_ROWS DISTINCT email FROM t2 LEFT JOIN t1 ON kid = t2.id W
|
|||||||
SELECT FOUND_ROWS();
|
SELECT FOUND_ROWS();
|
||||||
|
|
||||||
drop table t1,t2;
|
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;
|
||||||
|
@ -4900,12 +4900,24 @@ end_send(JOIN *join, JOIN_TAB *join_tab __attribute__((unused)),
|
|||||||
JOIN_TAB *jt=join->join_tab;
|
JOIN_TAB *jt=join->join_tab;
|
||||||
if ((join->tables == 1) && !join->tmp_table && !join->sort_and_group
|
if ((join->tables == 1) && !join->tmp_table && !join->sort_and_group
|
||||||
&& !join->send_group_parts && !join->having && !jt->select_cond &&
|
&& !join->send_group_parts && !join->having && !jt->select_cond &&
|
||||||
|
!(jt->select && jt->select->quick) &&
|
||||||
!(jt->table->file->table_flags() & HA_NOT_EXACT_COUNT))
|
!(jt->table->file->table_flags() & HA_NOT_EXACT_COUNT))
|
||||||
{
|
{
|
||||||
/* Join over all rows in table; Return number of found rows */
|
/* Join over all rows in table; Return number of found rows */
|
||||||
|
TABLE *table=jt->table;
|
||||||
|
|
||||||
join->select_options ^= OPTION_FOUND_ROWS;
|
join->select_options ^= OPTION_FOUND_ROWS;
|
||||||
jt->table->file->info(HA_STATUS_VARIABLE);
|
if (table->record_pointers ||
|
||||||
join->send_records = jt->table->file->records;
|
(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
|
else
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user