summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormsvensson@pilot.blaudden <>2007-04-18 16:23:19 +0200
committermsvensson@pilot.blaudden <>2007-04-18 16:23:19 +0200
commit76285bdf31d0add956441eb81db7a90b5950f05f (patch)
tree0845aba6c9b63f58b4dcb2622c2e5bba4399535a
parent01133f8e6f1d1c1ef46b2befda753756e12d7252 (diff)
downloadmariadb-git-76285bdf31d0add956441eb81db7a90b5950f05f.tar.gz
Update mysql_upgrade tests for 5.1
Add "two liner" to mysqld --bootstrap that allows wo write scripts that can be run both by mysql and mysqld --bootstrap Remove duplicate create of MySQL system tables
-rw-r--r--mysql-test/r/mysql_upgrade.result18
-rw-r--r--scripts/mysql_system_tables.sql18
-rw-r--r--scripts/mysql_system_tables_fix.sql39
-rw-r--r--sql/sql_parse.cc5
4 files changed, 32 insertions, 48 deletions
diff --git a/mysql-test/r/mysql_upgrade.result b/mysql-test/r/mysql_upgrade.result
index ce4706c6d92..35f29d0ad84 100644
--- a/mysql-test/r/mysql_upgrade.result
+++ b/mysql-test/r/mysql_upgrade.result
@@ -1,14 +1,20 @@
Run mysql_upgrade once
mysql.columns_priv OK
mysql.db OK
+mysql.event OK
mysql.func OK
+mysql.general_log OK
mysql.help_category OK
mysql.help_keyword OK
mysql.help_relation OK
mysql.help_topic OK
mysql.host OK
+mysql.ndb_binlog_index OK
+mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
+mysql.servers OK
+mysql.slow_log OK
mysql.tables_priv OK
mysql.time_zone OK
mysql.time_zone_leap_second OK
@@ -21,14 +27,20 @@ This installation of MySQL is already upgraded to VERSION, use --force if you st
Force should run it regardless of wether it's been run before
mysql.columns_priv OK
mysql.db OK
+mysql.event OK
mysql.func OK
+mysql.general_log OK
mysql.help_category OK
mysql.help_keyword OK
mysql.help_relation OK
mysql.help_topic OK
mysql.host OK
+mysql.ndb_binlog_index OK
+mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
+mysql.servers OK
+mysql.slow_log OK
mysql.tables_priv OK
mysql.time_zone OK
mysql.time_zone_leap_second OK
@@ -41,14 +53,20 @@ GRANT ALL ON *.* TO mysqltest1@'%';
Run mysql_upgrade with password protected account
mysql.columns_priv OK
mysql.db OK
+mysql.event OK
mysql.func OK
+mysql.general_log OK
mysql.help_category OK
mysql.help_keyword OK
mysql.help_relation OK
mysql.help_topic OK
mysql.host OK
+mysql.ndb_binlog_index OK
+mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
+mysql.servers OK
+mysql.slow_log OK
mysql.tables_priv OK
mysql.time_zone OK
mysql.time_zone_leap_second OK
diff --git a/scripts/mysql_system_tables.sql b/scripts/mysql_system_tables.sql
index 3250aa0fc9a..c779d174d12 100644
--- a/scripts/mysql_system_tables.sql
+++ b/scripts/mysql_system_tables.sql
@@ -65,15 +65,15 @@ CREATE TABLE IF NOT EXISTS proc ( db char(64) collate utf8_bin DEFAULT '' NOT NU
CREATE TABLE IF NOT EXISTS procs_priv ( Host char(60) binary DEFAULT '' NOT NULL, Db char(64) binary DEFAULT '' NOT NULL, User char(16) binary DEFAULT '' NOT NULL, Routine_name char(64) binary DEFAULT '' NOT NULL, Routine_type enum('FUNCTION','PROCEDURE') NOT NULL, Grantor char(77) DEFAULT '' NOT NULL, Proc_priv set('Execute','Alter Routine','Grant') COLLATE utf8_general_ci DEFAULT '' NOT NULL, Timestamp timestamp(14), PRIMARY KEY (Host,Db,User,Routine_name,Routine_type), KEY Grantor (Grantor) ) engine=MyISAM CHARACTER SET utf8 COLLATE utf8_bin comment='Procedure privileges';
-CREATE PROCEDURE create_general_log_table() BEGIN DECLARE is_csv_enabled int DEFAULT 0; SELECT @@have_csv = 'YES' INTO is_csv_enabled; IF (is_csv_enabled) THEN CREATE TABLE IF NOT EXISTS general_log (event_time TIMESTAMP NOT NULL, user_host MEDIUMTEXT, thread_id INTEGER, server_id INTEGER, command_type VARCHAR(64), argument MEDIUMTEXT) engine=CSV CHARACTER SET utf8 comment='General log'; END IF; END;
-CALL create_general_log_table();
-DROP PROCEDURE create_general_log_table;
-
-
-CREATE PROCEDURE create_slow_log_table() BEGIN DECLARE is_csv_enabled int DEFAULT 0; SELECT @@have_csv = 'YES' INTO is_csv_enabled; IF (is_csv_enabled) THEN 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), last_insert_id INTEGER, insert_id INTEGER, server_id INTEGER, sql_text MEDIUMTEXT NOT NULL) engine=CSV CHARACTER SET utf8 comment='Slow log'; END IF; END;
-CALL create_slow_log_table();
-DROP PROCEDURE create_slow_log_table;
-
+delimiter ;;
+CREATE PROCEDURE create_general_log_table() BEGIN DECLARE is_csv_enabled int DEFAULT 0; SELECT @@have_csv = 'YES' INTO is_csv_enabled; IF (is_csv_enabled) THEN CREATE TABLE IF NOT EXISTS general_log (event_time TIMESTAMP NOT NULL, user_host MEDIUMTEXT, thread_id INTEGER, server_id INTEGER, command_type VARCHAR(64), argument MEDIUMTEXT) engine=CSV CHARACTER SET utf8 comment='General log'; END IF; END;;
+CALL create_general_log_table();;
+DROP PROCEDURE create_general_log_table;;
+
+CREATE PROCEDURE create_slow_log_table() BEGIN DECLARE is_csv_enabled int DEFAULT 0; SELECT @@have_csv = 'YES' INTO is_csv_enabled; IF (is_csv_enabled) THEN 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), last_insert_id INTEGER, insert_id INTEGER, server_id INTEGER, sql_text MEDIUMTEXT NOT NULL) engine=CSV CHARACTER SET utf8 comment='Slow log'; END IF; END;;
+CALL create_slow_log_table();;
+DROP PROCEDURE create_slow_log_table;;
+delimiter ;
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') 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', PRIMARY KEY (db, name) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT 'Events';
diff --git a/scripts/mysql_system_tables_fix.sql b/scripts/mysql_system_tables_fix.sql
index e9816bd21e9..7985dc1802e 100644
--- a/scripts/mysql_system_tables_fix.sql
+++ b/scripts/mysql_system_tables_fix.sql
@@ -389,43 +389,6 @@ ALTER TABLE proc MODIFY db
char(64) collate utf8_bin DEFAULT '' NOT NULL;
#
-# Create missing log tables (5.1)
-#
-
-delimiter //
-CREATE PROCEDURE create_log_tables()
-BEGIN
- DECLARE is_csv_enabled int DEFAULT 0;
- SELECT @@have_csv = 'YES' INTO is_csv_enabled;
- IF (is_csv_enabled) THEN
- CREATE TABLE IF NOT EXISTS general_log (
- event_time TIMESTAMP NOT NULL,
- user_host MEDIUMTEXT,
- thread_id INTEGER,
- server_id INTEGER,
- command_type VARCHAR(64),
- argument MEDIUMTEXT
- ) engine=CSV CHARACTER SET utf8 comment='General log';
- 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),
- last_insert_id INTEGER,
- insert_id INTEGER,
- server_id INTEGER,
- sql_text MEDIUMTEXT NOT NULL
- ) engine=CSV CHARACTER SET utf8 comment='Slow log';
- END IF;
-END//
-delimiter ;
-CALL create_log_tables();
-DROP PROCEDURE create_log_tables;
-
-#
# EVENT privilege
#
SET @hadEventPriv := 0;
@@ -503,8 +466,6 @@ ALTER TABLE tables_priv MODIFY Table_priv set('Select','Insert','Update','Delete
UPDATE user SET Trigger_priv=Super_priv WHERE @hadTriggerPriv = 0;
-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;
-
# Activate the new, possible modified privilege tables
# This should not be needed, but gives us some extra testing that the above
# changes was correct
diff --git a/sql/sql_parse.cc b/sql/sql_parse.cc
index 9d02053ec00..47a9bd302e5 100644
--- a/sql/sql_parse.cc
+++ b/sql/sql_parse.cc
@@ -364,6 +364,11 @@ pthread_handler_t handle_bootstrap(void *arg)
buff[length-1] == ';'))
length--;
buff[length]=0;
+
+ /* Skip lines starting with delimiter */
+ if (strncmp(buff, STRING_WITH_LEN("delimiter")) == 0)
+ continue;
+
thd->query_length=length;
thd->query= thd->memdup_w_gap(buff, length+1,
thd->db_length+1+QUERY_CACHE_FLAGS_SIZE);