From 86e97648ddacd3b27f268165f98447a8b71f972b Mon Sep 17 00:00:00 2001 From: qiaojialin <646274302@qq.com> Date: Fri, 10 Jul 2020 11:33:59 +0800 Subject: [PATCH] check fetch size in query --- .../java/org/apache/iotdb/db/service/TSServiceImpl.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java b/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java index dcbbc368c0096..3721d5aa40e36 100644 --- a/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java +++ b/server/src/main/java/org/apache/iotdb/db/service/TSServiceImpl.java @@ -142,6 +142,7 @@ public class TSServiceImpl implements TSIService.Iface, ServerContext { private static final int MAX_SIZE = IoTDBDescriptor.getInstance().getConfig().getQueryCacheSizeInMetric(); private static final int DELETE_SIZE = 20; + private static final int FETCH_SIZE = 10000; private static final String ERROR_PARSING_SQL = "meet error while parsing SQL to physical plan: {}"; private static final List sqlArgumentList = new ArrayList<>(MAX_SIZE); @@ -553,6 +554,11 @@ private TSExecuteStatementResp internalExecuteQueryStatement(String statement, try { TSExecuteStatementResp resp = getQueryResp(plan, username); // column headers + // In case users forget to set this field in query, use the default value + if (fetchSize == 0) { + fetchSize = FETCH_SIZE; + } + if (plan instanceof ShowTimeSeriesPlan) { //If the user does not pass the limit, then set limit = fetchSize and haslimit=false,else set haslimit = true if (((ShowTimeSeriesPlan) plan).getLimit() == 0) {