Go to the documentation of this file.
15 #ifndef ENGINES_GRAPH_DB_DATABASE_OPERATIONS_H_
16 #define ENGINES_GRAPH_DB_DATABASE_OPERATIONS_H_
19 #include <unordered_map>
26 #include <rapidjson/document.h>
49 rapidjson::Document&& input_json);
51 rapidjson::Document&& input_json);
53 rapidjson::Document&& input_json);
55 rapidjson::Document&& input_json);
58 std::unordered_map<std::string, std::string>&& params);
61 std::unordered_map<std::string, std::string>&& params);
63 rapidjson::Document&& input_json);
65 rapidjson::Document&& input_json);
76 std::vector<std::string>& input_property_names,
bool is_get =
false);
79 const std::string& src_label,
80 const std::string& dst_label,
81 const std::string& edge_label,
82 std::string& property_name,
95 std::vector<EdgeData>&& edge_data,
98 std::vector<EdgeData>&& edge_data,
101 std::vector<EdgeData>&& edge_data,
112 std::vector<EdgeData>&& edge_data,
const std::string& property_name,
113 GraphDBSession& session, rapidjson::Document::AllocatorType& allocator);
115 std::vector<VertexData>&& vertex_data,
116 const std::vector<std::string>& property_names,
GraphDBSession& session,
117 rapidjson::Document::AllocatorType& allocator);
122 #endif // ENGINES_GRAPH_DB_DATABASE_OPERATIONS_H_
static VertexData inputVertex(const rapidjson::Value &vertex_json, const Schema &schema, GraphDBSession &session)
Definition: graph_db_operations.cc:258
static Status checkEdgeExistsWithInsert(const std::vector< EdgeData > &edge_data, GraphDBSession &session)
Definition: graph_db_operations.cc:399
Any pk_value
Definition: graph_db_operations.h:31
static Result< std::string > UpdateEdge(GraphDBSession &session, rapidjson::Document &&input_json)
Definition: graph_db_operations.cc:147
Definition: graph_db_operations.h:38
label_t edge_label_id
Definition: graph_db_operations.h:39
label_t label_id
Definition: graph_db_operations.h:32
~VertexData()
Definition: graph_db_operations.h:35
static Result< std::string > DeleteEdge(GraphDBSession &session, rapidjson::Document &&input_json)
Definition: graph_db_operations.cc:251
Definition: adj_list.h:23
Definition: graph_db_operations.h:46
static Result< std::string > GetVertex(GraphDBSession &session, std::unordered_map< std::string, std::string > &¶ms)
Definition: graph_db_operations.cc:176
static Status insertVertex(std::vector< VertexData > &&vertex_data, std::vector< EdgeData > &&edge_data, GraphDBSession &session)
Definition: graph_db_operations.cc:534
static Status singleInsertVertex(std::vector< VertexData > &&vertex_data, std::vector< EdgeData > &&edge_data, GraphDBSession &session)
Definition: graph_db_operations.cc:477
VertexData()
Definition: graph_db_operations.h:34
static Result< std::string > UpdateVertex(GraphDBSession &session, rapidjson::Document &&input_json)
Definition: graph_db_operations.cc:113
static Status updateVertex(std::vector< VertexData > &&vertex_data, GraphDBSession &session)
Definition: graph_db_operations.cc:587
static Status checkEdgeSchema(const Schema &schema, EdgeData &edge, const std::string &src_label, const std::string &dst_label, const std::string &edge_label, std::string &property_name, bool is_get=false)
Definition: graph_db_operations.cc:358
static Result< std::string > DeleteVertex(GraphDBSession &session, rapidjson::Document &&input_json)
Definition: graph_db_operations.cc:245
static Result< std::string > CreateEdge(GraphDBSession &session, rapidjson::Document &&input_json)
Definition: graph_db_operations.cc:83
static Result< rapidjson::Value > getVertex(std::vector< VertexData > &&vertex_data, const std::vector< std::string > &property_names, GraphDBSession &session, rapidjson::Document::AllocatorType &allocator)
Definition: graph_db_operations.cc:651
Any src_pk_value
Definition: graph_db_operations.h:40
static Result< rapidjson::Value > getEdge(std::vector< EdgeData > &&edge_data, const std::string &property_name, GraphDBSession &session, rapidjson::Document::AllocatorType &allocator)
Definition: graph_db_operations.cc:678
static Result< std::string > GetEdge(GraphDBSession &session, std::unordered_map< std::string, std::string > &¶ms)
Definition: graph_db_operations.cc:202
static Status checkVertexSchema(const Schema &schema, VertexData &vertex, const std::string &label, std::vector< std::string > &input_property_names, bool is_get=false)
Definition: graph_db_operations.cc:326
Definition: graph_db_session.h:36
static Status insertEdge(std::vector< EdgeData > &&edge_data, GraphDBSession &session)
Definition: graph_db_operations.cc:573
static EdgeData inputEdge(const rapidjson::Value &edge_json, const Schema &schema, GraphDBSession &session)
Definition: graph_db_operations.cc:290
std::vector< Any > properties
Definition: graph_db_operations.h:33
Definition: graph_db_operations.h:30
static Status checkVertexExists(const std::vector< VertexData > &vertex_data, GraphDBSession &session)
Definition: graph_db_operations.cc:459
EdgeData()
Definition: graph_db_operations.h:42
label_t src_label_id
Definition: graph_db_operations.h:39
label_t dst_label_id
Definition: graph_db_operations.h:39
static Status updateEdge(std::vector< EdgeData > &&edge_data, GraphDBSession &session)
Definition: graph_db_operations.cc:614
~EdgeData()
Definition: graph_db_operations.h:43
Any dst_pk_value
Definition: graph_db_operations.h:40
Any property_value
Definition: graph_db_operations.h:41
static Status multiInsert(std::vector< VertexData > &&vertex_data, std::vector< EdgeData > &&edge_data, GraphDBSession &session)
Definition: graph_db_operations.cc:506
uint8_t label_t
Definition: types.h:32
static Status singleInsertEdge(std::vector< EdgeData > &&edge_data, GraphDBSession &session)
Definition: graph_db_operations.cc:553
static Status checkEdgeExists(const std::vector< EdgeData > &edge_data, GraphDBSession &session)
Definition: graph_db_operations.cc:429
static Result< std::string > CreateVertex(GraphDBSession &session, rapidjson::Document &&input_json)
Definition: graph_db_operations.cc:41