Bug #2900 mysqldump 10.2 ignoring given parameters
Submitted: 20 Feb 2004 1:39 Modified: 9 Mar 2004 3:13
Reporter: Tite Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Server: mysqldump Command-line Client Severity:S2 (Serious)
Version:4.1.1 OS:pc-linux (i686)
Assigned to: Sergei Glukhov CPU Architecture:Any

[20 Feb 2004 1:39] Tite
Description:

I raised a database from 3.23 to 4.1.1, so when using the mysqldump binary that came with the binary -since no other mysqldump will work on 4.1.1 because of the authentication method- to dump the database, or some tables of it, the output is _always_ the same. No matter what arguments I give to the binary, it ignores them, an reproduces the same output.

How to repeat:

--{ (Fri Feb 20) - (10:22:58) ~/public_html/iempresa/alfa_05
--{ (tite@caradhras) $ mysqldump -u mysql --password=XXXX -h caradhras -P 3307 --compatible=mysql323 -c -t biomundo_gestion Tipos_IVA

The output:
-- Server version       4.1.1-alpha-standard-log
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
..

/*!40000 ALTER TABLE `Tipos_IVA` DISABLE KEYS */;
LOCK TABLES `Tipos_IVA` WRITE;
INSERT INTO `Tipos_IVA` (`id_iva`, `nombre`, `porcentaje`, `recargo_equivalente`, `cc_imp_soportado`, `cc_imp_repercutido`, `cc_re_soportado`, `cc_re_repercutido`) VALUES (0,'7% (por defecto)',7.00,1.00,NULL,NULL,NULL,NULL),(1,'IVA 4%+0,5%',4.00,0.50,4720000004,4770000004,4720003002,4770003004);
UNLOCK TABLES;
/*!40000 ALTER TABLE `Tipos_IVA` ENABLE KEYS */;

What I exptected:
- No '/*!40014' or '/*!40000' , since those options are not mysql 3.23 compatible
- No 'LOCK TABLES', since I didn't specify the '-l' switch
- No extended inserts, since there was no '-e' switch
- No enable/disable keys. There is no '-K' modifier.
[20 Feb 2004 3:43] Sergei Golubchik
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.mysql.com/documentation/ and the instructions on
how to report a bug at http://bugs.mysql.com/how-to-report.php

Additional info:

/*!40014' and '/*!40000 are 3.23 compatible.
Try them on 3.23 server - you'll get no error.

As for other issues:

%mysqldump --help
...
  --opt               Same as --add-drop-table --add-locks --all --quick
                      --extended-insert --lock-tables --disable-keys. Enabled
                      by default, disable with --skip-opt.
...

As you see, --opt is ON in 4.1 by default, while it was OFF by default on 4.0 and earlier.
[20 Feb 2004 8:28] Tite
Thank you. I ran through the --opt switch, but I didn't pay enough attention.

Still, the --compatible=mysql323 doesn't produce an output compatible with 3.23.32. I get the following:
ERROR 1064 at line 13: You have an error in your SQL syntax near 'DEFAULT CHARSET=latin1' at line 11

from line :
) TYPE=MyISAM DEFAULT CHARSET=latin1;

also, the /*40014 /*!40101 raise the following on mysql 3.23.32:
ERROR 1065 at line 6: Query was empty
[21 Feb 2004 7:01] Sergei Golubchik
as for "empty query" it was fixed in 3.23.50.

CHARSET in 3.23-compatible mode is a bug, agree.
(it's server bug in SHOW CREATE TABLE)
[9 Mar 2004 3:12] Sergei Glukhov
It was checked on latest 4.1 tree.
Result of mysqldump with '-compatible=mysql323'
option is correct.