Use QueryHistoryInfo instead of LocalQueryInfo

Also, rename RemoteQueryInfo -> RemoteQueryHistoryItem
This commit is contained in:
Andrew Eisenberg
2022-02-16 13:52:17 -08:00
parent 48ddc66d47
commit 969dd26041
3 changed files with 23 additions and 38 deletions

View File

@@ -599,8 +599,8 @@ export class QueryHistoryManager extends DisposableObject {
}
async handleCompareWith(
singleItem: LocalQueryInfo,
multiSelect: LocalQueryInfo[]
singleItem: QueryHistoryInfo,
multiSelect: QueryHistoryInfo[]
) {
const { finalSingleItem, finalMultiSelect } = this.determineSelection(singleItem, multiSelect);
@@ -610,7 +610,7 @@ export class QueryHistoryManager extends DisposableObject {
}
if (!finalSingleItem.completedQuery?.didRunSuccessfully) {
throw new Error('Please select a successful query.');
throw new Error('Please select a query that has completed successfully.');
}
const from = this.compareWithItem || singleItem;
@@ -625,11 +625,11 @@ export class QueryHistoryManager extends DisposableObject {
}
async handleItemClicked(
singleItem: LocalQueryInfo,
multiSelect: LocalQueryInfo[]
singleItem: QueryHistoryInfo,
multiSelect: QueryHistoryInfo[]
) {
const { finalSingleItem, finalMultiSelect } = this.determineSelection(singleItem, multiSelect);
if (!this.assertSingleQuery(finalMultiSelect)) {
if (!this.assertSingleQuery(finalMultiSelect) || finalSingleItem.t !== 'local') {
return;
}
@@ -676,8 +676,8 @@ export class QueryHistoryManager extends DisposableObject {
}
async handleCancel(
singleItem: LocalQueryInfo,
multiSelect: LocalQueryInfo[]
singleItem: QueryHistoryInfo,
multiSelect: QueryHistoryInfo[]
) {
const { finalSingleItem, finalMultiSelect } = this.determineSelection(singleItem, multiSelect);
@@ -689,8 +689,8 @@ export class QueryHistoryManager extends DisposableObject {
}
async handleShowQueryText(
singleItem: LocalQueryInfo,
multiSelect: LocalQueryInfo[]
singleItem: QueryHistoryInfo,
multiSelect: QueryHistoryInfo[]
) {
const { finalSingleItem, finalMultiSelect } = this.determineSelection(singleItem, multiSelect);
@@ -714,8 +714,8 @@ export class QueryHistoryManager extends DisposableObject {
}
async handleViewSarifAlerts(
singleItem: LocalQueryInfo,
multiSelect: LocalQueryInfo[]
singleItem: QueryHistoryInfo,
multiSelect: QueryHistoryInfo[]
) {
const { finalSingleItem, finalMultiSelect } = this.determineSelection(singleItem, multiSelect);
@@ -738,15 +738,12 @@ export class QueryHistoryManager extends DisposableObject {
}
async handleViewCsvResults(
singleItem: LocalQueryInfo,
multiSelect: LocalQueryInfo[]
singleItem: QueryHistoryInfo,
multiSelect: QueryHistoryInfo[]
) {
const { finalSingleItem, finalMultiSelect } = this.determineSelection(singleItem, multiSelect);
if (!this.assertSingleQuery(finalMultiSelect)) {
return;
}
if (finalSingleItem.t !== 'local' || !finalSingleItem.completedQuery) {
if (!this.assertSingleQuery(finalMultiSelect) || finalSingleItem.t !== 'local' || !finalSingleItem.completedQuery) {
return;
}
const query = finalSingleItem.completedQuery.query;
@@ -777,20 +774,12 @@ export class QueryHistoryManager extends DisposableObject {
}
async handleViewDil(
singleItem: LocalQueryInfo,
multiSelect: LocalQueryInfo[],
singleItem: QueryHistoryInfo,
multiSelect: QueryHistoryInfo[],
) {
const { finalSingleItem, finalMultiSelect } = this.determineSelection(singleItem, multiSelect);
if (!this.assertSingleQuery(finalMultiSelect)) {
return;
}
if (finalSingleItem.t !== 'local') {
return;
}
if (!finalSingleItem.completedQuery) {
if (!this.assertSingleQuery(finalMultiSelect) || finalSingleItem.t !== 'local' || !finalSingleItem.completedQuery) {
return;
}
@@ -867,11 +856,7 @@ the file in the file explorer and dragging it into the workspace.`
): Promise<CompletedLocalQueryInfo | undefined> {
// Remote queries cannot be compared
if (singleItem.t !== 'local' || multiSelect.some(s => s.t !== 'local')) {
return undefined;
}
if (!singleItem.completedQuery) {
if (singleItem.t !== 'local' || multiSelect.some(s => s.t !== 'local') || !singleItem.completedQuery) {
return undefined;
}
const dbName = singleItem.initialInfo.databaseInfo.name;

View File

@@ -16,7 +16,7 @@ import {
import { QueryHistoryConfig } from './config';
import { DatabaseInfo } from './pure/interface-types';
import { QueryStatus } from './query-status';
import { RemoteQueryInfo } from './remote-queries/remote-query-info';
import { RemoteQueryHistoryItem } from './remote-queries/remote-query-history-item';
/**
* query-results.ts
@@ -189,7 +189,7 @@ export type CompletedLocalQueryInfo = LocalQueryInfo & {
completedQuery: CompletedQueryInfo
};
export type QueryHistoryInfo = LocalQueryInfo | RemoteQueryInfo;
export type QueryHistoryInfo = LocalQueryInfo | RemoteQueryHistoryItem;
export class LocalQueryInfo {
readonly t = 'local';
@@ -199,7 +199,7 @@ export class LocalQueryInfo {
private config: QueryHistoryConfig | undefined;
/**
* Note that in the {@link FullQueryInfo.slurp} method, we create a FullQueryInfo instance
* Note that in the {@link slurpQueryHistory} method, we create a FullQueryInfo instance
* by explicitly setting the prototype in order to avoid calling this constructor.
*/
constructor(

View File

@@ -6,7 +6,7 @@ import { QueryStatus } from '../query-status';
/**
* Information about a remote query.
*/
export interface RemoteQueryInfo {
export interface RemoteQueryHistoryItem {
readonly t: 'remote';
label: string;
failureReason: string | undefined;