mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge laptop.sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into laptop.sanja.is.com.ua:/home/bell/mysql/bk/work-allany_aggregate-4.1 mysql-test/r/subselect.result: Auto merged sql/sql_select.cc: Auto merged
This commit is contained in:
@ -618,3 +618,12 @@ select coercibility(max(a)) from t1;
|
|||||||
coercibility(max(a))
|
coercibility(max(a))
|
||||||
3
|
3
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
create table t1 (a int);
|
||||||
|
insert into t1 values (1);
|
||||||
|
select max(a) as b from t1 having b=1;
|
||||||
|
b
|
||||||
|
1
|
||||||
|
select a from t1 having a=1;
|
||||||
|
a
|
||||||
|
1
|
||||||
|
drop table t1;
|
||||||
|
@ -1342,6 +1342,7 @@ insert into t1 values (1);
|
|||||||
insert into t2 values (1);
|
insert into t2 values (1);
|
||||||
select * from t1 where exists (select s1 from t2 having max(t2.s1)=t1.s1);
|
select * from t1 where exists (select s1 from t2 having max(t2.s1)=t1.s1);
|
||||||
s1
|
s1
|
||||||
|
1
|
||||||
drop table t1,t2;
|
drop table t1,t2;
|
||||||
create table t1 (s1 int);
|
create table t1 (s1 int);
|
||||||
create table t2 (s1 int);
|
create table t2 (s1 int);
|
||||||
|
@ -360,3 +360,12 @@ create table t1 (a char(10));
|
|||||||
insert into t1 values ('a'),('b'),('c');
|
insert into t1 values ('a'),('b'),('c');
|
||||||
select coercibility(max(a)) from t1;
|
select coercibility(max(a)) from t1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# aggregate functions on static tables
|
||||||
|
#
|
||||||
|
create table t1 (a int);
|
||||||
|
insert into t1 values (1);
|
||||||
|
select max(a) as b from t1 having b=1;
|
||||||
|
select a from t1 having a=1;
|
||||||
|
drop table t1;
|
||||||
|
@ -5295,9 +5295,11 @@ do_select(JOIN *join,List<Item> *fields,TABLE *table,Procedure *procedure)
|
|||||||
join->send_records=0;
|
join->send_records=0;
|
||||||
if (join->tables == join->const_tables)
|
if (join->tables == join->const_tables)
|
||||||
{
|
{
|
||||||
if (!join->select_lex->dependent ||
|
/*
|
||||||
((!join->conds || join->conds->val_int()) &&
|
HAVING will be chcked after processing aggregate functions,
|
||||||
(!join->having || join->having->val_int())))
|
But WHERE should checkd here (we alredy have read tables)
|
||||||
|
*/
|
||||||
|
if(!join->conds || join->conds->val_int())
|
||||||
{
|
{
|
||||||
if (!(error=(*end_select)(join,join_tab,0)) || error == -3)
|
if (!(error=(*end_select)(join,join_tab,0)) || error == -3)
|
||||||
error=(*end_select)(join,join_tab,1);
|
error=(*end_select)(join,join_tab,1);
|
||||||
|
Reference in New Issue
Block a user