Add language to local queries.
This commit is contained in:
@@ -21,6 +21,7 @@ import { Method, Usage } from "../model-editor/method";
|
||||
import { ModeledMethod } from "../model-editor/modeled-method";
|
||||
import { ModelEditorViewState } from "../model-editor/shared/view-state";
|
||||
import { Mode } from "../model-editor/shared/mode";
|
||||
import { QueryLanguage } from "./query-language";
|
||||
|
||||
/**
|
||||
* This module contains types and code that are shared between
|
||||
@@ -51,6 +52,7 @@ export const RAW_RESULTS_LIMIT = 10000;
|
||||
export interface DatabaseInfo {
|
||||
name: string;
|
||||
databaseUri: string;
|
||||
language?: QueryLanguage;
|
||||
}
|
||||
|
||||
/** Arbitrary query metadata */
|
||||
|
||||
@@ -49,6 +49,7 @@ import { LocalQueryRun } from "./local-query-run";
|
||||
import { createMultiSelectionCommand } from "../common/vscode/selection-commands";
|
||||
import { findLanguage } from "../codeql-cli/query-language";
|
||||
import type { QueryTreeViewItem } from "../queries-panel/query-tree-view-item";
|
||||
import { tryGetQueryLanguage } from "../common/query-language";
|
||||
|
||||
interface DatabaseQuickPickItem extends QuickPickItem {
|
||||
databaseItem: DatabaseItem;
|
||||
@@ -364,6 +365,7 @@ export class LocalQueries extends DisposableObject {
|
||||
const initialInfo = await createInitialQueryInfo(selectedQuery, {
|
||||
databaseUri: dbItem.databaseUri.toString(),
|
||||
name: dbItem.name,
|
||||
language: tryGetQueryLanguage(dbItem.language),
|
||||
});
|
||||
|
||||
// When cancellation is requested from the query history view, we just stop the debug session.
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import { assertNever } from "../../common/helpers-pure";
|
||||
import { QueryHistoryInfo } from "../query-history-info";
|
||||
import { mapLocalQueryInfoToDto } from "./query-history-local-query-domain-mapper";
|
||||
import { QueryHistoryItemDto } from "./query-history-dto";
|
||||
import { QueryHistoryItemDto, QueryLanguageDto } from "./query-history-dto";
|
||||
import { mapQueryHistoryVariantAnalysisToDto } from "./query-history-variant-analysis-domain-mapper";
|
||||
import { QueryLanguage } from "../../common/query-language";
|
||||
|
||||
export function mapQueryHistoryToDto(
|
||||
queries: QueryHistoryInfo[],
|
||||
@@ -17,3 +18,28 @@ export function mapQueryHistoryToDto(
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
export function mapQueryLanguageToDto(
|
||||
language: QueryLanguage,
|
||||
): QueryLanguageDto {
|
||||
switch (language) {
|
||||
case QueryLanguage.CSharp:
|
||||
return QueryLanguageDto.CSharp;
|
||||
case QueryLanguage.Cpp:
|
||||
return QueryLanguageDto.Cpp;
|
||||
case QueryLanguage.Go:
|
||||
return QueryLanguageDto.Go;
|
||||
case QueryLanguage.Java:
|
||||
return QueryLanguageDto.Java;
|
||||
case QueryLanguage.Javascript:
|
||||
return QueryLanguageDto.Javascript;
|
||||
case QueryLanguage.Python:
|
||||
return QueryLanguageDto.Python;
|
||||
case QueryLanguage.Ruby:
|
||||
return QueryLanguageDto.Ruby;
|
||||
case QueryLanguage.Swift:
|
||||
return QueryLanguageDto.Swift;
|
||||
default:
|
||||
assertNever(language);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
import { QueryHistoryInfo } from "../query-history-info";
|
||||
import { QueryHistoryItemDto } from "./query-history-dto";
|
||||
import { QueryHistoryItemDto, QueryLanguageDto } from "./query-history-dto";
|
||||
import { mapQueryHistoryVariantAnalysisToDomainModel } from "./query-history-variant-analysis-dto-mapper";
|
||||
import { mapLocalQueryItemToDomainModel } from "./query-history-local-query-dto-mapper";
|
||||
import { QueryLanguage } from "../../common/query-language";
|
||||
import { assertNever } from "../../common/helpers-pure";
|
||||
|
||||
export function mapQueryHistoryToDomainModel(
|
||||
queries: QueryHistoryItemDto[],
|
||||
@@ -20,3 +22,28 @@ export function mapQueryHistoryToDomainModel(
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
export function mapQueryLanguageToDomainModel(
|
||||
language: QueryLanguageDto,
|
||||
): QueryLanguage {
|
||||
switch (language) {
|
||||
case QueryLanguageDto.CSharp:
|
||||
return QueryLanguage.CSharp;
|
||||
case QueryLanguageDto.Cpp:
|
||||
return QueryLanguage.Cpp;
|
||||
case QueryLanguageDto.Go:
|
||||
return QueryLanguage.Go;
|
||||
case QueryLanguageDto.Java:
|
||||
return QueryLanguage.Java;
|
||||
case QueryLanguageDto.Javascript:
|
||||
return QueryLanguage.Javascript;
|
||||
case QueryLanguageDto.Python:
|
||||
return QueryLanguage.Python;
|
||||
case QueryLanguageDto.Ruby:
|
||||
return QueryLanguage.Ruby;
|
||||
case QueryLanguageDto.Swift:
|
||||
return QueryLanguage.Swift;
|
||||
default:
|
||||
assertNever(language);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,3 +12,14 @@ export interface QueryHistoryDto {
|
||||
export type QueryHistoryItemDto =
|
||||
| QueryHistoryLocalQueryDto
|
||||
| QueryHistoryVariantAnalysisDto;
|
||||
|
||||
export enum QueryLanguageDto {
|
||||
CSharp = "csharp",
|
||||
Cpp = "cpp",
|
||||
Go = "go",
|
||||
Java = "java",
|
||||
Javascript = "javascript",
|
||||
Python = "python",
|
||||
Ruby = "ruby",
|
||||
Swift = "swift",
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@ import {
|
||||
SortDirection,
|
||||
SortedResultSetInfo,
|
||||
} from "../../common/interface-types";
|
||||
import { mapQueryLanguageToDto } from "./query-history-domain-mapper";
|
||||
|
||||
export function mapLocalQueryInfoToDto(
|
||||
query: LocalQueryInfo,
|
||||
@@ -101,6 +102,10 @@ function mapInitialQueryInfoToDto(
|
||||
databaseInfo: {
|
||||
databaseUri: localQueryInitialInfo.databaseInfo.databaseUri,
|
||||
name: localQueryInitialInfo.databaseInfo.name,
|
||||
language:
|
||||
localQueryInitialInfo.databaseInfo.language === undefined
|
||||
? undefined
|
||||
: mapQueryLanguageToDto(localQueryInitialInfo.databaseInfo.language),
|
||||
},
|
||||
start: localQueryInitialInfo.start,
|
||||
id: localQueryInitialInfo.id,
|
||||
|
||||
@@ -20,6 +20,7 @@ import {
|
||||
SortDirection,
|
||||
SortedResultSetInfo,
|
||||
} from "../../common/interface-types";
|
||||
import { mapQueryLanguageToDomainModel } from "./query-history-dto-mapper";
|
||||
|
||||
export function mapLocalQueryItemToDomainModel(
|
||||
localQuery: QueryHistoryLocalQueryDto,
|
||||
@@ -82,6 +83,10 @@ function mapInitialQueryInfoToDomainModel(
|
||||
databaseInfo: {
|
||||
databaseUri: initialInfo.databaseInfo.databaseUri,
|
||||
name: initialInfo.databaseInfo.name,
|
||||
language:
|
||||
initialInfo.databaseInfo.language === undefined
|
||||
? undefined
|
||||
: mapQueryLanguageToDomainModel(initialInfo.databaseInfo.language),
|
||||
},
|
||||
start: new Date(initialInfo.start),
|
||||
id: initialInfo.id,
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
// Contains models and consts for the data we want to store in the query history store.
|
||||
// Changes to these models should be done carefully and account for backwards compatibility of data.
|
||||
|
||||
import { QueryLanguageDto } from "./query-history-dto";
|
||||
|
||||
export interface QueryHistoryLocalQueryDto {
|
||||
initialInfo: InitialQueryInfoDto;
|
||||
t: "local";
|
||||
@@ -27,6 +29,7 @@ export interface InitialQueryInfoDto {
|
||||
interface DatabaseInfoDto {
|
||||
name: string;
|
||||
databaseUri: string;
|
||||
language?: QueryLanguageDto;
|
||||
}
|
||||
|
||||
interface PositionDto {
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import {
|
||||
QueryHistoryVariantAnalysisDto,
|
||||
QueryLanguageDto,
|
||||
QueryStatusDto,
|
||||
VariantAnalysisDto,
|
||||
VariantAnalysisFailureReasonDto,
|
||||
@@ -22,9 +21,9 @@ import {
|
||||
VariantAnalysisStatus,
|
||||
} from "../../variant-analysis/shared/variant-analysis";
|
||||
import { assertNever } from "../../common/helpers-pure";
|
||||
import { QueryLanguage } from "../../common/query-language";
|
||||
import { QueryStatus } from "../query-status";
|
||||
import { VariantAnalysisHistoryItem } from "../variant-analysis-history-item";
|
||||
import { mapQueryLanguageToDto } from "./query-history-domain-mapper";
|
||||
|
||||
export function mapQueryHistoryVariantAnalysisToDto(
|
||||
item: VariantAnalysisHistoryItem,
|
||||
@@ -199,29 +198,6 @@ function mapVariantAnalysisStatusToDto(
|
||||
}
|
||||
}
|
||||
|
||||
function mapQueryLanguageToDto(language: QueryLanguage): QueryLanguageDto {
|
||||
switch (language) {
|
||||
case QueryLanguage.CSharp:
|
||||
return QueryLanguageDto.CSharp;
|
||||
case QueryLanguage.Cpp:
|
||||
return QueryLanguageDto.Cpp;
|
||||
case QueryLanguage.Go:
|
||||
return QueryLanguageDto.Go;
|
||||
case QueryLanguage.Java:
|
||||
return QueryLanguageDto.Java;
|
||||
case QueryLanguage.Javascript:
|
||||
return QueryLanguageDto.Javascript;
|
||||
case QueryLanguage.Python:
|
||||
return QueryLanguageDto.Python;
|
||||
case QueryLanguage.Ruby:
|
||||
return QueryLanguageDto.Ruby;
|
||||
case QueryLanguage.Swift:
|
||||
return QueryLanguageDto.Swift;
|
||||
default:
|
||||
assertNever(language);
|
||||
}
|
||||
}
|
||||
|
||||
function mapQueryStatusToDto(status: QueryStatus): QueryStatusDto {
|
||||
switch (status) {
|
||||
case QueryStatus.InProgress:
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import {
|
||||
QueryHistoryVariantAnalysisDto,
|
||||
QueryLanguageDto,
|
||||
QueryStatusDto,
|
||||
VariantAnalysisDto,
|
||||
VariantAnalysisFailureReasonDto,
|
||||
@@ -22,9 +21,9 @@ import {
|
||||
VariantAnalysisStatus,
|
||||
} from "../../variant-analysis/shared/variant-analysis";
|
||||
import { assertNever } from "../../common/helpers-pure";
|
||||
import { QueryLanguage } from "../../common/query-language";
|
||||
import { QueryStatus } from "../query-status";
|
||||
import { VariantAnalysisHistoryItem } from "../variant-analysis-history-item";
|
||||
import { mapQueryLanguageToDomainModel } from "./query-history-dto-mapper";
|
||||
|
||||
export function mapQueryHistoryVariantAnalysisToDomainModel(
|
||||
item: QueryHistoryVariantAnalysisDto,
|
||||
@@ -215,31 +214,6 @@ function mapVariantAnalysisStatusToDomainModel(
|
||||
}
|
||||
}
|
||||
|
||||
function mapQueryLanguageToDomainModel(
|
||||
language: QueryLanguageDto,
|
||||
): QueryLanguage {
|
||||
switch (language) {
|
||||
case QueryLanguageDto.CSharp:
|
||||
return QueryLanguage.CSharp;
|
||||
case QueryLanguageDto.Cpp:
|
||||
return QueryLanguage.Cpp;
|
||||
case QueryLanguageDto.Go:
|
||||
return QueryLanguage.Go;
|
||||
case QueryLanguageDto.Java:
|
||||
return QueryLanguage.Java;
|
||||
case QueryLanguageDto.Javascript:
|
||||
return QueryLanguage.Javascript;
|
||||
case QueryLanguageDto.Python:
|
||||
return QueryLanguage.Python;
|
||||
case QueryLanguageDto.Ruby:
|
||||
return QueryLanguage.Ruby;
|
||||
case QueryLanguageDto.Swift:
|
||||
return QueryLanguage.Swift;
|
||||
default:
|
||||
assertNever(language);
|
||||
}
|
||||
}
|
||||
|
||||
function mapQueryStatusToDomainModel(status: QueryStatusDto): QueryStatus {
|
||||
switch (status) {
|
||||
case QueryStatusDto.InProgress:
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
// Contains models and consts for the data we want to store in the query history store.
|
||||
// Changes to these models should be done carefully and account for backwards compatibility of data.
|
||||
|
||||
import { QueryLanguageDto } from "./query-history-dto";
|
||||
|
||||
export interface QueryHistoryVariantAnalysisDto {
|
||||
readonly t: "variant-analysis";
|
||||
failureReason?: string;
|
||||
@@ -97,17 +99,6 @@ export enum VariantAnalysisStatusDto {
|
||||
Canceled = "canceled",
|
||||
}
|
||||
|
||||
export enum QueryLanguageDto {
|
||||
CSharp = "csharp",
|
||||
Cpp = "cpp",
|
||||
Go = "go",
|
||||
Java = "java",
|
||||
Javascript = "javascript",
|
||||
Python = "python",
|
||||
Ruby = "ruby",
|
||||
Swift = "swift",
|
||||
}
|
||||
|
||||
export enum QueryStatusDto {
|
||||
InProgress = "InProgress",
|
||||
Completed = "Completed",
|
||||
|
||||
Reference in New Issue
Block a user