Closed
Description
On a large schema (with more than 40'000 PL/SQL packages) the query
SELECT o.object_owner, o.object_type, o.object_name, a.name, a.text, a.subobject_name
FROM TABLE(UT3.ut_annotation_manager.get_annotated_objects(upper(?), 'PACKAGE')) o
CROSS JOIN TABLE(o.annotations) a
WHERE o.object_name = upper(?)
took 2 minutes to complete. The UI is blocked during this time. This is very bad.
When the cache is initialized the query takes about 700 milliseconds. Since this query is executed twice the context menu is delayed by 1.4 seconds, which is too much.
Since this statement might be expensive, it should be executed once.
Furthermore a mechanism should be defined to limit the wait time for the query response and to define a default behaviour.