mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Added fix for using variables with distinct
Docs/manual.texi: Updated links client/mysqltest.c: Added 'ping' method configure.in: Upgraded version number mysql-test/r/user_var.result: Added test for using variables with distinct mysql-test/t/kill.test: Use 'ping' to force reconnect mysql-test/t/user_var.test: Added test for using variables with distinct sql-bench/run-all-tests.sh: Fixed argument passing
This commit is contained in:
@ -1,2 +1,8 @@
|
||||
@a - connection_id()
|
||||
3
|
||||
i
|
||||
1
|
||||
2
|
||||
i @vv1:=if(sv1.i,1,0) @vv2:=if(sv2.i,1,0) @vv3:=if(sv3.i,1,0) @vv1+@vv2+@vv3
|
||||
1 1 0 1 2
|
||||
2 1 0 0 1
|
||||
|
@ -3,21 +3,24 @@ connect (con2, localhost, root,,test,0, mysql-master.sock);
|
||||
|
||||
#remember id of con1
|
||||
connection con1;
|
||||
drop table if exists connection_kill;
|
||||
create table connection_kill (kill_id int);
|
||||
insert into connection_kill values(connection_id());
|
||||
drop table if exists t1;
|
||||
create table t1 (kill_id int);
|
||||
insert into t1 values(connection_id());
|
||||
|
||||
#kill con1
|
||||
connection con2;
|
||||
select ((@id := kill_id) - kill_id) from connection_kill;
|
||||
select ((@id := kill_id) - kill_id) from t1;
|
||||
kill @id;
|
||||
|
||||
# verify that con1 is really dead
|
||||
# Wait for thread to do.
|
||||
--sleep 5
|
||||
# verify that con1 is doning a reconnect
|
||||
connection con1;
|
||||
error 2013;
|
||||
select 1;
|
||||
ping
|
||||
ping
|
||||
select @id != connection_id();
|
||||
|
||||
#make sure the server is still alive
|
||||
connection con2;
|
||||
select 4;
|
||||
drop table connection_kill;
|
||||
drop table t1;
|
||||
|
@ -3,3 +3,13 @@ set @a := foo;
|
||||
set @a := connection_id() + 3;
|
||||
select @a - connection_id();
|
||||
|
||||
# Check using and setting variables with SELECT DISTINCT
|
||||
|
||||
drop table if exists t1,t2;
|
||||
CREATE TABLE t1 ( i int not null, v int not null,index (i));
|
||||
insert into t1 values (1,1),(1,3),(2,1);
|
||||
create table t2 (i int not null, unique (i));
|
||||
insert into t2 select distinct i from t1;
|
||||
select * from t2;
|
||||
select distinct t2.i,@vv1:=if(sv1.i,1,0),@vv2:=if(sv2.i,1,0),@vv3:=if(sv3.i,1,0), @vv1+@vv2+@vv3 from t2 left join t1 as sv1 on sv1.i=t2.i and sv1.v=1 left join t1 as sv2 on sv2.i=t2.i and sv2.v=2 left join t1 as sv3 on sv3.i=t2.i and sv3.v=3;
|
||||
drop table t1,t2;
|
||||
|
Reference in New Issue
Block a user