Loading mysql-test/r/innodb_mysql.result +6 −0 Original line number Diff line number Diff line Loading @@ -1261,4 +1261,10 @@ a b c 5 1 1 4 1 1 DROP TABLE t1; DROP TABLE IF EXISTS t1; CREATE TABLE t1 (a char(50)) ENGINE=InnoDB; CREATE INDEX i1 on t1 (a(3)); SELECT * FROM t1 WHERE a = 'abcde'; a DROP TABLE t1; End of 5.0 tests mysql-test/r/subselect.result +30 −0 Original line number Diff line number Diff line Loading @@ -4422,4 +4422,34 @@ id 2 3 DROP TABLE t1, t2; CREATE TABLE t1 (id int); CREATE TABLE t2 (id int, c int); INSERT INTO t1 (id) VALUES (1); INSERT INTO t2 (id) VALUES (1); INSERT INTO t1 (id) VALUES (1); INSERT INTO t2 (id) VALUES (1); CREATE VIEW v1 AS SELECT t2.c AS c FROM t1, t2 WHERE t1.id=t2.id AND 1 IN (SELECT id FROM t1) WITH CHECK OPTION; UPDATE v1 SET c=1; CREATE VIEW v2 (a,b) AS SELECT t2.id, t2.c AS c FROM t1, t2 WHERE t1.id=t2.id AND 1 IN (SELECT id FROM t1) WITH CHECK OPTION; INSERT INTO v2(a,b) VALUES (2,2); ERROR HY000: CHECK OPTION failed 'test.v2' INSERT INTO v2(a,b) VALUES (1,2); SELECT * FROM v1; c 1 1 1 1 2 2 CREATE VIEW v3 AS SELECT t2.c AS c FROM t2 WHERE 1 IN (SELECT id FROM t1) WITH CHECK OPTION; DELETE FROM v3; DROP VIEW v1,v2,v3; DROP TABLE t1,t2; End of 5.0 tests. mysql-test/t/innodb_mysql.test +11 −0 Original line number Diff line number Diff line Loading @@ -1014,4 +1014,15 @@ SELECT a, b, c FROM t1 WHERE b = 1 ORDER BY a DESC LIMIT 5; DROP TABLE t1; # # Bug#37284 Crash in Field_string::type() # --disable_warnings DROP TABLE IF EXISTS t1; --enable_warnings CREATE TABLE t1 (a char(50)) ENGINE=InnoDB; CREATE INDEX i1 on t1 (a(3)); SELECT * FROM t1 WHERE a = 'abcde'; DROP TABLE t1; --echo End of 5.0 tests mysql-test/t/subselect.test +35 −0 Original line number Diff line number Diff line Loading @@ -3325,4 +3325,39 @@ INSERT INTO t2 VALUES (2,1),(3,1); SELECT * FROM t1 i WHERE 1 IN (SELECT l.id2 FROM t2 l WHERE i.id=l.id1); DROP TABLE t1, t2; # # Bug#37460 Assertion failed: # !table->file || table->file->inited == handler::NONE # CREATE TABLE t1 (id int); CREATE TABLE t2 (id int, c int); INSERT INTO t1 (id) VALUES (1); INSERT INTO t2 (id) VALUES (1); INSERT INTO t1 (id) VALUES (1); INSERT INTO t2 (id) VALUES (1); CREATE VIEW v1 AS SELECT t2.c AS c FROM t1, t2 WHERE t1.id=t2.id AND 1 IN (SELECT id FROM t1) WITH CHECK OPTION; UPDATE v1 SET c=1; CREATE VIEW v2 (a,b) AS SELECT t2.id, t2.c AS c FROM t1, t2 WHERE t1.id=t2.id AND 1 IN (SELECT id FROM t1) WITH CHECK OPTION; --error 1369 INSERT INTO v2(a,b) VALUES (2,2); INSERT INTO v2(a,b) VALUES (1,2); SELECT * FROM v1; CREATE VIEW v3 AS SELECT t2.c AS c FROM t2 WHERE 1 IN (SELECT id FROM t1) WITH CHECK OPTION; DELETE FROM v3; DROP VIEW v1,v2,v3; DROP TABLE t1,t2; --echo End of 5.0 tests. sql/mysql_priv.h +1 −0 Original line number Diff line number Diff line Loading @@ -435,6 +435,7 @@ MY_LOCALE *my_locale_by_number(uint number); #define UNCACHEABLE_PREPARE 16 /* For uncorrelated SELECT in an UNION with some correlated SELECTs */ #define UNCACHEABLE_UNITED 32 #define UNCACHEABLE_CHECKOPTION 64 /* Used to check GROUP BY list in the MODE_ONLY_FULL_GROUP_BY mode */ #define UNDEF_POS (-1) Loading Loading
mysql-test/r/innodb_mysql.result +6 −0 Original line number Diff line number Diff line Loading @@ -1261,4 +1261,10 @@ a b c 5 1 1 4 1 1 DROP TABLE t1; DROP TABLE IF EXISTS t1; CREATE TABLE t1 (a char(50)) ENGINE=InnoDB; CREATE INDEX i1 on t1 (a(3)); SELECT * FROM t1 WHERE a = 'abcde'; a DROP TABLE t1; End of 5.0 tests
mysql-test/r/subselect.result +30 −0 Original line number Diff line number Diff line Loading @@ -4422,4 +4422,34 @@ id 2 3 DROP TABLE t1, t2; CREATE TABLE t1 (id int); CREATE TABLE t2 (id int, c int); INSERT INTO t1 (id) VALUES (1); INSERT INTO t2 (id) VALUES (1); INSERT INTO t1 (id) VALUES (1); INSERT INTO t2 (id) VALUES (1); CREATE VIEW v1 AS SELECT t2.c AS c FROM t1, t2 WHERE t1.id=t2.id AND 1 IN (SELECT id FROM t1) WITH CHECK OPTION; UPDATE v1 SET c=1; CREATE VIEW v2 (a,b) AS SELECT t2.id, t2.c AS c FROM t1, t2 WHERE t1.id=t2.id AND 1 IN (SELECT id FROM t1) WITH CHECK OPTION; INSERT INTO v2(a,b) VALUES (2,2); ERROR HY000: CHECK OPTION failed 'test.v2' INSERT INTO v2(a,b) VALUES (1,2); SELECT * FROM v1; c 1 1 1 1 2 2 CREATE VIEW v3 AS SELECT t2.c AS c FROM t2 WHERE 1 IN (SELECT id FROM t1) WITH CHECK OPTION; DELETE FROM v3; DROP VIEW v1,v2,v3; DROP TABLE t1,t2; End of 5.0 tests.
mysql-test/t/innodb_mysql.test +11 −0 Original line number Diff line number Diff line Loading @@ -1014,4 +1014,15 @@ SELECT a, b, c FROM t1 WHERE b = 1 ORDER BY a DESC LIMIT 5; DROP TABLE t1; # # Bug#37284 Crash in Field_string::type() # --disable_warnings DROP TABLE IF EXISTS t1; --enable_warnings CREATE TABLE t1 (a char(50)) ENGINE=InnoDB; CREATE INDEX i1 on t1 (a(3)); SELECT * FROM t1 WHERE a = 'abcde'; DROP TABLE t1; --echo End of 5.0 tests
mysql-test/t/subselect.test +35 −0 Original line number Diff line number Diff line Loading @@ -3325,4 +3325,39 @@ INSERT INTO t2 VALUES (2,1),(3,1); SELECT * FROM t1 i WHERE 1 IN (SELECT l.id2 FROM t2 l WHERE i.id=l.id1); DROP TABLE t1, t2; # # Bug#37460 Assertion failed: # !table->file || table->file->inited == handler::NONE # CREATE TABLE t1 (id int); CREATE TABLE t2 (id int, c int); INSERT INTO t1 (id) VALUES (1); INSERT INTO t2 (id) VALUES (1); INSERT INTO t1 (id) VALUES (1); INSERT INTO t2 (id) VALUES (1); CREATE VIEW v1 AS SELECT t2.c AS c FROM t1, t2 WHERE t1.id=t2.id AND 1 IN (SELECT id FROM t1) WITH CHECK OPTION; UPDATE v1 SET c=1; CREATE VIEW v2 (a,b) AS SELECT t2.id, t2.c AS c FROM t1, t2 WHERE t1.id=t2.id AND 1 IN (SELECT id FROM t1) WITH CHECK OPTION; --error 1369 INSERT INTO v2(a,b) VALUES (2,2); INSERT INTO v2(a,b) VALUES (1,2); SELECT * FROM v1; CREATE VIEW v3 AS SELECT t2.c AS c FROM t2 WHERE 1 IN (SELECT id FROM t1) WITH CHECK OPTION; DELETE FROM v3; DROP VIEW v1,v2,v3; DROP TABLE t1,t2; --echo End of 5.0 tests.
sql/mysql_priv.h +1 −0 Original line number Diff line number Diff line Loading @@ -435,6 +435,7 @@ MY_LOCALE *my_locale_by_number(uint number); #define UNCACHEABLE_PREPARE 16 /* For uncorrelated SELECT in an UNION with some correlated SELECTs */ #define UNCACHEABLE_UNITED 32 #define UNCACHEABLE_CHECKOPTION 64 /* Used to check GROUP BY list in the MODE_ONLY_FULL_GROUP_BY mode */ #define UNDEF_POS (-1) Loading