summaryrefslogtreecommitdiff
path: root/client/mysqldump.c
diff options
context:
space:
mode:
authorigreenhoe@mysql.com <>2006-06-21 00:12:23 -0700
committerigreenhoe@mysql.com <>2006-06-21 00:12:23 -0700
commit85d130c58b64d77d88e2051a4bde5561a21438bb (patch)
tree1d194d5451f7d9c32736c9c3d68f4aea66966d4a /client/mysqldump.c
parent52d86dff85830a5fb467e70fc5335cc06c5ec42e (diff)
downloadmariadb-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.c23
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");