From 68c99158411940c2ff8e92a7f29898ec713034ad Mon Sep 17 00:00:00 2001 From: mazhao Date: Wed, 23 Aug 2023 09:45:06 +0800 Subject: [PATCH 1/2] fix JudgeViewType lap complex code check Signed-off-by: mazhao --- .../src/interface/src/document_store.cpp | 84 ++++++++++++------- 1 file changed, 56 insertions(+), 28 deletions(-) diff --git a/services/distributeddataservice/service/data_share/gaussdb_rd/src/interface/src/document_store.cpp b/services/distributeddataservice/service/data_share/gaussdb_rd/src/interface/src/document_store.cpp index 83dac352..e2bb9c25 100644 --- a/services/distributeddataservice/service/data_share/gaussdb_rd/src/interface/src/document_store.cpp +++ b/services/distributeddataservice/service/data_share/gaussdb_rd/src/interface/src/document_store.cpp @@ -620,43 +620,71 @@ Collection DocumentStore::GetCollection(std::string &collectionName) return Collection(collectionName, executor_); } -int JudgeViewType(const size_t &index, ValueObject &leafItem, bool &viewType) +int JudgeBoolViewType(const size_t index, ValueObject &leafItem, bool &viewType) { + if (leafItem.GetBoolValue()) { + if (index != 0 && !viewType) { + return -E_INVALID_ARGS; + } + viewType = true; + } else { + if (index != 0 && viewType) { + return E_INVALID_ARGS; + } + viewType = false; + } + return E_OK; +} + +int JudgeStringViewType(const size_t index, ValueObject &leafItem, bool &viewType) +{ + if (leafItem.GetStringValue() == "") { + if (index != 0 && !viewType) { + return -E_INVALID_ARGS; + } + viewType = true; + } else { + return -E_INVALID_ARGS; + } + return E_OK; +} + +int JudgeIntViewType(const size_t index, ValueObject &leafItem, bool &viewType) +{ + if (leafItem.GetIntValue() == 0) { + if (index != 0 && viewType) { + return -E_INVALID_ARGS; + } + viewType = false; + } else { + if (index != 0 && !viewType) { + return E_INVALID_ARGS; + } + viewType = true; + } + return E_OK; +} + +int JudgeViewType(const size_t index, ValueObject &leafItem, bool &viewType) +{ + int errCode = E_OK; switch (leafItem.GetValueType()) { case ValueObject::ValueType::VALUE_BOOL: - if (leafItem.GetBoolValue()) { - if (index != 0 && !viewType) { - return -E_INVALID_ARGS; - } - viewType = true; - } else { - if (index != 0 && viewType) { - return E_INVALID_ARGS; - } - viewType = false; + errCode = JudgeBoolViewType(index, leafItem, viewType); + if (errCode != E_OK) { + return errCode; } break; case ValueObject::ValueType::VALUE_STRING: - if (leafItem.GetStringValue() == "") { - if (index != 0 && !viewType) { - return -E_INVALID_ARGS; - } - viewType = true; - } else { - return -E_INVALID_ARGS; + errCode = JudgeStringViewType(index, leafItem, viewType); + if (errCode != E_OK) { + return errCode; } break; case ValueObject::ValueType::VALUE_NUMBER: - if (leafItem.GetIntValue() == 0) { - if (index != 0 && viewType) { - return -E_INVALID_ARGS; - } - viewType = false; - } else { - if (index != 0 && !viewType) { - return E_INVALID_ARGS; - } - viewType = true; + errCode = JudgeIntViewType(index, leafItem, viewType); + if (errCode != E_OK) { + return errCode; } break; default: -- Gitee From 45a63590ac1d4d69ada6ade02c8a14200a490e23 Mon Sep 17 00:00:00 2001 From: mazhao Date: Wed, 23 Aug 2023 10:05:48 +0800 Subject: [PATCH 2/2] fix code check opinion Signed-off-by: mazhao --- .../gaussdb_rd/src/interface/src/document_store.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/services/distributeddataservice/service/data_share/gaussdb_rd/src/interface/src/document_store.cpp b/services/distributeddataservice/service/data_share/gaussdb_rd/src/interface/src/document_store.cpp index e2bb9c25..fe2d1ded 100644 --- a/services/distributeddataservice/service/data_share/gaussdb_rd/src/interface/src/document_store.cpp +++ b/services/distributeddataservice/service/data_share/gaussdb_rd/src/interface/src/document_store.cpp @@ -629,7 +629,7 @@ int JudgeBoolViewType(const size_t index, ValueObject &leafItem, bool &viewType) viewType = true; } else { if (index != 0 && viewType) { - return E_INVALID_ARGS; + return -E_INVALID_ARGS; } viewType = false; } @@ -658,7 +658,7 @@ int JudgeIntViewType(const size_t index, ValueObject &leafItem, bool &viewType) viewType = false; } else { if (index != 0 && !viewType) { - return E_INVALID_ARGS; + return -E_INVALID_ARGS; } viewType = true; } @@ -688,7 +688,7 @@ int JudgeViewType(const size_t index, ValueObject &leafItem, bool &viewType) } break; default: - return E_INVALID_ARGS; + return -E_INVALID_ARGS; } return E_OK; } @@ -697,7 +697,7 @@ int GetViewType(JsonObject &jsonObj, bool &viewType) { std::vector leafValue = JsonCommon::GetLeafValue(jsonObj); if (leafValue.size() == 0) { - return E_INVALID_ARGS; + return -E_INVALID_ARGS; } int ret = E_OK; for (size_t i = 0; i < leafValue.size(); i++) { @@ -851,7 +851,7 @@ int DocumentStore::EraseCollection(const std::string &collectionName) return E_OK; } GLOGE("erase collection failed"); - return E_INVALID_ARGS; + return -E_INVALID_ARGS; } void DocumentStore::OnClose(const std::function ¬ifier) -- Gitee