11import { ViewColumn } from "vscode" ;
22
33import {
4+ ALERTS_TABLE_NAME ,
45 FromCompareViewMessage ,
6+ InterpretedQueryCompareResult ,
7+ QueryCompareResult ,
58 RawQueryCompareResult ,
69 ToCompareViewMessage ,
710} from "../common/interface-types" ;
@@ -23,11 +26,12 @@ import { telemetryListener } from "../common/vscode/telemetry";
2326import { redactableError } from "../common/errors" ;
2427import { App } from "../common/app" ;
2528import {
29+ CompareQueryInfo ,
2630 findCommonResultSetNames ,
2731 findResultSetNames ,
28- CompareQueryInfo ,
2932 getResultSetNames ,
3033} from "./result-set-names" ;
34+ import { compareInterpretedResults } from "./interpreted-results" ;
3135
3236interface ComparePair {
3337 from : CompletedLocalQueryInfo ;
@@ -144,20 +148,28 @@ export class CompareView extends AbstractWebview<
144148 panel . reveal ( undefined , true ) ;
145149
146150 await this . waitForPanelLoaded ( ) ;
147- const { currentResultSetDisplayName, fromResultSetName, toResultSetName } =
148- await this . findResultSetsToCompare (
149- this . comparePair ,
150- selectedResultSetName ,
151- ) ;
151+ const {
152+ currentResultSetName,
153+ currentResultSetDisplayName,
154+ fromResultSetName,
155+ toResultSetName,
156+ } = await this . findResultSetsToCompare (
157+ this . comparePair ,
158+ selectedResultSetName ,
159+ ) ;
152160 if ( currentResultSetDisplayName ) {
153- let result : RawQueryCompareResult | undefined ;
161+ let result : QueryCompareResult | undefined ;
154162 let message : string | undefined ;
155163 try {
156- result = await this . compareResults (
157- this . comparePair ,
158- fromResultSetName ,
159- toResultSetName ,
160- ) ;
164+ if ( currentResultSetName === ALERTS_TABLE_NAME ) {
165+ result = await this . compareInterpretedResults ( this . comparePair ) ;
166+ } else {
167+ result = await this . compareResults (
168+ this . comparePair ,
169+ fromResultSetName ,
170+ toResultSetName ,
171+ ) ;
172+ }
161173 } catch ( e ) {
162174 message = getErrorMessage ( e ) ;
163175 }
@@ -237,15 +249,21 @@ export class CompareView extends AbstractWebview<
237249 { fromInfo, toInfo, commonResultSetNames } : ComparePair ,
238250 selectedResultSetName : string | undefined ,
239251 ) {
240- const { currentResultSetDisplayName, fromResultSetName, toResultSetName } =
241- await findResultSetNames (
242- fromInfo ,
243- toInfo ,
244- commonResultSetNames ,
245- selectedResultSetName ,
246- ) ;
252+ const {
253+ currentResultSetName,
254+ currentResultSetDisplayName,
255+ fromResultSetName,
256+ toResultSetName,
257+ } = await findResultSetNames (
258+ fromInfo ,
259+ toInfo ,
260+ commonResultSetNames ,
261+ selectedResultSetName ,
262+ ) ;
247263
248264 return {
265+ commonResultSetNames,
266+ currentResultSetName,
249267 currentResultSetDisplayName,
250268 fromResultSetName,
251269 toResultSetName,
@@ -290,6 +308,18 @@ export class CompareView extends AbstractWebview<
290308 return resultsDiff ( fromResultSet , toResultSet ) ;
291309 }
292310
311+ private async compareInterpretedResults ( {
312+ from,
313+ to,
314+ } : ComparePair ) : Promise < InterpretedQueryCompareResult > {
315+ return compareInterpretedResults (
316+ this . databaseManager ,
317+ this . cliServer ,
318+ from ,
319+ to ,
320+ ) ;
321+ }
322+
293323 private async openQuery ( kind : "from" | "to" ) {
294324 const toOpen =
295325 kind === "from" ? this . comparePair ?. from : this . comparePair ?. to ;
0 commit comments