diff options
author | igreenhoe@mysql.com <> | 2006-06-21 00:12:23 -0700 |
---|---|---|
committer | igreenhoe@mysql.com <> | 2006-06-21 00:12:23 -0700 |
commit | 85d130c58b64d77d88e2051a4bde5561a21438bb (patch) | |
tree | 1d194d5451f7d9c32736c9c3d68f4aea66966d4a /client/mysqldump.c | |
parent | 52d86dff85830a5fb467e70fc5335cc06c5ec42e (diff) | |
download | mariadb-git-85d130c58b64d77d88e2051a4bde5561a21438bb.tar.gz |
Fix for bug #15977 (switch ordering of DISABLE KEYS/LOCK TABLE in mysqldump)
Diffstat (limited to 'client/mysqldump.c')
-rw-r--r-- | client/mysqldump.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/client/mysqldump.c b/client/mysqldump.c index 3445a23eb5e..58e51b9b955 100644 --- a/client/mysqldump.c +++ b/client/mysqldump.c @@ -1722,15 +1722,16 @@ static void dumpTable(uint numFields, char *table) goto err; } - if (opt_disable_keys) + if (opt_lock) { - fprintf(md_result_file, "\n/*!40000 ALTER TABLE %s DISABLE KEYS */;\n", - opt_quoted_table); + fprintf(md_result_file,"LOCK TABLES %s WRITE;\n", opt_quoted_table); check_io(md_result_file); } - if (opt_lock) + /* Moved disable keys to after lock per bug 15977 */ + if (opt_disable_keys) { - fprintf(md_result_file,"LOCK TABLES %s WRITE;\n", opt_quoted_table); + fprintf(md_result_file, "/*!40000 ALTER TABLE %s DISABLE KEYS */;\n", + opt_quoted_table); check_io(md_result_file); } @@ -1991,17 +1992,19 @@ static void dumpTable(uint numFields, char *table) error= EX_CONSCHECK; goto err; } - if (opt_lock) - { - fputs("UNLOCK TABLES;\n", md_result_file); - check_io(md_result_file); - } + + /* Moved enable keys to before unlock per bug 15977 */ if (opt_disable_keys) { fprintf(md_result_file,"/*!40000 ALTER TABLE %s ENABLE KEYS */;\n", opt_quoted_table); check_io(md_result_file); } + if (opt_lock) + { + fputs("UNLOCK TABLES;\n", md_result_file); + check_io(md_result_file); + } if (opt_autocommit) { fprintf(md_result_file, "commit;\n"); |