Skip to content

dbeaver/pro#8821 feat: add import settings step - #4506

Open
SychevAndrey wants to merge 6 commits into
develfrom
8821-customer-wants-import-with-mergeupsert-with-optional-snapshotrollback-safety-net
Open

dbeaver/pro#8821 feat: add import settings step#4506
SychevAndrey wants to merge 6 commits into
develfrom
8821-customer-wants-import-with-mergeupsert-with-optional-snapshotrollback-safety-net

Conversation

@SychevAndrey

Copy link
Copy Markdown
Contributor

No description provided.

@codacy-production

codacy-production Bot commented Jul 29, 2026

Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 41 complexity · 0 duplication

Metric Results
Complexity 41
Duplication 0

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

SychevAndrey and others added 4 commits July 29, 2026 12:14
…mergeupsert-with-optional-snapshotrollback-safety-net' into 8821-customer-wants-import-with-mergeupsert-with-optional-snapshotrollback-safety-net
@SychevAndrey SychevAndrey changed the title dbeaver/pro#8821 feat: add gql query for import dbeaver/pro#8821 feat: add import settings step Jul 29, 2026
@SychevAndrey
SychevAndrey marked this pull request as ready for review July 29, 2026 12:45
@SychevAndrey SychevAndrey self-assigned this Jul 29, 2026
Comment thread webapp/packages/plugin-data-import/src/DataImportDriverConfigurationResource.ts Outdated
Comment on lines +33 to +49
function getDefaultSettings(configuration: IDataImportDriverConfiguration): DataTransferImportSettings {
const settings: DataTransferImportSettings = {};

if (configuration.supportsTransactions) {
settings.useTransactions = true;
}

if (configuration.supportedInsertReplaceMethods) {
settings.onDuplicateKeyMethod = undefined;
}

if (configuration.supportsBulkLoad) {
settings.useBulkLoad = false;
}

return settings;
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

it would be nice to have 1 interface with settings so don't need to map it at all

Comment on lines +56 to +58
if (this.state.step === EDataImportDialogStep.Settings) {
this.state.step = EDataImportDialogStep.File;
} else if (this.state.step === EDataImportDialogStep.File) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what if we introduce this kind of data structure?
{steps: [Processor, File, Settings], currentStep: 0, goNext(){ this.currentStep++ }, goBack(){this.currentStep--}}

or something like this so we have like defined determinated steps and can safely iterate it without fearing that somewhere we can miss-step the flow

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we can create a ticket for investigation, I guess

Comment on lines +66 to +68
if (dialog.state.file && dialog.state.selectedProcessor) {
resolveDialog({ file: dialog.state.file, processorId: dialog.state.selectedProcessor.id, settings: dialog.state.settings });
}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is it something in the interface notifying user that there are no file or there is no selected processor? maybe not a bad idea to notify what happened if something is off the scenario

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how is it possible?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So the user can't trigger import without both, so nothing to notify about here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants