From 58c0a6f838042615575a278d60e305ffd4861737 Mon Sep 17 00:00:00 2001 From: Xu Peng Date: Thu, 18 Apr 2019 18:44:40 +0800 Subject: [PATCH] feat(db): fix insert group bug Former-commit-id: ff93f2cd24c2d952c95f55dd141f693ad995ec51 --- cpp/src/db/DBMetaImpl.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/cpp/src/db/DBMetaImpl.cpp b/cpp/src/db/DBMetaImpl.cpp index 2d6349d3..458e41eb 100644 --- a/cpp/src/db/DBMetaImpl.cpp +++ b/cpp/src/db/DBMetaImpl.cpp @@ -89,12 +89,16 @@ Status DBMetaImpl::add_group(GroupSchema& group_info) { } group_info.files_cnt = 0; group_info.id = -1; - try { + + auto commited = ConnectorPtr->transaction([&] () mutable { auto id = ConnectorPtr->insert(group_info); - std::cout << "id=" << id << std::endl; group_info.id = id; - } catch(std::system_error& e) { - return Status::GroupError("Add Group " + group_info.group_id + " Error"); + std::cout << __func__ << " id=" << id << std::endl; + return true; + }); + + if (!commited) { + return Status::DBTransactionError("Add Group Error"); } auto group_path = GetGroupPath(group_info.group_id); @@ -159,7 +163,7 @@ Status DBMetaImpl::add_group_file(GroupFileSchema& group_file) { auto commited = ConnectorPtr->transaction([&] () mutable { auto id = ConnectorPtr->insert(group_file); - group_info.id = id; + group_file.id = id; std::cout << __func__ << " id=" << id << std::endl; return true; }); -- GitLab