| Bug #16522 | Events: Event occurs after ENDS time, or isn't dropped, or crash | ||
|---|---|---|---|
| Submitted: | 15 Jan 2006 22:16 | Modified: | 26 May 2006 13:27 | 
| Reporter: | Peter Gulutzan | Email Updates: | |
| Status: | Can't repeat | Impact on me: | |
| Category: | MySQL Server: Stored Routines | Severity: | S3 (Non-critical) | 
| Version: | 5.1.6-alpha-debug | OS: | Linux (SUSE 10.0) | 
| Assigned to: | Andrey Hristov | CPU Architecture: | Any | 
   [16 Jan 2006 11:06]
   MySQL Verification Team        
  030416 9:06:02 [Note] Event found disabled, dropping. *** glibc detected *** free(): invalid next size (fast): 0x091e2ef0 *** mysqld got signal 6;
   [9 Mar 2006 13:33]
   Jon Stephens        
  Updated Events documentation regarding timings per discussion with Andrey and PeterG. Left bug status as Verified.
   [18 Apr 2006 19:00]
   Andrey Hristov        
  Should be retested after bug #17619 is closed.
   [26 May 2006 13:27]
   MySQL Verification Team        
  I was unable to repeat with current source server with an error
in the create event:
miguel@hegel:~/dbs/5.1> bin/mysql -uroot db1
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 5.1.12-beta-debug
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> set global event_scheduler = 1;
Query OK, 0 rows affected (0.00 sec)
mysql> create table t (s1 timestamp);
Query OK, 0 rows affected (0.01 sec)
mysql> create event e_63 on schedule every 2 second
    -> ends current_timestamp do
    -> insert into db1.t values (current_timestamp);
ERROR 1530 (HY000): ENDS is either invalid or before STARTS
mysql>
 

Description: I make an event which has an ENDS time. The ENDS time, due to the way I've defined it, will happen before the first possible execution time. But: the event is executed once anyway, or the event is not executed but it is not dropped, or there's a crash. Whichever outcome you see, it's a bug. How to repeat: Assume a database named db1. mysql> set global event_scheduler = 1; Query OK, 0 rows affected (0.00 sec) mysql> create table t (s1 timestamp); Query OK, 0 rows affected (0.00 sec) mysql> create event e_63 on schedule every 2 second -> ends current_timestamp do -> insert into db1.t values (current_timestamp); Query OK, 1 row affected (0.00 sec) mysql> select count(*) from t; +----------+ | count(*) | +----------+ | 0 | +----------+ 1 row in set (0.00 sec) mysql> select count(*) from mysql.event where name='e_63'; ERROR 2006 (HY000): MySQL server has gone away