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