Toad World® Forums

Changed package on DB: either spec or body gets refreshed, not both



I opened a package (spec+body) from a DB, viewing the body.
Someone else changed the package code on the DB.
SQLNav will ask to reload the source from the DB, as it is changed, but it will only refresh the body, not the spec - until you view the spec, where SQLNav again will ask to reload the source from the DB (this time the spec only).

If the new code has additional functions/procedures that are published in the spec, they will show as “private” in the code explorer tab (until the spec is also reloaded).

If you were to view the spec whilst the code changed, the additional published functions/procedures will be marked in red after reloading the spec - as if they are not present in the body - until the body is reloaded, too.


If the package is not reloaded, someone may accidentally save the old version of it into the Database which means the new changes are overriden. When you change the tab, it forces Nav to check the timestamp of the object and decide if the object needs to be reloaded. Because it based on the switching tab action, it only reloads either spec or body at a time.

So you would prefer it not reloading at all?



No, I’d like to be given the option to also reload the spec (in case the body was changed) or the body (in case the spec was changed).
Maybe the check whether the code (spec or body) changed on the database could be extended to also check for the accompanying body or spec (respectively).


I get your point, Dominique. I have logged in a CR for this issue.