Skip to content

Output Components

Marcus Henriksson edited this page Apr 2, 2026 · 2 revisions

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.


Selecting an Output Type

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)

Table Output

The Table output is the default and most-used output component. It renders query results in a sortable, resizable grid.

Features

Sorting

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.

Column Resizing

Drag column borders to resize. Double-click a border to auto-size the column to fit its content.

Multi-Selection

Select multiple rows or cells using Shift+Click or Ctrl+Click. The selection can be copied to the clipboard.

Clipboard Copy

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.

Find in Results

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.

Context Menu

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.

Configurable Context Menu Actions

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.

Cell Rendering

Cells are rendered based on their data type:

  • Numeric values are right-aligned
  • NULL values are displayed distinctly
  • Long text values are truncated with a tooltip showing the full value
  • JSON and XML values may be formatted for readability

Export Formats

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

Text Output

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., PRINT statements, 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).


Query Plan Output

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.

What Is Displayed

  • 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

How to Use

  1. Select Query Plan from the output type selector
  2. Execute your query normally
  3. The plan tree is rendered in the output panel
  4. Click nodes to inspect details
  5. The raw XML plan is accessible via the toolbar for copy/export

Graph Output

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.


None Output

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.


Output Format Extensions

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.

Clone this wiki locally