Writing up some scripts, I see more and more ambiguities with regard to global variables.
For one thing, the names ambiguity between the hyphen (‘-‘) and the underscore (‘_’). So wait_timeout and wait-timeout are the same variable.
But just check out the many levels of inconsistency:
- Command line arguments (e.g. run mysqld with option variables) use the hyphen convention
- mysql –verbose –help shows the hyphen convention
- SHOW GLOBAL VARIABLES uses the underscore convention
- The MySQL supplied sample configuration files use both conventions interchangeably
Enough? Not quite: there are ambiguities in values, as well. For example, you may set query_cache_type to 1 or ON. These are equivalent. That’s very friendly. However:
- mysql –verbose –help will show “query_cache_type 1“
- SHOW GLOBAL VARIABLES will show “query_cache_type ON“
We also have:
- 1 <==> YES
- OFF <==> FALSE
- ON <==> TRUE
Time to decide. Ambiguities are evil. They make for a difficult parsing/analysis/comparison/validation work. Will anyone pick the glove?
PS – Drizzle falk – isn’t this the kind of stuff you’re happy to drop?
you are right. there should be a standard for this.
Thanks for the post. Before I got used to the ambiguity, I kept looking into the docs. Having a single notation would be something to look forward to in both drizzle and mysql.
Yes, this has annoyed me too, particularly early on. There’s a discussion right now about refactoring the configuration management for Drizzle into a plugin, hopefully fixing this can be included in that project 🙂
Hi! Yep, the Drizzle community, as Devananda mentioned, is currently discussing this. The thread in questions starts here:
https://lists.launchpad.net/drizzle-discuss/msg03804.html
Cheers!
Jay