DbAccessor: -Guarantees that access to Vertex and Edge is possible only through Vertex::Accessor and Edge::Accessor. -Guarantees that changing Vertex and Edge is possible only using Vertex::Accessor returned by vertex_insert() method and Edge::Accessor returned by edge_insert() method. -Offers CRUD for Vertex and Edge except iterating over all edges. Squashed commit messages: First step in database accessor refactoring done. It's compiling. All tests with exception of integration_querys pass Tests now initialize logging facilities. Refactored accessors. RecordAccessor now has 3 states. From,To,Out,In in there respecive Accessors return unfilled RecordAccessor. Added iterator classes into utils/itearator/.
24 lines
359 B
C++
24 lines
359 B
C++
#pragma once
|
|
|
|
#include "storage/graph.hpp"
|
|
// #include "transactions/commit_log.hpp"
|
|
#include "transactions/engine.hpp"
|
|
|
|
class Db
|
|
{
|
|
public:
|
|
using sptr = std::shared_ptr<Db>;
|
|
|
|
Db();
|
|
Db(const std::string &name);
|
|
Db(const Db &db) = delete;
|
|
|
|
Graph graph;
|
|
tx::Engine tx_engine;
|
|
|
|
std::string &name();
|
|
|
|
private:
|
|
std::string name_;
|
|
};
|