• L' Eomot Inversé (8/1/2012)


    I got it right, but I don't like this question.

    Where (if anywhere) is it dosumented how that flag-byte 7 behaves? Nowhere, so the question is asking people to guess what it meansor carry out experiments to discover what it means. People can deduce that it doesn't mean "error" because that is not one of the options given. But they can't deduce what it actually does mean.

    Suppose the 3rd bit (starting at LS end) meant "ignore case in paths", and the second bit means "ignore bit 1" as well as what the book says: then the answer would be three rows of nulls. Alternatively suppose the 4 bit means "ignore case in paths" but the 2 bit says "ignore me if bit 1 is set" as well as what the book says it means; then the answer would be three rows with non-null values. Neither of these is the correct answer, but you can't tell that from the documentation. Note that either the 2 bit overrides the 1 bit or the 1 bit overrides the 2 bit or we get an error when both are set; as we don't get an error, people can deduce that there is something undocumented is happening.

    In fact the 4 bit doesn't mean anything (so far as I can tell - I can't prove it, I've played around enough to believe it but not enough to be reaonably sure of it), and the 2 bit overrides the 1 bit (at least some of the time; I suspect all the time). But how are people expected to know that, without going and playing with it?

    In a context other than QotD, I would definitely approve of a question that makes people go and play with things to get the answer, but I think QotD should require at most a bit of research in the documentation and people mostly won't have time to do more than that, so this question is going to leave people to make a guess or decline to answer (apart from a few, like me, who have already played around a bit). I don't like that.

    +1

    Interesting question, but...

    I answered the question correctly based on the fact that the root didn't have the correct case, but only after I gave up trying to find documentation on the flag value of 7 and tested the flag values effect on some xml code I had.

    If it was the case sensitivity of the rowpattern, I would have used simple documented values for the flag. If the point of the question was the behavior of the undocumented flag value, I personally would have set up the code in the question to allow copy-paste for experimentation, since there would be no other way to determine it's behavior.