From: Date: February 23 2009 3:50pm Subject: bzr commit into mysql-5.1-bugteam branch (Davi.Arnaut:2809) Bug#36540 List-Archive: http://lists.mysql.com/commits/67198 X-Bug: 36540 Message-Id: <200902231451.n1NEp1kV004179@rhel5-ia64-a.mysql.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============5124002576908338161==" --===============5124002576908338161== MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline #At file:///data0/my/darnaut/mysql-repo/work/36540-5.1/ based on revid:anurag.shekhar@stripped 2809 Davi Arnaut 2009-02-23 Bug#36540: CREATE EVENT and ALTER EVENT statements fail with large server_id The problem is that creating a event could fail if the value of the variable server_id didn't fit in the originator column of the event system table. The cause is two-fold: it was possible to set server_id to a value outside the documented range (from 1 to 2^32-1) and the originator column of the event table didn't have enough room for values in this range. The log tables (general_log and slow_log) also don't have a proper column type to store the server_id and having a large server_id value could prevent queries from being logged. The solution is to ensure that all system tables that store the server_id value have a proper column type (int unsigned) and that the variable can't be set to a value that is not within the range. The default value of the server_id variable is now 1. @ mysql-test/r/events_bugs.result Add test case result for Bug#36540 @ mysql-test/r/log_tables.result Update column type. @ mysql-test/r/system_mysql_db.result Update column type. @ mysql-test/r/variables.result Add test case result for server_id value range. @ mysql-test/suite/sys_vars/inc/server_id_basic.inc New defautl value for server_id. @ mysql-test/suite/sys_vars/r/server_id_basic_64.result Update test case results. @ mysql-test/t/events_bugs.test Add test case for Bug#36540 @ mysql-test/t/log_tables.test Fix column type. @ mysql-test/t/variables.test Add test case for server_id value range. @ scripts/mysql_system_tables.sql Columns that store the server_id value must be of type INT UNSIGNED, fix event (originator), general_log and slow_log (server_id) tables in accordance. @ scripts/mysql_system_tables_fix.sql Columns that store the server_id value must be of type INT UNSIGNED, fix event (originator), general_log and slow_log (server_id) tables in accordance. @ sql/mysqld.cc Set default, min and max values for the server_id variable. Unfortunately we can't easily change server_id variable type from ulong to uint32 because of the sys_var classes. modified: mysql-test/r/events_bugs.result mysql-test/r/log_tables.result mysql-test/r/system_mysql_db.result mysql-test/r/variables.result mysql-test/suite/sys_vars/inc/server_id_basic.inc mysql-test/suite/sys_vars/r/server_id_basic_64.result mysql-test/t/events_bugs.test mysql-test/t/log_tables.test mysql-test/t/variables.test scripts/mysql_system_tables.sql scripts/mysql_system_tables_fix.sql sql/mysqld.cc === modified file 'mysql-test/r/events_bugs.result' --- a/mysql-test/r/events_bugs.result 2009-01-23 12:22:05 +0000 +++ b/mysql-test/r/events_bugs.result 2009-02-23 14:48:08 +0000 @@ -736,6 +736,17 @@ select replace(@full_mode, 'ALLOW_INVALI select name from mysql.event where name = 'p' and sql_mode = @full_mode; name drop event e1; +SET @old_server_id = @@GLOBAL.server_id; +SET GLOBAL server_id = (1 << 32) - 1; +SELECT @@GLOBAL.server_id; +@@GLOBAL.server_id +4294967295 +CREATE EVENT ev1 ON SCHEDULE EVERY 1 DAY DO SELECT 1; +SELECT event_name, originator FROM INFORMATION_SCHEMA.EVENTS; +event_name originator +ev1 4294967295 +DROP EVENT ev1; +SET GLOBAL server_id = @old_server_id; DROP DATABASE events_test; SET GLOBAL event_scheduler= 'ON'; SET @@global.concurrent_insert= @concurrent_insert; === modified file 'mysql-test/r/log_tables.result' --- a/mysql-test/r/log_tables.result 2008-11-13 19:19:00 +0000 +++ b/mysql-test/r/log_tables.result 2009-02-23 14:48:08 +0000 @@ -56,7 +56,7 @@ general_log CREATE TABLE `general_log` ( `event_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `user_host` mediumtext NOT NULL, `thread_id` int(11) NOT NULL, - `server_id` int(11) NOT NULL, + `server_id` int(10) unsigned NOT NULL, `command_type` varchar(64) NOT NULL, `argument` mediumtext NOT NULL ) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log' @@ -65,7 +65,7 @@ Field Type Null Key Default Extra event_time timestamp NO CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP user_host mediumtext NO NULL thread_id int(11) NO NULL -server_id int(11) NO NULL +server_id int(10) unsigned NO NULL command_type varchar(64) NO NULL argument mediumtext NO NULL show create table mysql.slow_log; @@ -80,7 +80,7 @@ slow_log CREATE TABLE `slow_log` ( `db` varchar(512) NOT NULL, `last_insert_id` int(11) NOT NULL, `insert_id` int(11) NOT NULL, - `server_id` int(11) NOT NULL, + `server_id` int(10) unsigned NOT NULL, `sql_text` mediumtext NOT NULL ) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log' show fields from mysql.slow_log; @@ -94,7 +94,7 @@ rows_examined int(11) NO NULL db varchar(512) NO NULL last_insert_id int(11) NO NULL insert_id int(11) NO NULL -server_id int(11) NO NULL +server_id int(10) unsigned NO NULL sql_text mediumtext NO NULL flush logs; flush tables; @@ -167,7 +167,7 @@ general_log CREATE TABLE `general_log` ( `event_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `user_host` mediumtext NOT NULL, `thread_id` int(11) NOT NULL, - `server_id` int(11) NOT NULL, + `server_id` int(10) unsigned NOT NULL, `command_type` varchar(64) NOT NULL, `argument` mediumtext NOT NULL ) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log' @@ -183,7 +183,7 @@ slow_log CREATE TABLE `slow_log` ( `db` varchar(512) NOT NULL, `last_insert_id` int(11) NOT NULL, `insert_id` int(11) NOT NULL, - `server_id` int(11) NOT NULL, + `server_id` int(10) unsigned NOT NULL, `sql_text` mediumtext NOT NULL ) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log' alter table mysql.general_log engine=myisam; @@ -194,7 +194,7 @@ general_log CREATE TABLE `general_log` ( `event_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `user_host` mediumtext NOT NULL, `thread_id` int(11) NOT NULL, - `server_id` int(11) NOT NULL, + `server_id` int(10) unsigned NOT NULL, `command_type` varchar(64) NOT NULL, `argument` mediumtext NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='General log' @@ -210,7 +210,7 @@ slow_log CREATE TABLE `slow_log` ( `db` varchar(512) NOT NULL, `last_insert_id` int(11) NOT NULL, `insert_id` int(11) NOT NULL, - `server_id` int(11) NOT NULL, + `server_id` int(10) unsigned NOT NULL, `sql_text` mediumtext NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Slow log' set global general_log='ON'; @@ -268,7 +268,7 @@ CREATE TABLE `general_log` ( ON UPDATE CURRENT_TIMESTAMP, `user_host` mediumtext NOT NULL, `thread_id` int(11) NOT NULL, -`server_id` int(11) NOT NULL, +`server_id` int(10) unsigned NOT NULL, `command_type` varchar(64) NOT NULL, `argument` mediumtext NOT NULL ) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log'; @@ -283,7 +283,7 @@ ON UPDATE CURRENT_TIMESTAMP, `db` varchar(512) NOT NULL, `last_insert_id` int(11) NOT NULL, `insert_id` int(11) NOT NULL, -`server_id` int(11) NOT NULL, +`server_id` int(10) unsigned NOT NULL, `sql_text` mediumtext NOT NULL ) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'; set global general_log='ON'; === modified file 'mysql-test/r/system_mysql_db.result' --- a/mysql-test/r/system_mysql_db.result 2008-02-28 11:21:44 +0000 +++ b/mysql-test/r/system_mysql_db.result 2009-02-23 14:48:08 +0000 @@ -227,7 +227,7 @@ event CREATE TABLE `event` ( `on_completion` enum('DROP','PRESERVE') NOT NULL DEFAULT 'DROP', `sql_mode` set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH') NOT NULL DEFAULT '', `comment` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '', - `originator` int(10) NOT NULL, + `originator` int(10) unsigned NOT NULL, `time_zone` char(64) CHARACTER SET latin1 NOT NULL DEFAULT 'SYSTEM', `character_set_client` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, `collation_connection` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, @@ -241,7 +241,7 @@ general_log CREATE TABLE `general_log` ( `event_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `user_host` mediumtext NOT NULL, `thread_id` int(11) NOT NULL, - `server_id` int(11) NOT NULL, + `server_id` int(10) unsigned NOT NULL, `command_type` varchar(64) NOT NULL, `argument` mediumtext NOT NULL ) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log' @@ -257,7 +257,7 @@ slow_log CREATE TABLE `slow_log` ( `db` varchar(512) NOT NULL, `last_insert_id` int(11) NOT NULL, `insert_id` int(11) NOT NULL, - `server_id` int(11) NOT NULL, + `server_id` int(10) unsigned NOT NULL, `sql_text` mediumtext NOT NULL ) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log' show tables; === modified file 'mysql-test/r/variables.result' --- a/mysql-test/r/variables.result 2009-01-30 13:44:49 +0000 +++ b/mysql-test/r/variables.result 2009-02-23 14:48:08 +0000 @@ -1341,3 +1341,33 @@ SET @@session.thread_stack= 7; ERROR HY000: Variable 'thread_stack' is a read only variable SET @@global.thread_stack= 7; ERROR HY000: Variable 'thread_stack' is a read only variable +SET @old_server_id = @@GLOBAL.server_id; +SET GLOBAL server_id = (1 << 32) - 1; +SELECT @@GLOBAL.server_id; +@@GLOBAL.server_id +4294967295 +SET GLOBAL server_id = (1 << 32); +Warnings: +Warning 1292 Truncated incorrect server-id value: '4294967296' +SELECT @@GLOBAL.server_id; +@@GLOBAL.server_id +4294967295 +SET GLOBAL server_id = (1 << 64); +Warnings: +Warning 1292 Truncated incorrect server-id value: '0' +SELECT @@GLOBAL.server_id; +@@GLOBAL.server_id +1 +SET GLOBAL server_id = 0; +Warnings: +Warning 1292 Truncated incorrect server-id value: '0' +SELECT @@GLOBAL.server_id; +@@GLOBAL.server_id +1 +SET GLOBAL server_id = -1; +Warnings: +Warning 1292 Truncated incorrect server-id value: '0' +SELECT @@GLOBAL.server_id; +@@GLOBAL.server_id +1 +SET GLOBAL server_id = @old_server_id; === modified file 'mysql-test/suite/sys_vars/inc/server_id_basic.inc' --- a/mysql-test/suite/sys_vars/inc/server_id_basic.inc 2008-07-23 14:06:44 +0000 +++ b/mysql-test/suite/sys_vars/inc/server_id_basic.inc 2009-02-23 14:48:08 +0000 @@ -54,7 +54,7 @@ SELECT @@global.server_id; ################################################################### SET @@global.server_id = DEFAULT; -SELECT @@global.server_id = 0; +SELECT @@global.server_id = 1; --echo '#--------------------FN_DYNVARS_144_03-------------------------#' ################################################################################## === modified file 'mysql-test/suite/sys_vars/r/server_id_basic_64.result' --- a/mysql-test/suite/sys_vars/r/server_id_basic_64.result 2008-07-23 14:06:44 +0000 +++ b/mysql-test/suite/sys_vars/r/server_id_basic_64.result 2009-02-23 14:48:08 +0000 @@ -8,17 +8,19 @@ SET @@global.server_id = 500000; SET @@global.server_id = DEFAULT; SELECT @@global.server_id; @@global.server_id -0 +1 '#--------------------FN_DYNVARS_144_02-------------------------#' SET @@global.server_id = DEFAULT; -SELECT @@global.server_id = 0; -@@global.server_id = 0 +SELECT @@global.server_id = 1; +@@global.server_id = 1 1 '#--------------------FN_DYNVARS_144_03-------------------------#' SET @@global.server_id = 0; +Warnings: +Warning 1292 Truncated incorrect server-id value: '0' SELECT @@global.server_id; @@global.server_id -0 +1 SET @@global.server_id = 1; SELECT @@global.server_id; @@global.server_id @@ -52,17 +54,23 @@ SET @@local.server_id = 4; ERROR HY000: Variable 'server_id' is a GLOBAL variable and should be set with SET GLOBAL '#------------------FN_DYNVARS_144_05-----------------------#' SET @@global.server_id = -1; +Warnings: +Warning 1292 Truncated incorrect server-id value: '0' SELECT @@global.server_id; @@global.server_id -0 +1 SET @@global.server_id = -2147483648; +Warnings: +Warning 1292 Truncated incorrect server-id value: '0' SELECT @@global.server_id; @@global.server_id -0 +1 SET @@global.server_id = 2147483649*2; +Warnings: +Warning 1292 Truncated incorrect server-id value: '4294967298' SELECT @@global.server_id; @@global.server_id -4294967298 +4294967295 SET @@global.server_id = 65530.34.; ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.' at line 1 SET @@global.server_id = '125'; @@ -91,9 +99,11 @@ SELECT @@global.server_id; @@global.server_id 1 SET @@global.server_id = FALSE; +Warnings: +Warning 1292 Truncated incorrect server-id value: '0' SELECT @@global.server_id; @@global.server_id -0 +1 '#---------------------FN_DYNVARS_001_09----------------------#' SET @@global.server_id = 512; SELECT @@server_id = @@global.server_id; === modified file 'mysql-test/t/events_bugs.test' --- a/mysql-test/t/events_bugs.test 2009-01-23 12:22:05 +0000 +++ b/mysql-test/t/events_bugs.test 2009-02-23 14:48:08 +0000 @@ -1209,6 +1209,18 @@ select replace(@full_mode, 'ALLOW_INVALI select name from mysql.event where name = 'p' and sql_mode = @full_mode; drop event e1; +# +# Bug#36540: CREATE EVENT and ALTER EVENT statements fail with large server_id +# + +SET @old_server_id = @@GLOBAL.server_id; +SET GLOBAL server_id = (1 << 32) - 1; +SELECT @@GLOBAL.server_id; +CREATE EVENT ev1 ON SCHEDULE EVERY 1 DAY DO SELECT 1; +SELECT event_name, originator FROM INFORMATION_SCHEMA.EVENTS; +DROP EVENT ev1; +SET GLOBAL server_id = @old_server_id; + ########################################################################### # # End of tests === modified file 'mysql-test/t/log_tables.test' --- a/mysql-test/t/log_tables.test 2008-11-13 19:19:00 +0000 +++ b/mysql-test/t/log_tables.test 2009-02-23 14:48:08 +0000 @@ -287,7 +287,7 @@ CREATE TABLE `general_log` ( ON UPDATE CURRENT_TIMESTAMP, `user_host` mediumtext NOT NULL, `thread_id` int(11) NOT NULL, - `server_id` int(11) NOT NULL, + `server_id` int(10) unsigned NOT NULL, `command_type` varchar(64) NOT NULL, `argument` mediumtext NOT NULL ) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='General log'; @@ -303,7 +303,7 @@ CREATE TABLE `slow_log` ( `db` varchar(512) NOT NULL, `last_insert_id` int(11) NOT NULL, `insert_id` int(11) NOT NULL, - `server_id` int(11) NOT NULL, + `server_id` int(10) unsigned NOT NULL, `sql_text` mediumtext NOT NULL ) ENGINE=CSV DEFAULT CHARSET=utf8 COMMENT='Slow log'; === modified file 'mysql-test/t/variables.test' --- a/mysql-test/t/variables.test 2009-02-02 22:56:45 +0000 +++ b/mysql-test/t/variables.test 2009-02-23 14:48:08 +0000 @@ -1079,3 +1079,20 @@ SET @@session.thread_stack= 7; --error ER_INCORRECT_GLOBAL_LOCAL_VAR SET @@global.thread_stack= 7; # + +# +# Bug#36540: CREATE EVENT and ALTER EVENT statements fail with large server_id +# + +SET @old_server_id = @@GLOBAL.server_id; +SET GLOBAL server_id = (1 << 32) - 1; +SELECT @@GLOBAL.server_id; +SET GLOBAL server_id = (1 << 32); +SELECT @@GLOBAL.server_id; +SET GLOBAL server_id = (1 << 64); +SELECT @@GLOBAL.server_id; +SET GLOBAL server_id = 0; +SELECT @@GLOBAL.server_id; +SET GLOBAL server_id = -1; +SELECT @@GLOBAL.server_id; +SET GLOBAL server_id = @old_server_id; === modified file 'scripts/mysql_system_tables.sql' --- a/scripts/mysql_system_tables.sql 2008-07-31 09:50:24 +0000 +++ b/scripts/mysql_system_tables.sql 2009-02-23 14:48:08 +0000 @@ -66,7 +66,7 @@ CREATE TABLE IF NOT EXISTS procs_priv ( -- Create general_log if CSV is enabled. -SET @str = IF (@@have_csv = 'YES', 'CREATE TABLE IF NOT EXISTS general_log (event_time TIMESTAMP NOT NULL, user_host MEDIUMTEXT NOT NULL, thread_id INTEGER NOT NULL, server_id INTEGER NOT NULL, command_type VARCHAR(64) NOT NULL, argument MEDIUMTEXT NOT NULL) engine=CSV CHARACTER SET utf8 comment="General log"', 'SET @dummy = 0'); +SET @str = IF (@@have_csv = 'YES', 'CREATE TABLE IF NOT EXISTS general_log (event_time TIMESTAMP NOT NULL, user_host MEDIUMTEXT NOT NULL, thread_id INTEGER NOT NULL, server_id INTEGER UNSIGNED NOT NULL, command_type VARCHAR(64) NOT NULL, argument MEDIUMTEXT NOT NULL) engine=CSV CHARACTER SET utf8 comment="General log"', 'SET @dummy = 0'); PREPARE stmt FROM @str; EXECUTE stmt; @@ -74,13 +74,13 @@ DROP PREPARE stmt; -- Create slow_log if CSV is enabled. -SET @str = IF (@@have_csv = 'YES', 'CREATE TABLE IF NOT EXISTS slow_log (start_time TIMESTAMP NOT NULL, user_host MEDIUMTEXT NOT NULL, query_time TIME NOT NULL, lock_time TIME NOT NULL, rows_sent INTEGER NOT NULL, rows_examined INTEGER NOT NULL, db VARCHAR(512) NOT NULL, last_insert_id INTEGER NOT NULL, insert_id INTEGER NOT NULL, server_id INTEGER NOT NULL, sql_text MEDIUMTEXT NOT NULL) engine=CSV CHARACTER SET utf8 comment="Slow log"', 'SET @dummy = 0'); +SET @str = IF (@@have_csv = 'YES', 'CREATE TABLE IF NOT EXISTS slow_log (start_time TIMESTAMP NOT NULL, user_host MEDIUMTEXT NOT NULL, query_time TIME NOT NULL, lock_time TIME NOT NULL, rows_sent INTEGER NOT NULL, rows_examined INTEGER NOT NULL, db VARCHAR(512) NOT NULL, last_insert_id INTEGER NOT NULL, insert_id INTEGER NOT NULL, server_id INTEGER UNSIGNED NOT NULL, sql_text MEDIUMTEXT NOT NULL) engine=CSV CHARACTER SET utf8 comment="Slow log"', 'SET @dummy = 0'); PREPARE stmt FROM @str; EXECUTE stmt; DROP PREPARE stmt; -CREATE TABLE IF NOT EXISTS event ( db char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '', name char(64) CHARACTER SET utf8 NOT NULL default '', body longblob NOT NULL, definer char(77) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '', execute_at DATETIME default NULL, interval_value int(11) default NULL, interval_field ENUM('YEAR','QUARTER','MONTH','DAY','HOUR','MINUTE','WEEK','SECOND','MICROSECOND','YEAR_MONTH','DAY_HOUR','DAY_MINUTE','DAY_SECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_SECOND','DAY_MICROSECOND','HOUR_MICROSECOND','MINUTE_MICROSECOND','SECOND_MICROSECOND') default NULL, created TIMESTAMP NOT NULL, modified TIMESTAMP NOT NULL, last_executed DATETIME default NULL, starts DATETIME default NULL, ends DATETIME default NULL, status ENUM('ENABLED','DISABLED','SLAVESIDE_DISABLED') NOT NULL default 'ENABLED', on_completion ENUM('DROP','PRESERVE') NOT NULL default 'DROP', sql_mode set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','! NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH') DEFAULT '' NOT NULL, comment char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '', originator int(10) NOT NULL, time_zone char(64) CHARACTER SET latin1 NOT NULL DEFAULT 'SYSTEM', character_set_client char(32) collate utf8_bin, collation_connection char(32) collate utf8_bin, db_collation char(32) collate utf8_bin, body_utf8 longblob, PRIMARY KEY (db, name) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT 'Events'; +CREATE TABLE IF NOT EXISTS event ( db char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '', name char(64) CHARACTER SET utf8 NOT NULL default '', body longblob NOT NULL, definer char(77) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '', execute_at DATETIME default NULL, interval_value int(11) default NULL, interval_field ENUM('YEAR','QUARTER','MONTH','DAY','HOUR','MINUTE','WEEK','SECOND','MICROSECOND','YEAR_MONTH','DAY_HOUR','DAY_MINUTE','DAY_SECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_SECOND','DAY_MICROSECOND','HOUR_MICROSECOND','MINUTE_MICROSECOND','SECOND_MICROSECOND') default NULL, created TIMESTAMP NOT NULL, modified TIMESTAMP NOT NULL, last_executed DATETIME default NULL, starts DATETIME default NULL, ends DATETIME default NULL, status ENUM('ENABLED','DISABLED','SLAVESIDE_DISABLED') NOT NULL default 'ENABLED', on_completion ENUM('DROP','PRESERVE') NOT NULL default 'DROP', sql_mode set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','! NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH') DEFAULT '' NOT NULL, comment char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '', originator INTEGER UNSIGNED NOT NULL, time_zone char(64) CHARACTER SET latin1 NOT NULL DEFAULT 'SYSTEM', character_set_client char(32) collate utf8_bin, collation_connection char(32) collate utf8_bin, db_collation char(32) collate utf8_bin, body_utf8 longblob, PRIMARY KEY (db, name) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT 'Events'; CREATE TABLE IF NOT EXISTS ndb_binlog_index (Position BIGINT UNSIGNED NOT NULL, File VARCHAR(255) NOT NULL, epoch BIGINT UNSIGNED NOT NULL, inserts BIGINT UNSIGNED NOT NULL, updates BIGINT UNSIGNED NOT NULL, deletes BIGINT UNSIGNED NOT NULL, schemaops BIGINT UNSIGNED NOT NULL, PRIMARY KEY(epoch)) ENGINE=MYISAM; === modified file 'scripts/mysql_system_tables_fix.sql' --- a/scripts/mysql_system_tables_fix.sql 2008-04-04 16:46:05 +0000 +++ b/scripts/mysql_system_tables_fix.sql 2009-02-23 14:48:08 +0000 @@ -216,6 +216,20 @@ ALTER TABLE func MODIFY type enum ('function','aggregate') COLLATE utf8_general_ci NOT NULL; # +# Modify log tables. +# + +SET @old_log_state = @@global.general_log; +SET GLOBAL general_log = 'OFF'; +ALTER TABLE general_log MODIFY COLUMN server_id INTEGER UNSIGNED NOT NULL; +SET GLOBAL general_log = @old_log_state; + +SET @old_log_state = @@global.slow_query_log; +SET GLOBAL slow_query_log = 'OFF'; +ALTER TABLE slow_log MODIFY COLUMN server_id INTEGER UNSIGNED NOT NULL; +SET GLOBAL slow_query_log = @old_log_state; + +# # Detect whether we had Create_view_priv # SET @hadCreateViewPriv:=0; @@ -471,7 +485,10 @@ ALTER TABLE event MODIFY sql_mode 'PAD_CHAR_TO_FULL_LENGTH' ) DEFAULT '' NOT NULL AFTER on_completion; ALTER TABLE event MODIFY name char(64) CHARACTER SET utf8 NOT NULL default ''; -ALTER TABLE event ADD COLUMN originator INT(10) NOT NULL AFTER comment; + +ALTER TABLE event MODIFY COLUMN originator INT UNSIGNED NOT NULL; +ALTER TABLE event ADD COLUMN originator INT UNSIGNED NOT NULL AFTER comment; + ALTER TABLE event MODIFY COLUMN status ENUM('ENABLED','DISABLED','SLAVESIDE_DISABLED') NOT NULL default 'ENABLED'; ALTER TABLE event ADD COLUMN time_zone char(64) CHARACTER SET latin1 === modified file 'sql/mysqld.cc' --- a/sql/mysqld.cc 2009-02-16 11:38:15 +0000 +++ b/sql/mysqld.cc 2009-02-23 14:48:08 +0000 @@ -6241,7 +6241,7 @@ Can't be set to 1 if --log-slave-updates GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, {"server-id", OPT_SERVER_ID, "Uniquely identifies the server instance in the community of replication partners.", - (uchar**) &server_id, (uchar**) &server_id, 0, GET_ULONG, REQUIRED_ARG, 0, 0, 0, + (uchar**) &server_id, (uchar**) &server_id, 0, GET_ULONG, REQUIRED_ARG, 1, 1, UINT_MAX32, 0, 0, 0}, {"set-variable", 'O', "Change the value of a variable. Please note that this option is deprecated;you can set variables directly with --variable-name=value.", --===============5124002576908338161== MIME-Version: 1.0 Content-Type: text/bzr-bundle; charset="us-ascii"; name="bzr/davi.arnaut@stripped" Content-Transfer-Encoding: 7bit Content-Disposition: inline # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: davi.arnaut@stripped # target_branch: file:///data0/my/darnaut/mysql-repo/work/36540-5.1/ # testament_sha1: 7a99f5391d21be616c1bb4c54ae2836f49de3aa8 # timestamp: 2009-02-23 15:51:01 +0100 # base_revision_id: anurag.shekhar@stripped\ # w8u370yw19pfr3jc # # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWel2EKIADihfgEAwWff//3/v //H////wYBoNz7YVz7febK91dr31hk+FO7nBrt7nbHdWVo9PmPnmeNTSw1XnO9747rc293d7zuIu 2UJBR73W7iQ5qslQGSCSQQmTU9FPTTA1Cep5GJqekDTJ6QPU0zUaaAAkkATIBCaaaDQqaG0nqAAN A00ADTIMgIKaCmelD1NDQ0AMjRoMjQBpo0HqAJCQggTU9NGiap7VMymTRmk2pptTIepppo0PUzUy AikgEaGgaBR4pk8JT8kGqeJGEaNAHqAAikEATQFPJpomnqm0NJlHkT1GgAaNDTagaVajSbUFz4Ep dQOPjxLGYXFpmL8jQrJ8aYqdXkIXFK7XRQKmCEuBCARllYVVrzoLI8P9fjzcmfNrbc1108ntM9wL tudfe+w6YRdZyLtUQmGHzAjPhnTu41rB9ePR5dNNkmzvVDYrdUNpW6EKSybcbY2uNmPYhaFAipVF fnCsUtMzQszmXT7jv/3ussv0h0dNnJEkN0KQ2GENZ6Z7zMCq2SyJVgrItNYSEcbvbvc7d3wNIq/Q +uB2IOshXylEhTA+g/t8OnF8Miy3a7Uan60L3gXeCbbbY2gbbQ2CbGwbGxtKi/ui+9CDYd8NuduB mfj4X75iu56OpCPweNkv4YrD8HioZ5mdFPRvExvPUHcZivtxrWCvg4ZC6B4VIDsESFXIh7e3mvaJ 4AbWcZKOyI7ybb4VVntdZQteLDNlTVlnjUmbpmRpnnsuYg6SccD2mAwGk4xH9GQVkBwZS4ldBkMw zAwwMDGDnirshpOJG4muLr4U7MstNl1wn3ttgfkkq/FPzP4MjI5jlIE0k7aUGosLoCaDHMmov8m/ R2cl1nUbEKY9PL3PnflM7UzKnYaghcGNsYhjJXOJ9J+golVMHEyGPwzrFMwxlH4pHEcfKbmfYqcH oXGST3fKwuHITsVZGysu1KWKqf64YaNQtWIVPWnXBvpRDM+KW2Exh6B3xA5c4uNciBW/ZLjFATa2 265/j85W7ibthpps/J1nEF/yQsQ1xW3nPi9i8mZs0dsuXi/v0mTGIZjMI1MoswRXYZy6yBSpDI2n CMRSBfpY1kTQRDkAPLDyDFhk3R3pc7+92pfVdieujLPsfTwO2PUMcQFJybTOXOzpV5GViTPad61w c6lRgyvikqXMxaqq0xTpcnjMg8dovZiN+VOwXOdneh/ne6B1bOr1+3p93v9kz6NmPk35PEBcHUNO 5wVd5l4tGjbAKZtl8baYtEis7g4SAWtu7LkEnjIEk2cylVLBe6YI+uXpJDWeUlnYi3VJosEeifzP oh1vIwbgaECM+pafbi4HnlTIy3rOWM+HNQVGSWxIHn4xwBghKfwbkYJMaUZBpsjh60PofqcAgB86 3sGZ6Sr7jowhy52XFKw6GTXoeouxkDIkqSJJMNZLGQKn2GAzPbrr7KrLHW3AbJ9RBdbrJ+QdIcLC I5Q88f3vwZyVi/8ftZA/k+nzvbIhmQTCXhXee5jsp0ephMaP1Rm0Q37Xk2jZJrNDmv54ZONDg0sw 3BjawsAkC/dPMSbcGSTDdTKZbTLX6Pze0iEsI4CsCB+t9qPZz6l4p7owUkPEWSYB6FKXsGAfnQtv s5AvN03ZSfbRrAopkv1PDEWMiom+nj5n0N4ARr83hIwvIizX0tXYRiS7LZGfoSuXskpYqTGRNEtF BRZNZMV7yAQm2rSrE2CYzG0pGFneNG2oWjWSrA3tki+g3Fpde/0kzfAOheYHeWWN2MNaZt7UoVkT rJkbcMyBNTAzU+r7MK+xIy3D4KgSuhbTWDOZDsoiSB5LfqgJXk5FzUwQZll5kDc1O1B4x+8sv3P5 aftzYGQBow5MaDPk5Gs3ECrZcX0c03T/EBQ7Yl62MMM9ekcBloJy6OxSWdU8GUXKxmno0IEbwgzM +NILVYxncnwMlJw1hTtLKyeVxJD5gcnGn9EFXRdnhSNWwIt34Ez+Wupgq9GoFDAq9Bdh8VlvwcEK 5laaYMAlUcRYVs7mhksi4pkukC8pxbAjWmjDmozQ+DLyLqI47UJmZhKfMqlqbROSbI+hY2RMxdIU 2NxK69HPp0FZ/0TCbTSVkHsKFWfmSOxehflHDbJO2O2wrBzlvzv7KBKFhuKqoT56xvMiRSzvMG0r ianIW6xWIQwWLC0LEsSIQU0yCl+BC1a7VClg2iICVXLcMzOVduG0m4WYnKQuUiEa0mQVgyHmk+sj KLkmmZ0Txw0nEXlUESCUxdRszUqVMcsElZ482JmpifQHutSxE4GhY9zZW2b33llrPbZnxhwxH5Zz xdEjBxbwXDOYSu4yfUgrBBlxibzUFjjB0DBgMAGElMoUHP+SweyY+r6/A+PE4aZGpjgw4YCR8wJd gecGAuNZIleCyeTngWYm43nRs/x/dKE8MH630G7sOgx16jU7jQ2IehEKEzDkOYZNCZxLBDIHFDQ1 FWEyGo3ksJP1erl+L0ZGYOb4t+++RaSiNYXwViLuM+Gu3jctZBdeBMolPC84h22lWjEE7y6a5BeY IZ4jyI2JqZkOxFBQUzFRqNTGspXimrJziQiwM2NzaRFQOiq4En9J1PEcapoECxzONTukeSLAlQzr yifYWnPAksjZLmX9+Zv3lvvBgzMibMjhMpc6DnSdyoM+M0FDYHbq+99AX2vJoxdX1LgBLFidadUw PIBjtb8WgzNWNgT5VhqnJo1k2vkdiHU8iZ5hodBPRIYbTRzHhM4wtHRORsUJmMTsrzG4aeB7KGLI NBN3FsjaMgz5HAfBiAxBbGDDhi6++qmB4hIwJrI3PHRaDzA+C5rp6LJZB2fi4O73Pc5PrfQYguXp NTs4Y3843cYnERFZ1OPrtGxXTNuKWivpkKYKSUNpoqMEDMcOFPikHzTlWV5jVoZ1LqOwfSXEz3ta m9abH0NXxJFlKG6RZAt95yKDoBcYCk3FJcFhiJyHjzbCp8n0dEn5PVwKS2MuDb8HZtxOLhzmdV81 QnJbreK1H8yhWNidfHxqIfFL1c//LjMzqvgGuxKmeZxWkiZpgVPTA3gScW/QYycuMhXNWDB0x9/I 0358Xlg6WyFp5nF2NhmKTVPChQ91oSPEIKawXms2Jq69F67LO2efc+DsusudtKzOwlOuwDtwJ7rp xc1VduAyoQDQFoXjy7KVJ1fmVOJlFmYfQqRJlBpjJ5QnMkpGBiPKESpQm+jyJIamJkYwhGwrmBYs exE8u1DUOFx4ZhcwOCgXCVJy0zGm9ykPMwyGACCasXpXQQZkRaEMjlyKMJZNHm10Gt5qVlFKY8ZR IEZXxhyKjilCg8xIEXs1ChQYgYg8iYjprnzQXQYrkyIsFWwc8vbK5rMoFKgHNZRFIDAFyCs0gVSt CTUAvSaPVCC9XrQWR7LKOSYqL6sFCU9DJvKC2+wb3uBGZFO7SQCm6q97PGh6wPk9RtyncAwD9zUS Ao+O8bYDZmRR+qjhVmu8FRSbQ2xtCGj6/t8/4IXzeNYlPO0tN4t6AbXpPcJG+iJQxmeu4KMsHM0l tMCW0qSvbhnLdo7EFDPc8ESMJH42QVwH3p5wyFH6j4IJSd38qi/LEl74gQW4cyGlO9SkXlV+QbPG fTcxCRARKBJRF2IifcLoTM7z1QcONsV3lQLbAsJrnFLBJOLwKH4J8ywQuAo4nGwG5ttDbbMlqLRH +XpSvpxWRjFwrBtLllfLTrt6Pd5UWR2kTCBF5Wp3kWfZ7hiN77RExBFJk5nE6h1JQ+vkrCM9LCB9 DYlvwyx1BQWVV/pDJDIazfYFnzNyJgdr4Sa4QoJBMLXEdRkPD6jN3ni63F2m6OxxXU3JjYnVxNeV pUEtrMkCeQpNTK6vfN6K6qwHDhHFMyW3bqTgvCIis7iMCYBxsiVyQqMc5WXw6eifJkT5Xw27ROQJ +MRJBJCkiTbDFuZ4rbMQkF0N1RR7WCXm3iJMJgUDlLFibfVg7OJj5pjrDtgWCzGs8wwqtoEsDLef BmDNRjYjTMSGU2PmUtQHG8GrjiJBdeECQJQkSvLgRmzGkEPdocDQ1qJo5m5aEGJgyUxelga4ZA1b TyKwu+kAuLK8qIulRSRRnUWBjuw4YuMW0krzCG8mQKDM1FJkrJiWojO1ncaToQeVNTcNbIrFVGTT LYj2ayiGqZOIp2JmUZmzc5h1YHsAOlAeCUEsbWkwjBvOltpdjg4HZdJmCobD53L8/P06QagBMQ66 cCPIHCUqpUpJgbyNy5OwKKcCGLBJ4NywHZwnZg4BUdTngXMQYLz36KpWGbceL4IsUq7J13X5B0Q7 7zfWfQwFHgZ7GbaGoLkK3ZDIsTpcY9FiRlU7tBKl9sBA8gBEzTxzbyDuL6xVGlgB6e4fYRsab3xO rGIVwjLl0L1klttrKzBr1iKqoqzo8abh3oomt7xYKkrWqjLvgjhB3QR4fj4xI+BERINfsQgrNwEX BMEYVFDENIoSJElf7E/jGRpuZBPvRhfgsKBpr/d5gbLoNWkv3BisnFmkEJBOn4VLZ0uc6BfAHivi QJPzls7T5G4tiFOdh3HzL5MOIkxUpyK7SUtHceE5t5MDIGZkyZkzMmBmIljcwX03XDJZn8V5aqhn ILz+ZY2CwrIMwFTN3tT6zARnuwETKloHFQx6MBoMFYnCW2Aj8PmW+ucXWC6jgGClX8kX9whIyHK5 LxPVY25fSQyKzO0MimtDTM3A1rBRSdLXtF7guLFWeCXAflMRWd3176EMKsxBuDxngsxmN8lM6+yi S7yicpnOA3sJZLqto5ieB160cHA6vibCRmHcet2mY3Pg8QX1611QAHZKLS9zYBM7scacXL9iK/WX jo7BDIMyRtOp1NDwNetj4c/U6FDoY1rEgMeJ1OSstjFWPRUMSo7dGfglogaHofKGY2hU9jEeqnec OHqax32OZuaRt+cAWkZUN/KnhSTKA7od6iQMzMxQmWMFHrDu1GxCmIbZHA3tyTGMELWVETLCrJVC HJF4AyyQUw7hEl0eBY8Tw5PQyhI7FB7UOTEzicipU8U4qMshKw5EyRkBdmmYt5MLq1EXbIGcwcjk cDq9PvO8WAfN0P7bklpDaYjSS+8LzicTfVI2mAA1WGgmM6NZapFOFaoJcY0FfORWO01pw81U6eHh jDWMSA3OSWJqMZHVbDyZAXwFlJVBOZRTGUtgVdqO7Mveye5rdndYWxVoMd2+bdAsHEq4uh75zCju LEqEeJBr9uo6TvPLGUvbcEOgL3mJaZG8keRrIMigvQzkuw7YHULIyNhRBTCEzLaZEGZWryNBtv4S PEsBaS01lZ4Zq0LtpBdAvhK+BJssps0kiDWbS02nrNxXM4vjOrvKiWRtbW6lp1t7ueZv4OpwxhAt PZ2/bxAk0iA64yxlIIcAZBKGGJECQLZ15xRDfpngUQBlYh4BSILRoSERmGjGUSScCkzEkY5C2oBE NEH9NSU+eQSiCUH2d+7olJllAqUPpHnXGIRx9jlDmYsAZUkshoNBlOEyGYznGUxPIPMvHoKR6sk5 A7H1PAChA2HsNChmcg0VyfO5lShtIJo7icsNSOWNn1B38QfeDkRtiYpTOzvZc5HXqWuvAJNxyPtn xTu9yanBnfY22oSEghiCIOqRe9na3NACwk4vQn6QhLgZBBHBkr5bR3fDO7LHqcak5O8z3pDlaADh nbBK0P/ZunucBe4efB0y5TKbSKWloo7iMA6WKV1nDSS+DxKPuIYgiBiA6afC13P6HS1FKni1HMpT UFPNyqDNNArEx6M24AxKWsrY44XlCqcUIZQlkAygUDAv951NmGo41F6sUfBhS4Av6NX1BiIO59lu S5dXzHSfGKNcnRT1eUPwi1CqtS/Vjy5oY3a5kMwGu3y/eSF2QTd7ZsLfECxAbQ7vRoNkOAuUM00x yDhpvcL+da2OIHjpniPoGQ+DNP5tBudHnyHpvDKUtJ3fgcnwfTa0a/Jtta3yfar73uQFDudTM7ms F0a92iZ1k8IEJHoUNQuMO7ic9SVwwBCEeATQVsQeIFzU3laej/fQjmcoMMQQDQFhBqQzQDVrcB1a G9wTNzoeDgb0759aMBC+7i+6UmU+CDwM/zzgbHo+BlsFb35STYtUtLSqew1CcXbtD45a+LYBtepg aGJCwokA6/EerpKQecm124cQQIRjM1QRW5gXh8ZnT0XzF72vuLFI09J7qmaFPaaj7qZjcog9fyC2 ozF5+ttxRpct7Ew0Imjv6h2suKEEnetpsd7Rm9liPIhdN5BAuFqlqrA3zQyJtoGIaSeZmUeraRiT sgZ9zBXWErFIPwMBNa2EE/kWNG6aLsZMqcC5oAVSThAwJBDECssjM+Z5PZxswYvhyfZASm2VPiY6 OzdW3mxcGlJnS4+2v0HFbW1QMXY3mHoB9YP3GrI7YoIPmS6Ba5yT4GbZbawhM1ZELCQ0hWpAc/lg vyPxudTtvQ5G6uLKZ6NV3vfpaXmcrENhvUTYFCPXv3UcbZ1akeCGQDyu+1382qGxwY+rPRpZ+zDl ysFIaXg8Q5utwHQyHqi+b1NAajaoPk8Awdu5jTR634kLLykSlJIAgg977/jVCMA4pM3vkyuYBBvJ cmSs0Kak2tCsBu5HVDLY4iutwIUI38/0TB2QzwtDWGcgCWO+XNqpYGL4P1FGviSf1mKqfGd2PJ01 UAkVQtGbyMcIH0oGCQuCoibDT5OkVLsM2TqIWVIb8Wk026GRgNNvpYfIXiXQXuNfNISJEpeD7Xs8 BdAeh3LjKQ6pE2Y1IcCHiMITWAiRTS9J85LBcA+DzvSEjnyguGS555IYRraMYmnGAS2qFIPZoF4u FbPlukTYblOp75JJJJJJJJJJJJIrnPuAKYGTScJQhcnYLr8+2DiUEe8qSA44bwgJuAuSsw95R1kC kgQ9TXPqdGZ3hJ0wwINzvnqXkeK+7lp0FwVNs7u4lhWow0WVddi4/C1+SDFKiPF+6IzV7gFRqk00 01uV95SB4uvfXpVfRTEmaXEIuMuhQGUMBrAYZz4LqQKKXAcBmWhBGWuBpvxVqEmpxuao8wLtQZpR yoAzwF4ObiDVDrCkE5Hy82wwCjabY0xl6feTvbQyg+Ln629Tgob3JkTnpAd5ugkDPOQsN9WlnY5T CrINsBoYv2PFx9LXFo6/E05utE9weKSP2ph8BPJ2VNh3NhWugNSISIV9HZrL0PsqCGnJC8A+rNqG IbWVsyw8j801XMo/fD2wOqu3m7dHqe0F8zTWRYelNjRpvPo1GkKEQn0977ZSZUNiZAvNxc0eT/OQ mYiNoEgOxeH0vCgAOTFKh0a3q9Xi7G08G5objuX78UdWZ8ecmcD1YGNjAeJheOGo6NrpbXs63XBq Be0NgTfryjo1maPR7XFzOQL6bRHoZOYHN5mfd08/YUpaK2gUP1USybre17E78XAsQ8aOaiQLifwd T+l0FVKWud1PqwATOU6vB1A5mM9ruKSVjy23tntzOgNznP/i7kinChIdLsIUQA== --===============5124002576908338161==--