Safe Compilation problem

joel

Member
Hello, I have been evaluating v. 6.0, and am having a problem with the safe compilation option.

In package A, I reference a constant in package B. The constant in package B also shares the name of another package in the same schema, but I reference explicitly (var := pkg_b.constant). When compiling with the Safe Compliation option enabled, I get a strange PLS-00302 error:

PLS-00302: component 'P$75945254$TMP$ICIES' must be declared

If I remove the safe compliation option, or if I change the name of the constant, the package compiles properly. Also, compiling with v. 5.16 works without any problem (because there is no safe option I would assume).

Not a showstopper, but it would be nice if this feature worked without changing our code... perhaps a fix for the next rev?

Thx,
Joel
 
The safe compilation does not seem to work at all??
I've got the option checked, but my co-worker complains everytime i compile something invalid?
How could that be?
 
Hello Marco,

When I compile a package body with "Safe Compilation" enabled, the error messages are no longer displayed at the bottom of the window -- is there another place where I can see them?

Kind regards, Mark.
 
Another issue I noticed with safe compile.

If the a package calls a public procedure that is part of the same package it fails.

For example:

Create or replace package something
as
my_public_procedure;
another_public_procedure;
end;
/
create or replace package body something
as
blah blah...
procedure my_public_procedure is
begin
something.another_public_procedure
 
Back
Top