2015-12-08 04:51:55 +08:00
|
|
|
#pragma once
|
2015-07-07 22:18:26 +08:00
|
|
|
|
2015-10-08 06:58:29 +08:00
|
|
|
#include <ostream>
|
2015-07-07 22:18:26 +08:00
|
|
|
#include <mutex>
|
2015-09-13 17:34:17 +08:00
|
|
|
#include <set>
|
2015-07-07 22:18:26 +08:00
|
|
|
|
2015-07-31 18:31:08 +08:00
|
|
|
#include "utils/crtp.hpp"
|
|
|
|
|
2015-09-13 17:34:17 +08:00
|
|
|
#include "threading/sync/spinlock.hpp"
|
2015-07-31 18:31:08 +08:00
|
|
|
|
2015-09-13 17:34:17 +08:00
|
|
|
#include "mvcc/mvcc.hpp"
|
2015-07-07 22:18:26 +08:00
|
|
|
|
2015-08-30 07:12:46 +08:00
|
|
|
#include "properties/properties.hpp"
|
|
|
|
|
2015-07-31 18:31:08 +08:00
|
|
|
template <class Derived>
|
2015-12-06 23:37:42 +08:00
|
|
|
class Record : public Crtp<Derived>, public mvcc::Mvcc<Derived>
|
2015-07-07 22:18:26 +08:00
|
|
|
{
|
|
|
|
public:
|
2015-09-13 17:34:17 +08:00
|
|
|
// a record contains a key value map containing data
|
2015-10-14 02:32:54 +08:00
|
|
|
Properties properties;
|
2015-12-06 23:37:42 +08:00
|
|
|
|
|
|
|
// each record can have one or more distinct labels.
|
|
|
|
// std::set<uint16_t> labels;
|
2015-07-07 22:18:26 +08:00
|
|
|
};
|