2015-07-07 22:18:26 +08:00
|
|
|
#ifndef MEMGRAPH_STORAGE_RECORD_HPP
|
|
|
|
#define MEMGRAPH_STORAGE_RECORD_HPP
|
|
|
|
|
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-07-07 22:18:26 +08:00
|
|
|
class Record
|
2015-07-31 18:31:08 +08:00
|
|
|
: public Crtp<Derived>,
|
2015-09-13 17:34:17 +08:00
|
|
|
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-09-13 17:34:17 +08:00
|
|
|
|
|
|
|
// each record can have one or more distinct labels.
|
|
|
|
std::set<uint16_t> labels;
|
2015-07-07 22:18:26 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|