From a183c9891460ddf11d528d88ac5827d60c48f01a Mon Sep 17 00:00:00 2001 From: serge-rider Date: Wed, 25 May 2016 14:33:59 +0300 Subject: [PATCH] #468 Completion proposal fix (long FQ names) --- .../sql/syntax/SQLCompletionProcessor.java | 4 ++-- .../src/org/jkiss/dbeaver/model/DBUtils.java | 15 +++++++++++---- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/sql/syntax/SQLCompletionProcessor.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/sql/syntax/SQLCompletionProcessor.java index 8155c05f77..c44c812ad9 100644 --- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/sql/syntax/SQLCompletionProcessor.java +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/editors/sql/syntax/SQLCompletionProcessor.java @@ -162,7 +162,7 @@ public class SQLCompletionProcessor implements IContentAssistProcessor } } } - DBSObject selectedObject = DBUtils.getSelectedObject(editor.getDataSource()); + DBSObject selectedObject = DBUtils.getSelectedObject(editor.getDataSource(), true); boolean hideDups = getPreferences().getBoolean(SQLPreferenceConstants.HIDE_DUPLICATE_PROPOSALS) && selectedObject != null; if (hideDups) { for (int i = 0; i < proposals.size(); i++) { @@ -288,7 +288,7 @@ public class SQLCompletionProcessor implements IContentAssistProcessor } DBSObjectContainer selectedContainer = null; { - DBSObject selectedObject = DBUtils.getSelectedObject(dataSource); + DBSObject selectedObject = DBUtils.getSelectedObject(dataSource, false); if (selectedObject != null) { selectedContainer = DBUtils.getAdapter(DBSObjectContainer.class, selectedObject); } diff --git a/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/DBUtils.java b/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/DBUtils.java index 7087866ec7..9d0be6b93d 100644 --- a/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/DBUtils.java +++ b/plugins/org.jkiss.dbeaver.model/src/org/jkiss/dbeaver/model/DBUtils.java @@ -1613,18 +1613,25 @@ public final class DBUtils { @Nullable public static DBSObject getSelectedObject(@NotNull DBSInstance object) + { + return getSelectedObject(object, true); + } + + @Nullable + public static DBSObject getSelectedObject(@NotNull DBSObject object, boolean searchNested) { DBSObjectSelector objectSelector = getAdapter(DBSObjectSelector.class, object); if (objectSelector != null) { DBSObject selectedObject1 = objectSelector.getSelectedObject(); - if (selectedObject1 != null) { - DBSObjectSelector objectSelector2 = getAdapter(DBSObjectSelector.class, selectedObject1); - if (objectSelector2 != null) { - return objectSelector2.getSelectedObject(); + if (searchNested && selectedObject1 != null) { + DBSObject nestedObject = getSelectedObject(selectedObject1, true); + if (nestedObject != null) { + return nestedObject; } } return selectedObject1; } return null; } + } -- GitLab