mirror of
https://github.com/MariaDB/server.git
synced 2025-11-12 10:22:39 +03:00
Merge moonbone.local:/home/evgen/bk-trees/mysql-5.1-opt
into moonbone.local:/work/tmp_merge-5.1-mysql
This commit is contained in:
@@ -42,3 +42,10 @@ CHAR(31) = '' '' = CHAR(31)
|
||||
SELECT CHAR(30) = '', '' = CHAR(30);
|
||||
CHAR(30) = '' '' = CHAR(30)
|
||||
0 0
|
||||
create table t1 (a tinyint(1),b binary(1));
|
||||
insert into t1 values (0x01,0x01);
|
||||
select * from t1 where a=b;
|
||||
a b
|
||||
select * from t1 where a=b and b=0x01;
|
||||
a b
|
||||
drop table if exists t1;
|
||||
|
||||
@@ -821,3 +821,12 @@ a b real_b
|
||||
68 France France
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1,t2;
|
||||
CREATE TABLE t1 (a INT, b INT, KEY(a));
|
||||
INSERT INTO t1 VALUES (1, 1), (2, 2), (3,3), (4,4);
|
||||
EXPLAIN SELECT a, SUM(b) FROM t1 GROUP BY a LIMIT 2;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index NULL a 5 NULL 4
|
||||
EXPLAIN SELECT a, SUM(b) FROM t1 IGNORE INDEX (a) GROUP BY a LIMIT 2;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using temporary; Using filesort
|
||||
DROP TABLE t1;
|
||||
|
||||
@@ -282,3 +282,43 @@ kp1='279' AND kp2='ELM0678' AND kp3='6' AND kp4='10' AND kp5 = 'R ';
|
||||
COUNT(*)
|
||||
1
|
||||
drop table t1;
|
||||
create table t1
|
||||
(
|
||||
key1 int not null,
|
||||
key2 int not null default 0,
|
||||
key3 int not null default 0
|
||||
);
|
||||
insert into t1(key1) values (1),(2),(3),(4),(5),(6),(7),(8);
|
||||
set @d=8;
|
||||
insert into t1 (key1) select key1+@d from t1;
|
||||
set @d=@d*2;
|
||||
insert into t1 (key1) select key1+@d from t1;
|
||||
set @d=@d*2;
|
||||
insert into t1 (key1) select key1+@d from t1;
|
||||
set @d=@d*2;
|
||||
insert into t1 (key1) select key1+@d from t1;
|
||||
set @d=@d*2;
|
||||
insert into t1 (key1) select key1+@d from t1;
|
||||
set @d=@d*2;
|
||||
insert into t1 (key1) select key1+@d from t1;
|
||||
set @d=@d*2;
|
||||
insert into t1 (key1) select key1+@d from t1;
|
||||
set @d=@d*2;
|
||||
alter table t1 add index i2(key2);
|
||||
alter table t1 add index i3(key3);
|
||||
update t1 set key2=key1,key3=key1;
|
||||
explain select * from t1 where (key3 > 30 and key3<35) or (key2 >32 and key2 < 40);
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index_merge i2,i3 i3,i2 4,4 NULL 11 Using sort_union(i3,i2); Using where
|
||||
select * from t1 where (key3 > 30 and key3<35) or (key2 >32 and key2 < 40);
|
||||
key1 key2 key3
|
||||
31 31 31
|
||||
32 32 32
|
||||
33 33 33
|
||||
34 34 34
|
||||
35 35 35
|
||||
36 36 36
|
||||
37 37 37
|
||||
38 38 38
|
||||
39 39 39
|
||||
drop table t1;
|
||||
|
||||
@@ -89,6 +89,27 @@ b a
|
||||
3 3
|
||||
3 3
|
||||
DROP TABLE t1, t2, t3;
|
||||
CREATE TABLE `t1` (`id1` INT) ;
|
||||
INSERT INTO `t1` (`id1`) VALUES (1),(5),(2);
|
||||
CREATE TABLE `t2` (
|
||||
`id1` INT,
|
||||
`id2` INT NOT NULL,
|
||||
`id3` INT,
|
||||
`id4` INT NOT NULL,
|
||||
UNIQUE (`id2`,`id4`),
|
||||
KEY (`id1`)
|
||||
) ENGINE=InnoDB;
|
||||
INSERT INTO `t2`(`id1`,`id2`,`id3`,`id4`) VALUES
|
||||
(1,1,1,0),
|
||||
(1,1,2,1),
|
||||
(5,1,2,2),
|
||||
(6,1,2,3),
|
||||
(1,2,2,2),
|
||||
(1,2,1,1);
|
||||
SELECT `id1` FROM `t1` WHERE `id1` NOT IN (SELECT `id1` FROM `t2` WHERE `id2` = 1 AND `id3` = 2);
|
||||
id1
|
||||
2
|
||||
DROP TABLE t1, t2;
|
||||
create table t1m (a int) engine=myisam;
|
||||
create table t1i (a int) engine=innodb;
|
||||
create table t2m (a int) engine=myisam;
|
||||
@@ -303,6 +324,25 @@ explain select distinct f1, f2 from t1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range NULL PRIMARY 5 NULL 3 Using index for group-by; Using temporary
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (id int(11) NOT NULL PRIMARY KEY, name varchar(20),
|
||||
INDEX (name)) ENGINE=InnoDB;
|
||||
CREATE TABLE t2 (id int(11) NOT NULL PRIMARY KEY, fkey int(11),
|
||||
FOREIGN KEY (fkey) REFERENCES t2(id)) ENGINE=InnoDB;
|
||||
INSERT INTO t1 VALUES (1,'A1'),(2,'A2'),(3,'B');
|
||||
INSERT INTO t2 VALUES (1,1),(2,2),(3,2),(4,3),(5,3);
|
||||
EXPLAIN
|
||||
SELECT COUNT(*) FROM t2 LEFT JOIN t1 ON t2.fkey = t1.id
|
||||
WHERE t1.name LIKE 'A%';
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index PRIMARY,name name 23 NULL 3 Using where; Using index
|
||||
1 SIMPLE t2 ref fkey fkey 5 test.t1.id 1 Using where; Using index
|
||||
EXPLAIN
|
||||
SELECT COUNT(*) FROM t2 LEFT JOIN t1 ON t2.fkey = t1.id
|
||||
WHERE t1.name LIKE 'A%' OR FALSE;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 index NULL fkey 5 NULL 5 Using index
|
||||
1 SIMPLE t1 eq_ref PRIMARY PRIMARY 4 test.t2.fkey 1 Using where
|
||||
DROP TABLE t1,t2;
|
||||
set storage_engine=innodb;
|
||||
CREATE TABLE t1 (a int, b int);
|
||||
insert into t1 values (1,1),(1,2);
|
||||
|
||||
@@ -737,7 +737,7 @@ explain select s.*, '*', m.*, (s.match_1_h - m.home) UUX from
|
||||
(t2 s left join t1 m on m.match_id = 1)
|
||||
order by m.match_id desc;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE s ALL NULL NULL NULL NULL 10
|
||||
1 SIMPLE s ALL NULL NULL NULL NULL 10 Using temporary; Using filesort
|
||||
1 SIMPLE m const match_id,match_id_2 match_id 1 const 1
|
||||
explain select s.*, '*', m.*, (s.match_1_h - m.home) UUX from
|
||||
(t2 s left join t1 m on m.match_id = 1)
|
||||
|
||||
@@ -1307,7 +1307,7 @@ select auto from t1 where
|
||||
('1901-01-01 01:01:01' between date_time and date_time)
|
||||
order by auto;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort
|
||||
1 SIMPLE t1 range medium_index medium_index 3 NULL 1 Using where with pushed condition; Using filesort
|
||||
select auto from t1 where
|
||||
("aaaa" between string and string) and
|
||||
("aaaa" between vstring and vstring) and
|
||||
@@ -1409,7 +1409,7 @@ select auto from t1 where
|
||||
('1901-01-01 01:01:01' not between date_time and date_time)
|
||||
order by auto;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where with pushed condition; Using filesort
|
||||
1 SIMPLE t1 range medium_index medium_index 3 NULL 3 Using where with pushed condition; Using filesort
|
||||
select auto from t1 where
|
||||
("aaaa" not between string and string) and
|
||||
("aaaa" not between vstring and vstring) and
|
||||
@@ -1565,7 +1565,7 @@ time_field not in('01:01:01','03:03:03') and
|
||||
date_time not in('1901-01-01 01:01:01','1903-03-03 03:03:03')
|
||||
order by auto;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range medium_index medium_index 3 NULL 2 Using where with pushed condition; Using filesort
|
||||
1 SIMPLE t1 range medium_index medium_index 3 NULL 6 Using where with pushed condition; Using filesort
|
||||
select auto from t1 where
|
||||
string not in("aaaa","cccc") and
|
||||
vstring not in("aaaa","cccc") and
|
||||
|
||||
@@ -3,9 +3,12 @@ create table t1(f1 int);
|
||||
insert into t1 values (5);
|
||||
grant select on test.* to ssl_user1@localhost require SSL;
|
||||
grant select on test.* to ssl_user2@localhost require cipher "DHE-RSA-AES256-SHA";
|
||||
grant select on test.* to ssl_user3@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/L=Uppsala/O=MySQL AB/CN=MySQL Client/emailAddress=abstract.mysql.developer@mysql.com";
|
||||
grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/L=Uppsala/O=MySQL AB/CN=MySQL Client/emailAddress=abstract.mysql.developer@mysql.com" ISSUER "/C=SE/L=Uppsala/O=MySQL AB/CN=Abstract MySQL Developer/emailAddress=abstract.mysql.developer@mysql.com";
|
||||
grant select on test.* to ssl_user3@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB";
|
||||
grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB";
|
||||
grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx";
|
||||
flush privileges;
|
||||
connect(localhost,ssl_user5,,test,MASTER_PORT,MASTER_SOCKET);
|
||||
ERROR 28000: Access denied for user 'ssl_user5'@'localhost' (using password: NO)
|
||||
SHOW STATUS LIKE 'Ssl_cipher';
|
||||
Variable_name Value
|
||||
Ssl_cipher DHE-RSA-AES256-SHA
|
||||
@@ -39,7 +42,7 @@ f1
|
||||
delete from t1;
|
||||
ERROR 42000: DELETE command denied to user 'ssl_user4'@'localhost' for table 't1'
|
||||
drop user ssl_user1@localhost, ssl_user2@localhost,
|
||||
ssl_user3@localhost, ssl_user4@localhost;
|
||||
ssl_user3@localhost, ssl_user4@localhost, ssl_user5@localhost;
|
||||
drop table t1;
|
||||
mysqltest: Could not open connection 'default': 2026 SSL connection error
|
||||
mysqltest: Could not open connection 'default': 2026 SSL connection error
|
||||
|
||||
@@ -854,3 +854,40 @@ b a
|
||||
20 1
|
||||
10 2
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a int, b int, PRIMARY KEY (a));
|
||||
INSERT INTO t1 VALUES (1,1), (2,2), (3,3);
|
||||
explain SELECT t1.b as a, t2.b as c FROM
|
||||
t1 LEFT JOIN t1 t2 ON (t1.a = t2.a AND t2.a = 2)
|
||||
ORDER BY c;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 3 Using temporary; Using filesort
|
||||
1 SIMPLE t2 const PRIMARY PRIMARY 4 const 1
|
||||
SELECT t2.b as c FROM
|
||||
t1 LEFT JOIN t1 t2 ON (t1.a = t2.a AND t2.a = 2)
|
||||
ORDER BY c;
|
||||
c
|
||||
NULL
|
||||
NULL
|
||||
2
|
||||
explain SELECT t1.b as a, t2.b as c FROM
|
||||
t1 JOIN t1 t2 ON (t1.a = t2.a AND t2.a = 2)
|
||||
ORDER BY c;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 const PRIMARY PRIMARY 4 const 1
|
||||
1 SIMPLE t2 const PRIMARY PRIMARY 4 const 1
|
||||
CREATE TABLE t2 LIKE t1;
|
||||
INSERT INTO t2 SELECT * from t1;
|
||||
CREATE TABLE t3 LIKE t1;
|
||||
INSERT INTO t3 SELECT * from t1;
|
||||
CREATE TABLE t4 LIKE t1;
|
||||
INSERT INTO t4 SELECT * from t1;
|
||||
INSERT INTO t1 values (0,0),(4,4);
|
||||
SELECT t2.b FROM t1 LEFT JOIN (t2, t3 LEFT JOIN t4 ON t3.a=t4.a)
|
||||
ON (t1.a=t2.a AND t1.b=t3.b) order by t2.b;
|
||||
b
|
||||
NULL
|
||||
NULL
|
||||
1
|
||||
2
|
||||
3
|
||||
DROP TABLE t1,t2,t3,t4;
|
||||
|
||||
@@ -838,3 +838,61 @@ select a, hex(filler) from t1 where a not between 'b' and 'b';
|
||||
a hex(filler)
|
||||
a 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
|
||||
drop table t1,t2,t3;
|
||||
create table t1 (a int);
|
||||
insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||
create table t2 (a int, key(a));
|
||||
insert into t2 select 2*(A.a + 10*(B.a + 10*C.a)) from t1 A, t1 B, t1 C;
|
||||
set @a="select * from t2 force index (a) where a NOT IN(0";
|
||||
select count(*) from (select @a:=concat(@a, ',', a) from t2 ) Z;
|
||||
count(*)
|
||||
1000
|
||||
set @a=concat(@a, ')');
|
||||
insert into t2 values (11),(13),(15);
|
||||
set @b= concat("explain ", @a);
|
||||
prepare stmt1 from @b;
|
||||
execute stmt1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 index a a 5 NULL 1003 Using where; Using index
|
||||
prepare stmt1 from @a;
|
||||
execute stmt1;
|
||||
a
|
||||
11
|
||||
13
|
||||
15
|
||||
drop table t1, t2;
|
||||
CREATE TABLE t1 (
|
||||
id int NOT NULL DEFAULT '0',
|
||||
b int NOT NULL DEFAULT '0',
|
||||
c int NOT NULL DEFAULT '0',
|
||||
INDEX idx1(b,c), INDEX idx2(c));
|
||||
INSERT INTO t1(id) VALUES (1), (2), (3), (4), (5), (6), (7), (8);
|
||||
INSERT INTO t1(b,c) VALUES (3,4), (3,4);
|
||||
SELECT * FROM t1 WHERE b<=3 AND 3<=c;
|
||||
id b c
|
||||
0 3 4
|
||||
0 3 4
|
||||
SELECT * FROM t1 WHERE 3 BETWEEN b AND c;
|
||||
id b c
|
||||
0 3 4
|
||||
0 3 4
|
||||
EXPLAIN SELECT * FROM t1 WHERE b<=3 AND 3<=c;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range idx1,idx2 idx2 4 NULL 3 Using where
|
||||
EXPLAIN SELECT * FROM t1 WHERE 3 BETWEEN b AND c;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range idx1,idx2 idx2 4 NULL 3 Using where
|
||||
SELECT * FROM t1 WHERE 0 < b OR 0 > c;
|
||||
id b c
|
||||
0 3 4
|
||||
0 3 4
|
||||
SELECT * FROM t1 WHERE 0 NOT BETWEEN b AND c;
|
||||
id b c
|
||||
0 3 4
|
||||
0 3 4
|
||||
EXPLAIN SELECT * FROM t1 WHERE 0 < b OR 0 > c;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index_merge idx1,idx2 idx1,idx2 4,4 NULL 4 Using sort_union(idx1,idx2); Using where
|
||||
EXPLAIN SELECT * FROM t1 WHERE 0 NOT BETWEEN b AND c;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index_merge idx1,idx2 idx1,idx2 4,4 NULL 4 Using sort_union(idx1,idx2); Using where
|
||||
DROP TABLE t1;
|
||||
|
||||
@@ -2328,9 +2328,9 @@ explain select * from t1 left join t2 on id1 = id2 left join t3 on id1 = id3
|
||||
left join t4 on id3 = id4 where id2 = 1 or id4 = 1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t3 system NULL NULL NULL NULL 0 const row not found
|
||||
1 SIMPLE t4 const id4 NULL NULL NULL 1
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 2
|
||||
1 SIMPLE t2 ALL NULL NULL NULL NULL 1
|
||||
1 SIMPLE t4 ALL id4 NULL NULL NULL 1 Using where
|
||||
1 SIMPLE t2 ALL NULL NULL NULL NULL 1 Using where
|
||||
select * from t1 left join t2 on id1 = id2 left join t3 on id1 = id3
|
||||
left join t4 on id3 = id4 where id2 = 1 or id4 = 1;
|
||||
id1 id2 id3 id4 id44
|
||||
@@ -3479,3 +3479,41 @@ Warning 1546 Leading spaces are removed from name ' a '
|
||||
execute stmt;
|
||||
a
|
||||
1
|
||||
CREATE TABLE t1 (a int NOT NULL PRIMARY KEY, b int NOT NULL);
|
||||
INSERT INTO t1 VALUES (1,1), (2,2), (3,3), (4,4);
|
||||
CREATE TABLE t2 (c int NOT NULL, INDEX idx(c));
|
||||
INSERT INTO t2 VALUES
|
||||
(1), (1), (1), (1), (1), (1), (1), (1),
|
||||
(2), (2), (2), (2),
|
||||
(3), (3),
|
||||
(4);
|
||||
EXPLAIN SELECT b FROM t1, t2 WHERE b=c AND a=1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 const PRIMARY PRIMARY 4 const 1
|
||||
1 SIMPLE t2 ref idx idx 4 const 7 Using index
|
||||
EXPLAIN SELECT b FROM t1, t2 WHERE b=c AND a=4;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 const PRIMARY PRIMARY 4 const 1
|
||||
1 SIMPLE t2 ref idx idx 4 const 1 Using index
|
||||
DROP TABLE t1, t2;
|
||||
CREATE TABLE t1 (id int NOT NULL PRIMARY KEY, a int);
|
||||
INSERT INTO t1 VALUES (1,2), (2,NULL), (3,2);
|
||||
CREATE TABLE t2 (b int, c INT, INDEX idx1(b));
|
||||
INSERT INTO t2 VALUES (2,1), (3,2);
|
||||
CREATE TABLE t3 (d int, e int, INDEX idx1(d));
|
||||
INSERT INTO t3 VALUES (2,10), (2,20), (1,30), (2,40), (2,50);
|
||||
EXPLAIN
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t2.b=t1.a INNER JOIN t3 ON t3.d=t1.id
|
||||
WHERE t1.id=2;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 const PRIMARY PRIMARY 4 const 1
|
||||
1 SIMPLE t2 const idx1 NULL NULL NULL 1
|
||||
1 SIMPLE t3 ref idx1 idx1 5 const 3 Using where
|
||||
SELECT * FROM t1 LEFT JOIN t2 ON t2.b=t1.a INNER JOIN t3 ON t3.d=t1.id
|
||||
WHERE t1.id=2;
|
||||
id a b c d e
|
||||
2 NULL NULL NULL 2 10
|
||||
2 NULL NULL NULL 2 20
|
||||
2 NULL NULL NULL 2 40
|
||||
2 NULL NULL NULL 2 50
|
||||
DROP TABLE t1,t2,t3;
|
||||
|
||||
@@ -2915,6 +2915,28 @@ select * from t1 where NOT(s1 = ALL (select s1/s1 from t1));
|
||||
s1
|
||||
2
|
||||
drop table t1;
|
||||
create table t1 (
|
||||
retailerID varchar(8) NOT NULL,
|
||||
statusID int(10) unsigned NOT NULL,
|
||||
changed datetime NOT NULL,
|
||||
UNIQUE KEY retailerID (retailerID, statusID, changed)
|
||||
);
|
||||
INSERT INTO t1 VALUES("0026", "1", "2005-12-06 12:18:56");
|
||||
INSERT INTO t1 VALUES("0026", "2", "2006-01-06 12:25:53");
|
||||
INSERT INTO t1 VALUES("0037", "1", "2005-12-06 12:18:56");
|
||||
INSERT INTO t1 VALUES("0037", "2", "2006-01-06 12:25:53");
|
||||
INSERT INTO t1 VALUES("0048", "1", "2006-01-06 12:37:50");
|
||||
INSERT INTO t1 VALUES("0059", "1", "2006-01-06 12:37:50");
|
||||
select * from t1 r1
|
||||
where (r1.retailerID,(r1.changed)) in
|
||||
(SELECT r2.retailerId,(max(changed)) from t1 r2
|
||||
group by r2.retailerId);
|
||||
retailerID statusID changed
|
||||
0026 2 2006-01-06 12:25:53
|
||||
0037 2 2006-01-06 12:25:53
|
||||
0048 1 2006-01-06 12:37:50
|
||||
0059 1 2006-01-06 12:37:50
|
||||
drop table t1;
|
||||
create table t1 (df decimal(5,1));
|
||||
insert into t1 values(1.1);
|
||||
insert into t1 values(2.2);
|
||||
|
||||
@@ -168,3 +168,14 @@ dt
|
||||
0000-00-00 00:00:00
|
||||
0000-00-00 00:00:00
|
||||
drop table t1;
|
||||
CREATE TABLE t1(a DATETIME NOT NULL);
|
||||
INSERT INTO t1 VALUES ('20060606155555');
|
||||
SELECT a FROM t1 WHERE a=(SELECT MAX(a) FROM t1) AND (a="20060606155555");
|
||||
a
|
||||
2006-06-06 15:55:55
|
||||
PREPARE s FROM 'SELECT a FROM t1 WHERE a=(SELECT MAX(a) FROM t1) AND (a="20060606155555")';
|
||||
EXECUTE s;
|
||||
a
|
||||
2006-06-06 15:55:55
|
||||
DROP PREPARE s;
|
||||
DROP TABLE t1;
|
||||
|
||||
@@ -292,3 +292,12 @@ SELECT @a;
|
||||
@a
|
||||
18446744071710965857
|
||||
drop table bigfailure;
|
||||
create table t1(f1 int, f2 int);
|
||||
insert into t1 values (1,2),(2,3),(3,1);
|
||||
select @var:=f2 from t1 group by f1 order by f2 desc limit 1;
|
||||
@var:=f2
|
||||
3
|
||||
select @var;
|
||||
@var
|
||||
3
|
||||
drop table t1;
|
||||
|
||||
@@ -2887,3 +2887,32 @@ DROP FUNCTION f2;
|
||||
DROP VIEW v1, v2;
|
||||
DROP TABLE t1;
|
||||
End of 5.0 tests.
|
||||
CREATE DATABASE bug21261DB;
|
||||
USE bug21261DB;
|
||||
CREATE TABLE t1 (x INT);
|
||||
CREATE SQL SECURITY INVOKER VIEW v1 AS SELECT x FROM t1;
|
||||
GRANT INSERT, UPDATE ON v1 TO 'user21261'@'localhost';
|
||||
GRANT INSERT, UPDATE ON t1 TO 'user21261'@'localhost';
|
||||
CREATE TABLE t2 (y INT);
|
||||
GRANT SELECT ON t2 TO 'user21261'@'localhost';
|
||||
INSERT INTO v1 (x) VALUES (5);
|
||||
UPDATE v1 SET x=1;
|
||||
GRANT SELECT ON v1 TO 'user21261'@'localhost';
|
||||
GRANT SELECT ON t1 TO 'user21261'@'localhost';
|
||||
UPDATE v1,t2 SET x=1 WHERE x=y;
|
||||
SELECT * FROM t1;
|
||||
x
|
||||
1
|
||||
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user21261'@'localhost';
|
||||
DROP USER 'user21261'@'localhost';
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1;
|
||||
DROP DATABASE bug21261DB;
|
||||
USE test;
|
||||
create table t1 (f1 datetime);
|
||||
create view v1 as select * from t1 where f1 between now() and now() + interval 1 minute;
|
||||
show create view v1;
|
||||
View Create View
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t1`.`f1` AS `f1` from `t1` where (`t1`.`f1` between now() and (now() + interval 1 minute))
|
||||
drop view v1;
|
||||
drop table t1;
|
||||
|
||||
Reference in New Issue
Block a user