Compile Invalid Objects SQL

I had a strange experience with the PL/SQL Developer feature Tools / Compile Invalid Objects. After a mass update of packages, I used the feature to recompile invalids. After some work I reduced the invalids to 11. But another developer ran a SQL statement through SQL*Plus, and found 1197 invalids! His simple statement was:

Code:
select object_name, object_type, status
   from user_objects
   where status = 'INVALID'
   and   object_type like 'PACKAGE%'
A fundamental table change had not been made, which led to an invalid base package, which caused all the other invalids. The 1197 number was correct, not the 11 reported by Compile Invalid Objects.

My question is what might cause the discrepancy? In particular, what is the SQL statement used to populate the Compile Invalid Objects screen?

Many thanks for the support, and the wonderful product. Obviously there are some folks around here who insist on using the "old" tools like SQL*Plus (and with good reason in some cases!), but PL/SQL Developer's GUI and step-thru debugging are a huge productivity enhancer.

Cheers.
 
The "Compile Invalid Objects" tool works within the scope of the current Browser Filter. If it is set to "All objects", you should also see 1197 invalid objects. If it is set to anything else (e.g. "My objects"), it may be less.
 
Maybe a functionality could be added to all menu options that are limited by the Browser Filter, if clicked while holding the SHIFT key, ignore the browser filter?
 
Thanks Marco, the browser filter explains the difference. And the bypass-the-filter idea sounds good to me too...I think there are several other tools like Export that use the browser filter by default, and it would be nice to be able to bypass the filter, or at least get a clear indication that it is being used.

Once again, thanks for the support!
 
Back
Top