[plsql] Fix tests, restore exception handler, implicit cursor attribute

This commit is contained in:
Andreas Dangel
2024-06-07 22:59:44 +02:00
parent 7a57aeb4db
commit e0d465a81b
14 changed files with 277 additions and 123 deletions

View File

@ -569,7 +569,7 @@ ASTDeclarativeSection DeclarativeSection() :
{}
{
DeclarativeUnit()
( LOOKAHEAD(<PRAGMA>|<TYPE>|<SUBTYPE>|<FUNCTION>|<PROCEDURE>|<CURSOR>|ID() (<EXCEPTION>|<CONSTANT>|Datatype()), {getToken(1).kind != BEGIN}) DeclarativeUnit() )*
( LOOKAHEAD(3) DeclarativeUnit() )*
{ return jjtThis; }
}
@ -1080,7 +1080,6 @@ ASTExceptionHandler ExceptionHandler() :
{
<WHEN>
(
<OTHERS> |
QualifiedName() (<OR> QualifiedName())*
)
<THEN> (Statement())+
@ -3148,6 +3147,28 @@ ASTExpression Expression() :
}
}
/**
* https://docs.oracle.com/en/database/oracle/oracle-database/23/lnpls/implicit-cursor-attribute.html
*/
ASTImplicitCursorAttribute ImplicitCursorAttribute() :
{}
{
<SQL> "%"
(
LOOKAHEAD({isKeyword("isopen")}) KEYWORD("ISOPEN")
| LOOKAHEAD({isKeyword("found")}) KEYWORD("FOUND")
| LOOKAHEAD({isKeyword("notfound")}) KEYWORD("NOTFOUND")
| LOOKAHEAD({isKeyword("rowcount")}) KEYWORD("ROWCOUNT")
| LOOKAHEAD({isKeyword("bulk_rowcount")}) KEYWORD("BULK_ROWCOUNT") "(" PrimaryExpression() ")"
| LOOKAHEAD({isKeyword("bulk_exceptions")}) KEYWORD("BULK_EXCEPTIONS")
( "." "COUNT"
| "(" PrimaryExpression() ")" "." (LOOKAHEAD({isKeyword("error_index")}) KEYWORD("ERROR_INDEX") | LOOKAHEAD({isKeyword("error_code")}) KEYWORD("ERROR_CODE"))
)
)
{ return jjtThis; }
}
ASTCompilationExpression CompilationExpression() :
{
PLSQLNode simpleNode = null;
@ -3509,7 +3530,10 @@ ASTUnaryExpressionNotPlusMinus UnaryExpressionNotPlusMinus() #UnaryExpressionNot
LOOKAHEAD(2) simpleNode = ExtractExpression()
|
LOOKAHEAD(2) simpleNode = IsNullCondition()
) {sb.append(simpleNode.getImage()); }
|
simpleNode = ImplicitCursorAttribute()
)
{sb.append(simpleNode.getImage()); }
{
jjtThis.setImage(sb.toString()); return jjtThis;
}

View File

@ -56,4 +56,9 @@ class PlsqlTreeDumpTest extends BaseTreeDumpTest {
void compoundTriggerWithAdditionalDeclarations() {
doTest("CompoundTriggerWithAdditionalDeclarations4270");
}
@Test
void exceptionHandlerTomKytesDespair() {
doTest("ExceptionHandlerTomKytesDespair");
}
}

View File

@ -149,6 +149,9 @@
| | +- Column[@CanonicalImage = "L_TOT_NUMBERS", @Image = "l_tot_numbers"]
| | +- ID[@CanonicalImage = "L_TOT_NUMBERS", @Image = "l_tot_numbers"]
| +- ExceptionHandler[@CanonicalImage = null]
| +- QualifiedName[@CanonicalImage = "OTHERS", @Image = "OTHERS"]
| | +- UnqualifiedID[@CanonicalImage = "OTHERS", @Image = "OTHERS"]
| | +- KEYWORD_UNRESERVED[@CanonicalImage = "OTHERS", @Image = "OTHERS"]
| +- Statement[@CanonicalImage = null]
| +- UnlabelledStatement[@CanonicalImage = null]
| +- Expression[@CanonicalImage = "RAISE_APPLICATION_ERROR", @Image = "RAISE_APPLICATION_ERROR"]
@ -201,6 +204,9 @@
| | +- Literal[@CanonicalImage = "\'THIS IS JUST AN EXAMPLE!\'", @Image = "\'This is just an example!\'"]
| | +- StringLiteral[@CanonicalImage = "\'THIS IS JUST AN EXAMPLE!\'", @Image = "\'This is just an example!\'", @String = "This is just an example!"]
| +- ExceptionHandler[@CanonicalImage = null]
| +- QualifiedName[@CanonicalImage = "OTHERS", @Image = "OTHERS"]
| | +- UnqualifiedID[@CanonicalImage = "OTHERS", @Image = "OTHERS"]
| | +- KEYWORD_UNRESERVED[@CanonicalImage = "OTHERS", @Image = "OTHERS"]
| +- Statement[@CanonicalImage = null]
| +- UnlabelledStatement[@CanonicalImage = null]
| +- Expression[@CanonicalImage = "RAISE_APPLICATION_ERROR", @Image = "RAISE_APPLICATION_ERROR"]

View File

@ -4,7 +4,6 @@
+- MethodDeclarator[@CanonicalImage = "TEST", @Image = "test", @ParameterCount = 1]
| +- ObjectNameDeclaration[@CanonicalImage = "TEST", @Image = "test"]
| +- ID[@CanonicalImage = "TEST", @Image = "test"]
+- DeclarativeSection[@CanonicalImage = null]
+- Statement[@CanonicalImage = null]
| +- UnlabelledStatement[@CanonicalImage = null]
| +- InsertStatement[@CanonicalImage = null]

View File

@ -0,0 +1,44 @@
--
-- BSD-style license; for more info see http://pmd.sourceforge.net/license.html
--
CREATE OR REPLACE PACKAGE BODY update_planned_hrs
IS
PROCEDURE set_new_planned (p_emp_id IN NUMBER, p_project_id IN NUMBER, p_hours IN NUMBER)
IS
BEGIN
UPDATE employee_on_activity ea
SET ea.ea_planned_hours = p_hours
WHERE
ea.ea_emp_id = p_emp_id
AND ea.ea_proj_id = p_project_id;
EXCEPTION
WHEN NO_DATA_FOUND THEN
RAISE_APPLICATION_ERROR (-20100, 'No such employee or project');
END set_new_planned;
FUNCTION existing_planned (p_emp_id IN NUMBER, p_project_id IN NUMBER) RETURN NUMBER
IS
existing_hours NUMBER(4);
BEGIN
SELECT ea.ea_planned_hours INTO existing_hours
FROM employee_on_activity ea
WHERE
ea.ea_emp_id = p_emp_id
AND ea.ea_proj_id = p_project_id;
RETURN (existing_hours);
EXCEPTION
WHEN OTHERS THEN NULL; -- rule violation
END existing_planned;
END update_planned_hrs;
/

View File

@ -0,0 +1,193 @@
+- Input[@CanonicalImage = null, @ExcludedLinesCount = 0, @ExcludedRangesCount = 0]
+- PackageBody[@CanonicalImage = "UPDATE_PLANNED_HRS", @Image = "update_planned_hrs", @ObjectName = "update_planned_hrs"]
+- ObjectNameDeclaration[@CanonicalImage = "UPDATE_PLANNED_HRS", @Image = "update_planned_hrs"]
| +- ID[@CanonicalImage = "UPDATE_PLANNED_HRS", @Image = "update_planned_hrs"]
+- DeclarativeSection[@CanonicalImage = null]
| +- DeclarativeUnit[@CanonicalImage = null]
| | +- ProgramUnit[@CanonicalImage = null, @MethodName = "set_new_planned", @Name = "set_new_planned", @ObjectName = null]
| | +- MethodDeclarator[@CanonicalImage = "SET_NEW_PLANNED", @Image = "set_new_planned", @ParameterCount = 1]
| | | +- ObjectNameDeclaration[@CanonicalImage = "SET_NEW_PLANNED", @Image = "set_new_planned"]
| | | | +- ID[@CanonicalImage = "SET_NEW_PLANNED", @Image = "set_new_planned"]
| | | +- FormalParameters[@CanonicalImage = "(P_EMP_ID,P_PROJECT_ID,P_HOURS)", @Image = "(p_emp_id,p_project_id,p_hours)"]
| | | +- FormalParameter[@CanonicalImage = "P_EMP_ID", @Image = "p_emp_id", @In = true, @NoCopy = false, @Out = false]
| | | | +- ID[@CanonicalImage = "P_EMP_ID", @Image = "p_emp_id"]
| | | | +- Datatype[@CanonicalImage = "NUMBER", @Image = "NUMBER", @TypeImage = "NUMBER"]
| | | | +- ScalarDataTypeName[@CanonicalImage = "NUMBER", @Image = "NUMBER"]
| | | +- FormalParameter[@CanonicalImage = "P_PROJECT_ID", @Image = "p_project_id", @In = true, @NoCopy = false, @Out = false]
| | | | +- ID[@CanonicalImage = "P_PROJECT_ID", @Image = "p_project_id"]
| | | | +- Datatype[@CanonicalImage = "NUMBER", @Image = "NUMBER", @TypeImage = "NUMBER"]
| | | | +- ScalarDataTypeName[@CanonicalImage = "NUMBER", @Image = "NUMBER"]
| | | +- FormalParameter[@CanonicalImage = "P_HOURS", @Image = "p_hours", @In = true, @NoCopy = false, @Out = false]
| | | +- ID[@CanonicalImage = "P_HOURS", @Image = "p_hours"]
| | | +- Datatype[@CanonicalImage = "NUMBER", @Image = "NUMBER", @TypeImage = "NUMBER"]
| | | +- ScalarDataTypeName[@CanonicalImage = "NUMBER", @Image = "NUMBER"]
| | +- Statement[@CanonicalImage = null]
| | | +- UnlabelledStatement[@CanonicalImage = null]
| | | +- UpdateStatement[@CanonicalImage = null]
| | | +- DMLTableExpressionClause[@CanonicalImage = null]
| | | | +- TableName[@CanonicalImage = "EMPLOYEE_ON_ACTIVITY", @Image = "employee_on_activity"]
| | | | +- ID[@CanonicalImage = "EMPLOYEE_ON_ACTIVITY", @Image = "employee_on_activity"]
| | | +- TableAlias[@CanonicalImage = "EA", @Image = "ea"]
| | | | +- ID[@CanonicalImage = "EA", @Image = "ea"]
| | | +- UpdateSetClause[@CanonicalImage = null]
| | | | +- TableName[@CanonicalImage = "EA", @Image = "ea"]
| | | | | +- ID[@CanonicalImage = "EA", @Image = "ea"]
| | | | +- Column[@CanonicalImage = "EA_PLANNED_HOURS", @Image = "ea_planned_hours"]
| | | | | +- ID[@CanonicalImage = "EA_PLANNED_HOURS", @Image = "ea_planned_hours"]
| | | | +- Expression[@CanonicalImage = "P_HOURS", @Image = "p_hours"]
| | | | +- PrimaryPrefix[@CanonicalImage = "P_HOURS", @Image = "p_hours", @SelfModifier = false]
| | | | +- SimpleExpression[@CanonicalImage = "P_HOURS", @Image = "p_hours"]
| | | | +- Column[@CanonicalImage = "P_HOURS", @Image = "p_hours"]
| | | | +- ID[@CanonicalImage = "P_HOURS", @Image = "p_hours"]
| | | +- WhereClause[@CanonicalImage = null]
| | | +- Condition[@CanonicalImage = null]
| | | +- CompoundCondition[@CanonicalImage = null, @Type = "AND"]
| | | +- ComparisonCondition[@CanonicalImage = null, @Operator = "="]
| | | | +- SqlExpression[@CanonicalImage = "EA.EA_EMP_ID", @Image = "ea.ea_emp_id"]
| | | | | +- PrimaryPrefix[@CanonicalImage = "EA.EA_EMP_ID", @Image = "ea.ea_emp_id", @SelfModifier = false]
| | | | | +- SimpleExpression[@CanonicalImage = "EA.EA_EMP_ID", @Image = "ea.ea_emp_id"]
| | | | | +- TableName[@CanonicalImage = "EA", @Image = "ea"]
| | | | | | +- ID[@CanonicalImage = "EA", @Image = "ea"]
| | | | | +- Column[@CanonicalImage = "EA_EMP_ID", @Image = "ea_emp_id"]
| | | | | +- ID[@CanonicalImage = "EA_EMP_ID", @Image = "ea_emp_id"]
| | | | +- SqlExpression[@CanonicalImage = "P_EMP_ID", @Image = "p_emp_id"]
| | | | +- PrimaryPrefix[@CanonicalImage = "P_EMP_ID", @Image = "p_emp_id", @SelfModifier = false]
| | | | +- SimpleExpression[@CanonicalImage = "P_EMP_ID", @Image = "p_emp_id"]
| | | | +- Column[@CanonicalImage = "P_EMP_ID", @Image = "p_emp_id"]
| | | | +- ID[@CanonicalImage = "P_EMP_ID", @Image = "p_emp_id"]
| | | +- Condition[@CanonicalImage = null]
| | | +- CompoundCondition[@CanonicalImage = null, @Type = null]
| | | +- ComparisonCondition[@CanonicalImage = null, @Operator = "="]
| | | +- SqlExpression[@CanonicalImage = "EA.EA_PROJ_ID", @Image = "ea.ea_proj_id"]
| | | | +- PrimaryPrefix[@CanonicalImage = "EA.EA_PROJ_ID", @Image = "ea.ea_proj_id", @SelfModifier = false]
| | | | +- SimpleExpression[@CanonicalImage = "EA.EA_PROJ_ID", @Image = "ea.ea_proj_id"]
| | | | +- TableName[@CanonicalImage = "EA", @Image = "ea"]
| | | | | +- ID[@CanonicalImage = "EA", @Image = "ea"]
| | | | +- Column[@CanonicalImage = "EA_PROJ_ID", @Image = "ea_proj_id"]
| | | | +- ID[@CanonicalImage = "EA_PROJ_ID", @Image = "ea_proj_id"]
| | | +- SqlExpression[@CanonicalImage = "P_PROJECT_ID", @Image = "p_project_id"]
| | | +- PrimaryPrefix[@CanonicalImage = "P_PROJECT_ID", @Image = "p_project_id", @SelfModifier = false]
| | | +- SimpleExpression[@CanonicalImage = "P_PROJECT_ID", @Image = "p_project_id"]
| | | +- Column[@CanonicalImage = "P_PROJECT_ID", @Image = "p_project_id"]
| | | +- ID[@CanonicalImage = "P_PROJECT_ID", @Image = "p_project_id"]
| | +- ExceptionHandler[@CanonicalImage = null]
| | | +- QualifiedName[@CanonicalImage = "NO_DATA_FOUND", @Image = "NO_DATA_FOUND"]
| | | | +- UnqualifiedID[@CanonicalImage = "NO_DATA_FOUND", @Image = "NO_DATA_FOUND"]
| | | +- Statement[@CanonicalImage = null]
| | | +- UnlabelledStatement[@CanonicalImage = null]
| | | +- Expression[@CanonicalImage = "RAISE_APPLICATION_ERROR", @Image = "RAISE_APPLICATION_ERROR"]
| | | +- PrimaryPrefix[@CanonicalImage = "RAISE_APPLICATION_ERROR", @Image = "RAISE_APPLICATION_ERROR", @SelfModifier = false]
| | | +- FunctionCall[@CanonicalImage = "RAISE_APPLICATION_ERROR", @Image = "RAISE_APPLICATION_ERROR"]
| | | +- FunctionName[@CanonicalImage = "RAISE_APPLICATION_ERROR", @Image = "RAISE_APPLICATION_ERROR"]
| | | | +- ID[@CanonicalImage = "RAISE_APPLICATION_ERROR", @Image = "RAISE_APPLICATION_ERROR"]
| | | +- Arguments[@ArgumentCount = 2, @CanonicalImage = null]
| | | +- ArgumentList[@CanonicalImage = null]
| | | +- Argument[@CanonicalImage = null]
| | | | +- Expression[@CanonicalImage = "-20100", @Image = " -20100"]
| | | | +- PrimaryPrefix[@CanonicalImage = "20100", @Image = "20100", @SelfModifier = false]
| | | | +- Literal[@CanonicalImage = "20100", @Image = "20100"]
| | | | +- NumericLiteral[@CanonicalImage = "20100", @Image = "20100"]
| | | +- Argument[@CanonicalImage = null]
| | | +- Expression[@CanonicalImage = "\'NO SUCH EMPLOYEE OR PROJECT\'", @Image = "\'No such employee or project\'"]
| | | +- PrimaryPrefix[@CanonicalImage = "\'NO SUCH EMPLOYEE OR PROJECT\'", @Image = "\'No such employee or project\'", @SelfModifier = false]
| | | +- Literal[@CanonicalImage = "\'NO SUCH EMPLOYEE OR PROJECT\'", @Image = "\'No such employee or project\'"]
| | | +- StringLiteral[@CanonicalImage = "\'NO SUCH EMPLOYEE OR PROJECT\'", @Image = "\'No such employee or project\'", @String = "No such employee or project"]
| | +- ID[@CanonicalImage = "SET_NEW_PLANNED", @Image = "set_new_planned"]
| +- DeclarativeUnit[@CanonicalImage = null]
| +- ProgramUnit[@CanonicalImage = null, @MethodName = "existing_planned", @Name = "existing_planned", @ObjectName = null]
| +- MethodDeclarator[@CanonicalImage = "EXISTING_PLANNED", @Image = "existing_planned", @ParameterCount = 1]
| | +- ObjectNameDeclaration[@CanonicalImage = "EXISTING_PLANNED", @Image = "existing_planned"]
| | | +- ID[@CanonicalImage = "EXISTING_PLANNED", @Image = "existing_planned"]
| | +- FormalParameters[@CanonicalImage = "(P_EMP_ID,P_PROJECT_ID)", @Image = "(p_emp_id,p_project_id)"]
| | | +- FormalParameter[@CanonicalImage = "P_EMP_ID", @Image = "p_emp_id", @In = true, @NoCopy = false, @Out = false]
| | | | +- ID[@CanonicalImage = "P_EMP_ID", @Image = "p_emp_id"]
| | | | +- Datatype[@CanonicalImage = "NUMBER", @Image = "NUMBER", @TypeImage = "NUMBER"]
| | | | +- ScalarDataTypeName[@CanonicalImage = "NUMBER", @Image = "NUMBER"]
| | | +- FormalParameter[@CanonicalImage = "P_PROJECT_ID", @Image = "p_project_id", @In = true, @NoCopy = false, @Out = false]
| | | +- ID[@CanonicalImage = "P_PROJECT_ID", @Image = "p_project_id"]
| | | +- Datatype[@CanonicalImage = "NUMBER", @Image = "NUMBER", @TypeImage = "NUMBER"]
| | | +- ScalarDataTypeName[@CanonicalImage = "NUMBER", @Image = "NUMBER"]
| | +- Datatype[@CanonicalImage = "NUMBER", @Image = "NUMBER", @TypeImage = "NUMBER"]
| | +- ScalarDataTypeName[@CanonicalImage = "NUMBER", @Image = "NUMBER"]
| +- DeclarativeSection[@CanonicalImage = null]
| | +- DeclarativeUnit[@CanonicalImage = null]
| | +- VariableOrConstantDeclaration[@CanonicalImage = null]
| | +- VariableOrConstantDeclarator[@CanonicalImage = "EXISTING_HOURS NUMBER(4)", @Image = "existing_hours NUMBER(4)"]
| | +- VariableOrConstantDeclaratorId[@Array = false, @ArrayDepth = 0, @CanonicalImage = "EXISTING_HOURS", @Image = "existing_hours"]
| | | +- ID[@CanonicalImage = "EXISTING_HOURS", @Image = "existing_hours"]
| | +- Datatype[@CanonicalImage = "NUMBER(4)", @Image = "NUMBER(4)", @TypeImage = "NUMBER(4)"]
| | +- ScalarDataTypeName[@CanonicalImage = "NUMBER(4)", @Image = "NUMBER(4)"]
| | +- NumericLiteral[@CanonicalImage = "4", @Image = "4"]
| +- Statement[@CanonicalImage = null]
| | +- UnlabelledStatement[@CanonicalImage = null]
| | +- SelectIntoStatement[@All = false, @CanonicalImage = null, @Distinct = false, @Unique = false]
| | +- SelectList[@CanonicalImage = null]
| | | +- SqlExpression[@CanonicalImage = "EA.EA_PLANNED_HOURS", @Image = "ea.ea_planned_hours"]
| | | +- PrimaryPrefix[@CanonicalImage = "EA.EA_PLANNED_HOURS", @Image = "ea.ea_planned_hours", @SelfModifier = false]
| | | +- SimpleExpression[@CanonicalImage = "EA.EA_PLANNED_HOURS", @Image = "ea.ea_planned_hours"]
| | | +- TableName[@CanonicalImage = "EA", @Image = "ea"]
| | | | +- ID[@CanonicalImage = "EA", @Image = "ea"]
| | | +- Column[@CanonicalImage = "EA_PLANNED_HOURS", @Image = "ea_planned_hours"]
| | | +- ID[@CanonicalImage = "EA_PLANNED_HOURS", @Image = "ea_planned_hours"]
| | +- IntoClause[@CanonicalImage = null]
| | | +- VariableName[@CanonicalImage = "EXISTING_HOURS", @Image = "existing_hours"]
| | | +- ID[@CanonicalImage = "EXISTING_HOURS", @Image = "existing_hours"]
| | +- FromClause[@CanonicalImage = null]
| | | +- TableReference[@CanonicalImage = null]
| | | +- TableName[@CanonicalImage = "EMPLOYEE_ON_ACTIVITY", @Image = "employee_on_activity"]
| | | | +- ID[@CanonicalImage = "EMPLOYEE_ON_ACTIVITY", @Image = "employee_on_activity"]
| | | +- TableAlias[@CanonicalImage = "EA", @Image = "ea"]
| | | +- ID[@CanonicalImage = "EA", @Image = "ea"]
| | +- WhereClause[@CanonicalImage = null]
| | +- Condition[@CanonicalImage = null]
| | +- CompoundCondition[@CanonicalImage = null, @Type = "AND"]
| | +- ComparisonCondition[@CanonicalImage = null, @Operator = "="]
| | | +- SqlExpression[@CanonicalImage = "EA.EA_EMP_ID", @Image = "ea.ea_emp_id"]
| | | | +- PrimaryPrefix[@CanonicalImage = "EA.EA_EMP_ID", @Image = "ea.ea_emp_id", @SelfModifier = false]
| | | | +- SimpleExpression[@CanonicalImage = "EA.EA_EMP_ID", @Image = "ea.ea_emp_id"]
| | | | +- TableName[@CanonicalImage = "EA", @Image = "ea"]
| | | | | +- ID[@CanonicalImage = "EA", @Image = "ea"]
| | | | +- Column[@CanonicalImage = "EA_EMP_ID", @Image = "ea_emp_id"]
| | | | +- ID[@CanonicalImage = "EA_EMP_ID", @Image = "ea_emp_id"]
| | | +- SqlExpression[@CanonicalImage = "P_EMP_ID", @Image = "p_emp_id"]
| | | +- PrimaryPrefix[@CanonicalImage = "P_EMP_ID", @Image = "p_emp_id", @SelfModifier = false]
| | | +- SimpleExpression[@CanonicalImage = "P_EMP_ID", @Image = "p_emp_id"]
| | | +- Column[@CanonicalImage = "P_EMP_ID", @Image = "p_emp_id"]
| | | +- ID[@CanonicalImage = "P_EMP_ID", @Image = "p_emp_id"]
| | +- Condition[@CanonicalImage = null]
| | +- CompoundCondition[@CanonicalImage = null, @Type = null]
| | +- ComparisonCondition[@CanonicalImage = null, @Operator = "="]
| | +- SqlExpression[@CanonicalImage = "EA.EA_PROJ_ID", @Image = "ea.ea_proj_id"]
| | | +- PrimaryPrefix[@CanonicalImage = "EA.EA_PROJ_ID", @Image = "ea.ea_proj_id", @SelfModifier = false]
| | | +- SimpleExpression[@CanonicalImage = "EA.EA_PROJ_ID", @Image = "ea.ea_proj_id"]
| | | +- TableName[@CanonicalImage = "EA", @Image = "ea"]
| | | | +- ID[@CanonicalImage = "EA", @Image = "ea"]
| | | +- Column[@CanonicalImage = "EA_PROJ_ID", @Image = "ea_proj_id"]
| | | +- ID[@CanonicalImage = "EA_PROJ_ID", @Image = "ea_proj_id"]
| | +- SqlExpression[@CanonicalImage = "P_PROJECT_ID", @Image = "p_project_id"]
| | +- PrimaryPrefix[@CanonicalImage = "P_PROJECT_ID", @Image = "p_project_id", @SelfModifier = false]
| | +- SimpleExpression[@CanonicalImage = "P_PROJECT_ID", @Image = "p_project_id"]
| | +- Column[@CanonicalImage = "P_PROJECT_ID", @Image = "p_project_id"]
| | +- ID[@CanonicalImage = "P_PROJECT_ID", @Image = "p_project_id"]
| +- Statement[@CanonicalImage = null]
| | +- UnlabelledStatement[@CanonicalImage = null]
| | +- ReturnStatement[@CanonicalImage = null]
| | +- Expression[@CanonicalImage = "(EXISTING_HOURS)", @Image = "(existing_hours)"]
| | +- PrimaryPrefix[@CanonicalImage = "(EXISTING_HOURS)", @Image = "(existing_hours)", @SelfModifier = false]
| | +- Expression[@CanonicalImage = "EXISTING_HOURS", @Image = "existing_hours"]
| | +- PrimaryPrefix[@CanonicalImage = "EXISTING_HOURS", @Image = "existing_hours", @SelfModifier = false]
| | +- SimpleExpression[@CanonicalImage = "EXISTING_HOURS", @Image = "existing_hours"]
| | +- Column[@CanonicalImage = "EXISTING_HOURS", @Image = "existing_hours"]
| | +- ID[@CanonicalImage = "EXISTING_HOURS", @Image = "existing_hours"]
| +- ExceptionHandler[@CanonicalImage = null]
| | +- QualifiedName[@CanonicalImage = "OTHERS", @Image = "OTHERS"]
| | | +- UnqualifiedID[@CanonicalImage = "OTHERS", @Image = "OTHERS"]
| | | +- KEYWORD_UNRESERVED[@CanonicalImage = "OTHERS", @Image = "OTHERS"]
| | +- Statement[@CanonicalImage = null]
| | +- UnlabelledStatement[@CanonicalImage = null]
| | +- Expression[@CanonicalImage = "NULL", @Image = "NULL"]
| | +- PrimaryPrefix[@CanonicalImage = "NULL", @Image = "NULL", @SelfModifier = false]
| | +- Literal[@CanonicalImage = "NULL", @Image = "NULL"]
| | +- NullLiteral[@CanonicalImage = "NULL", @Image = "NULL"]
| +- ID[@CanonicalImage = "EXISTING_PLANNED", @Image = "existing_planned"]
+- ID[@CanonicalImage = "UPDATE_PLANNED_HRS", @Image = "update_planned_hrs"]

View File

@ -7,7 +7,7 @@
<test-code>
<description>Example code</description>
<expected-problems>1</expected-problems>
<expected-linenumbers>34</expected-linenumbers>
<expected-linenumbers>35</expected-linenumbers>
<code><![CDATA[
CREATE OR REPLACE PACKAGE BODY update_planned_hrs
IS
@ -43,7 +43,7 @@ BEGIN
RETURN (existing_hours);
EXCEPTION
WHEN OTHERS THEN NULL;
WHEN OTHERS THEN NULL; -- rule violation
END existing_planned;

View File

@ -189,8 +189,6 @@ CREATE OR REPLACE PACKAGE BODY foo AS
CARDINALITY VARCHAR2(240);
/** Unreserved Keyword Word CASCADE **/
CASCADE VARCHAR2(240);
/** Unreserved Keyword Word CASE **/
CASE VARCHAR2(240);
/** Unreserved Keyword Word CAST **/
CAST VARCHAR2(240);
/** Unreserved Keyword Word CATEGORY **/
@ -327,8 +325,6 @@ CREATE OR REPLACE PACKAGE BODY foo AS
CURRENT_TIMESTAMP VARCHAR2(240);
/** Unreserved Keyword Word CURRENT_USER **/
CURRENT_USER VARCHAR2(240);
/** Unreserved Keyword Word CURSOR **/
CURSOR VARCHAR2(240);
/** Unreserved Keyword Word CURSOR_SHARING_EXACT **/
CURSOR_SHARING_EXACT VARCHAR2(240);
/** Unreserved Keyword Word CURSOR_SPECIFIC_SEGMENT **/
@ -369,8 +365,6 @@ CREATE OR REPLACE PACKAGE BODY foo AS
DEBUG VARCHAR2(240);
/** Unreserved Keyword Word DEC **/
DEC VARCHAR2(240);
/** Unreserved Keyword Word DECLARE **/
DECLARE VARCHAR2(240);
/** Unreserved Keyword Word DECREMENT **/
DECREMENT VARCHAR2(240);
/** Unreserved Keyword Word DECRYPT **/
@ -471,8 +465,6 @@ CREATE OR REPLACE PACKAGE BODY foo AS
ENCRYPT VARCHAR2(240);
/** Unreserved Keyword Word ENCRYPTION **/
ENCRYPTION VARCHAR2(240);
/** Unreserved Keyword Word END **/
--SRT END VARCHAR2(240);
/** Unreserved Keyword Word END_OUTLINE_DATA **/
END_OUTLINE_DATA VARCHAR2(240);
/** Unreserved Keyword Word ENFORCE **/
@ -593,8 +585,6 @@ CREATE OR REPLACE PACKAGE BODY foo AS
FRESH VARCHAR2(240);
/** Unreserved Keyword Word FULL **/
FULL VARCHAR2(240);
/** Unreserved Keyword Word FUNCTION **/
--SRT FUNCTION VARCHAR2(240);
/** Unreserved Keyword Word FUNCTIONS **/
FUNCTIONS VARCHAR2(240);
/** Unreserved Keyword Word G **/
@ -659,8 +649,6 @@ CREATE OR REPLACE PACKAGE BODY foo AS
IDGENERATORS VARCHAR2(240);
/** Unreserved Keyword Word IDLE_TIME **/
IDLE_TIME VARCHAR2(240);
/** Unreserved Keyword Word IF **/
IF VARCHAR2(240);
/** Unreserved Keyword Word IGNORE **/
IGNORE VARCHAR2(240);
/** Unreserved Keyword Word IGNORE_OPTIM_EMBEDDED_HINTS **/
@ -1739,8 +1727,6 @@ CREATE OR REPLACE PACKAGE BODY foo AS
SPLIT VARCHAR2(240);
/** Unreserved Keyword Word SPREADSHEET **/
SPREADSHEET VARCHAR2(240);
/** Unreserved Keyword Word SQL **/
SQL VARCHAR2(240);
/** Unreserved Keyword Word SQL_TRACE **/
SQL_TRACE VARCHAR2(240);
/** Unreserved Keyword Word SQLLDR **/
@ -2252,7 +2238,6 @@ CREATE OR REPLACE PACKAGE BODY foo AS
CURRENT_TIME := 'CURRENT_TIME' ; -- CURRENT_TIME VARCHAR2(240)
CURRENT_TIMESTAMP := 'CURRENT_TIMESTAMP' ; -- CURRENT_TIMESTAMP VARCHAR2(240)
CURRENT_USER := 'CURRENT_USER' ; -- CURRENT_USER VARCHAR2(240)
CURSOR := 'CURSOR' ; -- CURSOR VARCHAR2(240)
CURSOR_SHARING_EXACT := 'CURSOR_SHARING_EXACT' ; -- CURSOR_SHARING_EXACT VARCHAR2(240)
CURSOR_SPECIFIC_SEGMENT := 'CURSOR_SPECIFIC_SEGMENT' ; -- CURSOR_SPECIFIC_SEGMENT VARCHAR2(240)
CYCLE := 'CYCLE' ; -- CYCLE VARCHAR2(240)
@ -2273,7 +2258,6 @@ CREATE OR REPLACE PACKAGE BODY foo AS
DEALLOCATE := 'DEALLOCATE' ; -- DEALLOCATE VARCHAR2(240)
DEBUG := 'DEBUG' ; -- DEBUG VARCHAR2(240)
--SRT 20110508 DEC := 'DEC' ; -- DEC VARCHAR2(240)
--SRT 20110508 DECLARE := 'DECLARE' ; -- DECLARE VARCHAR2(240)
DECREMENT := 'DECREMENT' ; -- DECREMENT VARCHAR2(240)
DECRYPT := 'DECRYPT' ; -- DECRYPT VARCHAR2(240)
DEFERRABLE := 'DEFERRABLE' ; -- DEFERRABLE VARCHAR2(240)
@ -2324,7 +2308,6 @@ CREATE OR REPLACE PACKAGE BODY foo AS
ENABLE := 'ENABLE' ; -- ENABLE VARCHAR2(240)
ENCRYPT := 'ENCRYPT' ; -- ENCRYPT VARCHAR2(240)
ENCRYPTION := 'ENCRYPTION' ; -- ENCRYPTION VARCHAR2(240)
--SRT END := 'END' ; END VARCHAR2(240)
END_OUTLINE_DATA := 'END_OUTLINE_DATA' ; -- END_OUTLINE_DATA VARCHAR2(240)
ENFORCE := 'ENFORCE' ; -- ENFORCE VARCHAR2(240)
ENFORCED := 'ENFORCED' ; -- ENFORCED VARCHAR2(240)
@ -2385,7 +2368,6 @@ CREATE OR REPLACE PACKAGE BODY foo AS
FREEPOOLS := 'FREEPOOLS' ; -- FREEPOOLS VARCHAR2(240)
FRESH := 'FRESH' ; -- FRESH VARCHAR2(240)
FULL := 'FULL' ; -- FULL VARCHAR2(240)
--SRT FUNCTION := 'FUNCTION' ; FUNCTION VARCHAR2(240)
FUNCTIONS := 'FUNCTIONS' ; -- FUNCTIONS VARCHAR2(240)
G := 'G' ; -- G VARCHAR2(240)
GATHER_PLAN_STATISTICS := 'GATHER_PLAN_STATISTICS' ; -- GATHER_PLAN_STATISTICS VARCHAR2(240)
@ -2418,7 +2400,6 @@ CREATE OR REPLACE PACKAGE BODY foo AS
IDENTITY := 'IDENTITY' ; -- IDENTITY VARCHAR2(240)
IDGENERATORS := 'IDGENERATORS' ; -- IDGENERATORS VARCHAR2(240)
IDLE_TIME := 'IDLE_TIME' ; -- IDLE_TIME VARCHAR2(240)
--SRT 20110508 IF := 'IF' ; -- IF VARCHAR2(240)
IGNORE := 'IGNORE' ; -- IGNORE VARCHAR2(240)
IGNORE_OPTIM_EMBEDDED_HINTS := 'IGNORE_OPTIM_EMBEDDED_HINTS' ; -- IGNORE_OPTIM_EMBEDDED_HINTS VARCHAR2(240)
IGNORE_WHERE_CLAUSE := 'IGNORE_WHERE_CLAUSE' ; -- IGNORE_WHERE_CLAUSE VARCHAR2(240)
@ -2957,7 +2938,6 @@ CREATE OR REPLACE PACKAGE BODY foo AS
SPFILE := 'SPFILE' ; -- SPFILE VARCHAR2(240)
SPLIT := 'SPLIT' ; -- SPLIT VARCHAR2(240)
SPREADSHEET := 'SPREADSHEET' ; -- SPREADSHEET VARCHAR2(240)
SQL := 'SQL' ; -- SQL VARCHAR2(240)
SQL_TRACE := 'SQL_TRACE' ; -- SQL_TRACE VARCHAR2(240)
SQLLDR := 'SQLLDR' ; -- SQLLDR VARCHAR2(240)
STANDALONE := 'STANDALONE' ; -- STANDALONE VARCHAR2(240)

View File

@ -189,8 +189,6 @@ CREATE OR REPLACE TYPE typ_unreserved_keywords AS OBJECT
CARDINALITY VARCHAR2(240),
/** Unreserved Keyword Word CASCADE **/
CASCADE VARCHAR2(240),
/** Unreserved Keyword Word CASE **/
CASE VARCHAR2(240),
/** Unreserved Keyword Word CAST **/
CAST VARCHAR2(240),
/** Unreserved Keyword Word CATEGORY **/
@ -327,8 +325,6 @@ CREATE OR REPLACE TYPE typ_unreserved_keywords AS OBJECT
CURRENT_TIMESTAMP VARCHAR2(240),
/** Unreserved Keyword Word CURRENT_USER **/
CURRENT_USER VARCHAR2(240),
/** Unreserved Keyword Word CURSOR **/
CURSOR VARCHAR2(240),
/** Unreserved Keyword Word CURSOR_SHARING_EXACT **/
CURSOR_SHARING_EXACT VARCHAR2(240),
/** Unreserved Keyword Word CURSOR_SPECIFIC_SEGMENT **/
@ -369,8 +365,6 @@ CREATE OR REPLACE TYPE typ_unreserved_keywords AS OBJECT
DEBUG VARCHAR2(240),
/** Unreserved Keyword Word DEC **/
DEC VARCHAR2(240),
/** Unreserved Keyword Word DECLARE **/
DECLARE VARCHAR2(240),
/** Unreserved Keyword Word DECREMENT **/
DECREMENT VARCHAR2(240),
/** Unreserved Keyword Word DECRYPT **/
@ -471,8 +465,6 @@ CREATE OR REPLACE TYPE typ_unreserved_keywords AS OBJECT
ENCRYPT VARCHAR2(240),
/** Unreserved Keyword Word ENCRYPTION **/
ENCRYPTION VARCHAR2(240),
/** Unreserved Keyword Word END **/
--SRT END VARCHAR2(240),
/** Unreserved Keyword Word END_OUTLINE_DATA **/
END_OUTLINE_DATA VARCHAR2(240),
/** Unreserved Keyword Word ENFORCE **/
@ -593,8 +585,6 @@ CREATE OR REPLACE TYPE typ_unreserved_keywords AS OBJECT
FRESH VARCHAR2(240),
/** Unreserved Keyword Word FULL **/
FULL VARCHAR2(240),
/** Unreserved Keyword Word FUNCTION **/
--SRT FUNCTION VARCHAR2(240),
/** Unreserved Keyword Word FUNCTIONS **/
FUNCTIONS VARCHAR2(240),
/** Unreserved Keyword Word G **/
@ -659,8 +649,6 @@ CREATE OR REPLACE TYPE typ_unreserved_keywords AS OBJECT
IDGENERATORS VARCHAR2(240),
/** Unreserved Keyword Word IDLE_TIME **/
IDLE_TIME VARCHAR2(240),
/** Unreserved Keyword Word IF **/
IF VARCHAR2(240),
/** Unreserved Keyword Word IGNORE **/
IGNORE VARCHAR2(240),
/** Unreserved Keyword Word IGNORE_OPTIM_EMBEDDED_HINTS **/
@ -1739,8 +1727,6 @@ CREATE OR REPLACE TYPE typ_unreserved_keywords AS OBJECT
SPLIT VARCHAR2(240),
/** Unreserved Keyword Word SPREADSHEET **/
SPREADSHEET VARCHAR2(240),
/** Unreserved Keyword Word SQL **/
SQL VARCHAR2(240),
/** Unreserved Keyword Word SQL_TRACE **/
SQL_TRACE VARCHAR2(240),
/** Unreserved Keyword Word SQLLDR **/

View File

@ -106,8 +106,6 @@ CREATE OR REPLACE PACKAGE pkg_unreserved AS
BECOME VARCHAR2(240);
/** Unreserved Keyword Word BEFORE **/
BEFORE VARCHAR2(240);
/** Unreserved Keyword Word BEGIN **/
--SRTBEGIN VARCHAR2(240);
/** Unreserved Keyword Word BEGIN_OUTLINE_DATA **/
BEGIN_OUTLINE_DATA VARCHAR2(240);
/** Unreserved Keyword Word BEHALF **/
@ -188,8 +186,6 @@ CREATE OR REPLACE PACKAGE pkg_unreserved AS
CARDINALITY VARCHAR2(240);
/** Unreserved Keyword Word CASCADE **/
CASCADE VARCHAR2(240);
/** Unreserved Keyword Word CASE **/
CASE VARCHAR2(240);
/** Unreserved Keyword Word CAST **/
CAST VARCHAR2(240);
/** Unreserved Keyword Word CATEGORY **/
@ -326,8 +322,6 @@ CREATE OR REPLACE PACKAGE pkg_unreserved AS
CURRENT_TIMESTAMP VARCHAR2(240);
/** Unreserved Keyword Word CURRENT_USER **/
CURRENT_USER VARCHAR2(240);
/** Unreserved Keyword Word CURSOR **/
CURSOR VARCHAR2(240);
/** Unreserved Keyword Word CURSOR_SHARING_EXACT **/
CURSOR_SHARING_EXACT VARCHAR2(240);
/** Unreserved Keyword Word CURSOR_SPECIFIC_SEGMENT **/
@ -368,8 +362,6 @@ CREATE OR REPLACE PACKAGE pkg_unreserved AS
DEBUG VARCHAR2(240);
/** Unreserved Keyword Word DEC **/
DEC VARCHAR2(240);
/** Unreserved Keyword Word DECLARE **/
DECLARE VARCHAR2(240);
/** Unreserved Keyword Word DECREMENT **/
DECREMENT VARCHAR2(240);
/** Unreserved Keyword Word DECRYPT **/
@ -470,8 +462,6 @@ CREATE OR REPLACE PACKAGE pkg_unreserved AS
ENCRYPT VARCHAR2(240);
/** Unreserved Keyword Word ENCRYPTION **/
ENCRYPTION VARCHAR2(240);
/** Unreserved Keyword Word END **/
--SRT END VARCHAR2(240);
/** Unreserved Keyword Word END_OUTLINE_DATA **/
END_OUTLINE_DATA VARCHAR2(240);
/** Unreserved Keyword Word ENFORCE **/
@ -592,8 +582,6 @@ CREATE OR REPLACE PACKAGE pkg_unreserved AS
FRESH VARCHAR2(240);
/** Unreserved Keyword Word FULL **/
FULL VARCHAR2(240);
/** Unreserved Keyword Word FUNCTION **/
--SRT FUNCTION VARCHAR2(240);
/** Unreserved Keyword Word FUNCTIONS **/
FUNCTIONS VARCHAR2(240);
/** Unreserved Keyword Word G **/
@ -658,8 +646,6 @@ CREATE OR REPLACE PACKAGE pkg_unreserved AS
IDGENERATORS VARCHAR2(240);
/** Unreserved Keyword Word IDLE_TIME **/
IDLE_TIME VARCHAR2(240);
/** Unreserved Keyword Word IF **/
IF VARCHAR2(240);
/** Unreserved Keyword Word IGNORE **/
IGNORE VARCHAR2(240);
/** Unreserved Keyword Word IGNORE_OPTIM_EMBEDDED_HINTS **/
@ -1738,8 +1724,6 @@ CREATE OR REPLACE PACKAGE pkg_unreserved AS
SPLIT VARCHAR2(240);
/** Unreserved Keyword Word SPREADSHEET **/
SPREADSHEET VARCHAR2(240);
/** Unreserved Keyword Word SQL **/
SQL VARCHAR2(240);
/** Unreserved Keyword Word SQL_TRACE **/
SQL_TRACE VARCHAR2(240);
/** Unreserved Keyword Word SQLLDR **/

View File

@ -189,8 +189,6 @@ CREATE OR REPLACE PACKAGE BODY Foo AS
CARDINALITY IN OUT VARCHAR2,
/** Unreserved Keyword Word CASCADE **/
CASCADE IN OUT VARCHAR2,
/** Unreserved Keyword Word CASE **/
CASE IN OUT VARCHAR2,
/** Unreserved Keyword Word CAST **/
CAST IN OUT VARCHAR2,
/** Unreserved Keyword Word CATEGORY **/
@ -367,8 +365,6 @@ CREATE OR REPLACE PACKAGE BODY Foo AS
DEBUG IN OUT VARCHAR2,
/** Unreserved Keyword Word DEC **/
DEC IN OUT VARCHAR2,
/** Unreserved Keyword Word DECLARE **/
DECLARE IN OUT VARCHAR2,
/** Unreserved Keyword Word DECREMENT **/
DECREMENT IN OUT VARCHAR2,
/** Unreserved Keyword Word DECRYPT **/
@ -657,8 +653,6 @@ CREATE OR REPLACE PACKAGE BODY Foo AS
IDGENERATORS IN OUT VARCHAR2,
/** Unreserved Keyword Word IDLE_TIME **/
IDLE_TIME IN OUT VARCHAR2,
/** Unreserved Keyword Word IF **/
IF IN OUT VARCHAR2,
/** Unreserved Keyword Word IGNORE **/
IGNORE IN OUT VARCHAR2,
/** Unreserved Keyword Word IGNORE_OPTIM_EMBEDDED_HINTS **/
@ -1737,8 +1731,6 @@ CREATE OR REPLACE PACKAGE BODY Foo AS
SPLIT IN OUT VARCHAR2,
/** Unreserved Keyword Word SPREADSHEET **/
SPREADSHEET IN OUT VARCHAR2,
/** Unreserved Keyword Word SQL **/
SQL IN OUT VARCHAR2,
/** Unreserved Keyword Word SQL_TRACE **/
SQL_TRACE IN OUT VARCHAR2,
/** Unreserved Keyword Word SQLLDR **/
@ -2955,7 +2947,6 @@ CREATE OR REPLACE PACKAGE BODY Foo AS
SPFILE := 'SPFILE' ; -- SPFILE VARCHAR2(240)
SPLIT := 'SPLIT' ; -- SPLIT VARCHAR2(240)
SPREADSHEET := 'SPREADSHEET' ; -- SPREADSHEET VARCHAR2(240)
SQL := 'SQL' ; -- SQL VARCHAR2(240)
SQL_TRACE := 'SQL_TRACE' ; -- SQL_TRACE VARCHAR2(240)
SQLLDR := 'SQLLDR' ; -- SQLLDR VARCHAR2(240)
STANDALONE := 'STANDALONE' ; -- STANDALONE VARCHAR2(240)

View File

@ -189,8 +189,6 @@ CREATE OR REPLACE TYPE typ_unreserved_keywords AS OBJECT
CARDINALITY VARCHAR2(240),
/** Unreserved Keyword Word CASCADE **/
CASCADE VARCHAR2(240),
/** Unreserved Keyword Word CASE **/
CASE VARCHAR2(240),
/** Unreserved Keyword Word CAST **/
CAST VARCHAR2(240),
/** Unreserved Keyword Word CATEGORY **/
@ -327,8 +325,6 @@ CREATE OR REPLACE TYPE typ_unreserved_keywords AS OBJECT
CURRENT_TIMESTAMP VARCHAR2(240),
/** Unreserved Keyword Word CURRENT_USER **/
CURRENT_USER VARCHAR2(240),
/** Unreserved Keyword Word CURSOR **/
CURSOR VARCHAR2(240),
/** Unreserved Keyword Word CURSOR_SHARING_EXACT **/
CURSOR_SHARING_EXACT VARCHAR2(240),
/** Unreserved Keyword Word CURSOR_SPECIFIC_SEGMENT **/
@ -369,8 +365,6 @@ CREATE OR REPLACE TYPE typ_unreserved_keywords AS OBJECT
DEBUG VARCHAR2(240),
/** Unreserved Keyword Word DEC **/
DEC VARCHAR2(240),
/** Unreserved Keyword Word DECLARE **/
DECLARE VARCHAR2(240),
/** Unreserved Keyword Word DECREMENT **/
DECREMENT VARCHAR2(240),
/** Unreserved Keyword Word DECRYPT **/
@ -471,8 +465,6 @@ CREATE OR REPLACE TYPE typ_unreserved_keywords AS OBJECT
ENCRYPT VARCHAR2(240),
/** Unreserved Keyword Word ENCRYPTION **/
ENCRYPTION VARCHAR2(240),
/** Unreserved Keyword Word END **/
--SRT END VARCHAR2(240),
/** Unreserved Keyword Word END_OUTLINE_DATA **/
END_OUTLINE_DATA VARCHAR2(240),
/** Unreserved Keyword Word ENFORCE **/
@ -593,8 +585,6 @@ CREATE OR REPLACE TYPE typ_unreserved_keywords AS OBJECT
FRESH VARCHAR2(240),
/** Unreserved Keyword Word FULL **/
FULL VARCHAR2(240),
/** Unreserved Keyword Word FUNCTION **/
--SRT FUNCTION VARCHAR2(240),
/** Unreserved Keyword Word FUNCTIONS **/
FUNCTIONS VARCHAR2(240),
/** Unreserved Keyword Word G **/
@ -659,8 +649,6 @@ CREATE OR REPLACE TYPE typ_unreserved_keywords AS OBJECT
IDGENERATORS VARCHAR2(240),
/** Unreserved Keyword Word IDLE_TIME **/
IDLE_TIME VARCHAR2(240),
/** Unreserved Keyword Word IF **/
IF VARCHAR2(240),
/** Unreserved Keyword Word IGNORE **/
IGNORE VARCHAR2(240),
/** Unreserved Keyword Word IGNORE_OPTIM_EMBEDDED_HINTS **/
@ -1739,8 +1727,6 @@ CREATE OR REPLACE TYPE typ_unreserved_keywords AS OBJECT
SPLIT VARCHAR2(240),
/** Unreserved Keyword Word SPREADSHEET **/
SPREADSHEET VARCHAR2(240),
/** Unreserved Keyword Word SQL **/
SQL VARCHAR2(240),
/** Unreserved Keyword Word SQL_TRACE **/
SQL_TRACE VARCHAR2(240),
/** Unreserved Keyword Word SQLLDR **/

View File

@ -126,8 +126,6 @@ CREATE OR REPLACE PROCEDURE prc_test_unreserved_keyword
BECOME VARCHAR2(240);
/** Unreserved Keyword Word BEFORE **/
BEFORE VARCHAR2(240);
/** Unreserved Keyword Word BEGIN **/
--SRT BEGIN VARCHAR2(240);
/** Unreserved Keyword Word BEGIN_OUTLINE_DATA **/
BEGIN_OUTLINE_DATA VARCHAR2(240);
/** Unreserved Keyword Word BEHALF **/
@ -208,8 +206,6 @@ CREATE OR REPLACE PROCEDURE prc_test_unreserved_keyword
CARDINALITY VARCHAR2(240);
/** Unreserved Keyword Word CASCADE **/
CASCADE VARCHAR2(240);
/** Unreserved Keyword Word CASE **/
CASE VARCHAR2(240);
/** Unreserved Keyword Word CAST **/
CAST VARCHAR2(240);
/** Unreserved Keyword Word CATEGORY **/
@ -346,8 +342,6 @@ CREATE OR REPLACE PROCEDURE prc_test_unreserved_keyword
CURRENT_TIMESTAMP VARCHAR2(240);
/** Unreserved Keyword Word CURRENT_USER **/
CURRENT_USER VARCHAR2(240);
/** Unreserved Keyword Word CURSOR **/
CURSOR VARCHAR2(240);
/** Unreserved Keyword Word CURSOR_SHARING_EXACT **/
CURSOR_SHARING_EXACT VARCHAR2(240);
/** Unreserved Keyword Word CURSOR_SPECIFIC_SEGMENT **/
@ -388,8 +382,6 @@ CREATE OR REPLACE PROCEDURE prc_test_unreserved_keyword
DEBUG VARCHAR2(240);
/** Unreserved Keyword Word DEC **/
DEC VARCHAR2(240);
/** Unreserved Keyword Word DECLARE **/
DECLARE VARCHAR2(240);
/** Unreserved Keyword Word DECREMENT **/
DECREMENT VARCHAR2(240);
/** Unreserved Keyword Word DECRYPT **/
@ -490,8 +482,6 @@ CREATE OR REPLACE PROCEDURE prc_test_unreserved_keyword
ENCRYPT VARCHAR2(240);
/** Unreserved Keyword Word ENCRYPTION **/
ENCRYPTION VARCHAR2(240);
/** Unreserved Keyword Word END **/
--SRT END VARCHAR2(240);
/** Unreserved Keyword Word END_OUTLINE_DATA **/
END_OUTLINE_DATA VARCHAR2(240);
/** Unreserved Keyword Word ENFORCE **/
@ -612,8 +602,6 @@ CREATE OR REPLACE PROCEDURE prc_test_unreserved_keyword
FRESH VARCHAR2(240);
/** Unreserved Keyword Word FULL **/
FULL VARCHAR2(240);
/** Unreserved Keyword Word FUNCTION **/
--SRT FUNCTION VARCHAR2(240);
/** Unreserved Keyword Word FUNCTIONS **/
FUNCTIONS VARCHAR2(240);
/** Unreserved Keyword Word G **/
@ -678,8 +666,6 @@ CREATE OR REPLACE PROCEDURE prc_test_unreserved_keyword
IDGENERATORS VARCHAR2(240);
/** Unreserved Keyword Word IDLE_TIME **/
IDLE_TIME VARCHAR2(240);
/** Unreserved Keyword Word IF **/
IF VARCHAR2(240);
/** Unreserved Keyword Word IGNORE **/
IGNORE VARCHAR2(240);
/** Unreserved Keyword Word IGNORE_OPTIM_EMBEDDED_HINTS **/
@ -1758,8 +1744,6 @@ CREATE OR REPLACE PROCEDURE prc_test_unreserved_keyword
SPLIT VARCHAR2(240);
/** Unreserved Keyword Word SPREADSHEET **/
SPREADSHEET VARCHAR2(240);
/** Unreserved Keyword Word SQL **/
SQL VARCHAR2(240);
/** Unreserved Keyword Word SQL_TRACE **/
SQL_TRACE VARCHAR2(240);
/** Unreserved Keyword Word SQLLDR **/
@ -2271,7 +2255,6 @@ CREATE OR REPLACE PROCEDURE prc_test_unreserved_keyword
CURRENT_TIME := 'CURRENT_TIME' ; -- CURRENT_TIME VARCHAR2(240)
CURRENT_TIMESTAMP := 'CURRENT_TIMESTAMP' ; -- CURRENT_TIMESTAMP VARCHAR2(240)
CURRENT_USER := 'CURRENT_USER' ; -- CURRENT_USER VARCHAR2(240)
CURSOR := 'CURSOR' ; -- CURSOR VARCHAR2(240)
CURSOR_SHARING_EXACT := 'CURSOR_SHARING_EXACT' ; -- CURSOR_SHARING_EXACT VARCHAR2(240)
CURSOR_SPECIFIC_SEGMENT := 'CURSOR_SPECIFIC_SEGMENT' ; -- CURSOR_SPECIFIC_SEGMENT VARCHAR2(240)
CYCLE := 'CYCLE' ; -- CYCLE VARCHAR2(240)
@ -2292,7 +2275,6 @@ CREATE OR REPLACE PROCEDURE prc_test_unreserved_keyword
DEALLOCATE := 'DEALLOCATE' ; -- DEALLOCATE VARCHAR2(240)
DEBUG := 'DEBUG' ; -- DEBUG VARCHAR2(240)
--SRT 20110508 DEC := 'DEC' ; -- DEC VARCHAR2(240)
--SRT 20110508 DECLARE := 'DECLARE' ; -- DECLARE VARCHAR2(240)
DECREMENT := 'DECREMENT' ; -- DECREMENT VARCHAR2(240)
DECRYPT := 'DECRYPT' ; -- DECRYPT VARCHAR2(240)
DEFERRABLE := 'DEFERRABLE' ; -- DEFERRABLE VARCHAR2(240)
@ -2343,7 +2325,6 @@ CREATE OR REPLACE PROCEDURE prc_test_unreserved_keyword
ENABLE := 'ENABLE' ; -- ENABLE VARCHAR2(240)
ENCRYPT := 'ENCRYPT' ; -- ENCRYPT VARCHAR2(240)
ENCRYPTION := 'ENCRYPTION' ; -- ENCRYPTION VARCHAR2(240)
--SRT END := 'END' ; END VARCHAR2(240)
END_OUTLINE_DATA := 'END_OUTLINE_DATA' ; -- END_OUTLINE_DATA VARCHAR2(240)
ENFORCE := 'ENFORCE' ; -- ENFORCE VARCHAR2(240)
ENFORCED := 'ENFORCED' ; -- ENFORCED VARCHAR2(240)
@ -2404,7 +2385,6 @@ CREATE OR REPLACE PROCEDURE prc_test_unreserved_keyword
FREEPOOLS := 'FREEPOOLS' ; -- FREEPOOLS VARCHAR2(240)
FRESH := 'FRESH' ; -- FRESH VARCHAR2(240)
FULL := 'FULL' ; -- FULL VARCHAR2(240)
--SRT FUNCTION := 'FUNCTION' ; FUNCTION VARCHAR2(240)
FUNCTIONS := 'FUNCTIONS' ; -- FUNCTIONS VARCHAR2(240)
G := 'G' ; -- G VARCHAR2(240)
GATHER_PLAN_STATISTICS := 'GATHER_PLAN_STATISTICS' ; -- GATHER_PLAN_STATISTICS VARCHAR2(240)
@ -2437,7 +2417,6 @@ CREATE OR REPLACE PROCEDURE prc_test_unreserved_keyword
IDENTITY := 'IDENTITY' ; -- IDENTITY VARCHAR2(240)
IDGENERATORS := 'IDGENERATORS' ; -- IDGENERATORS VARCHAR2(240)
IDLE_TIME := 'IDLE_TIME' ; -- IDLE_TIME VARCHAR2(240)
--SRT 20110508 IF := 'IF' ; -- IF VARCHAR2(240)
IGNORE := 'IGNORE' ; -- IGNORE VARCHAR2(240)
IGNORE_OPTIM_EMBEDDED_HINTS := 'IGNORE_OPTIM_EMBEDDED_HINTS' ; -- IGNORE_OPTIM_EMBEDDED_HINTS VARCHAR2(240)
IGNORE_WHERE_CLAUSE := 'IGNORE_WHERE_CLAUSE' ; -- IGNORE_WHERE_CLAUSE VARCHAR2(240)
@ -2976,7 +2955,6 @@ CREATE OR REPLACE PROCEDURE prc_test_unreserved_keyword
SPFILE := 'SPFILE' ; -- SPFILE VARCHAR2(240)
SPLIT := 'SPLIT' ; -- SPLIT VARCHAR2(240)
SPREADSHEET := 'SPREADSHEET' ; -- SPREADSHEET VARCHAR2(240)
SQL := 'SQL' ; -- SQL VARCHAR2(240)
SQL_TRACE := 'SQL_TRACE' ; -- SQL_TRACE VARCHAR2(240)
SQLLDR := 'SQLLDR' ; -- SQLLDR VARCHAR2(240)
STANDALONE := 'STANDALONE' ; -- STANDALONE VARCHAR2(240)

View File

@ -106,8 +106,6 @@ CREATE OR REPLACE PACKAGE BODY pkg_test_unreserved_keyword AS
BECOME VARCHAR2(240);
/** Unreserved Keyword Word BEFORE **/
BEFORE VARCHAR2(240);
/** Unreserved Keyword Word BEGIN **/
--SRT BEGIN VARCHAR2(240);
/** Unreserved Keyword Word BEGIN_OUTLINE_DATA **/
BEGIN_OUTLINE_DATA VARCHAR2(240);
/** Unreserved Keyword Word BEHALF **/
@ -188,8 +186,6 @@ CREATE OR REPLACE PACKAGE BODY pkg_test_unreserved_keyword AS
CARDINALITY VARCHAR2(240);
/** Unreserved Keyword Word CASCADE **/
CASCADE VARCHAR2(240);
/** Unreserved Keyword Word CASE **/
CASE VARCHAR2(240);
/** Unreserved Keyword Word CAST **/
CAST VARCHAR2(240);
/** Unreserved Keyword Word CATEGORY **/
@ -326,8 +322,6 @@ CREATE OR REPLACE PACKAGE BODY pkg_test_unreserved_keyword AS
CURRENT_TIMESTAMP VARCHAR2(240);
/** Unreserved Keyword Word CURRENT_USER **/
CURRENT_USER VARCHAR2(240);
/** Unreserved Keyword Word CURSOR **/
CURSOR VARCHAR2(240);
/** Unreserved Keyword Word CURSOR_SHARING_EXACT **/
CURSOR_SHARING_EXACT VARCHAR2(240);
/** Unreserved Keyword Word CURSOR_SPECIFIC_SEGMENT **/
@ -368,8 +362,6 @@ CREATE OR REPLACE PACKAGE BODY pkg_test_unreserved_keyword AS
DEBUG VARCHAR2(240);
/** Unreserved Keyword Word DEC **/
DEC VARCHAR2(240);
/** Unreserved Keyword Word DECLARE **/
DECLARE VARCHAR2(240);
/** Unreserved Keyword Word DECREMENT **/
DECREMENT VARCHAR2(240);
/** Unreserved Keyword Word DECRYPT **/
@ -470,8 +462,6 @@ CREATE OR REPLACE PACKAGE BODY pkg_test_unreserved_keyword AS
ENCRYPT VARCHAR2(240);
/** Unreserved Keyword Word ENCRYPTION **/
ENCRYPTION VARCHAR2(240);
/** Unreserved Keyword Word END **/
--SRT END VARCHAR2(240);
/** Unreserved Keyword Word END_OUTLINE_DATA **/
END_OUTLINE_DATA VARCHAR2(240);
/** Unreserved Keyword Word ENFORCE **/
@ -592,8 +582,6 @@ CREATE OR REPLACE PACKAGE BODY pkg_test_unreserved_keyword AS
FRESH VARCHAR2(240);
/** Unreserved Keyword Word FULL **/
FULL VARCHAR2(240);
/** Unreserved Keyword Word FUNCTION **/
--SRT FUNCTION VARCHAR2(240);
/** Unreserved Keyword Word FUNCTIONS **/
FUNCTIONS VARCHAR2(240);
/** Unreserved Keyword Word G **/
@ -658,8 +646,6 @@ CREATE OR REPLACE PACKAGE BODY pkg_test_unreserved_keyword AS
IDGENERATORS VARCHAR2(240);
/** Unreserved Keyword Word IDLE_TIME **/
IDLE_TIME VARCHAR2(240);
/** Unreserved Keyword Word IF **/
IF VARCHAR2(240);
/** Unreserved Keyword Word IGNORE **/
IGNORE VARCHAR2(240);
/** Unreserved Keyword Word IGNORE_OPTIM_EMBEDDED_HINTS **/
@ -1738,8 +1724,6 @@ CREATE OR REPLACE PACKAGE BODY pkg_test_unreserved_keyword AS
SPLIT VARCHAR2(240);
/** Unreserved Keyword Word SPREADSHEET **/
SPREADSHEET VARCHAR2(240);
/** Unreserved Keyword Word SQL **/
SQL VARCHAR2(240);
/** Unreserved Keyword Word SQL_TRACE **/
SQL_TRACE VARCHAR2(240);
/** Unreserved Keyword Word SQLLDR **/
@ -2253,7 +2237,6 @@ BEGIN
CURRENT_TIME := 'CURRENT_TIME' ; -- CURRENT_TIME VARCHAR2(240)
CURRENT_TIMESTAMP := 'CURRENT_TIMESTAMP' ; -- CURRENT_TIMESTAMP VARCHAR2(240)
CURRENT_USER := 'CURRENT_USER' ; -- CURRENT_USER VARCHAR2(240)
CURSOR := 'CURSOR' ; -- CURSOR VARCHAR2(240)
CURSOR_SHARING_EXACT := 'CURSOR_SHARING_EXACT' ; -- CURSOR_SHARING_EXACT VARCHAR2(240)
CURSOR_SPECIFIC_SEGMENT := 'CURSOR_SPECIFIC_SEGMENT' ; -- CURSOR_SPECIFIC_SEGMENT VARCHAR2(240)
CYCLE := 'CYCLE' ; -- CYCLE VARCHAR2(240)
@ -2274,7 +2257,6 @@ BEGIN
DEALLOCATE := 'DEALLOCATE' ; -- DEALLOCATE VARCHAR2(240)
DEBUG := 'DEBUG' ; -- DEBUG VARCHAR2(240)
--SRT 20110508 DEC := 'DEC' ; -- DEC VARCHAR2(240)
--SRT 20110508 DECLARE := 'DECLARE' ; -- DECLARE VARCHAR2(240)
DECREMENT := 'DECREMENT' ; -- DECREMENT VARCHAR2(240)
DECRYPT := 'DECRYPT' ; -- DECRYPT VARCHAR2(240)
DEFERRABLE := 'DEFERRABLE' ; -- DEFERRABLE VARCHAR2(240)
@ -2325,7 +2307,6 @@ BEGIN
ENABLE := 'ENABLE' ; -- ENABLE VARCHAR2(240)
ENCRYPT := 'ENCRYPT' ; -- ENCRYPT VARCHAR2(240)
ENCRYPTION := 'ENCRYPTION' ; -- ENCRYPTION VARCHAR2(240)
--SRT END := 'END' ; END VARCHAR2(240)
END_OUTLINE_DATA := 'END_OUTLINE_DATA' ; -- END_OUTLINE_DATA VARCHAR2(240)
ENFORCE := 'ENFORCE' ; -- ENFORCE VARCHAR2(240)
ENFORCED := 'ENFORCED' ; -- ENFORCED VARCHAR2(240)
@ -2386,7 +2367,6 @@ BEGIN
FREEPOOLS := 'FREEPOOLS' ; -- FREEPOOLS VARCHAR2(240)
FRESH := 'FRESH' ; -- FRESH VARCHAR2(240)
FULL := 'FULL' ; -- FULL VARCHAR2(240)
--SRT FUNCTION := 'FUNCTION' ; FUNCTION VARCHAR2(240)
FUNCTIONS := 'FUNCTIONS' ; -- FUNCTIONS VARCHAR2(240)
G := 'G' ; -- G VARCHAR2(240)
GATHER_PLAN_STATISTICS := 'GATHER_PLAN_STATISTICS' ; -- GATHER_PLAN_STATISTICS VARCHAR2(240)
@ -2419,7 +2399,6 @@ BEGIN
IDENTITY := 'IDENTITY' ; -- IDENTITY VARCHAR2(240)
IDGENERATORS := 'IDGENERATORS' ; -- IDGENERATORS VARCHAR2(240)
IDLE_TIME := 'IDLE_TIME' ; -- IDLE_TIME VARCHAR2(240)
--SRT 20110508 IF := 'IF' ; -- IF VARCHAR2(240)
IGNORE := 'IGNORE' ; -- IGNORE VARCHAR2(240)
IGNORE_OPTIM_EMBEDDED_HINTS := 'IGNORE_OPTIM_EMBEDDED_HINTS' ; -- IGNORE_OPTIM_EMBEDDED_HINTS VARCHAR2(240)
IGNORE_WHERE_CLAUSE := 'IGNORE_WHERE_CLAUSE' ; -- IGNORE_WHERE_CLAUSE VARCHAR2(240)
@ -2962,7 +2941,6 @@ BEGIN
SPFILE := 'SPFILE' ; -- SPFILE VARCHAR2(240)
SPLIT := 'SPLIT' ; -- SPLIT VARCHAR2(240)
SPREADSHEET := 'SPREADSHEET' ; -- SPREADSHEET VARCHAR2(240)
SQL := 'SQL' ; -- SQL VARCHAR2(240)
SQL_TRACE := 'SQL_TRACE' ; -- SQL_TRACE VARCHAR2(240)
SQLLDR := 'SQLLDR' ; -- SQLLDR VARCHAR2(240)
STANDALONE := 'STANDALONE' ; -- STANDALONE VARCHAR2(240)