Flex  0.17.9
single_vertex_insert_transaction.h
Go to the documentation of this file.
1 
16 #ifndef GRAPHSCOPE_DATABASE_SINGLE_VERTEX_INSERT_TRANSACTION_H_
17 #define GRAPHSCOPE_DATABASE_SINGLE_VERTEX_INSERT_TRANSACTION_H_
18 
20 #include "flex/utils/allocators.h"
22 #include "grape/serialization/in_archive.h"
23 
24 namespace gs {
25 
26 class MutablePropertyFragment;
27 class WalWriter;
28 class VersionManager;
29 
31  public:
33  Allocator& alloc, WalWriter& logger,
36 
37  bool AddVertex(label_t label, const Any& id, const std::vector<Any>& props);
38 
39  bool AddEdge(label_t src_label, const Any& src, label_t dst_label,
40  const Any& dst, label_t edge_label, const Any& prop);
41 
42  void Commit();
43 
44  void Abort();
45 
46  timestamp_t timestamp() const;
47 
48  void ingestWal();
49 
50  private:
51  void clear();
52 
53  grape::InArchive arc_;
54 
58  std::vector<vid_t> parsed_endpoints_;
59 
61 
63 
67 };
68 
69 } // namespace gs
70 
71 #endif // GRAPHSCOPE_DATABASE_SINGLE_VERTEX_INSERT_TRANSACTION_H_
gs::SingleVertexInsertTransaction::ingestWal
void ingestWal()
Definition: single_vertex_insert_transaction.cc:187
gs::Any
Definition: types.h:383
gs::timestamp_t
uint32_t timestamp_t
Definition: types.h:30
types.h
gs::SingleVertexInsertTransaction::timestamp_
timestamp_t timestamp_
Definition: single_vertex_insert_transaction.h:66
gs::vid_t
uint32_t vid_t
Definition: types.h:31
gs::SingleVertexInsertTransaction::SingleVertexInsertTransaction
SingleVertexInsertTransaction(MutablePropertyFragment &graph, Allocator &alloc, WalWriter &logger, VersionManager &vm, timestamp_t timestamp)
Definition: single_vertex_insert_transaction.cc:27
gs::SingleVertexInsertTransaction::graph_
MutablePropertyFragment & graph_
Definition: single_vertex_insert_transaction.h:60
gs::SingleVertexInsertTransaction::logger_
WalWriter & logger_
Definition: single_vertex_insert_transaction.h:64
gs
Definition: adj_list.h:23
gs::SingleVertexInsertTransaction::AddVertex
bool AddVertex(label_t label, const Any &id, const std::vector< Any > &props)
Definition: single_vertex_insert_transaction.cc:39
gs::SingleVertexInsertTransaction::Abort
void Abort()
Definition: single_vertex_insert_transaction.cc:174
gs::ArenaAllocator
Definition: allocators.h:29
gs::SingleVertexInsertTransaction::~SingleVertexInsertTransaction
~SingleVertexInsertTransaction()
Definition: single_vertex_insert_transaction.cc:37
gs::MutablePropertyFragment
Definition: mutable_property_fragment.h:37
gs::SingleVertexInsertTransaction::vm_
VersionManager & vm_
Definition: single_vertex_insert_transaction.h:65
gs::SingleVertexInsertTransaction::added_vertex_label_
label_t added_vertex_label_
Definition: single_vertex_insert_transaction.h:55
gs::SingleVertexInsertTransaction::Commit
void Commit()
Definition: single_vertex_insert_transaction.cc:153
gs::WalWriter
Definition: wal.h:50
allocators.h
gs::VersionManager
Definition: version_manager.h:34
gs::SingleVertexInsertTransaction
Definition: single_vertex_insert_transaction.h:30
gs::SingleVertexInsertTransaction::AddEdge
bool AddEdge(label_t src_label, const Any &src, label_t dst_label, const Any &dst, label_t edge_label, const Any &prop)
Definition: single_vertex_insert_transaction.cc:75
gs::SingleVertexInsertTransaction::alloc_
Allocator & alloc_
Definition: single_vertex_insert_transaction.h:62
gs::SingleVertexInsertTransaction::timestamp
timestamp_t timestamp() const
Definition: single_vertex_insert_transaction.cc:183
types.h
gs::SingleVertexInsertTransaction::added_vertex_id_
Any added_vertex_id_
Definition: single_vertex_insert_transaction.h:56
gs::SingleVertexInsertTransaction::added_vertex_vid_
vid_t added_vertex_vid_
Definition: single_vertex_insert_transaction.h:57
gs::SingleVertexInsertTransaction::clear
void clear()
Definition: single_vertex_insert_transaction.cc:227
gs::label_t
uint8_t label_t
Definition: types.h:32
gs::SingleVertexInsertTransaction::parsed_endpoints_
std::vector< vid_t > parsed_endpoints_
Definition: single_vertex_insert_transaction.h:58
gs::SingleVertexInsertTransaction::arc_
grape::InArchive arc_
Definition: single_vertex_insert_transaction.h:53