Skip to content

Computed Join Query Diff

Permissions

Any user with at least the Reporter team permission on the parent datastore can view the Timeline and open the Query Diff for a Computed Join. See Computed Join Permissions for the full matrix.

Computed Joins include a Query Diff view on the Timeline of the container's Overview tab that compares the previous and updated values of a tracked SQL field. Use it to review changes, troubleshoot regressions, and see who changed what and when.

Tracked Fields

The Query Diff dialog opens for changes to the SQL fields below. Which of them a Computed Join has depends on how it was defined: a pairwise join carries the three clause fields, while a SQL mode join carries a single Query field.

Field Applies to What it captures
Select Clause Pairwise mode Changes to the projected columns
Where Clause Pairwise mode Changes to the post-join filter
Group By Clause Pairwise mode Changes to the grouping configuration
Query SQL mode Changes to the query written over the aliased sources

Other Computed Join changes (for example, Join Type, the join key fields and prefixes, Description, Owner, Tags, Additional Metadata, freshness or volumetric tracking, incremental settings, and renames) are recorded on the Timeline too. A short single-line change is shown inline on the entry, reading from <previous value> to <new value>. A long change (more than about 170 characters across the two values, or a value containing a line break) collapses behind a View changes control instead, and that includes Description. The tracked SQL fields above behave differently: they always collapse behind the control, however short the change is. What differs is what the control opens: for the SQL fields it opens the aligned side-by-side comparison, while other long values expand into a simple From / To panel.

The Diff Dialog

The diff is recorded after a change is saved; it is not a pre-save preview. When a revision changes one of the tracked SQL fields, the Timeline entry shows a View changes control with the before and after lengths next to it (for example, 176 → 298 chars). Clicking it opens a dialog titled {Field} Changes (for example, Select Clause Changes or Query Changes) with the two versions side by side:

  • From shows the previous value on the left, with removed lines highlighted.
  • To shows the new value on the right, with added lines highlighted.

Both panes carry line numbers, are aligned line for line, and share a single scrollbar, so the same region of the query stays in view on both sides. Inside a changed line, the exact words that differ are highlighted. Long stretches that are identical in both versions are collapsed, with a couple of lines kept visible on each side, so the first difference sits near the top instead of below the unchanged part of the query; an expander in the line-number gutter reveals the hidden lines on both sides.

Each pane header has its own copy button, which is the quickest way to lift a previous version out of the dialog and paste it back into the Edit modal.

The diff is computed on the raw SQL text. Reformatting (extra whitespace, line breaks, comment changes) shows up as a difference even when the SQL is semantically identical.

The dialog footer shows an Updated by label with the user's name and avatar, followed by the timestamp of the change.

If a tracked field has no prior value (the first time it was set), the dialog opens with a single pane headed Initial instead of the From/To split, and the dialog title omits " Changes".

For step-by-step instructions on opening the diff, see View Query Diff.

The same comparison view serves query and clause changes on Computed Tables and Computed Files.