mirror of
https://github.com/MariaDB/server.git
synced 2025-01-18 21:12:26 +01: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
This commit is contained in:
commit
1324a97f63
4 changed files with 24 additions and 3 deletions
|
@ -618,3 +618,12 @@ select coercibility(max(a)) from t1;
|
|||
coercibility(max(a))
|
||||
3
|
||||
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);
|
||||
select * from t1 where exists (select s1 from t2 having max(t2.s1)=t1.s1);
|
||||
s1
|
||||
1
|
||||
drop table t1,t2;
|
||||
create table t1 (s1 int);
|
||||
create table t2 (s1 int);
|
||||
|
|
|
@ -360,3 +360,12 @@ create table t1 (a char(10));
|
|||
insert into t1 values ('a'),('b'),('c');
|
||||
select coercibility(max(a)) from 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;
|
||||
if (join->tables == join->const_tables)
|
||||
{
|
||||
if (!join->select_lex->dependent ||
|
||||
((!join->conds || join->conds->val_int()) &&
|
||||
(!join->having || join->having->val_int())))
|
||||
/*
|
||||
HAVING will be chcked after processing aggregate functions,
|
||||
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)
|
||||
error=(*end_select)(join,join_tab,1);
|
||||
|
|
Loading…
Reference in a new issue