From b2f079ed676cdf22cf207103ce54fe94fd82e319 Mon Sep 17 00:00:00 2001 From: Xu Peng Date: Sun, 26 May 2019 11:13:34 +0800 Subject: [PATCH] fix(db): fix size api for db meta Former-commit-id: 88add7eef97827063e8e87f0d84aec62e66f7ca6 --- cpp/src/db/DBMetaImpl.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/cpp/src/db/DBMetaImpl.cpp b/cpp/src/db/DBMetaImpl.cpp index a4c3f5d77e..2b997d1043 100644 --- a/cpp/src/db/DBMetaImpl.cpp +++ b/cpp/src/db/DBMetaImpl.cpp @@ -489,13 +489,19 @@ Status DBMetaImpl::archive_files() { } Status DBMetaImpl::size(long& result) { + result = 0; try { - auto sum_c = ConnectorPtr->sum( - &GroupFileSchema::rows, + auto selected = ConnectorPtr->select(columns(sum(&GroupFileSchema::rows)), where( c(&GroupFileSchema::file_type) != (int)GroupFileSchema::TO_DELETE )); - result = *sum_c*sizeof(float); + + for (auto& sub_query : selected) { + if(!std::get<0>(sub_query)) { + continue; + } + result += (long)(*std::get<0>(sub_query))*sizeof(float); + } } catch (std::exception & e) { LOG(DEBUG) << e.what(); throw e;