You will no longer receive e-mail notifications from this forum.
Log-In to post
I get this feeling that TI become a bit too sensitive - DropDown is displayed even when I get to new line using Enter.
Another one is after any dot it gets displayed after := (assignment), even though I choose nothing from the list after enter first variable from package (top of the list) is added before EOL.
here TI is displayed with all variables and objects, but I continue with
my_var := 21;
at this moment first var from the list displayed above is dropped even though now list is empty
my_var := 21;first_from_the_list
It's actually pretty hard to not get TI displayed.
I tried to display an execution plan using Ctrl+E, but since my DB had an "ORA-00257: Archiver error" at that moment, the statement froze and I could not cancel the execution.
Is there a way to add an option to cancel this action?
While describe window is opened I use toolbar icon to add a new column.
Unfortunately this dialog is hidden below describe window, I cannot access it until I move describe window aside before opening this dialog.
In 64bit version of oracle.
pressing F4 on
used to open describe window on package body now gives message :
Object package_name. does not exists
When pasting huge amount of data into Toad editor, application is crashing.
I tried with around 30K lines each 60 chars.
Not sure if the eixsing rule for unused variables should be extended or if this is a new rule, but it would be great if unused cursors could be detected too. Is this possible?
CREATE PACKAGE BODY test_packageAS CURSOR cursor_unused_global IS SELECT * FROM dual; variable_unused_global PLS_INTEGER; PROCEDURE test_proc AS CURSOR cursor_unused_local IS SELECT * FROM dual; variable_unused_local PLS_INTEGER; BEGIN dbms_output.put_line( 'TEST' ); END test_proc;END test_package;
I'm currently on 22.214.171.124.
In the formatter options, list arrangements, parameters, I have set:- List arrangement: Stacked on overflow or more than 3- Parentheses:option 2- On overflow on 1, 2, 3 then use: option 5
With the current code this results in parameter sprawl over an excessive number of lines,reducing readability and maintainability of the code :-(
For example I now get: if lower(p_debug) = 'debug' then utl_krg.msg_log.log_debug_msg( p_schema => g_my_schema , p_package => g_my_package , p_routine => l_my_routine , p_action => l_action , p_msg_id => g_my_msg_prefix || '0035D' , p_message => 'reread check: l_app=' || coalesce(l_app, '<*null>') || ', g_getkrg_last_app=' || coalesce(g_getkrg_last_app, '<*null>') || ', g_mqget_retry_time=' || coalesce(trim(to_char(g_mqget_retry_time)), '<*null>') || ', localtimestamp=' || coalesce(trim(to_char(localtimestamp)), '<*null>') ); end if;
Where the formatter in 126.96.36.199 gives me: if lower(p_debug) = 'debug' then utl_krg.msg_log.log_debug_msg( p_schema => g_my_schema , p_package => g_my_package , p_routine => l_my_routine , p_action => l_action , p_msg_id => g_my_msg_prefix || '0035D' , p_message => 'resend check: l_app=' || coalesce(l_app, '<*null>') || ', g_putkrg_last_app=' || coalesce(g_putkrg_last_app, '<*null>') || ', g_mqput_retry_time=' || coalesce(trim(to_char(g_mqput_retry_time)), '<*null>') || ', localtimestamp=' || coalesce(trim(to_char(localtimestamp)), '<*null>') ); end if;
Which is more both compact and better readable.
I assume some customer(s) have asked questions that have prompted the change in formatter behavior,so I'm not going to ask for a reversal of the change. But could we have a formatting parameter,to force or not force all parameters onto a separate line if any parameter overflows?
While I'm at it, we'd also like a distinction between Oracle supplied functions, and user-defined ones.Would it be possible to have separate formatting rules for these two categories of functions?
Kind regards,Abe Kornelils==========
The following snippet is marked by two rules. I believe that both of them are wrong:
SELECT CAST( 1 AS INTEGER ) FROM dual CROSS JOIN dual;
Rule 2831: Use PLS_INTEGER instead of INTEGER or equivalent subtypes.Rule 5809: Ensure elements in the SELECT list (either columns or expressions) are qualified by a table/view name.
v_toad_test_type cannot be a constant:
CREATE TYPE toad_test_type AS OBJECT ( x NUMBER(1), MEMBER PROCEDURE init_x );CREATE TYPE BODY toad_test_type AS MEMBER PROCEDURE init_x AS BEGIN x := 1; END init_x;END;CREATE OR REPLACE PROCEDURE toad_test AS v_toad_test_type CONSTANT toad_test_type := NEW toad_test_type(0); -- Rule 2131BEGIN v_toad_test_type.init_x();END toad_test;
5809 - Ensure elements in the SELECT list (either columns or expressions) are qualified by a table/view name.
SELECT ( SELECT 1 FROM dual d3 ) FROM dual d1 CROSS JOIN dual d2;
When you look in table grid (by partition) you get:
But when you look for real segments:
I think that first grid should show rows from sys.USER_TAB_PARTITIONS but blocks from user_segments view because it is more correct.
I'm on Toad Beta 188.8.131.52.
I was running a script which incurred an endless wait. While analyzing the issue using a separate instance of Toad, I left the waiting process alone.
When I finally tried to terminate the waiting process, Toad crashed with exection from some invalid address.
Please see error_log below for more details:Toad_el_20170524.txt
Best regards,Abe Kornelis==========
I'm currently on Toad Beta 184.108.40.206
I encountered an access violation at -1 (hex all F).Please see attachment for details.
What happened:- I was running a script with insert all statements (using F5)- The script stopped, so I started a second Toad session- I used the session browser, detected an enqueue, then closed the secondary Toad- I hit escape to abort the script
Kind regards,Abe Kornelis==========
I'm currently on Toad 220.127.116.11.
Within an IF statement, I'm doing two calls to a single routine (parms are different).Strange enough, the code gets formatted quite differently:
if lower(p_debug) = 'debug' then utl_krg.msg_log.log_debug_msg(p_schema => g_my_schema , p_package => g_my_package , p_routine => l_my_routine , p_msg_id => g_my_msg_prefix || '0022D' , p_message => 'Queue ' || coalesce(g_mqget_queue, '<*Null>') || ' opened ' || case when l_errmsg = 'OK' then 'successfully' else ' with error: ' || l_errmsg end ); utl_krg.msg_log.log_debug_msg( p_schema => g_my_schema , p_package => g_my_package , p_routine => l_my_routine , p_msg_id => g_my_msg_prefix || '0023D' , p_message => 'g_mqget_status=' || coalesce(g_mqget_status, '<*Null>') || ', g_mqget_retry_time=' || coalesce(trim(to_char(g_mqget_retry_time, 'yyyy-mm-dd hh24:mi:ss')), '<*Null>') ); end if;
Q1: Why are they being formatted differently?
Q2: I don't mind the reduced indentation of the p_message parameter, but I really hate all the other parameters being spread out over two lines where there is no need to do so. Would it be possible to make this configurable?
This has bothered me for a long time, so I'd like to hear if there is a special reason for this implementation.
When scrolling (mouse-wheel or scrollbars) vertically, the selected row changes. I don't like this behavior, especially since this is barely visible (blue marker is not moved).The behavior is also inconsistent, scrolling horizontally does not affect the selection.
Is there a way to disable this?
I scrolled down in the following example, so when I start typing now, row 4 instead of row 1 is edited.
I had an Editor SQL window open, pasted in some non-sql text, got a bunch of syntax highlighting, rt-click on language/syntax highlighting changing it from SQL to Plain Text. Red marks remained. When I create the Editor window as a Text window and paste non-sql, no syntax highlighting as expected.
I don't see an option for the REUSE SETTINGS clause for the Compile option in the SB. Is it available? I've never used it until now (apparently it's been around for awhile), but we may find it useful in the very near future.
When clicking on the name or the body of a package method (procedure or function), then the method is selected in the Navigator.This does not work when selecting method parameters.
This is rather confusing, can it be fixed?