05 October 2010

Oh, no - Ambiguity strikes again in the 4 October quiz (1461)

The English language (or, rather, my use of it) strikes again! The 4 October quiz was one of those non-code, all-words quiz and it burned me/us again. The quiz question was: "Which of the following statements about PL/SQL records are correct?" Players complained about three (yes, three) of the choices. But I don't agree with all complaints. :-) Let's take a closer look.... 1. "A record contains an audio or video recording for storage in the Oracle database." As one player wrote: "I chose to read it as: 'A record may contain an audio or video recording...' Obviously, it is a column within the record that contains the multimedia experience, which means the record also does.' My response to this interpretation is: I disagree. That is, I suppose I understand why you might read the choice this way, but I do not believe it is a reasonable interpretation - I don't think there is ambiguity here. The question makes it clear that I am asking you to identify correct statements about records in general. It is true that a record might contain a "recording"/BLOB field. But it doesn't have to and the choice clearly (or at least, clearly enough, to my mind). This statement is not true for "PL/SQL records" as the question asks. Furthermore, it should be well understood that a PL/SQL record is not necessarily stored in the Oracle database (as a row in a table). So this statement was incorrect on several counts. I will not change scoring for this choice. Another player wrote about this choice: "I would have preferred this option to say 'A record ALWAYS contains a video/audio recording...' to remove the ambiguity." Yes, that would certainly be more explicit, but I also feel that it would "give too much away." 2. 'While it is possible to assign NULL to a record, it is not possible to check to see if every field in the record is null using the "IS NULL" operator.' Sigh. Yes, here we have an ambiguity that I cannot explain away. I wanted you to know or learn that you cannot use the IS NULL operator with the record variable itself. My decision to include "every field in the record," however, clearly invites you to interpret this choice as correct, in that you can check the contents of each field using IS NULL (or, if a field is a record, you could in turn use IS NULL on each of its fields, etc.). I should have made it clear that I wanted the IS NULL to be applied to the record. I did not, and so I will give all players credit for this choice, change the text to make it more explicit, and change all of your answers to indicate "correct" for this choice. 3. "You cannot check for equality between two records using the "=" operator. " One player suggested that this choice has the same ambiguity as #2. That is, you can use "=" to compare the values of individual fields of the record. I disagree with this interpretation. I believe it is quite clear that this choice asks you to decide if you can use the "=" operator with the records themselves, not their fields. I will not changes scores on this choice. So, sorry about that and on to the next quiz! Fortunately, it has code in it. :-) Cheers, Steven Feuerstein


  1. Hello Steven,

    Maybe this is not exactly the right place,
    but I should express my deepest gratitude to the detailed analysis that you perform, together with the players feedbacks, to give us as most correct information as possible.

    As a relatively new player, but one that is becoming more and more excited about plsqlchallenge, I just have a technical question related to this quiz:

    My "Quiz taken" page with the answers shows that I have 4 right choices out of 5.
    However, on the summary header of the page
    it shows %Correct for this week as 60%,
    while I think it should have been 80% (this being the first and only question for this week up to now).
    Can you please explain me briefly how is this calculated ?

    Thanks again lots of times for everything you do for the PL/SQL world community !

    It is such a good feeling to belong to a family of people for whom the knowlegde represents one of the most important challanges !

    I am really grateful to you for our daily excitement !

    Best Regards & Keep it going !
    Iudith Mentzel

  2. Several players reported the discrepancy in their ranking. This should now be fixed.

    Thanks for your kind words iudith, I am glad you are enjoying the Challenge!


  3. Oh man.....I recall sitting in front of the monitor last night, adrenalin is pumping, pulse accellerating. It's time for the quiz, I'm ready, I hit the button, focus, read and think... Hmmm, that's a small quiz today. Single sentences and the whole thing occupies only the upper left corner of my monitor. Cool, this should be quick :-)

    First couple of choices, no problem, then comes one about records and IS NULL. Thinking to myself, I believe I know what Steven is trying to say here but also that a comment or two will be heading his way (to make sure, I send one myself ;)

    Then came the really tuff one: "A record contains an audio or video recording for storage in the Oracle database."
    Now what? Where's the question?
    Steven is making a complety obnoxious statement and presenting it as fact. Obviously, that cannot be and I am scrambling to find a logical solution to the problem. What did Steven mean to say? Options were limited and along the lines of: can, cannot and may. I settled for "may" and scored a wrong choice :-(

    What happened? I was sure that I had figured out what Steven was trying to say. Of cause, I could have used words like only or shall, but that would have evaluated to what Steven wrote in the first place and therefore be no good.

    Then, finally, the light came on. While we, the players, are all focussed and serious about doing well, Steven displays a sense of humor.... He actually meant it. All records have a recording (That's one small step for man, ....) and I fell for it :-( The only comfort is that a quick look at the ranks shows a "few" others in the same situation ;-)


  4. Hello Steven,

    Thanks a lot for your so prompt reply !

    And many congratulations and wishes of good luck and high achievements for your son, at his starting career as an APEX developer !!!

    Best Regards,
    Iudith Mentzel
    ( one who also wants to change this world as much as you do ! )