Go to the documentation of this file.
16 #ifndef GRAPHSCOPE_DATABASE_GRAPH_DB_SESSION_H_
17 #define GRAPHSCOPE_DATABASE_GRAPH_DB_SESSION_H_
53 const std::string& work_dir,
int thread_id)
61 for (
auto& app :
apps_) {
88 uint8_t label,
const std::string& col_name)
const;
143 const std::string& input) {
144 const char* str_data = input.data();
145 VLOG(10) <<
"parse query type for " << input <<
" size: " << input.size();
146 char input_tag = input.back();
147 VLOG(10) <<
"input tag: " <<
static_cast<int>(input_tag);
148 size_t len = input.size();
152 return std::make_pair((uint8_t) input[len - 2],
153 std::string_view(str_data, len - 2));
154 }
else if (input_tag ==
159 return std::make_pair((uint8_t) input[len - 2],
160 std::string_view(str_data, len - 1));
166 std::string_view str_view(input.data(), len);
168 }
else if (input_tag ==
173 std::string_view str_view(input.data(), len);
176 return std::make_pair((uint8_t) input[len - 2],
177 std::string_view(str_data, len - 1));
191 std::array<AppBase*, MAX_PLUGIN_NUM>
apps_;
200 #endif // GRAPHSCOPE_DATABASE_GRAPH_DB_SESSION_H_
std::array< AppBase *, MAX_PLUGIN_NUM > apps_
Definition: graph_db_session.h:191
static constexpr const char * kCppEncoderStr
Definition: graph_db_session.h:48
Result< std::vector< char > > Eval(const std::string &input)
Definition: graph_db_session.cc:110
static constexpr const char * kCypherProtoAdhocStr
Definition: graph_db_session.h:50
void GetAppInfo(Encoder &result)
Definition: graph_db_session.cc:189
SingleEdgeInsertTransaction GetSingleEdgeInsertTransaction()
Definition: graph_db_session.cc:48
const AppMetric & GetAppMetric(int idx) const
Definition: graph_db_session.cc:311
GraphDB & db_
Definition: graph_db_session.h:184
Definition: compact_transaction.h:28
Allocator & alloc_
Definition: graph_db_session.h:185
AppBase * GetApp(int idx)
Definition: graph_db_session.cc:227
IWalWriter & logger_
Definition: graph_db_session.h:186
Result< std::pair< uint8_t, std::string_view > > parse_query_type_from_cypher_internal(const std::string_view &input)
Definition: graph_db_session.cc:281
InputFormat
Definition: graph_db_session.h:38
Definition: insert_transaction.h:34
const GraphDB & db() const
Definition: graph_db_session.cc:68
std::string to_string(const gs::flex::interactive::Code &status)
Definition: result.h:166
Definition: adj_list.h:23
UpdateTransaction GetUpdateTransaction()
Definition: graph_db_session.cc:54
std::shared_ptr< RefColumnBase > get_vertex_id_column(uint8_t label) const
Definition: graph_db_session.cc:79
ReadTransaction GetReadTransaction() const
Definition: graph_db_session.cc:30
Definition: app_utils.h:25
std::atomic< int64_t > query_num_
Definition: graph_db_session.h:195
Definition: single_edge_insert_transaction.h:30
Definition: allocators.h:29
bool Compact()
Definition: graph_db_session.cc:198
Definition: mutable_property_fragment.h:37
~GraphDBSession()
Definition: graph_db_session.h:65
const MutablePropertyFragment & graph() const
Definition: graph_db_session.cc:64
Result< std::pair< uint8_t, std::string_view > > parse_query_type_from_cypher_json(const std::string_view &input)
Definition: graph_db_session.cc:254
Definition: app_base.h:35
std::atomic< int64_t > eval_duration_
Definition: graph_db_session.h:194
bool BatchUpdate(UpdateBatch &batch)
Definition: graph_db_session.cc:60
GraphDBSession(GraphDB &db, Allocator &alloc, IWalWriter &logger, const std::string &work_dir, int thread_id)
Definition: graph_db_session.h:52
Definition: graph_db_session.h:36
Definition: graph_db.h:77
SingleVertexInsertTransaction GetSingleVertexInsertTransaction()
Definition: graph_db_session.cc:42
int thread_id_
Definition: graph_db_session.h:188
std::array< AppMetric, MAX_PLUGIN_NUM > app_metrics_
Definition: graph_db_session.h:192
Definition: read_transaction.h:375
Definition: single_vertex_insert_transaction.h:30
int64_t query_num() const
Definition: graph_db_session.cc:214
std::array< AppWrapper, MAX_PLUGIN_NUM > app_wrappers_
Definition: graph_db_session.h:190
static constexpr const char * kCypherProtoProcedureStr
Definition: graph_db_session.h:51
static constexpr int32_t MAX_PLUGIN_NUM
Definition: graph_db_session.h:47
InsertTransaction GetInsertTransaction()
Definition: graph_db_session.cc:35
Result< std::pair< uint8_t, std::string_view > > parse_query_type(const std::string &input)
Parse the input format of the query. There are four formats: 0. CppEncoder: This format will be used ...
Definition: graph_db_session.h:142
static constexpr int32_t MAX_RETRY
Definition: graph_db_session.h:46
std::string work_dir_
Definition: graph_db_session.h:187
const Schema & schema() const
Definition: graph_db_session.cc:72
Definition: update_transaction.h:39
int SessionId() const
Definition: graph_db_session.cc:191
double eval_duration() const
Definition: graph_db_session.cc:210
CompactTransaction GetCompactTransaction()
Definition: graph_db_session.cc:193
static constexpr const char * kCypherJsonStr
Definition: graph_db_session.h:49
Definition: app_base.h:139
Definition: transaction_utils.h:113
std::shared_ptr< ColumnBase > get_vertex_property_column(uint8_t label, const std::string &col_name) const
Definition: graph_db_session.cc:74