Commit 17a210e6 authored by igor@olga.mysql.com's avatar igor@olga.mysql.com
Browse files

Merge olga.mysql.com:/home/igor/mysql-5.0-opt

into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug28561
parents 55906317 428d2b65
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -3367,4 +3367,14 @@ SHOW CREATE VIEW v1;
View	Create View
v1	CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select cast(1.23456789 as decimal(8,0)) AS `col`
DROP VIEW v1;
CREATE TABLE t1 (id int);
CREATE TABLE t2 (id int, c int DEFAULT 0);
INSERT INTO t1 (id) VALUES (1);
INSERT INTO t2 (id) VALUES (1);
CREATE VIEW v1 AS 
SELECT t2.c FROM t1, t2 
WHERE t1.id=t2.id AND 1 IN (SELECT id FROM t1) WITH CHECK OPTION;
UPDATE v1 SET c=1;
DROP VIEW v1;
DROP TABLE t1,t2;
End of 5.0 tests.
+19 −0
Original line number Diff line number Diff line
@@ -3233,4 +3233,23 @@ CREATE VIEW v1 AS SELECT CAST(1.23456789 AS DECIMAL(8,0)) AS col;
SHOW CREATE VIEW v1;
DROP VIEW v1;

#
# Bug #28561: update on multi-table view with CHECK OPTION and
#             a subquery in WHERE condition
#

CREATE TABLE t1 (id int);
CREATE TABLE t2 (id int, c int DEFAULT 0);
INSERT INTO t1 (id) VALUES (1);
INSERT INTO t2 (id) VALUES (1);

CREATE VIEW v1 AS 
  SELECT t2.c FROM t1, t2 
    WHERE t1.id=t2.id AND 1 IN (SELECT id FROM t1) WITH CHECK OPTION;

UPDATE v1 SET c=1;

DROP VIEW v1;
DROP TABLE t1,t2;

--echo End of 5.0 tests.
+0 −1
Original line number Diff line number Diff line
@@ -6375,7 +6375,6 @@ void JOIN::cleanup(bool full)
      for (tab= join_tab, end= tab+tables; tab != end; tab++)
	tab->cleanup();
      table= 0;
      tables= 0;
    }
    else
    {