Merge sanja.is.com.ua:/home/bell/mysql/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/work-crash-4.1
This commit is contained in:
commit
e3d78f0bd4
@ -236,6 +236,9 @@ CREATE TABLE `searchconthardwarefr7` (
|
|||||||
PRIMARY KEY (`mot`,`pseudo`,`date`,`topic`)
|
PRIMARY KEY (`mot`,`pseudo`,`date`,`topic`)
|
||||||
) TYPE=MyISAM ROW_FORMAT=DYNAMIC;
|
) TYPE=MyISAM ROW_FORMAT=DYNAMIC;
|
||||||
INSERT INTO searchconthardwarefr7 (mot,topic,date,pseudo) VALUES ('joce','40143','2002-10-22','joce'), ('joce','43506','2002-10-22','joce');
|
INSERT INTO searchconthardwarefr7 (mot,topic,date,pseudo) VALUES ('joce','40143','2002-10-22','joce'), ('joce','43506','2002-10-22','joce');
|
||||||
|
select numeropost as a FROM forumconthardwarefr7 GROUP BY (SELECT 1 FROM forumconthardwarefr7 HAVING a=1);
|
||||||
|
a
|
||||||
|
40143
|
||||||
SELECT numeropost,maxnumrep FROM forumconthardwarefr7 WHERE exists (SELECT 1 FROM searchconthardwarefr7 WHERE (mot='joce') AND date >= '2002-10-21' AND forumconthardwarefr7.numeropost = searchconthardwarefr7.topic) ORDER BY maxnumrep DESC LIMIT 0, 20;
|
SELECT numeropost,maxnumrep FROM forumconthardwarefr7 WHERE exists (SELECT 1 FROM searchconthardwarefr7 WHERE (mot='joce') AND date >= '2002-10-21' AND forumconthardwarefr7.numeropost = searchconthardwarefr7.topic) ORDER BY maxnumrep DESC LIMIT 0, 20;
|
||||||
numeropost maxnumrep
|
numeropost maxnumrep
|
||||||
43506 2
|
43506 2
|
||||||
@ -243,3 +246,14 @@ numeropost maxnumrep
|
|||||||
SELECT (SELECT 1) as a FROM (SELECT 1 FROM forumconthardwarefr7 HAVING a=1);
|
SELECT (SELECT 1) as a FROM (SELECT 1 FROM forumconthardwarefr7 HAVING a=1);
|
||||||
Unknown column 'a' in 'having clause'
|
Unknown column 'a' in 'having clause'
|
||||||
drop table forumconthardwarefr7, searchconthardwarefr7;
|
drop table forumconthardwarefr7, searchconthardwarefr7;
|
||||||
|
drop table if exists forumconthardwarefr7;
|
||||||
|
CREATE TABLE `forumconthardwarefr7` (
|
||||||
|
`numeropost` mediumint(8) unsigned NOT NULL auto_increment,
|
||||||
|
`maxnumrep` int(10) unsigned NOT NULL default '0',
|
||||||
|
PRIMARY KEY (`numeropost`),
|
||||||
|
UNIQUE KEY `maxnumrep` (`maxnumrep`)
|
||||||
|
) TYPE=MyISAM ROW_FORMAT=FIXED;
|
||||||
|
INSERT INTO forumconthardwarefr7 (numeropost,maxnumrep) VALUES (1,0),(2,1);
|
||||||
|
select numeropost as a FROM forumconthardwarefr7 GROUP BY (SELECT 1 FROM forumconthardwarefr7 HAVING a=1);
|
||||||
|
Subselect returns more than 1 record
|
||||||
|
drop table if exists forumconthardwarefr7;
|
||||||
|
@ -135,9 +135,21 @@ CREATE TABLE `searchconthardwarefr7` (
|
|||||||
) TYPE=MyISAM ROW_FORMAT=DYNAMIC;
|
) TYPE=MyISAM ROW_FORMAT=DYNAMIC;
|
||||||
|
|
||||||
INSERT INTO searchconthardwarefr7 (mot,topic,date,pseudo) VALUES ('joce','40143','2002-10-22','joce'), ('joce','43506','2002-10-22','joce');
|
INSERT INTO searchconthardwarefr7 (mot,topic,date,pseudo) VALUES ('joce','40143','2002-10-22','joce'), ('joce','43506','2002-10-22','joce');
|
||||||
|
select numeropost as a FROM forumconthardwarefr7 GROUP BY (SELECT 1 FROM forumconthardwarefr7 HAVING a=1);
|
||||||
SELECT numeropost,maxnumrep FROM forumconthardwarefr7 WHERE exists (SELECT 1 FROM searchconthardwarefr7 WHERE (mot='joce') AND date >= '2002-10-21' AND forumconthardwarefr7.numeropost = searchconthardwarefr7.topic) ORDER BY maxnumrep DESC LIMIT 0, 20;
|
SELECT numeropost,maxnumrep FROM forumconthardwarefr7 WHERE exists (SELECT 1 FROM searchconthardwarefr7 WHERE (mot='joce') AND date >= '2002-10-21' AND forumconthardwarefr7.numeropost = searchconthardwarefr7.topic) ORDER BY maxnumrep DESC LIMIT 0, 20;
|
||||||
-- error 1054
|
-- error 1054
|
||||||
SELECT (SELECT 1) as a FROM (SELECT 1 FROM forumconthardwarefr7 HAVING a=1);
|
SELECT (SELECT 1) as a FROM (SELECT 1 FROM forumconthardwarefr7 HAVING a=1);
|
||||||
|
|
||||||
drop table forumconthardwarefr7, searchconthardwarefr7;
|
drop table forumconthardwarefr7, searchconthardwarefr7;
|
||||||
|
|
||||||
|
drop table if exists forumconthardwarefr7;
|
||||||
|
CREATE TABLE `forumconthardwarefr7` (
|
||||||
|
`numeropost` mediumint(8) unsigned NOT NULL auto_increment,
|
||||||
|
`maxnumrep` int(10) unsigned NOT NULL default '0',
|
||||||
|
PRIMARY KEY (`numeropost`),
|
||||||
|
UNIQUE KEY `maxnumrep` (`maxnumrep`)
|
||||||
|
) TYPE=MyISAM ROW_FORMAT=FIXED;
|
||||||
|
|
||||||
|
INSERT INTO forumconthardwarefr7 (numeropost,maxnumrep) VALUES (1,0),(2,1);
|
||||||
|
-- error 1240
|
||||||
|
select numeropost as a FROM forumconthardwarefr7 GROUP BY (SELECT 1 FROM forumconthardwarefr7 HAVING a=1);
|
||||||
|
drop table if exists forumconthardwarefr7;
|
@ -33,7 +33,7 @@ SUBSELECT TODO:
|
|||||||
#include "sql_select.h"
|
#include "sql_select.h"
|
||||||
|
|
||||||
Item_subselect::Item_subselect():
|
Item_subselect::Item_subselect():
|
||||||
Item(), engine_owner(1), value_assigned(0)
|
Item_result_field(), engine_owner(1), value_assigned(0)
|
||||||
{
|
{
|
||||||
assign_null();
|
assign_null();
|
||||||
/*
|
/*
|
||||||
|
@ -28,7 +28,7 @@ class subselect_engine;
|
|||||||
|
|
||||||
/* base class for subselects */
|
/* base class for subselects */
|
||||||
|
|
||||||
class Item_subselect :public Item
|
class Item_subselect :public Item_result_field
|
||||||
{
|
{
|
||||||
my_bool engine_owner; /* Is this item owner of engine */
|
my_bool engine_owner; /* Is this item owner of engine */
|
||||||
my_bool value_assigned; /* value already assigned to subselect */
|
my_bool value_assigned; /* value already assigned to subselect */
|
||||||
@ -116,6 +116,7 @@ public:
|
|||||||
Item *new_item() { return new Item_singleval_subselect(this); }
|
Item *new_item() { return new Item_singleval_subselect(this); }
|
||||||
enum Item_result result_type() const { return res_type; }
|
enum Item_result result_type() const { return res_type; }
|
||||||
void fix_length_and_dec();
|
void fix_length_and_dec();
|
||||||
|
|
||||||
friend class select_singleval_subselect;
|
friend class select_singleval_subselect;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -4528,7 +4528,7 @@ do_select(JOIN *join,List<Item> *fields,TABLE *table,Procedure *procedure)
|
|||||||
if (error == -1)
|
if (error == -1)
|
||||||
table->file->print_error(my_errno,MYF(0));
|
table->file->print_error(my_errno,MYF(0));
|
||||||
}
|
}
|
||||||
DBUG_RETURN(error);
|
DBUG_RETURN(error || join->thd->net.report_error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user