-
Notifications
You must be signed in to change notification settings - Fork 0
Output Components
When a query finishes executing, the results are sent to the active output component. Queryeer ships with several output types, and you can switch between them per query file using the output selector in the toolbar.
The output type selector is shown in the toolbar next to the engine selector. Options include:
| Output Type | Best Used For |
|---|---|
| Table | Structured row/column results — the default for most queries |
| Text | Raw text or non-tabular output |
| Query Plan | SQL Server execution plans |
| Graph | Chart / plot visualizations of result set data |
| None | Discarding results (e.g., DML statements) |
The Table output is the default and most-used output component. It renders query results in a sortable, resizable grid.
Click any column header to sort the result set by that column. Click again to reverse the sort direction. Sorting is performed client-side on the full result set.
Drag column borders to resize. Double-click a border to auto-size the column to fit its content.
Select multiple rows or cells using Shift+Click or Ctrl+Click. The selection can be copied to the clipboard.
Copying selected cells places them on the clipboard in a tab-separated format compatible with Excel and other spreadsheet tools. Column headers are included when copying a full row selection.
A Find toolbar can be toggled inside the result table. Type to filter visible rows by matching any cell value. Matching cells are highlighted. The find bar supports both literal and case-insensitive matching.
Right-clicking a cell or row opens a context menu with actions such as:
- Copy cell value
- Copy row(s) as TSV
- Copy row(s) as JSON
- Filter rows matching this value
Custom actions also appear here — see Configurable Context Menu Actions below.
Custom context menu items can be defined under Options → Table → Query Actions. Each action is driven by a Payloadbuilder template query that runs against the clicked row's data, making it possible to generate dynamic queries or output based on any cell value.
Action fields:
| Field | Description |
|---|---|
| Name | Label shown in the context menu. Supports template expressions, e.g. Search for '${@tableRow.cell.value}'
|
| Template query | A Payloadbuilder query executed when the action is triggered. Has access to the clicked row via @tableRow
|
| Template target |
EXECUTE — the template output is itself run as a query; AS_IS — the output is used directly |
| Output type | Where the result is sent (see below) |
Output types:
| Output Type | Behavior |
|---|---|
NEW_QUERY_EXECUTE |
Opens result in a new editor tab and executes it immediately |
NEW_QUERY |
Opens result in a new editor tab without executing |
TEXT |
Appends result to the messages panel |
CLIPBOARD |
Copies result to the clipboard |
TABLE |
Displays result as a table in the output panel |
QUERY_PLAN |
Generates an execution plan from the result |
Accessing row data in the template:
| Variable | Value |
|---|---|
@tableRow.cell.header |
Column name of the clicked cell |
@tableRow.cell.value |
Value of the clicked cell |
@tableRow.columns |
All columns in the row, each with .header and .value
|
Example — open a query pre-filled with the clicked value:
SELECT * FROM orders WHERE id = '${@tableRow.cell.value}'
Queryeer ships with a few example templates (surrounding log documents by timestamp, correlated documents by correlation ID, search database objects by column/value) that can be used as starting points. An action tester is built into the configuration dialog so actions can be validated with mock data before saving.
Cells are rendered based on their data type:
- Numeric values are right-aligned
-
NULLvalues are displayed distinctly - Long text values are truncated with a tooltip showing the full value
- JSON and XML values may be formatted for readability
Results currently visible in the table can be exported using the export toolbar button. Available formats:
| Format | Description |
|---|---|
| CSV | Comma-separated values, compatible with Excel and data tools |
| JSON | JSON array of objects, one object per row |
The Text output renders query results as plain text instead of a grid. This is useful when:
- The query engine returns pre-formatted text (e.g.,
PRINTstatements, explain output) - You want to copy the raw output without table formatting
- The result is a single large text value
The text area is scrollable and supports the standard clipboard copy shortcut (Ctrl+C after selecting text).
The Query Plan output is specific to SQL Server queries. When this output type is selected, Queryeer instructs the JDBC engine to capture the XML execution plan alongside the query results.
- A visual tree of plan operators (e.g., Hash Join, Index Seek, Table Scan)
- Each node shows:
- Operator type
- Estimated and actual row counts (if available)
- Estimated subtree cost
- I/O and CPU cost breakdown
- Clicking a node shows its full property list in a detail panel
- Select Query Plan from the output type selector
- Execute your query normally
- The plan tree is rendered in the output panel
- Click nodes to inspect details
- The raw XML plan is accessible via the toolbar for copy/export
The Graph output renders query results as charts and plots using JFreeChart. This is useful for visualizing numeric data from result sets — for example, time series, distributions, or comparisons across categories.
Selecting None as the output type causes results to be discarded immediately after execution. Use this for:
- DML queries (
INSERT,UPDATE,DELETE) where you don't need to see the rows affected - Performance testing where you want to measure query time without rendering overhead
- Batch operations where output is not needed
Errors and row counts are still reported even when the None output is active.
Export formats are pluggable via the IOutputFormatExtension interface. Built-in formats:
| Class | Format |
|---|---|
CsvOutputFormatExtension |
CSV |
JsonOutputFormatExtension |
JSON |
Custom export formats can be added through the plugin system. See Plugin System.