I have a function in my package spec that has the
reserved word DETERMINISTIC. DETERMINISTIC is a valid
part of a function declaration. PLDoc dumps on this.
net.sourceforge.pldoc.parser.ParseException:
Encountered "DETERMINISTIC" at line
66, column 41.
Was expecting one of:
"AS" ...
"IS" ...
";" ...
"(" ...
at
net.sourceforge.pldoc.parser.PLSQLParser.generateParseException(PLSQL
Parser.java:9471)
at
net.sourceforge.pldoc.parser.PLSQLParser.jj_consume_token(PLSQLParser
.java:9334)
at
net.sourceforge.pldoc.parser.PLSQLParser.programUnit(PLSQLParser.java
:2627)
at
net.sourceforge.pldoc.parser.PLSQLParser.declarativeSection(PLSQLPars
er.java:1825)
at
net.sourceforge.pldoc.parser.PLSQLParser.packageSpec(PLSQLParser.java
:1119)
at
net.sourceforge.pldoc.parser.PLSQLParser.input(PLSQLParser.java:951)
at net.sourceforge.pldoc.PLDoc.main(PLDoc.java:241)
Logged In: YES
user_id=86901
Can you please provide an example (or minimal test case) of
the package spec ?
Logged In: YES
user_id=744010
Here is an example spec that will compile under 9i PL/SQL
CREATE OR REPLACE PACKAGE test_deterministic IS
--
FUNCTION test_determ(p_dummy IN VARCHAR2)
RETURN VARCHAR2 DETERMINISTIC;
END test_deterministic;
/
Logged In: NO
I am getting a similar error when I use a TYPE definition in
the package spec.
eg:
CREATE OR REPLACE PACKAGE pkg_array
IS
TYPE arr_num IS ARRAY (5000) OF NUMBER;
TYPE arr_vc2 IS ARRAY (5000) OF VARCHAR2(300);
END pkg_array;
/
Logged In: YES
user_id=86901
Same about PARALLEL_ENABLE.
Test cases:
create package hints as
FUNCTION F1 (P1 NUMBER) RETURN NUMBER DETERMINISTIC;
FUNCTION F2 (P1 NUMBER) RETURN NUMBER PARALLEL_ENABLE;
end;
/
Logged In: YES
user_id=86901
fixed in CVS