diff --git a/extensions/ql-vscode/src/databases.ts b/extensions/ql-vscode/src/databases.ts index 50b9e4223..2a9d5a1aa 100644 --- a/extensions/ql-vscode/src/databases.ts +++ b/extensions/ql-vscode/src/databases.ts @@ -684,7 +684,9 @@ export class DatabaseManager extends DisposableObject { this._onDidChangeDatabaseItem.fire(event); }); - await this.addDatabaseItem(progress, token, item); + // Avoid persisting the database state after adding since that should happen only after + // all databases have been added. + await this.addDatabaseItem(progress, token, item, false); return item; } @@ -724,6 +726,7 @@ export class DatabaseManager extends DisposableObject { void this.logger.log(`Error loading database ${database.uri}: ${e}.`); } } + await this.updatePersistedDatabaseList(); } catch (e) { // database list had an unexpected type - nothing to be done? void showAndLogErrorMessage(`Database list loading failed: ${getErrorMessage(e)}`); @@ -784,10 +787,14 @@ export class DatabaseManager extends DisposableObject { private async addDatabaseItem( progress: ProgressCallback, token: vscode.CancellationToken, - item: DatabaseItem + item: DatabaseItem, + updatePersistedState = true ) { this._databaseItems.push(item); - await this.updatePersistedDatabaseList(); + + if (updatePersistedState) { + await this.updatePersistedDatabaseList(); + } // Add this database item to the allow-list // Database items reconstituted from persisted state diff --git a/extensions/ql-vscode/src/legacy-query-server/run-queries.ts b/extensions/ql-vscode/src/legacy-query-server/run-queries.ts index 009aba070..4f95933ee 100644 --- a/extensions/ql-vscode/src/legacy-query-server/run-queries.ts +++ b/extensions/ql-vscode/src/legacy-query-server/run-queries.ts @@ -54,7 +54,7 @@ export class QueryInProgress { } get compiledQueryPath() { - return path.join(this.querySaveDir, 'compiledQuery.qlo'); + return this.queryEvalInfo.compileQueryPath; } diff --git a/extensions/ql-vscode/src/run-queries-shared.ts b/extensions/ql-vscode/src/run-queries-shared.ts index 11d96e129..3c158be9c 100644 --- a/extensions/ql-vscode/src/run-queries-shared.ts +++ b/extensions/ql-vscode/src/run-queries-shared.ts @@ -192,7 +192,7 @@ export class QueryEvaluationInfo { if (await this.hasDil()) { return this.dilPath; } - const compiledQuery = path.join(this.querySaveDir, 'compiledQuery.qlo'); + const compiledQuery = this.compileQueryPath; if (!(await fs.pathExists(compiledQuery))) { if (await cliServer.cliConstraints.supportsNewQueryServer()) { // This could be from the new query server