From 4e79eaed0827d3923d4f0a41dc13676191518089 Mon Sep 17 00:00:00 2001 From: groot Date: Thu, 10 Oct 2019 10:45:11 +0800 Subject: [PATCH] MS-622 Delete vectors should be failed if date range is invalid Former-commit-id: b8612ac46a6bcdd7ecb15d037c5892e4a67ae592 --- cpp/CHANGELOG.md | 1 + cpp/README.md | 9 ++++++--- cpp/src/server/grpc_impl/GrpcRequestTask.cpp | 10 +++++----- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/cpp/CHANGELOG.md b/cpp/CHANGELOG.md index b7cf014f..f7babebb 100644 --- a/cpp/CHANGELOG.md +++ b/cpp/CHANGELOG.md @@ -11,6 +11,7 @@ Please mark all change in change log and use the ticket from JIRA. - MS-587 - Count get wrong result after adding vectors and index built immediately - MS-599 - search wrong result when table created with metric_type: IP - MS-601 - Docker logs error caused by get CPUTemperature error +- MS-622 - Delete vectors should be failed if date range is invalid ## Improvement - MS-552 - Add and change the easylogging library diff --git a/cpp/README.md b/cpp/README.md index 9211a5d8..08c65400 100644 --- a/cpp/README.md +++ b/cpp/README.md @@ -111,12 +111,15 @@ CentOS 7: $ yum install clang Ubuntu 16.04: $ sudo apt-get install clang-tidy +$ sudo su $ wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add - -$ sudo apt-add-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-6.0 main" -$ sudo apt-get update -$ sudo apt-get install clang-format-6.0 +$ apt-add-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-6.0 main" +$ apt-get update +$ apt-get install clang-format-6.0 Ubuntu 18.04: $ sudo apt-get install clang-tidy clang-format + +$ rm cmake_build/CMakeCache.txt ``` ```shell $ ./build.sh -l diff --git a/cpp/src/server/grpc_impl/GrpcRequestTask.cpp b/cpp/src/server/grpc_impl/GrpcRequestTask.cpp index dc2bd340..23ae84b3 100644 --- a/cpp/src/server/grpc_impl/GrpcRequestTask.cpp +++ b/cpp/src/server/grpc_impl/GrpcRequestTask.cpp @@ -42,6 +42,8 @@ static const char* DQL_TASK_GROUP = "dql"; static const char* DDL_DML_TASK_GROUP = "ddl_dml"; static const char* PING_TASK_GROUP = "ping"; +constexpr int64_t DAY_SECONDS = 24 * 60 * 60; + using DB_META = milvus::engine::meta::Meta; using DB_DATE = milvus::engine::meta::DateT; @@ -78,8 +80,6 @@ IndexType(engine::EngineType type) { return map_type[type]; } -constexpr int64_t DAY_SECONDS = 24 * 60 * 60; - Status ConvertTimeRangeToDBDates(const std::vector<::milvus::grpc::Range>& range_array, std::vector& dates) { dates.clear(); @@ -94,10 +94,10 @@ ConvertTimeRangeToDBDates(const std::vector<::milvus::grpc::Range>& range_array, return Status(SERVER_INVALID_TIME_RANGE, "Invalid time range: " + range.start_value()); } - int64_t days = (tt_end > tt_start) ? (tt_end - tt_start) / DAY_SECONDS : (tt_start - tt_end) / DAY_SECONDS; - if (days == 0) { + int64_t days = (tt_end - tt_start) / DAY_SECONDS; + if (days <= 0) { return Status(SERVER_INVALID_TIME_RANGE, - "Invalid time range: " + range.start_value() + " to " + range.end_value()); + "Invalid time range: The start-date should be smaller than end-date!"); } // range: [start_day, end_day) -- GitLab