By doing this you are recompiling everything andWell... it's a little bit different than that. I would change the word "recompiling" to "uncompiling". The replace ; with ; causes all the program units to become uncompiled. You can observe this on the pl/sql editor status line, as well as the Object Navigator's '+' icon next to each program unit.
cleaning out all this information.
There should be no negative impact.
I've had these file size changes happen when I open aWhen you are NOT connected, then all the program units that make database calls, or are dependent upon some that do, become uncompiled. Then when you save the form, those program units are stored in their compressed size.
form previously compiled against a database, but this
time I just save it without connecting to the DB
and/or(?) compiling it.
of a form against different versions of another form. We see this all the time in
large project (usually) when somone thinks they are running against Version X
of a pll (for example) but they are actually running against X-1.
which manifests itself in this type of behaviour
Any chance of Oracle modifying the default compile all (shift-ctrl-k) behaviour to actually invalidate and then recompile the module so we don't have to go through this rigmarole?Actually, "Compile All" (shift-ctrl-k) does just that: Invalidate and then recompile all modules. The problem is, though, that if you save the fmb after that, compiled code is stored inside the fmb along with the source. And when you move to another platform and do a compile (but forget to compile all), the intermittent problem is back.
mhitrik wrote:Michael, you are right about the process breaking the references. The same warning is contained in this thread:
I would not recommend to use ';' as a solution.
If you have triggers referenced they will be affected as well and they will be marked as 'overridden'
All inheritance will be broken by doing this. Do not use this solution.
The best way to fix it is to build a simple JDAPI program to do the exact replacement BUT not to touch any referenced code.