Category Archive Template

Program unit construction and structure > Dependency management

Oracle automatically maintains informatoin about dependencies between database objects. Change a table, and a lot of your code may be marked invalid and need to be recompiled.

April 04, 2005

PL/SQL Flow

In the user_dependencies table, add column to store actual procedure or function being called instead of just package name. This will help us generate report to show code flow like 'cflow' tool for C programs. Will be quite useful to how the code is flowing.

Posted by Uday K at 01:20 AM | Add your thoughts (2)

April 05, 2005

CRUD in USER_DEPENDENCIES

It would be useful to see what a program does with a table/view (ie whether it selects/inserts/updates/deletes) or at least differentiate between select and insert/update/delete.

Posted by gary myers at 11:54 PM | Add your thoughts (2)

April 06, 2005

Deferred Dependency for Invoker rights procedures.

Since these don't necessarily use the objects of the schema in which the procedure resides, they should not require that the objects exist in the schema (unless the object owner is specified when it is used).
Possibly allow a statement of 'This is what the table/procedure... will look like' similar to Pro*c DECLARE TABLE directive.

Posted by gary myers at 12:30 AM | Add your thoughts (1)

January 30, 2006

Query on WNPS/WNDS

In order to refactor existing code to best practice, I\'d like to be able to easily identify package headers with exposed variables, and package bodies that also have package state. I presume this information must have been available at some point to validate the old Pragma definitions.

Posted by Julian Lawton at 03:20 PM | Add your thoughts (0)

October 27, 2006

Compile against other schema´s objects

I would like to be able to specify which schema´s objects should be checked against upon compilation. Today we have a solution where all PL/SQL code (except for triggers) are owned by a single schema. The tables and views that the packages are runned against are owned by other schemas. This forces us to use execute immediate instead of using DML directly. This makes debugging difficult. An option on the CREATE PACKAGE/FUNCTION/PROCEDURE statement that specifies which schema´s objects the syntax should be checked against. E.g.:
CREATE PROCEDURE SOMEPROCEDURE
COMPILED AGAINST SCHEMA SOMESCHEMA
IS
...
BEGIN
...
END;

Posted by Roald Andresen at 07:38 AM | Add your thoughts (1)