TableInfoQuery, :TABLE_NAME = DUAL

Hello!
I've scanned all DOA objects in my applications, and I found a lot of TOracleQuerys (from 1 to 15). Its names are TableInfoQuery. These TableInfoQuery's haven't parent, have different variables value, and have same SQL.text:

"Select constraint_name, column_name from sys.all_cons_columns
where owner = :owner and table_name = :table_name
and constraint_name not like :p_max_constraint_name
order by constraint_name, position".

If I'm not mistaken, TableInfoQuery appear for TOracleDataset with empty FieldDefs and empty UniqueFields, am I right?

I have a question:
Why one TableInfoQuery try to read constraint_name from "dual"?
--------
Sorry for my English...
 
The TableInfoQuery will fire once per session/table when a dataset requires dictionary information such as constraint information and column default values. If it is executed for the DUAL table, then I assume that you have a TOracleDataSet that queries the DUAL table.
 
Hello, Marco!
We have a problem.
Our database administrator (DBA) has monitored our DOA-application sessions and found several open cursors with same SQL.text (TOracleTableInfo's).
DBA is thinking this is a mistake method (using too many resources).
I
 
The OracleTableInfo query can only have one associated open cursor. If there are multiple open cursors with the same text, then I would assume that they are for different sessions.
 
Hello, Marco!

I get result of

SELECT voc.* FROM V$open_cursor voc, V$Session vs
WHERE voc.sid=vs.sid
AND audsid= (SELECT USERENV ('SESSIONID') FROM dual)

and

list all DOA objects in this application in same time.

Can I send you these results?
 
Back
Top