Flex  0.17.9
single_edge_insert_transaction.h
Go to the documentation of this file.
1 
16 #ifndef GRAPHSCOPE_DATABASE_SINGLE_EDGE_INSERT_TRANSACTION_H_
17 #define GRAPHSCOPE_DATABASE_SINGLE_EDGE_INSERT_TRANSACTION_H_
18 
20 #include "flex/utils/allocators.h"
21 #include "grape/serialization/in_archive.h"
22 
23 namespace gs {
24 
25 class MutablePropertyFragment;
26 class WalWriter;
27 class VersionManager;
28 struct Any;
29 
31  public:
33  WalWriter& logger, VersionManager& vm,
36 
37  bool AddEdge(label_t src_label, const Any& src, label_t dst_label,
38  const Any& dst, label_t edge_label, const Any& prop);
39 
40  void Abort();
41 
42  timestamp_t timestamp() const;
43 
44  void Commit();
45 
46  private:
47  void clear();
48 
54 
55  grape::InArchive arc_;
56 
58 
63 };
64 
65 } // namespace gs
66 
67 #endif // GRAPHSCOPE_DATABASE_SINGLE_EDGE_INSERT_TRANSACTION_H_
gs::SingleEdgeInsertTransaction::Commit
void Commit()
Definition: single_edge_insert_transaction.cc:112
gs::Any
Definition: types.h:383
gs::SingleEdgeInsertTransaction::src_vid_
vid_t src_vid_
Definition: single_edge_insert_transaction.h:50
gs::timestamp_t
uint32_t timestamp_t
Definition: types.h:30
gs::vid_t
uint32_t vid_t
Definition: types.h:31
gs::SingleEdgeInsertTransaction::graph_
MutablePropertyFragment & graph_
Definition: single_edge_insert_transaction.h:57
gs::SingleEdgeInsertTransaction::arc_
grape::InArchive arc_
Definition: single_edge_insert_transaction.h:55
gs
Definition: adj_list.h:23
gs::SingleEdgeInsertTransaction::SingleEdgeInsertTransaction
SingleEdgeInsertTransaction(MutablePropertyFragment &graph, Allocator &alloc, WalWriter &logger, VersionManager &vm, timestamp_t timestamp)
Definition: single_edge_insert_transaction.cc:27
gs::SingleEdgeInsertTransaction::edge_label_
label_t edge_label_
Definition: single_edge_insert_transaction.h:53
gs::SingleEdgeInsertTransaction
Definition: single_edge_insert_transaction.h:30
gs::ArenaAllocator
Definition: allocators.h:29
gs::MutablePropertyFragment
Definition: mutable_property_fragment.h:37
gs::SingleEdgeInsertTransaction::dst_vid_
vid_t dst_vid_
Definition: single_edge_insert_transaction.h:52
gs::WalWriter
Definition: wal.h:50
allocators.h
gs::VersionManager
Definition: version_manager.h:34
gs::SingleEdgeInsertTransaction::alloc_
Allocator & alloc_
Definition: single_edge_insert_transaction.h:59
types.h
gs::SingleEdgeInsertTransaction::vm_
VersionManager & vm_
Definition: single_edge_insert_transaction.h:61
gs::SingleEdgeInsertTransaction::~SingleEdgeInsertTransaction
~SingleEdgeInsertTransaction()
Definition: single_edge_insert_transaction.cc:38
gs::SingleEdgeInsertTransaction::src_label_
label_t src_label_
Definition: single_edge_insert_transaction.h:49
gs::SingleEdgeInsertTransaction::Abort
void Abort()
Definition: single_edge_insert_transaction.cc:99
gs::SingleEdgeInsertTransaction::logger_
WalWriter & logger_
Definition: single_edge_insert_transaction.h:60
gs::SingleEdgeInsertTransaction::timestamp_
timestamp_t timestamp_
Definition: single_edge_insert_transaction.h:62
gs::SingleEdgeInsertTransaction::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_edge_insert_transaction.cc:40
gs::SingleEdgeInsertTransaction::dst_label_
label_t dst_label_
Definition: single_edge_insert_transaction.h:51
gs::label_t
uint8_t label_t
Definition: types.h:32
gs::SingleEdgeInsertTransaction::timestamp
timestamp_t timestamp() const
Definition: single_edge_insert_transaction.cc:108
gs::SingleEdgeInsertTransaction::clear
void clear()
Definition: single_edge_insert_transaction.cc:139