The "Available Objects" panel lists everything the connection can reach: the tables, views, functions, procedures and packages of every data container of the database. It is one panel for the whole window, since one database is connected at a time, and it is read from the metadata of that connection:
![[20260903-qt-available-objects.png]]
## What the Tree Shows
The tree carries a level for the data container, the catalog, the schema and the object, and leaves out a level of which there is only one - a database with a single data container starts at the catalog, and a data container with a single schema shows its objects directly. The number in brackets behind a name is the number of entries below it. The icon says what kind of object it is, and the description the platform provides for an object follows its name in brackets.
The packages of [[Invantive UniversalSQL/Packages/Packages|Invantive PSQL]] appear under "PSQL Packages", with the functions and procedures of each package below it.
## Using an Object in a Statement
Double-clicking an object, or selecting it and pressing Enter, writes it into the document being edited:
- Within a statement the fully qualified name of the object is inserted at the cursor. A table function is inserted with a placeholder for each of its parameters, as `:parameter`.
- In an empty statement a whole statement is written: `select * from <object>` for a table, a view or a table function, and `exec <object>` for a function, a procedure or a package. On Invantive UniversalSQL the select carries a `limit` clause of at most 5,000 rows, or of the row limit of the session where that is lower.
- The alias of the data container is appended as `@<alias>` where the object belongs to another data container than the one the statement would run on by itself.
## Describing an Object
The context menu of an object holds "Describe Object", which opens the columns, the keys, the parameters and the statistics of the object in a window of its own. It requires a licence which covers the function `itgen_querytool_describe`.
## Searching
From release 27.0 onwards the toolbar of the panel carries a search field which leaves only the matching objects in view. The text is compared against the whole name of an object - the data container, the catalog, the schema and the object itself, as well as the description it is shown with - so an object is found by its description as much as by its code. The branches which hold a match are opened and the number behind each name is the number of matches within it:
![[20260903-qt-available-objects-search.png]]
Upper and lower case are treated alike. The button behind the field empties it, as does the Escape key. See [[Invantive Query Tool/Main Window#Searching in a panel|Searching in a panel]] for the search fields of the other panels.
## Refreshing
The tree is built when the panel is first shown and is built again after connecting to another database. A database whose structure changes while the product is connected - a table added on the platform itself - is therefore shown as it was; reconnecting reads it again.