Hi, Michael! On Sep 14, Michael Widenius wrote:
Hi!
I did notice that we haven't cleaned up the usage of the --old, --new, --safe-mode and --skip-new options in a long time.
Here is a cleanup of this for MariaDB 5.2 (soon to be made gamma). After this suggested change, here is how the options would work:
--new Use new functionality that will exist in next version of MariaDB. This function exist to make it easier to prepare for an upgrade. For version 5.1 this functions enables the LIST and RANGE partitions functions for ndbcluster.
--old Use compatible behavior with previous main version for some functionality. For MariaDB 5.1 this means that we are using the old, MySQL 5.1 compatible, way to calculate checksums for records. If you are using --old, CHECKSUM TABLE will always do a full table scan.
--safe_mode Disable some potential unsafe optimization. For 5.2 these are: INSERT DELAYED is disabled, myisam_recover_options is set to DEFAULT (automatically recover crashed MyISAM files). For Aria table, disable bulk insert optimization to enable one to use maria_read_log to recover tables even if tables are deleted (good for testing recovery).
--skip-new Skip some new potentially unsafe functions. For 5.2 these are: INSERT DELAYED is disabled, Query cache size is reset.
...
Any comments ?
Yes. my_getopt supports skip- prefix for all options. Having --skip-new that is different from --skip-new is very confusing. No, "very" is an understatement, Very, VERY, terribly, awfully, deadly confusing. In fact - really! - before I saw this your email, I did not realize there is --skip-new option, and naively thought it's just --skip-new. So, please, please, remove --skip-new option altogether, and let --skip-new to mean what it should (according to the principle of the least surprise) - disabling previously enabled --new. Regards, Sergei P.S. If you cannot see the difference between --skip-new and --skip-new, please replace every second "--skip-new" in this email with --new=0 or --disable-new :)