From 0291b05466584fc405db64556c1419774386f7ce Mon Sep 17 00:00:00 2001 From: serge-rider Date: Thu, 14 Dec 2017 21:16:11 +0300 Subject: [PATCH] #2638 Referenced tables navigation fix (different column names) --- .../dbeaver/ui/controls/resultset/ResultSetViewer.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java index 77f36fa40c..5ed39a6f14 100644 --- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java @@ -2168,12 +2168,15 @@ public class ResultSetViewer extends Viewer "] columns differs from referenced constraint [" + refConstraint.getName() + "] (" + ownAttrs.size() + "<>" + refAttrs.size() + ")"); } // Add association constraints - for (DBSEntityAttributeRef ownAttr : ownAttrs) { + for (int i = 0; i < refAttrs.size(); i++) { + DBSEntityAttributeRef refAttr = refAttrs.get(i); - DBDAttributeBinding attrBinding = model.getAttributeBinding(ownAttr.getAttribute()); + DBDAttributeBinding attrBinding = model.getAttributeBinding(refAttr.getAttribute()); if (attrBinding == null) { - log.error("Can't find attribute binding for ref attribute '" + ownAttr.getAttribute().getName() + "'"); + log.error("Can't find attribute binding for ref attribute '" + refAttr.getAttribute().getName() + "'"); } else { + // Constrain use corresponding own attr + DBSEntityAttributeRef ownAttr = ownAttrs.get(i); DBDAttributeConstraint constraint = new DBDAttributeConstraint(ownAttr.getAttribute(), visualPosition++); constraint.setVisible(true); constraints.add(constraint); -- GitLab