diff options
author | msvensson@pilot.blaudden <> | 2007-05-16 10:14:29 +0200 |
---|---|---|
committer | msvensson@pilot.blaudden <> | 2007-05-16 10:14:29 +0200 |
commit | e888128e88927fe3087926a4d1ffe03ee380ae2b (patch) | |
tree | 83b5f71796de7792b474f2acdd93f5a5c6f881da /client | |
parent | a0b1e5406dec85d6f9a3244cde562efdfff8ecb9 (diff) | |
download | mariadb-git-e888128e88927fe3087926a4d1ffe03ee380ae2b.tar.gz |
Bug#28223: mysqldump --compact --routines restores from @OLD_SQL_MODE w/o ever setting it
- mysqldump generated output that set OLD_SQL_MODE twice, to different values
(for triggers), or not at all (for routines) in some cases.
Diffstat (limited to 'client')
-rw-r--r-- | client/mysqldump.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/client/mysqldump.c b/client/mysqldump.c index 4f908b531b1..f1e6a825257 100644 --- a/client/mysqldump.c +++ b/client/mysqldump.c @@ -1456,6 +1456,9 @@ static uint dump_routines_for_db(char *db) if (lock_tables) mysql_query(mysql, "LOCK TABLES mysql.proc READ"); + if (opt_compact) + fprintf(sql_file, "\n/*!50003 SET @OLD_SQL_MODE=@@SQL_MODE*/;\n"); + fprintf(sql_file, "DELIMITER ;;\n"); /* 0, retrieve and dump functions, 1, procedures */ @@ -2106,8 +2109,11 @@ static void dump_triggers_for_table(char *table, DBUG_VOID_RETURN; } if (mysql_num_rows(result)) - fprintf(sql_file, "\n/*!50003 SET @OLD_SQL_MODE=@@SQL_MODE*/;\n\ -DELIMITER ;;\n"); + { + if (opt_compact) + fprintf(sql_file, "\n/*!50003 SET @OLD_SQL_MODE=@@SQL_MODE*/;\n"); + fprintf(sql_file, "\nDELIMITER ;;\n"); + } while ((row= mysql_fetch_row(result))) { fprintf(sql_file, |