Print Thread
dbms_output?
#65505 03/11/24 04:39 PM
Joined: Nov 2023
Posts: 45
G
Member
OP Offline
Member
G
Joined: Nov 2023
Posts: 45
I notice that you automatically retrieve any dbms_output, and there is no option to either disable, or to set any sort of limit.
I'm uneasy about this..

I just killed a long-running block, and a while after that I was presented with 1.8M rows of output..
Moving cursor away from that statement and then back, took ~20s just to redisplay the 1.8M rows of output

So, it looks like you're reading the output *way* faster than pl/sql developer ever did, but there are still cases where some routine will produce way more output than is sensible to retrieve.So, maybe you should retrieve and display in chunks, and give me a way to stop it, and/or allow me to set some limits.
Maybe also displaying something like "Completed in X seconds. Fetching XXX lines of output"

Just a quick test:
SQL Query
begin
    for i in 1..100000 loop
        null;
        dbms_output.put_line('Line ' || i);
    end loop;
end;
/

This took 16s to return and display the 100K rows of output, but says "PL/SQL procedure successfully completed in 0,16s"

Re: dbms_output?
guttormvik #65510 03/12/24 10:10 AM
Joined: Aug 1999
Posts: 22,220
Member
Offline
Member
Joined: Aug 1999
Posts: 22,220
We'll see if we can optimize this. Either by doing it partially like you suggested, or in a background thread, or both.

Note that you can of course always disable or limit dbms_output for specific cases by adding a call to dbms_output.disable or dbms_output.enable(limit).

Last edited by Marco Kalter; 03/12/24 10:13 AM.

Marco Kalter
Allround Automations

Link Copied to Clipboard
Powered by UBB.threads™ PHP Forum Software 7.7.4
(Release build 20200307)
Responsive Width:

PHP: 7.1.33 Page Time: 0.025s Queries: 14 (0.005s) Memory: 2.5010 MB (Peak: 3.0424 MB) Data Comp: Off Server Time: 2024-05-20 00:53:34 UTC
Valid HTML 5 and Valid CSS