Unexpected behavior of "Object Edit" (24.2.167.4299)

Had some strange encounters with the "Object Edit" dialog, hope you can reproduce these :slightly_smiling_face:

Use the following script to prepare the objects:

CREATE OR REPLACE TYPE test_child_ot AS OBJECT (
  child_val1 NUMBER(1),
  child_val2 NUMBER(1)
);

CREATE OR REPLACE TYPE test_child_tab AS TABLE OF test_child_ot;

CREATE OR REPLACE TYPE test_ot AS OBJECT (
  val         NUMBER(1),
  childs      test_child_tab,
  more_childs test_child_tab
);

Then execute this query:

SELECT
    NEW test_ot
    (
        ROWNUM,
        CAST( MULTISET ( SELECT NEW test_child_ot( ROWNUM, ROWNUM ) FROM dual CONNECT BY ROWNUM <= 3 ) AS test_child_tab ),
        CAST( MULTISET ( SELECT NEW test_child_ot( ROWNUM, ROWNUM ) FROM dual CONNECT BY ROWNUM <= 1 ) AS test_child_tab )
    ) AS x
FROM dual
CONNECT BY ROWNUM <= 2;

Data Grid look fine:

Data Grid

Open "Object Edit" using double click.

  1. Why are CHILD_VAL1 and CHILD_VAL2 displayed here when they are members of the child collections (resized columns for readability)?
    image

  2. Moving the mouse to this position paints over the headers:
    image

  3. Navigating to "Last record" makes the dialog disappear:
    image

    Reopening it afterwards be double-clicking the last row shows the dialog but hides it immediately again.
    image

  4. Scrolling down leads to an error (Cannot focus a disabled or invisible window).
    image
    image

  5. Changing and recompiling the object type (e.g. removing other_childs), adjusting the query and then executing the query again leads to an exception:
    image
    Works again after "Test Connection (Reconnect)"

Yes, I see that. Thanks.

Fixed for next beta.

Thanks, looks a lot better!


I can still reproduce the problem when the type is modified and the query is re-executed.

When a member is removed, I get:
image

and for all following executions:
image

"Test Connection" can be used to fix this.


When a new member is added, even a "Test Connection" does not show it.

Hi Peter,

Thanks. I've logged this. Will get to it soon.

-John

Hi Peter,

FYI: I can reproduce this if I run Toad in no-client mode. If I use an Oracle client, it works correctly. It is a bug in our 3rd party Oracle access component. I have reported it in their forum.

-John