From cc9ea73cb634fb6219f2fce67994138d3b7ee2ad Mon Sep 17 00:00:00 2001 From: serge-rider Date: Thu, 7 Jun 2018 00:49:42 +0300 Subject: [PATCH] Grouping - check for subselects support --- .../panel/grouping/GroupingResultsDecorator.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/panel/grouping/GroupingResultsDecorator.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/panel/grouping/GroupingResultsDecorator.java index b0ecc80c00..f10d87d03d 100644 --- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/panel/grouping/GroupingResultsDecorator.java +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/ui/controls/resultset/panel/grouping/GroupingResultsDecorator.java @@ -24,8 +24,13 @@ import org.eclipse.swt.dnd.DropTargetAdapter; import org.eclipse.swt.dnd.DropTargetEvent; import org.eclipse.swt.dnd.TextTransfer; import org.jkiss.dbeaver.DBException; +import org.jkiss.dbeaver.model.DBPDataSource; import org.jkiss.dbeaver.model.DBPEvaluationContext; import org.jkiss.dbeaver.model.data.DBDAttributeBinding; +import org.jkiss.dbeaver.model.sql.SQLDialect; +import org.jkiss.dbeaver.model.sql.SQLUtils; +import org.jkiss.dbeaver.model.struct.DBSDataContainer; +import org.jkiss.dbeaver.model.struct.DBSObject; import org.jkiss.dbeaver.runtime.ui.DBUserInterface; import org.jkiss.dbeaver.ui.controls.lightgrid.LightGrid; import org.jkiss.dbeaver.ui.controls.resultset.IResultSetDecorator; @@ -57,7 +62,16 @@ public class GroupingResultsDecorator implements IResultSetDecorator { @Override public String getEmptyDataDescription() { - return "Drag-and-drop results column(s) here to create grouping\nPress CONTROL to configure grouping settings"; + DBPDataSource dataSource = container.getResultSetController().getDataContainer().getDataSource(); + if (dataSource == null) { + return "No connected to database"; + } + SQLDialect dialect = SQLUtils.getDialectFromDataSource(dataSource); + if (dialect == null || !dialect.supportsSubqueries()) { + return "Grouping is not supported\nby datasource '" + dataSource.getContainer().getDriver().getFullName() + "'"; + } else { + return "Drag-and-drop results column(s) here to create grouping\nPress CONTROL to configure grouping settings"; + } } @Override -- GitLab