提交 5e377501 编写于 作者: S Serge Rider

#6745 Main toolbar update fixed (too frequent update due to mass event...

#6745 Main toolbar update fixed (too frequent update due to mass event handling). Show progress monitor in FDW wizard.


Former-commit-id: 04138b60
上级 2a84cb64
......@@ -36,9 +36,9 @@ import org.jkiss.dbeaver.registry.DataSourceProviderRegistry;
import org.jkiss.dbeaver.runtime.DBWorkbench;
import org.jkiss.dbeaver.ui.AbstractPartListener;
import org.jkiss.dbeaver.ui.UIUtils;
import org.jkiss.dbeaver.ui.actions.AbstractPageListener;
import org.jkiss.dbeaver.ui.actions.DataSourcePropertyTester;
import org.jkiss.dbeaver.ui.editors.EditorUtils;
import org.jkiss.dbeaver.ui.actions.AbstractPageListener;
import org.jkiss.dbeaver.utils.RuntimeUtils;
import java.util.ArrayList;
......@@ -139,9 +139,7 @@ public class DataSourceToolbarHandler implements DBPRegistryListener, DBPEventLi
}
DBPDataSourceContainer currentDataSource = DataSourceToolbarUtils.getCurrentDataSource(workbenchWindow);
if (event.getAction() == DBPEvent.Action.OBJECT_ADD ||
event.getAction() == DBPEvent.Action.OBJECT_REMOVE ||
(event.getAction() == DBPEvent.Action.OBJECT_UPDATE && event.getObject() == currentDataSource) ||
if ((event.getAction() == DBPEvent.Action.OBJECT_UPDATE && event.getObject() == currentDataSource) ||
(event.getAction() == DBPEvent.Action.OBJECT_SELECT && Boolean.TRUE.equals(event.getEnabled()) &&
DBUtils.getContainer(event.getObject()) == currentDataSource)
) {
......
......@@ -22,12 +22,9 @@ import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Group;
import org.jkiss.dbeaver.DBException;
import org.jkiss.dbeaver.Log;
import org.jkiss.dbeaver.ext.postgresql.PostgreConstants;
import org.jkiss.dbeaver.ext.postgresql.edit.PostgreForeignTableManager;
import org.jkiss.dbeaver.ext.postgresql.edit.PostgreTableColumnManager;
import org.jkiss.dbeaver.ext.postgresql.model.*;
import org.jkiss.dbeaver.model.DBPScriptObject;
import org.jkiss.dbeaver.model.edit.DBECommand;
import org.jkiss.dbeaver.model.edit.DBECommandContext;
import org.jkiss.dbeaver.model.edit.DBEPersistAction;
import org.jkiss.dbeaver.model.impl.edit.SQLDatabasePersistAction;
......@@ -111,14 +108,18 @@ class PostgreFDWConfigWizardPageFinal extends ActiveWizardPage<PostgreFDWConfigW
private void generateScript() {
StringBuilder script = new StringBuilder();
try {
getWizard().getRunnableContext().run(false, true, monitor -> {
getWizard().getRunnableContext().run(true, true, monitor -> {
try {
monitor.beginTask("Generate FDW script", 2);
monitor.subTask("Read actions");
List<DBEPersistAction> actions = generateScript(monitor);
monitor.subTask("Generate script");
script.append(
SQLUtils.generateScript(
getWizard().getDatabase().getDataSource(),
actions.toArray(new DBEPersistAction[0]),
false));
monitor.done();
} catch (DBException e) {
throw new InvocationTargetException(e);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册