Master-Detail Browser / Toad Version

Toad 16.2.98.1741

Master-Detail Browser
If your connection drops, all of the speed buttons become disabled, even after connection re-establishment, so you have no choice but to close the Master-Detail Browser. As a minimum I would expect the Refresh All Grids speedbutton to always be enabled, and if it worked, it should re-enable the rest of the buttons in details and sub details.
image

Can you make it so there is both "Save" and "Save As" speed buttons, rather than just currently which acts as a "Save As". Edits currently take three clicks to save an existing MDB setup.

Deletions
If I edit a query and add say a join to show some extra info, I can no longer delete the record. It's because the deletion tries to pessimistically lock the record first but refers to all of the columns in the for update nowait statement

e.g.

select d.rowid, d.*, (select count(*) from MY_CHILD_DATA c where c.PARENT = d.ID) CHILD_CNT
from MY_DATA d

I want to delete a record, it issues the lock:


SELECT ID, COL1 as "_1", COL2 as "_2", CHILD_CNT as "_3"
FROM SCHEMA.MY_DATA
WHERE
  ROWID = 'AAELt7AAAAAA0RaAAJ'
FOR UPDATE NOWAIT

and this fails, because CHILD_CNT doesn't exist. To achieve a lock, it doesn't need to select the values, it can select null, which is far more robust and less resource hungry :

SELECT null DUMMY#
FROM SCHEMA.MY_DATA
WHERE
  ROWID = 'AAELt7AAAAAA0RaAAJ'
FOR UPDATE NOWAIT

Toad | About
Can you add a "Copy to clipboard" hyperlink / button on the Toad About screen please, to copy the version information (e.g. Toad For Oracle, 16.2.98.1741, 32 Bit) currently it is read only. It'll be useful for users when reporting issues and telling colleagues what version they are using.

EDIT : Added delete issue.

Regards
Paul

Hi Paul:

  • Master-detail connection lost problem: seems like a bug. I'll investigate on Monday.
  • Edit/Delete when a subquery exists: The column selection exists to verify that another user hasn't changed the row since you did your initial SELECT. Not sure that we'll be able so solve this one w/o causing some other issue. You could work around it by putting the record count as a child dataset that you don't intend to edit. I know, it's not as helpful that way.
  • Help -> About: Good idea. As a workaround, go to Help -> Support bundle instead. You can copy/paste it from there.

-John

1 Like

Hi John

Couldn't you inline view the original query before applying the filtered for update nowait, that way the row check is preserved but it supports the lock? I'd imagine the predicate will get pushed into the view.

For my example

select *
from (
  select d.rowid as ROWID#, d.*, (select count(*) from MY_CHILD_DATA c where c.PARENT = d.ID) CHILD_CNT
  from MY_DATA d
)
where ROWID# = 'AAELt7AAAAAA0RaAAJ'
for update nowait

Thanks, I know about the support bundle, but it just involves extra work, cutting out what you need, plus most apps have a copy version info button or hyperlink for speed nowadays.

Regards
Paul

Hi John

Another REALLY annoying issue on the Master-Detail Browser are grid heights reverting back after a column header click sort. Resize a grid, click column to sort, grid resizes back again.

Kind regards
Paul

Hi John

Also, if I use "Add Missing Columns", it wipes out any manual amendments I've made to the query. E.g. Joins, manually added columns

Paul

The point of "Add Missing Columns" is to rebuild the query, so that if columns have been added to the table, they will be included. Seems like it's asking for trouble if I am to just work that into the existing SQL along with whatever changes have been made to it. Maybe I could add a feature that just lets you know of any columns that exist in the table that are not in the SQL. Then you could add them.

I'll look at the resize thing.

1 Like