Address review comments from @aeisenberg
This commit is contained in:
committed by
Edoardo Pirovano
parent
81b8104064
commit
9ac8a15cd5
@@ -767,13 +767,15 @@ export class QueryHistoryManager extends DisposableObject {
|
||||
singleItem: QueryHistoryInfo,
|
||||
multiSelect: QueryHistoryInfo[]
|
||||
) {
|
||||
// Local queries only
|
||||
if (!this.assertSingleQuery(multiSelect) || singleItem?.t !== 'local') {
|
||||
const { finalSingleItem, finalMultiSelect } = this.determineSelection(singleItem, multiSelect);
|
||||
|
||||
// Only applicable to an individual local query
|
||||
if (!this.assertSingleQuery(finalMultiSelect) || !finalSingleItem || finalSingleItem.t !== 'local') {
|
||||
return;
|
||||
}
|
||||
|
||||
if (singleItem.evalLogLocation) {
|
||||
await this.tryOpenExternalFile(singleItem.evalLogLocation);
|
||||
if (finalSingleItem.evalLogLocation) {
|
||||
await this.tryOpenExternalFile(finalSingleItem.evalLogLocation);
|
||||
} else {
|
||||
this.warnNoEvalLog();
|
||||
}
|
||||
@@ -783,17 +785,18 @@ export class QueryHistoryManager extends DisposableObject {
|
||||
singleItem: QueryHistoryInfo,
|
||||
multiSelect: QueryHistoryInfo[]
|
||||
) {
|
||||
// Local queries only
|
||||
if (!this.assertSingleQuery(multiSelect) || singleItem?.t !== 'local') {
|
||||
const { finalSingleItem, finalMultiSelect } = this.determineSelection(singleItem, multiSelect);
|
||||
|
||||
// Only applicable to an individual local query
|
||||
if (!this.assertSingleQuery(finalMultiSelect) || !finalSingleItem || finalSingleItem.t !== 'local') {
|
||||
return;
|
||||
}
|
||||
|
||||
if (singleItem.evalLogLocation) {
|
||||
const summaryLocation = singleItem.evalLogLocation + '.summary';
|
||||
if (!fs.existsSync(summaryLocation)) {
|
||||
await this.qs.cliServer.generateLogSummary(singleItem.evalLogLocation, summaryLocation);
|
||||
if (finalSingleItem.evalLogLocation) {
|
||||
if (!fs.existsSync(finalSingleItem.evalLogSummaryLocation)) {
|
||||
await this.qs.cliServer.generateLogSummary(finalSingleItem.evalLogLocation, finalSingleItem.evalLogSummaryLocation);
|
||||
}
|
||||
await this.tryOpenExternalFile(summaryLocation);
|
||||
await this.tryOpenExternalFile(finalSingleItem.evalLogSummaryLocation);
|
||||
} else {
|
||||
this.warnNoEvalLog();
|
||||
}
|
||||
|
||||
@@ -312,6 +312,14 @@ export class LocalQueryInfo {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the location of a query's evaluator log summary. This file may not exist yet,
|
||||
* in which case it can be created by invoking `codeql generate log-summary`.
|
||||
*/
|
||||
get evalLogSummaryLocation(): string {
|
||||
return this.evalLogLocation + '.summary';
|
||||
}
|
||||
|
||||
get completed(): boolean {
|
||||
return !!this.completedQuery;
|
||||
}
|
||||
|
||||
@@ -676,7 +676,7 @@ export async function compileAndRunQueryAgainstDatabase(
|
||||
progress: ProgressCallback,
|
||||
token: CancellationToken,
|
||||
templates?: messages.TemplateDefinitions,
|
||||
queryInfo?: LocalQueryInfo,
|
||||
queryInfo?: LocalQueryInfo, // May be omitted for queries not initiated by the user. If omitted we won't create a structured log for the query.
|
||||
): Promise<QueryWithResults> {
|
||||
if (!dbItem.contents || !dbItem.contents.dbSchemeUri) {
|
||||
throw new Error(`Database ${dbItem.databaseUri} does not have a CodeQL database scheme.`);
|
||||
|
||||
Reference in New Issue
Block a user