Go to the documentation of this file.
16 #ifndef GRAPHSCOPE_PROPERTY_TABLE_H_
17 #define GRAPHSCOPE_PROPERTY_TABLE_H_
21 #include <string_view>
25 #include "grape/io/local_io_adaptor.h"
26 #include "grape/serialization/out_archive.h"
35 void init(
const std::string& name,
const std::string& work_dir,
36 const std::vector<std::string>& col_name,
37 const std::vector<PropertyType>& types,
38 const std::vector<StorageStrategy>& strategies_);
41 const std::string& work_dir,
42 const std::vector<std::string>& col_name,
43 const std::vector<PropertyType>& property_types,
44 const std::vector<StorageStrategy>& strategies_);
47 const std::vector<std::string>& col_name,
48 const std::vector<PropertyType>& property_types,
49 const std::vector<StorageStrategy>& strategies_);
53 const std::vector<std::string>& col_name,
54 const std::vector<PropertyType>& property_types,
55 const std::vector<StorageStrategy>& strategies_,
58 void touch(
const std::string& name,
const std::string& work_dir);
61 const std::string& work_dir);
65 void reset_header(
const std::vector<std::string>& col_name);
75 std::shared_ptr<ColumnBase>
get_column(
const std::string& name);
77 const std::shared_ptr<ColumnBase>
get_column(
const std::string& name)
const;
79 std::vector<Any>
get_row(
size_t row_id)
const;
87 std::vector<std::shared_ptr<ColumnBase>>&
columns();
90 void insert(
size_t index,
const std::vector<Any>& values);
95 void insert(
size_t index,
const std::vector<Any>& values,
96 const std::vector<int32_t>& col_ind_mapping);
100 Any at(
size_t row_id,
size_t col_id);
102 Any at(
size_t row_id,
size_t col_id)
const;
104 void ingest(uint32_t index, grape::OutArchive& arc);
110 void initColumns(
const std::vector<std::string>& col_name,
111 const std::vector<PropertyType>& types,
112 const std::vector<StorageStrategy>& strategies_);
124 #endif // GRAPHSCOPE_PROPERTY_TABLE_H_
void reset_header(const std::vector< std::string > &col_name)
Definition: table.cc:126
void ingest(uint32_t index, grape::OutArchive &arc)
Definition: table.cc:265
std::vector< Any > get_row(size_t row_id) const
Definition: table.cc:194
size_t col_num() const
Definition: table.cc:218
void insert(size_t index, const std::vector< Any > &values)
Definition: table.cc:229
~Table()
Definition: table.cc:21
Table()
Definition: table.cc:20
void close()
Definition: table.cc:285
void buildColumnPtrs()
Definition: table.cc:276
Definition: adj_list.h:23
int get_column_id_by_name(const std::string &name) const
Definition: table.cc:154
IdIndexer< std::string, int > col_id_indexer_
Definition: table.h:114
size_t row_num() const
Definition: table.cc:219
std::shared_ptr< ColumnBase > get_column_by_id(size_t index)
Definition: table.cc:202
Any at(size_t row_id, size_t col_id)
Definition: table.cc:257
std::vector< std::shared_ptr< ColumnBase > > & columns()
Definition: table.cc:225
void open(const std::string &name, const std::string &snapshot_dir, const std::string &work_dir, const std::vector< std::string > &col_name, const std::vector< PropertyType > &property_types, const std::vector< StorageStrategy > &strategies_)
Definition: table.cc:52
std::string column_name(size_t index) const
Definition: table.cc:146
void touch(const std::string &name, const std::string &work_dir)
Definition: table.cc:95
std::vector< std::string > column_names() const
Definition: table.cc:137
std::vector< ColumnBase * > & column_ptrs()
Definition: table.cc:227
void open_in_memory(const std::string &name, const std::string &snapshot_dir, const std::vector< std::string > &col_name, const std::vector< PropertyType > &property_types, const std::vector< StorageStrategy > &strategies_)
Definition: table.cc:66
void dump(const std::string &name, const std::string &snapshot_dir)
Definition: table.cc:117
void initColumns(const std::vector< std::string > &col_name, const std::vector< PropertyType > &types, const std::vector< StorageStrategy > &strategies_)
Definition: table.cc:23
std::vector< ColumnBase * > column_ptrs_
Definition: table.h:117
bool touched_
Definition: table.h:119
std::string snapshot_dir(const std::string &work_dir, uint32_t version)
Definition: file_names.h:192
std::vector< PropertyType > column_types() const
Definition: table.cc:162
void resize(size_t row_num)
Definition: table.cc:251
void copy_to_tmp(const std::string &name, const std::string &snapshot_dir, const std::string &work_dir)
Definition: table.cc:107
void init(const std::string &name, const std::string &work_dir, const std::vector< std::string > &col_name, const std::vector< PropertyType > &types, const std::vector< StorageStrategy > &strategies_)
Definition: table.cc:40
std::vector< std::shared_ptr< ColumnBase > > columns_
Definition: table.h:116
std::shared_ptr< ColumnBase > get_column(const std::string &name)
Definition: table.cc:171
void open_with_hugepages(const std::string &name, const std::string &snapshot_dir, const std::vector< std::string > &col_name, const std::vector< PropertyType > &property_types, const std::vector< StorageStrategy > &strategies_, bool force)
Definition: table.cc:80