List:Commits« Previous MessageNext Message »
From:holyfoot Date:October 1 2006 1:43pm
Subject:bk commit into 5.1 tree (holyfoot:1.2336)
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of hf. When hf does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2006-10-01 16:43:35+05:00, holyfoot@deer.(none) +3 -0
  Merge bk@stripped:mysql-5.1-opt
  into  mysql.com:/home/hf/work/16813/my51-16813
  MERGE: 1.2300.52.1

  mysql-test/r/view.result@stripped, 2006-10-01 16:42:25+05:00, holyfoot@deer.(none) +10 -10
    merging
    MERGE: 1.179.2.1

  mysql-test/t/view.test@stripped, 2006-10-01 16:43:24+05:00, holyfoot@deer.(none) +15 -16
    merging
    MERGE: 1.160.3.1

  sql/table.cc@stripped, 2006-10-01 16:41:15+05:00, holyfoot@deer.(none) +0 -0
    Auto merged
    MERGE: 1.246.1.1

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	holyfoot
# Host:	deer.(none)
# Root:	/home/hf/work/16813/my51-16813/RESYNC

--- 1.248/sql/table.cc	2006-10-01 16:43:43 +05:00
+++ 1.249/sql/table.cc	2006-10-01 16:43:43 +05:00
@@ -2773,12 +2773,13 @@ bool st_table_list::prep_where(THD *thd,
             this expression will not be moved to WHERE condition (i.e. will
             be clean correctly for PS/SP)
           */
-          tbl->on_expr= and_conds(tbl->on_expr, where);
+          tbl->on_expr= and_conds(tbl->on_expr,
+                                  where->copy_andor_structure(thd));
           break;
         }
       }
       if (tbl == 0)
-        *conds= and_conds(*conds, where);
+        *conds= and_conds(*conds, where->copy_andor_structure(thd));
       if (arena)
         thd->restore_active_arena(arena, &backup);
       where_processed= TRUE;

--- 1.182/mysql-test/r/view.result	2006-10-01 16:43:43 +05:00
+++ 1.183/mysql-test/r/view.result	2006-10-01 16:43:43 +05:00
@@ -2956,4 +2956,14 @@ View	Create View
 v1	CREATE ALGORITHM=MERGE DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS
select `t1`.`pk` AS `pk` from (`t1` join `t2` on(((`t2`.`fk` = `t1`.`pk`) and (`t2`.`ver`
= (select max(`t`.`ver`) AS `MAX(t.ver)` from `t2` `t` where (`t`.`org` = `t2`.`org`))))))
 DROP VIEW v1;
 DROP TABLE t1, t2;
+CREATE TABLE t1(id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, val INT UNSIGNED NOT
NULL);
+CREATE VIEW v1 AS SELECT id, val FROM t1 WHERE val >= 1 AND val <= 5 WITH CHECK
OPTION;
+INSERT INTO v1 (val) VALUES (2);
+INSERT INTO v1 (val) VALUES (4);
+INSERT INTO v1 (val) VALUES (6);
+ERROR HY000: CHECK OPTION failed 'test.v1'
+UPDATE v1 SET val=6 WHERE id=2;
+ERROR HY000: CHECK OPTION failed 'test.v1'
+DROP VIEW v1;
+DROP TABLE t1;
 End of 5.0 tests.

--- 1.165/mysql-test/t/view.test	2006-10-01 16:43:43 +05:00
+++ 1.166/mysql-test/t/view.test	2006-10-01 16:43:43 +05:00
@@ -2856,7 +2856,6 @@ EXPLAIN SELECT * FROM v1 t WHERE t.s1+1 
 DROP VIEW v1;
 DROP TABLE t1;
 
-#
 # Bug #5505: Wrong error message on INSERT into a view
 #
 create table t1 (s1 int);
@@ -2884,4 +2883,19 @@ SHOW CREATE VIEW v1;
 
 DROP VIEW v1;
 DROP TABLE t1, t2;
+
+#
+# Bug #16813 (WITH CHECK OPTION doesn't work with UPDATE)
+#
+CREATE TABLE t1(id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, val INT UNSIGNED NOT
NULL);
+CREATE VIEW v1 AS SELECT id, val FROM t1 WHERE val >= 1 AND val <= 5 WITH CHECK
OPTION;
+INSERT INTO v1 (val) VALUES (2);
+INSERT INTO v1 (val) VALUES (4);
+-- error 1369
+INSERT INTO v1 (val) VALUES (6);
+-- error 1369
+UPDATE v1 SET val=6 WHERE id=2;
+DROP VIEW v1;
+DROP TABLE t1;
+
 --echo End of 5.0 tests.
Thread
bk commit into 5.1 tree (holyfoot:1.2336)holyfoot1 Oct