提交 72f648d7 编写于 作者: S Serge Rider

#7957 RSV filters auto-complete: fix for quoted identifiers

上级 2f1e4a8b
package org.jkiss.dbeaver.ui.contentassist;
package org.jkiss.dbeaver.ui.controls.resultset;
import org.eclipse.swt.custom.StyledText;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.widgets.Control;
import org.jkiss.dbeaver.model.DBPDataSource;
import org.jkiss.dbeaver.model.DBUtils;
import org.jkiss.dbeaver.ui.contentassist.StyledTextContentAdapter;
public class SmartStyledTextContentAdapter extends StyledTextContentAdapter {
public class ResultSetFilterContentAdapter extends StyledTextContentAdapter {
public SmartStyledTextContentAdapter() {
private final ResultSetViewer viewer;
public ResultSetFilterContentAdapter(ResultSetViewer viewer) {
this.viewer = viewer;
}
@Override
......@@ -17,7 +23,11 @@ public class SmartStyledTextContentAdapter extends StyledTextContentAdapter {
if (selection.x == selection.y) {
// Try to replace text under cursor contents starts with
String contentsUC = contents.toUpperCase();
String contentsUC = contents.toUpperCase().trim();
DBPDataSource dataSource = viewer.getDataSource();
if (dataSource != null) {
contentsUC = DBUtils.getUnQuotedIdentifier(dataSource, contentsUC);
}
for (int i = selection.x - 1; i >= 0; i--) {
String prefix = curValue.substring(i, selection.x);
if (contentsUC.startsWith(prefix)) {
......
......@@ -59,7 +59,6 @@ import org.jkiss.dbeaver.runtime.ui.UIServiceSQL;
import org.jkiss.dbeaver.ui.*;
import org.jkiss.dbeaver.ui.contentassist.ContentAssistUtils;
import org.jkiss.dbeaver.ui.contentassist.ContentProposalExt;
import org.jkiss.dbeaver.ui.contentassist.SmartStyledTextContentAdapter;
import org.jkiss.dbeaver.ui.controls.StyledTextUtils;
import org.jkiss.dbeaver.ui.controls.resultset.handler.ResultSetHandlerMain;
import org.jkiss.dbeaver.ui.controls.resultset.internal.ResultSetMessages;
......@@ -234,9 +233,10 @@ class ResultSetFilterPanel extends Composite implements IContentProposalProvider
}
});
ResultSetFilterContentAdapter contentAdapter = new ResultSetFilterContentAdapter(viewer);
filtersProposalAdapter = ContentAssistUtils.installContentProposal(
filtersText,
new SmartStyledTextContentAdapter(),
contentAdapter,
this);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册