The program type in the view contains the type of the schema-level unit, not the type of the subprogram in the package.
Objections centered on two issues:
1. There is no "program type" in the view. There is only an OBJECT_TYPE column (and that, only in Oracle Database 11; more on that in point 2). As players wrote: "As far as I was concerned, there was no "program type" in the view therefore incorrect. More so given that it's not only functions, procedures and packages, but types and triggers. It's object type. Petty perhaps? That was how I read it." and "It makes it hard when the question makes up its own terminology for columns in the data dictionary views. I've always called it "object type" because that's the column name, consistent with many other data dictionary views."
2. The OBJECT_TYPE column was only added in Oracle Database 11, yet this quiz stated that 10.2 was the minimum version for which the quiz was valid.
Yes, this is certainly true as you can see from the SQL*Plus session below:
SQL> select * from v$version; BANNER ---------------------------------------------------------------- Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod PL/SQL Release 10.2.0.1.0 - Production CORE 10.2.0.1.0 Production TNS for 32-bit Windows: Version 10.2.0.1.0 - Production NLSRTL Version 10.2.0.1.0 - Production SQL> desc all_procedures Name Null? Type ----------------------------------------- -------- ------------ OWNER NOT NULL VARCHAR2(30) OBJECT_NAME NOT NULL VARCHAR2(30) PROCEDURE_NAME VARCHAR2(30) AGGREGATE VARCHAR2(3) PIPELINED VARCHAR2(3) IMPLTYPEOWNER VARCHAR2(30) IMPLTYPENAME VARCHAR2(30) PARALLEL VARCHAR2(3) INTERFACE VARCHAR2(3) DETERMINISTIC VARCHAR2(3) AUTHID VARCHAR2(12)A correction will be needed.
Other players took issue with scoring the following choice as correct:
You can use this view to determine which of your subprograms are declared as deterministic.
If you simply check the documentation on ALL_PROCEDURES, then for some 10.2 versions of that doc, you will not see a mention of the DETERMINISTIC column. That column is, however, present in all releases of 10.2.
As one player noted, "I would like to solve quizzes where answers is possible to find in Oracle documentation. For instance for this quiz Oracle 10.2 documentation about ALL_PROCEDURES is incomplete."
I can certainly understand why a player might like us to do this, but the PL/SQL Challenge quizzes will not be constrained to the limitations of the Oracle documentation....that would make them of much less use to PL/SQL developers. We have to live in and program in the "real world", not the world presented in the documentation!
So to conclude:
- I will change the minimum version of this quiz to Oracle Database 11g.
- I will clean up the choice regarding "program type" to be more explicit about the column.
- All players will receive credit for a correct selection for the "program type" choice.