Skip to content

Commit 40f3092

Browse files
Convert handleUpgradeDatabaseInternal to just take an array of databases
1 parent 08eb7f8 commit 40f3092

1 file changed

Lines changed: 40 additions & 44 deletions

File tree

extensions/ql-vscode/src/local-databases-ui.ts

Lines changed: 40 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -515,12 +515,11 @@ export class DatabaseUI extends DisposableObject {
515515
private async handleUpgradeCurrentDatabase(): Promise<void> {
516516
return withProgress(
517517
async (progress, token) => {
518-
await this.handleUpgradeDatabaseInternal(
519-
progress,
520-
token,
521-
this.databaseManager.currentDatabaseItem,
522-
[],
523-
);
518+
if (this.databaseManager.currentDatabaseItem !== undefined) {
519+
await this.handleUpgradeDatabasesInternal(progress, token, [
520+
this.databaseManager.currentDatabaseItem,
521+
]);
522+
}
524523
},
525524
{
526525
title: "Upgrading current database",
@@ -535,11 +534,12 @@ export class DatabaseUI extends DisposableObject {
535534
): Promise<void> {
536535
return withProgress(
537536
async (progress, token) => {
538-
return await this.handleUpgradeDatabaseInternal(
537+
return await this.handleUpgradeDatabasesInternal(
539538
progress,
540539
token,
541-
databaseItem,
542-
multiSelect,
540+
multiSelect === undefined && databaseItem !== undefined
541+
? [databaseItem]
542+
: multiSelect || [],
543543
);
544544
},
545545
{
@@ -549,46 +549,42 @@ export class DatabaseUI extends DisposableObject {
549549
);
550550
}
551551

552-
private async handleUpgradeDatabaseInternal(
552+
private async handleUpgradeDatabasesInternal(
553553
progress: ProgressCallback,
554554
token: CancellationToken,
555-
databaseItem: DatabaseItem | undefined,
556-
multiSelect: DatabaseItem[] | undefined,
555+
databaseItems: DatabaseItem[],
557556
): Promise<void> {
558-
if (multiSelect?.length) {
559-
await Promise.all(
560-
multiSelect.map((dbItem) =>
561-
this.handleUpgradeDatabaseInternal(progress, token, dbItem, []),
562-
),
563-
);
564-
}
565-
if (this.queryServer === undefined) {
566-
throw new Error(
567-
"Received request to upgrade database, but there is no running query server.",
568-
);
569-
}
570-
if (databaseItem === undefined) {
571-
throw new Error(
572-
"Received request to upgrade database, but no database was provided.",
573-
);
574-
}
575-
if (databaseItem.contents === undefined) {
576-
throw new Error(
577-
"Received request to upgrade database, but database contents could not be found.",
578-
);
579-
}
580-
if (databaseItem.contents.dbSchemeUri === undefined) {
581-
throw new Error(
582-
"Received request to upgrade database, but database has no schema.",
583-
);
584-
}
557+
await Promise.all(
558+
databaseItems.map(async (databaseItem) => {
559+
if (this.queryServer === undefined) {
560+
throw new Error(
561+
"Received request to upgrade database, but there is no running query server.",
562+
);
563+
}
564+
if (databaseItem === undefined) {
565+
throw new Error(
566+
"Received request to upgrade database, but no database was provided.",
567+
);
568+
}
569+
if (databaseItem.contents === undefined) {
570+
throw new Error(
571+
"Received request to upgrade database, but database contents could not be found.",
572+
);
573+
}
574+
if (databaseItem.contents.dbSchemeUri === undefined) {
575+
throw new Error(
576+
"Received request to upgrade database, but database has no schema.",
577+
);
578+
}
585579

586-
// Search for upgrade scripts in any workspace folders available
580+
// Search for upgrade scripts in any workspace folders available
587581

588-
await this.queryServer.upgradeDatabaseExplicit(
589-
databaseItem,
590-
progress,
591-
token,
582+
await this.queryServer.upgradeDatabaseExplicit(
583+
databaseItem,
584+
progress,
585+
token,
586+
);
587+
}),
592588
);
593589
}
594590

0 commit comments

Comments
 (0)