提交 1a3967f0 编写于 作者: S Serge Rider

#5384 Virtual constraints editor fix

上级 10e5b07c
......@@ -250,7 +250,7 @@ public abstract class AttributesSelectorPage extends BaseObjectEditPage {
protected IStatus run(DBRProgressMonitor monitor) {
try {
for (DBSEntityAttribute attr : CommonUtils.safeCollection(entity.getAttributes(monitor))) {
if (!DBUtils.isHiddenObject(attr)) {
if (isShowHiddenAttributes() || !DBUtils.isHiddenObject(attr)) {
attrList.add(attr);
}
}
......@@ -289,6 +289,10 @@ public abstract class AttributesSelectorPage extends BaseObjectEditPage {
loadJob.schedule();
}
protected boolean isShowHiddenAttributes() {
return false;
}
private Composite createTableNameInput(Composite panel) {
final Composite tableGroup = new Composite(panel, SWT.NONE);
tableGroup.setLayout(new GridLayout(2, false));
......
......@@ -30,6 +30,7 @@ import org.jkiss.dbeaver.model.impl.DBObjectNameCaseTransformer;
import org.jkiss.dbeaver.model.runtime.VoidProgressMonitor;
import org.jkiss.dbeaver.model.sql.SQLDataSource;
import org.jkiss.dbeaver.model.struct.*;
import org.jkiss.dbeaver.model.virtual.DBVEntityConstraint;
import org.jkiss.dbeaver.runtime.DBWorkbench;
import org.jkiss.dbeaver.ui.UIUtils;
import org.jkiss.dbeaver.ui.editors.internal.EditorsMessages;
......@@ -112,6 +113,12 @@ public class EditConstraintPage extends AttributesSelectorPage {
return pageContents;
}
@Override
protected boolean isShowHiddenAttributes() {
// Show hidden attributes for logical (virtual) constraints
return constraint instanceof DBVEntityConstraint;
}
private void toggleEditAreas() {
final boolean custom = selectedConstraintType.isCustom();
columnsGroup.setVisible(!custom);
......
......@@ -533,7 +533,15 @@ public class EditForeignKeyPage extends BaseObjectEditPage {
curConstraint = curConstraints.get(0);
}
if (enableCustomKeys) {
customUKButton.setEnabled(curConstraint == null);
if (curConstraint == null) {
customUKButton.setEnabled(true);
customUKButton.setText("Create");
} else if (curConstraint instanceof DBVEntityConstraint) {
customUKButton.setEnabled(true);
customUKButton.setText("Edit");
} else {
customUKButton.setEnabled(false);
}
}
} catch (InvocationTargetException e) {
......@@ -589,6 +597,8 @@ public class EditForeignKeyPage extends BaseObjectEditPage {
item.setData(fkColumnInfo);
}
} else if (enableCustomKeys && curRefTable != null) {
// TODO: direct custom foreign key creation. show columns list
/*
for (DBSEntityAttribute attr : CommonUtils.safeCollection(curEntity.getAttributes(monitor))) {
FKColumnInfo fkColumnInfo = new FKColumnInfo(null);
fkColumnInfo.ownColumn = attr;
......@@ -602,6 +612,7 @@ public class EditForeignKeyPage extends BaseObjectEditPage {
item.setText(3, "");
item.setData(fkColumnInfo);
}
*/
}
} catch (DBException e) {
DBWorkbench.getPlatformUI().showError(
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册