mirror of
https://github.com/MariaDB/server.git
synced 2025-01-31 11:01:52 +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))
|
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);
|
||||||
|
|
Loading…
Add table
Reference in a new issue