Circular dependency occur in PL/SQL
packages only. Circular dependencies are not possible with other types of
PL/SQL modules (i.e. functions, procedures, triggers, etc). Think about it
- there is a chicken-and-egg problem. Circular dependencies in a compiled
environment are impossible unless the objects have a header (for
references) and a body...
...stored Java objects may or may not have this
problem like packages; I'm not sure because I have no familiarity with
them. Same with OO features...
Anyway, the "gen_recompile.sql" script recompiles
package bodies only (using ALTER PACKAGE xxx COMPILE BODY) when it is the
package body, not the package header, that is INVALID. It is only when
people recompile the whole package (header and body together, using ALTER
PACKAGE xxx COMPILE) that the endless circular invalidation cycle
begins. So, it's just incorrect usage of the ALTER
<object> xxx COMPILE command to run into circular
dependencies. If the invalid objects are compile-able, then
"gen_recompile.sql" will get them all in one pass...
---
By the way, the "chicken-and-egg" comment put me in
mind of an old joke. I don't know how it will play out here in
text using only words (I saw it as a New Yorker magazine cartoon), but it's
worth a shot...
|
- compile invalid objects BigP
- Re: compile invalid objects Hemant K Chitale
- Re: compile invalid objects Tim Gorman
- RE: compile invalid objects Vergara, Michael (TEM)
- RE: compile invalid objects Tim Gorman
- RE: compile invalid objects Connor McDonald