This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new d9552365dc2 Set fetchSize to max_tsblock_line_number if it's equal to
or less than zero
d9552365dc2 is described below
commit d9552365dc2a42df423fb26ba34ee385044cbecd
Author: Jackie Tien <[email protected]>
AuthorDate: Wed Nov 27 09:02:13 2024 +0800
Set fetchSize to max_tsblock_line_number if it's equal to or less than zero
---
.../apache/iotdb/db/protocol/thrift/impl/ClientRPCServiceImpl.java | 1 +
.../iotdb/db/queryengine/plan/execution/config/ConfigExecution.java | 2 +-
.../src/main/java/org/apache/iotdb/db/utils/QueryDataSetUtils.java | 6 ++++++
3 files changed, 8 insertions(+), 1 deletion(-)
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/ClientRPCServiceImpl.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/ClientRPCServiceImpl.java
index b120b4bfd5e..0bb353bb2c6 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/ClientRPCServiceImpl.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/ClientRPCServiceImpl.java
@@ -384,6 +384,7 @@ public class ClientRPCServiceImpl implements
IClientRPCServiceWithHandler {
try (SetThreadName threadName = new
SetThreadName(result.queryId.getId())) {
TSExecuteStatementResp resp;
if (queryExecution != null && queryExecution.isQuery()) {
+ statementType = statementType == null ? StatementType.QUERY :
statementType;
resp = createResponse(queryExecution.getDatasetHeader(), queryId);
resp.setStatus(result.status);
finished = setResult.apply(resp, queryExecution, req.fetchSize);
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/ConfigExecution.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/ConfigExecution.java
index c0886d91842..6075c8c64ba 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/ConfigExecution.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/ConfigExecution.java
@@ -246,6 +246,6 @@ public class ConfigExecution implements IQueryExecution {
@Override
public String getStatementType() {
- return statementType.name();
+ return statementType == null ? null : statementType.name();
}
}
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/QueryDataSetUtils.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/QueryDataSetUtils.java
index dec3864353c..32fff633559 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/QueryDataSetUtils.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/QueryDataSetUtils.java
@@ -24,6 +24,8 @@ import
org.apache.iotdb.db.queryengine.plan.execution.IQueryExecution;
import org.apache.iotdb.service.rpc.thrift.TSQueryDataSet;
import org.apache.tsfile.block.column.Column;
+import org.apache.tsfile.common.conf.TSFileConfig;
+import org.apache.tsfile.common.conf.TSFileDescriptor;
import org.apache.tsfile.enums.TSDataType;
import org.apache.tsfile.read.common.block.TsBlock;
import org.apache.tsfile.utils.Binary;
@@ -47,10 +49,13 @@ public class QueryDataSetUtils {
private static final int FLAG = 0x01;
+ private static final TSFileConfig TSFLE_CONFIG =
TSFileDescriptor.getInstance().getConfig();
+
private QueryDataSetUtils() {}
public static Pair<TSQueryDataSet, Boolean> convertTsBlockByFetchSize(
IQueryExecution queryExecution, int fetchSize) throws IOException,
IoTDBException {
+ fetchSize = fetchSize > 0 ? fetchSize :
TSFLE_CONFIG.getMaxTsBlockLineNumber();
boolean finished = false;
int columnNum = queryExecution.getOutputValueColumnCount();
// one time column and each value column has an actual value buffer and a
bitmap value to
@@ -607,6 +612,7 @@ public class QueryDataSetUtils {
*/
public static Pair<List<ByteBuffer>, Boolean> convertQueryResultByFetchSize(
IQueryExecution queryExecution, int fetchSize) throws IoTDBException {
+ fetchSize = fetchSize > 0 ? fetchSize :
TSFLE_CONFIG.getMaxTsBlockLineNumber();
int rowCount = 0;
List<ByteBuffer> res = new ArrayList<>();
while (rowCount < fetchSize) {