From 05a4924237497bef3c7fae4e46d08cea848b3acb Mon Sep 17 00:00:00 2001 From: serge-rider Date: Wed, 15 Apr 2020 00:08:17 +0300 Subject: [PATCH] dbeaver/dbeaver#342 RSV: extra settings --- .../ui/controls/resultset/IResultSetController.java | 2 ++ .../dbeaver/ui/controls/resultset/ResultSetViewer.java | 10 ++++++++++ .../resultset/spreadsheet/SpreadsheetPresentation.java | 8 ++++++++ 3 files changed, 20 insertions(+) diff --git a/plugins/org.jkiss.dbeaver.ui.editors.data/src/org/jkiss/dbeaver/ui/controls/resultset/IResultSetController.java b/plugins/org.jkiss.dbeaver.ui.editors.data/src/org/jkiss/dbeaver/ui/controls/resultset/IResultSetController.java index ae15c11fd1..1a6cb6c5ab 100644 --- a/plugins/org.jkiss.dbeaver.ui.editors.data/src/org/jkiss/dbeaver/ui/controls/resultset/IResultSetController.java +++ b/plugins/org.jkiss.dbeaver.ui.editors.data/src/org/jkiss/dbeaver/ui/controls/resultset/IResultSetController.java @@ -193,6 +193,8 @@ public interface IResultSetController extends IDataController, DBPContextProvide void setDataFilter(final DBDDataFilter dataFilter, boolean refreshData); + void setSegmentFetchSize(Integer segmentFetchSize); + /** * Enable/disable viewer actions. May be used by editors to "lock" RSV actions like navigation, edit, etc. * Actions will be locked until lockedBy will be disposed diff --git a/plugins/org.jkiss.dbeaver.ui.editors.data/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java b/plugins/org.jkiss.dbeaver.ui.editors.data/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java index 81523617a1..65e1441ac1 100644 --- a/plugins/org.jkiss.dbeaver.ui.editors.data/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java +++ b/plugins/org.jkiss.dbeaver.ui.editors.data/src/org/jkiss/dbeaver/ui/controls/resultset/ResultSetViewer.java @@ -200,6 +200,8 @@ public class ResultSetViewer extends Viewer // Mode private boolean recordMode; + private Integer segmentFetchSize; + private final List listeners = new ArrayList<>(); private final List dataPumpJobQueue = new ArrayList<>(); @@ -582,6 +584,11 @@ public class ResultSetViewer extends Viewer } } + @Override + public void setSegmentFetchSize(Integer segmentFetchSize) { + this.segmentFetchSize = segmentFetchSize; + } + //////////////////////////////////////////////////////////// // Misc @@ -3485,6 +3492,9 @@ public class ResultSetViewer extends Viewer if (getDataContainer() == null) { return 0; } + if (segmentFetchSize != null && segmentFetchSize > 0) { + return segmentFetchSize; + } return getPreferenceStore().getInt(ModelPreferences.RESULT_SET_MAX_ROWS); } diff --git a/plugins/org.jkiss.dbeaver.ui.editors.data/src/org/jkiss/dbeaver/ui/controls/resultset/spreadsheet/SpreadsheetPresentation.java b/plugins/org.jkiss.dbeaver.ui.editors.data/src/org/jkiss/dbeaver/ui/controls/resultset/spreadsheet/SpreadsheetPresentation.java index 0fe29cd33a..7d5246f9a7 100644 --- a/plugins/org.jkiss.dbeaver.ui.editors.data/src/org/jkiss/dbeaver/ui/controls/resultset/spreadsheet/SpreadsheetPresentation.java +++ b/plugins/org.jkiss.dbeaver.ui.editors.data/src/org/jkiss/dbeaver/ui/controls/resultset/spreadsheet/SpreadsheetPresentation.java @@ -175,6 +175,14 @@ public class SpreadsheetPresentation extends AbstractPresentation implements IRe this.showOddRows = showOddRows; } + public boolean isAutoFetchSegments() { + return autoFetchSegments; + } + + public void setAutoFetchSegments(boolean autoFetchSegments) { + this.autoFetchSegments = autoFetchSegments; + } + @Nullable DBPDataSource getDataSource() { DBSDataContainer dataContainer = controller.getDataContainer(); -- GitLab