12.10.0.8 - Code Assist: Not working for package with many functions

Code Assist does not display the functions for the package generated by the following code. This works fine with 12.9.0.71. Can you reproduce this?

SELECT ‘CREATE OR REPLACE PACKAGE toad_test AS ’ AS text FROM dual
UNION ALL
SELECT ’ FUNCTION get_’ || ROWNUM || ’ RETURN NUMBER;’ FROM dual CONNECT BY ROWNUM <= 500
UNION ALL
SELECT ‘END;’ FROM dual;

Yes, I see this. There’s an AV happening when I’m extracting information from the parser that you’re not seeing. The problematic code is only about a week old. I’m working with the parser guys to identify the cause and fix.

Michael

Fixed in next beta.

It works again, but it seems to be slower than before.

Do the same test with 5000 rows on 11.9.0.71 and 12.10.0.17 and you should see what I mean.

I see this too. There are a few things going on…

  1. Bug in Set Params window was fixed surfacing bug in parser

  2. Bug fixed in parser introduces performance hit until it can be sorted out

  3. If I remove the fix for the initial bug the performance hit is still there, minimally. It’s not as fast as 12.9, but considerably faster than beta and totally usable.

I’ll look at fixing the initial bug differently or just roll back that fix as it’s minor compared to this.

Speed is much better in next build. Your 5,000 method example takes ~10 secs in 12.9 to show Code Insight. In 12.10.0.17 it’s taking ~1 min 10 sec. In next build it’s taking ~18 secs. So percentage-wise it’s still off from 12.9, but for packages with smaller number of methods you’ll probably notice very little change. This performance hit is all client side processing so if CI takes a while to retrieve info from the db in your examples that time is not increased by recent work. Only client-side parsing/post-parsing is affected.