提交 abacf3e2 编写于 作者: X Xu Peng

feat(db): change updated_time type of long


Former-commit-id: e58de06418bdb6b4f40f646ff5dc3d6a0efb12c0
上级 216aeb6b
......@@ -3,6 +3,7 @@
#include <sstream>
#include <iostream>
#include <boost/filesystem.hpp>
#include <chrono>
#include <fstream>
#include <sqlite_orm/sqlite_orm.h>
#include "DBMetaImpl.h"
......@@ -48,6 +49,14 @@ std::string DBMetaImpl::GetGroupPath(const std::string& group_id) {
return _options.path + "/" + group_id;
}
long DBMetaImpl::GetMicroSecTimeStamp() {
auto now = std::chrono::system_clock::now();
auto micros = std::chrono::duration_cast<std::chrono::microseconds>(
now.time_since_epoch()).count();
return micros;
}
std::string DBMetaImpl::GetGroupDatePartitionPath(const std::string& group_id, DateT& date) {
std::stringstream ss;
ss << GetGroupPath(group_id) << "/" << date;
......@@ -167,7 +176,7 @@ Status DBMetaImpl::add_group_file(GroupFileSchema& group_file) {
group_file.file_id = ss.str();
group_file.dimension = group_info.dimension;
group_file.rows = 0;
group_file.updated_time = ConnectorPtr->select(datetime("now", "localtime")).front();
group_file.updated_time = GetMicroSecTimeStamp(); //ConnectorPtr->select(datetime("now", "localtime +1 hour")).front();
GetGroupFilePath(group_file);
{
......@@ -332,7 +341,7 @@ Status DBMetaImpl::get_group_files(const std::string& group_id_,
}
Status DBMetaImpl::update_group_file(GroupFileSchema& group_file) {
group_file.updated_time = ConnectorPtr->select(datetime("now", "localtime")).front();
group_file.updated_time = GetMicroSecTimeStamp();
auto commited = ConnectorPtr->transaction([&] () mutable {
ConnectorPtr->update(group_file);
return true;
......@@ -346,7 +355,7 @@ Status DBMetaImpl::update_group_file(GroupFileSchema& group_file) {
Status DBMetaImpl::update_files(GroupFilesSchema& files) {
auto commited = ConnectorPtr->transaction([&] () mutable {
for (auto& file : files) {
file.updated_time = ConnectorPtr->select(datetime("now", "localtime")).front();
file.updated_time = GetMicroSecTimeStamp();
ConnectorPtr->update(file);
}
return true;
......
......@@ -50,6 +50,7 @@ public:
private:
long GetMicroSecTimeStamp();
Status get_group_no_lock(GroupSchema& group_info);
std::string GetGroupPath(const std::string& group_id);
std::string GetGroupDatePartitionPath(const std::string& group_id, DateT& date);
......
......@@ -42,7 +42,7 @@ struct GroupFileSchema {
DateT date = EmptyDate;
uint16_t dimension;
std::string location = "";
std::string updated_time = "";
long updated_time;
}; // GroupFileSchema
typedef std::vector<GroupFileSchema> GroupFilesSchema;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册