A player wrote the following after seeing the answer to the quiz:
Please pass on my thanks to Iudith Mentzel, this trick question caught me! I didn't even notice that the table name was the same name as the schema, so totally missed it :) in fact, I didn't even look at the table name. I learned something knew, so it was worth it.I agree with the player: Iudith deserves congratulations; but I disagree that this is in any way a "trick question." First, congratulations: this quiz is an excellent example of using the quiz to uncover quirky behavior in the Oracle database and warn developers of a hard-to-diagnose problem.
I was staring at the answers for quite some time before answering, because I couldn't work out if it was an Advanced or a Beginner question. I didn't have access to a database at the time to try it out. In the end, I decided it must be a Beginner question because it was dealing in simple concepts (functions called via SQL vs. PL/SQL), and answered accordingly.
Personally, I feel this question is an argument in favor of bringing back the "Beginner/Intermediate/Advanced" classification that we used to be able to see when answering a question.
Alternatively, the question should have drawn attention to the fact that the table had the same name as the schema - then it would no longer be a trick question, but a test of one's knowledge about name resolution in SQL vs PL/SQL.
I have run into this scenario several times as I supported the Quest Code Tester tool. A user would complain about the product not working properly and we'd lose way too much time diagnosing the problem before checking the name of the schema - same as the name of a package and BAM!
As for the suggestion that we should have "drawn attention to the fact that the table had the same name as the schema" - I would argue that we did just that. The question starts off with:
"My DBA has created a schema named PLCH in which I am doing my development."
How often does a quiz specifically name a schema? Very rarely. So that should, in fact, have been something of a tip-off regarding the goings-on in the quiz.
I continue to resist the idea of showing the difficulty level of the quiz. In the real world, when you are confronted by a bug or trying to understand some code, you don't get a hint regarding the difficulty or complexity of the problem. The problem is the problem and the code is the code. We dive in and we analyze. So I don't see why we'd provide this information for the quiz.