From: Dmitry Shulga Date: June 9 2011 6:10pm Subject: bzr push into mysql-5.1 branch (Dmitry.Shulga:3640 to 3641) Bug#11764334 List-Archive: http://lists.mysql.com/commits/138992 X-Bug: 11764334 Message-Id: <201106091811.p59IB19b017740@acsmt356.oracle.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============2604319456483722927==" --===============2604319456483722927== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline 3641 Dmitry Shulga 2011-06-10 Follow-up for patch of bug#11764334. modified: mysql-test/r/events_bugs.result mysql-test/t/events_bugs.test 3640 Dmitry Shulga 2011-06-10 Fixed bug#11764334 (formerly bug#57156): ALTER EVENT CHANGES THE EVENT STATUS. Any ALTER EVENT statement on a disabled event enabled it back (unless this ALTER EVENT statement explicitly disabled the event). The problem was that during processing of an ALTER EVENT statement value of status field was overwritten unconditionally even if new value was not specified explicitly. As a consequence this field was set to default value for status which corresponds to ENABLE. The solution is to check if status field was explicitly specified in ALTER EVENT statement before assigning new value to status field. @ mysql-test/r/events_bugs.result test's result for Bug#11764334 was added. @ mysql-test/t/events_bugs.test new test for Bug#11764334 was added. @ sql/event_db_repository.cc mysql_event_fill_row() was modified: set value for status field in events tables only in case if statement CREATE EVENT is being processed or if this value was set in ALTER EVENT statement. Event_db_repository::create_event was modified: removed redundant setting of status field after return from call to mysql_event_fill_row(). @ sql/event_parse_data.h Event_parse_data structure was modified: added flag status_changed that is set to true if status's value was changed in ALTER EVENT statement. @ sql/sql_yacc.yy Set flag status_changed if status was set in ALTER EVENT statement. modified: mysql-test/r/events_bugs.result mysql-test/t/events_bugs.test sql/event_db_repository.cc sql/event_parse_data.cc sql/event_parse_data.h sql/sql_yacc.yy === modified file 'mysql-test/r/events_bugs.result' --- a/mysql-test/r/events_bugs.result 2011-06-09 17:03:17 +0000 +++ b/mysql-test/r/events_bugs.result 2011-06-09 18:05:10 +0000 @@ -802,11 +802,11 @@ USE event_test11764334; CREATE EVENT ev1 ON SCHEDULE EVERY 3 SECOND DISABLE DO SELECT 1; SHOW EVENTS IN event_test11764334 WHERE NAME='ev1'; Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation -event_test11764334 ev1 root@localhost SYSTEM RECURRING NULL 3 SECOND 2011-06-09 19:59:01 NULL DISABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci +event_test11764334 ev1 root@localhost SYSTEM RECURRING NULL 3 SECOND # # DISABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci ALTER EVENT ev1 ON SCHEDULE EVERY 4 SECOND; SHOW EVENTS IN event_test11764334 WHERE NAME='ev1'; Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation -event_test11764334 ev1 root@localhost SYSTEM RECURRING NULL 4 SECOND 2011-06-09 19:59:01 NULL DISABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci +event_test11764334 ev1 root@localhost SYSTEM RECURRING NULL 4 SECOND # # DISABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci DROP EVENT ev1; DROP DATABASE event_test11764334; USE test; === modified file 'mysql-test/t/events_bugs.test' --- a/mysql-test/t/events_bugs.test 2011-06-09 17:03:17 +0000 +++ b/mysql-test/t/events_bugs.test 2011-06-09 18:05:10 +0000 @@ -1295,8 +1295,10 @@ DROP DATABASE IF EXISTS event_test117643 CREATE DATABASE event_test11764334; USE event_test11764334; CREATE EVENT ev1 ON SCHEDULE EVERY 3 SECOND DISABLE DO SELECT 1; +--replace_column 9 # 10 # SHOW EVENTS IN event_test11764334 WHERE NAME='ev1'; ALTER EVENT ev1 ON SCHEDULE EVERY 4 SECOND; +--replace_column 9 # 10 # SHOW EVENTS IN event_test11764334 WHERE NAME='ev1'; DROP EVENT ev1; DROP DATABASE event_test11764334; --===============2604319456483722927== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/dmitry.shulga@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: dmitry.shulga@stripped\ # lb4rm5p5qib7dnos # target_branch: file:///Users/shulga/projects/mysql/mysql-5.1-\ # bug11764334/ # testament_sha1: dfb703067f4a1fb3b6061e79f2e428dc4445d993 # timestamp: 2011-06-10 01:10:56 +0700 # base_revision_id: dmitry.shulga@stripped\ # u4v9mvdajfyr2y91 # # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWSPQvJUAAlLfgAAwWGP/93+n niC////wUAT+5B1RMtyKA0AklRinpihpkPJ6o0HtUYyQeUNNNMg0yCUUGCYpNpPRDTJ6jQaAAABk AlNQFGp5R6j9KaaHpAAAGg0GQAc0xMBGmBGEYAAAAmEYCSSZTAATENMpiZTI0T1GJiMm1GJxIDHM ccjoW3fcYuD4jG6LQlGgf39/SZzaTIl44uoM0BxkvfOMcGBz53kieMykBCTJGe1muhKgnWIqVV0d 2TRinpyqMv7mzHxnh60Pf6cJM2rqXq4xOtvKR+QRMI6h2D7Nv4lAeiF6cd4PzbmPLAMjL2G+9H44 YyENBLpuUSEywLIoDyoghMgZq0b2Qnd4OCpHJ0NzxhGwvqByFObHQJULmVoeo2zLD8FaVzLZ7oyI 5wAs83EEL4aF/hgUIX+0LU8e+olmlIwlhTTvhXwCxeM8azRvQ4KcIgNXp7Sm4Kh87iJaQDGtIYbC 8IKgkAZSGDStwDsxOLw5G6h1N9YYMj/sYkcsL7L+bNdDKfNsEVDWBanM4kwpWAsr5DUxWmfMTxTM GSp5StWG5UtsJ0A0xXDEgQJrMC8vdAjHrKwmg+V0HkOJwJQPWjyLDhpVEBSPcTIeTqUtIbMNyM7y RxnofmQqo8TEh6wOYE9HGxAad+mOCNaTtKa3UiyyConnJP0amSmMxDEcRROF8bEoIvBw7dMNGwPg DYlo6W4BpJSdkRQFHDTjgwuMBJ82Dxledtdg+JjFQTlQouGlsx+yriwdMU7rSuS52JUwlirk8Z4t ZRrc0ovBOUGmxKat6W2sZhOMxPEGTxN6ZsDN8k6kkJL0PZjQI6jh9WuPs9DUMeVHsVnAayJrNZM1 CjxhUUn4KZfZYVEo48hfwF5pvHJM97g1Bl8/c8XXwPaSRHZoxKyrOeBbpEr1+IK7sCLiPM9uUww1 SJVjNMJjhf6UG/1HRgfBLxgTxylmeganTvFATFqBzuybrYx6jAF+XHTGwNjmEnHqEtsXKga234l4 xNsJw3Rg6EEN80XT8l0KQ+VaPkaJh0gE+VogkLdmvZ5UQUVERodTnG3BnWlBKjwiw+wcjUr0+jmu eZ7NaoNr6OPWu5IYXdPzvk7ep0KTRryHj8gzECIkRUzhfOjJzPppVi+hYeJGuLlIaH2RuPr6klTg yLzTuN0gtp4mgOYVU4Seb0JoBelmb7Sz3ANhX7UNH0RmJxuYWSKPxntiuRKF6O4A8h5jdmiw1MXG RYcDrijiqJ5QoIkNZEHU6ipAuOZYWCTBWknlq4GHKH5K3K0c8zjyiQtQGZeZOZ1H1MULjJURxr37 T1IixJ5SUcKocuZM9ETbKAOAETCGXdd5mBtn6n64oCVHTYEuYlwQ5dzl2ApLlpwLM93MXQDbmwwL Uj8hNzFm4CUEy5YaLC9BaUQNNaJnOpJ6LUcQ6ATKzsPv2QgwwkwqxMdiJLDnfJJHV3Axa1BahPQ4 xoDv8j3szblRQMBOhk1hMFZlm5hiLVxthKPH+gM4Z8VdykJTeDbJelJEKKZE66tgkmFGwOUDFEZh y1A8zkku+lVkrpcjkjchxWmFH2ciBOSHhY4I540XCD4I3laVStLGOZgp5rv/F3JFOFCQI9C8lQ== --===============2604319456483722927==--