Toad World® Forums

Notes on build 825


#1

Hello, first some small ones - probably they’ve already reported.

*1. do a long running Code Search and try to close another (editor)window after search started. Program hangs until search finished - was not so in 5.5.3

*2. when looking at package body no way to see which functions/procedures are published in spec

*3. clicking on the new code editor “X”-button (top right corner) gives “Interface not supported” error message under the General tab.

*4. missing the functionality of Ctrl+Enter to open object at cursor And now the big one …

*5. Making changes in package body also compiles the package spec, although it was not touched … uuh-ooh …
i gave my dbas work for an hour or so to get the system to normal state again…
how do things like this get as far as to beta 7?

Regards, Andres
added note 4 Message was edited by: Andres


#2

Another big one - try to compile a package with &-signs in it.
Try to compile

procedure test
is
l_string varchar2(32000) := ‘&test=123’;
begin
null;
end;

After saving it becomes
procedure test
is
l_string varchar2(32000) := ‘=123’;
begin
null;
end;

This one is a silent bug - you take a package with 10s of procedures, change one, and you don’t know you changed 5. And, the procedure will compile, but the results will be “unexpected”.
!!!

Regards,
Andres


#3

Hi Andres,

  1. We are unable to replicate this issue… can you please give us more detailed steps on exactly what you are doing, and include screen shots if possible.

  2. This is a known issue, and has already been fixed up… you will see an improvement in the next beta drop.

  3. We have experienced similar issues to this. The stability will be greatly improved in the next beta drop.

  4. Thanks for pointing this out, we had fixed the hyperlink functionality, but had not re-added the shortcut!! This will also be in the next beta.

  5. Thanks for picking this up… yes it is different from 5.5
    Although I don’t see how it could have caused any major issues, if there were no changes made to the spec what harm is there in re-compiling it?

  • Jaime -

#4

Very well spotted Andres… thanks for pointing this one out to us!!
We must have a closer look at the parser.

Thanks for your excellent feedback!

  • Jaime -

#5

if there were no changes made to the spec what harm is there in re-compiling it?

Suppose there is a very frequently used package package_a.
In some rarely used procedure in there there is
if then
package_b.procedurex
end if;

Now recompiling and changing package b body is relatively harmless - i know it’s rarely called and all the calls are short - no long queries use it. Now, if changing package b-s spec together with package b body what happens? As package_a calls package_b, and package_b spec is “changing”, package_a body is marked invalid. You may ask, what’s wrong with that, because the next one who uses package_a will compile it. That’s true, if package_a … is free. But suppose there is a long-running query (say an hour for example) that uses function c from package_a. Can package_a be recompiled while the long-running query is running? NO. The package is invalid and cannot be compiled because it’s in use. And now every session who needs a function from package_a (it is very frequently used) - just waits its turn to recompile the package… but the long-running query is running long … 10 web sessions wait … How much patience does a web user have when the page that usually pops up with a second doesn’t show up in 5 seconds? Right, no patience. What does a web user do? Hit reload… 20 web sessions waiting … 50 sessions wait - hold on, there are no more connections available to the database. Boom … noone can even log in. Even dba can’t log in. oops …

The bottom line is … don’t touch the spec unless absolutely necessary (something changed)

Andres


#6

Thanks for your thoughts Andres.
We will definitely address this issue!!

  • Jaime -