diff --git a/core/src/server/ValidationUtil.cpp b/core/src/server/ValidationUtil.cpp index 6d3b91047d2a0bb79f44b056a7b9f4c5471a5380..e601f9baf00590f919c29c263a142a35d3247263 100644 --- a/core/src/server/ValidationUtil.cpp +++ b/core/src/server/ValidationUtil.cpp @@ -481,6 +481,18 @@ ValidatePartitionTags(const std::vector& partition_tags) { return Status::OK(); } +Status +ValidateInsertDataSize(const engine::DataChunkPtr& data) { + int64_t chunk_size = engine::utils::GetSizeOfChunk(data); + if (chunk_size > engine::MAX_INSERT_DATA_SIZE) { + std::string msg = "The amount of data inserted each time cannot exceed " + + std::to_string(engine::MAX_INSERT_DATA_SIZE / engine::MB) + " MB"; + return Status(SERVER_INVALID_ROWRECORD_ARRAY, msg); + } + + return Status::OK(); +} + Status ValidateCompactThreshold(double threshold) { if (threshold > 1.0 || threshold < 0.0) {