Apparently my first attempt at rhyming proved to be unsuccessful: only two courageous men attempted solving the riddle. As I’m pretty sure a free pass would appeal to many, and I do have a few readers for my blog, I must conclude my riddle was just too hard. Obscure, perhaps.
Hope I didn’t scare anyone off. Without further ado I present some hints. This post will update with more hints as the day progresses — please refresh to see changes. I start with two hints.
But first, recap of the riddle:
Who will open your present,
Make you play pleasant,
Tidy your mess,
Do the same for all else?
It has something to do with the MySQL world.
Hint #1: very subtle
I emailed the program committee asking whether anyone happens to know the answer. Nope.
Which is in particular peculiar, because the answer to the riddle is tightly coupled with a member of the committee. That was hint #1.
Hint #2: not entirely subtle
Hint #3: non-subtle
Answer
So Hint #3 removes all doubt: this is mysqlsandbox.
Explanation:
- Who will open your present: mysqlsandbox opens your MySQL tar file by itself. Just point it to the installation. MySQL is your present since it’s free and you want to play with it.
- Make you play pleasent: the “play” word is important here, since we’re playing in the sandbox. We can do anything we like, and are still protected by the boundaries of the sandbox. Also “Make” is a hint for mysqlsandbox’ install commands: make_sandbox, make_replication_sandbox, etc.
- Tidy your mess: your entire MySQL installation is typically placed under one single directory. You don’t need to look for files in /etc, /var/log, /var/lib, … Removing the install is so easy, and everything is very tidy. The port number, the socket file name — all named according to installed version (when not replication setup).
- Do the same for all else: there are several ways to interpret here. My original intent was that it is free, and anyone can use it freely. But also, it will install multiple MySQL servers on your machine and let you play with them. And also, as Andrew suggests, it will work with MySQL, MariaDB & Percona Server.
Winner
Hrvoje is the first to give the right answer, but Andre Moore is the first to give both the right answer as well as a detailed explanation — which satisfies the conditions I set. Therefore, Andrew Moore is the winner. Andrew: if you do not actually need a free ticket (it is non-transferable, much like a plane ticket) – please let us know so we can pass it on to someone else.
Please use comments below
Prize is given to the one who answers both the right answer and the most thoroughly.
Don’t be mad at me
I hope the final answer satisfies you. If not, please be glad I’ve abandoned my plan to release another riddle, even more difficult.
MySQL sandbox
Who will open your present,
Make you play pleasant,
Tidy your mess,
Do the same for all else?
Okay, my initial shot was Query Optimizer but it’s a flawed answer which made me rethink.
I was also thinking that it could be the mysqld, it opens a connection (present == your presence on the server),
makes you play pleasant by parsing your query. If you’re not playing pleasant it will throw syntax errors.
Once parsed it passes your request to the query optimizer and it will ‘tidy your mess’ based on cost weight (explain extended::show warnings),
This is true of all connections.
But now I’ve seen the hints,
MySQL Sandbox – Will open your present or tar archive and bootstrap an instance,
Can effortlessly create environments for testing technologies such as M>S,MM and Circular replication (makes your play pleasant),
Master controls allows you to ‘tidy your mess’ when you’re finished, take down instances etc.
Does the same for all else…Percona Server, MariaDB, Oracle MySQL.
Maybe I’m bending this riddle into an answer.
Maybe there is no spoon.
😉
I’m going to go with MySQL Sandbox, because the “not entirely subtle” image of the hotel playground comes up as the top image in a google search for “not entirely subtle sandbox hint” 😛
I believe Andrew got there with the full explanation first but I’ll go with;
Who will open your present, = I’ll go with present being a loose reference to prompt, and the fact sandbox will “open” with ./use
Make you play pleasant, = lets you test in isolation without affecting anything / anyone else.
Tidy your mess, = sbtool -o delete
Do the same for all else? = works equally well for all MySQL variants e.g. MariaDB, Percona Server
@Ben,
“… because the “not entirely subtle” image of the hotel playground comes up as the top image in a google search for “not entirely subtle sandbox hint” …”
HA! This is hilarious! Spooky
Will publish the complete answer by tomorrow morning (my timezone);
Meanwhile, in a couple hours I will publish hint #3, which will remove all doubt about the answer, just so other people can choose to try their hand.
@Ben,
The image also comes first on search for “not entirely subtle hint” and for “not entirely subtle hint common_schema”, so no black voodoo is at hand!