Flex  0.17.9
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
gs Namespace Reference

Namespaces

 config_parsing
 
 id_indexer_impl
 
 impl
 
 loader_options
 
 reader_options
 

Classes

struct  _add_vertex
 
struct  _move_data
 
struct  _move_data< std::string_view, INDEX_T >
 
class  AbstractArrowFragmentLoader
 
class  AdhocReadApp
 
class  AdhocReadAppFactory
 
class  AdjListView
 
struct  Any
 
struct  AnyConverter
 
struct  AnyConverter< bool >
 
struct  AnyConverter< Date >
 
struct  AnyConverter< Day >
 
struct  AnyConverter< double >
 
struct  AnyConverter< float >
 
struct  AnyConverter< GlobalId >
 
struct  AnyConverter< grape::EmptyType >
 
struct  AnyConverter< int32_t >
 
struct  AnyConverter< int64_t >
 
struct  AnyConverter< LabelKey >
 
struct  AnyConverter< Record >
 
struct  AnyConverter< RecordView >
 
struct  AnyConverter< std::string >
 
struct  AnyConverter< std::string_view >
 
struct  AnyConverter< uint16_t >
 
struct  AnyConverter< uint32_t >
 
struct  AnyConverter< uint64_t >
 
struct  AnyConverter< uint8_t >
 
union  AnyValue
 
class  AppBase
 
class  AppFactoryBase
 
struct  AppMetric
 
class  AppWrapper
 
class  ArenaAllocator
 
class  BasicFragmentLoader
 
class  ColumnBase
 
class  CompactTransaction
 
struct  ConvertAny
 
struct  ConvertAny< bool >
 
struct  ConvertAny< Date >
 
struct  ConvertAny< Day >
 
struct  ConvertAny< double >
 
struct  ConvertAny< float >
 
struct  ConvertAny< GlobalId >
 
struct  ConvertAny< grape::EmptyType >
 
struct  ConvertAny< int32_t >
 
struct  ConvertAny< int64_t >
 
struct  ConvertAny< LabelKey >
 
struct  ConvertAny< Record >
 
struct  ConvertAny< RecordView >
 
struct  ConvertAny< std::string >
 
struct  ConvertAny< std::string_view >
 
struct  ConvertAny< uint32_t >
 
struct  ConvertAny< uint64_t >
 
class  CountVertices
 
class  CountVerticesFactory
 
class  CsrBase
 
class  CsrConstEdgeIterBase
 
class  CsrEdgeIterBase
 
class  CSVFragmentLoader
 
class  CSVStreamRecordBatchSupplier
 
class  CSVTableRecordBatchSupplier
 
struct  Day
 
struct  DayValue
 
class  Decoder
 
class  DualCsr
 
class  DualCsr< RecordView >
 
class  DualCsr< std::string_view >
 
class  DualCsrBase
 
struct  EdgeData
 
class  EmptyCsr
 
class  EmptyCsr< RecordView >
 
class  EmptyCsr< std::string_view >
 
class  Encoder
 
struct  GHash
 
struct  GHash< Any >
 
struct  GHash< int64_t >
 
struct  GlobalId
 
class  GraphDB
 
struct  GraphDBConfig
 
class  GraphDBOperations
 
class  GraphDBSession
 
class  GraphView
 
class  HQPSAdhocReadApp
 HQPSAdhocReadApp is a builtin, proxy app used to evaluate adhoc read query. More...
 
class  HQPSAdhocReadAppFactory
 
class  HQPSAdhocWriteApp
 HQPSAdhocWriteApp is a builtin, proxy app used to evaluate adhoc write query. More...
 
class  HQPSAdhocWriteAppFactory
 
class  IdIndexer
 
class  IdIndexerBase
 
class  IFragmentLoader
 
class  ImmutableCsr
 
class  ImmutableCsrConstEdgeIter
 
struct  ImmutableNbr
 
struct  ImmutableNbr< grape::EmptyType >
 
class  ImmutableNbrSlice
 
class  ImmutableNbrSlice< std::string_view >
 
class  InsertTransaction
 
class  IRecordBatchSupplier
 
struct  is_gs_result_type
 
struct  is_gs_result_type< Result< T > >
 
struct  is_gs_status_type
 
struct  is_gs_status_type< Status >
 
struct  LabelKey
 
class  LDBCLongDateParser
 
class  LDBCTimeStampParser
 
class  LFIndexer
 
class  LoaderFactory
 LoaderFactory is a factory class to create IFragmentLoader. Support Using dynamically built library as plugin. More...
 
class  LoadingConfig
 
class  mmap_array
 
class  mmap_array< std::string_view >
 
class  mmap_vector
 
class  MutableAdjlist
 
class  MutableCsr
 
class  MutableCsr< RecordView >
 
class  MutableCsr< std::string_view >
 
class  MutableCsrConstEdgeIter
 
class  MutableCsrEdgeIter
 
class  MutableCsrEdgeIter< RecordView >
 
class  MutableCsrEdgeIter< std::string_view >
 
struct  MutableNbr
 
struct  MutableNbr< grape::EmptyType >
 
class  MutableNbrSlice
 
class  MutableNbrSlice< RecordView >
 
class  MutableNbrSlice< std::string_view >
 
class  MutableNbrSliceMut
 
class  MutableNbrSliceMut< RecordView >
 
class  MutableNbrSliceMut< std::string_view >
 
class  MutablePropertyFragment
 
class  ODPSFragmentLoader
 
class  ODPSReadClient
 
class  ODPSStreamRecordBatchSupplier
 
class  ODPSTableRecordBatchSupplier
 
struct  PropertyType
 
class  ReadAppBase
 
class  ReadTransaction
 
struct  Record
 
struct  RecordView
 
class  RefColumnBase
 Create RefColumn for ease of usage for hqps. More...
 
class  Result
 
class  Schema
 
class  ServerApp
 
class  ServerAppFactory
 
struct  SessionLocalContext
 
class  SharedLibraryAppFactory
 
class  SingleEdgeInsertTransaction
 
class  SingleGraphView
 
class  SingleGraphView< std::string_view >
 
class  SingleImmutableCsr
 
class  SingleImmutableCsr< std::string_view >
 
class  SingleImmutableGraphView
 
class  SingleImmutableGraphView< std::string_view >
 
class  SingleMutableCsr
 
class  SingleMutableCsr< RecordView >
 
class  SingleMutableCsr< std::string_view >
 
class  SingleVertexInsertTransaction
 
class  Status
 
struct  string_item
 
class  StringMapColumn
 
struct  StringPtr
 
class  StringViewVector
 
class  Table
 
struct  TypeConverter
 
struct  TypeConverter< bool >
 
struct  TypeConverter< Date >
 
struct  TypeConverter< Day >
 
struct  TypeConverter< double >
 
struct  TypeConverter< float >
 
struct  TypeConverter< int32_t >
 
struct  TypeConverter< int64_t >
 
struct  TypeConverter< std::string >
 
struct  TypeConverter< std::string_view >
 
struct  TypeConverter< uint32_t >
 
struct  TypeConverter< uint64_t >
 
class  TypedColumn
 
class  TypedColumn< grape::EmptyType >
 
class  TypedColumn< RecordView >
 
class  TypedColumn< std::string_view >
 
class  TypedCsrBase
 
class  TypedCsrBase< RecordView >
 
class  TypedCsrBase< std::string_view >
 
class  TypedEmptyColumn
 
class  TypedEmptyColumn< std::string_view >
 
class  TypedImmutableCsrBase
 
class  TypedMutableCsrBase
 
class  TypedRefColumn
 
class  TypedRefColumn< GlobalId >
 
class  TypedRefColumn< LabelKey >
 
struct  UninitializedUtils
 
class  UpdateBatch
 
class  UpdateTransaction
 
struct  UpdateWalUnit
 
class  VersionManager
 
struct  VertexData
 
struct  WalContentUnit
 
struct  WalHeader
 
class  WalsParser
 
class  WalWriter
 
class  WriteAppBase
 

Typedefs

using timestamp_t = uint32_t
 
using vid_t = uint32_t
 
using label_t = uint8_t
 
using Allocator = ArenaAllocator
 
using IndexerType = LFIndexer< vid_t >
 
template<typename KEY_T >
using IndexerBuilderType = IdIndexer< KEY_T, vid_t >
 
using IntEmptyColumn = TypedEmptyColumn< int32_t >
 
using UIntEmptyColumn = TypedEmptyColumn< uint32_t >
 
using LongEmptyColumn = TypedEmptyColumn< int64_t >
 
using ULongEmptyColumn = TypedEmptyColumn< uint64_t >
 
using DateEmptyColumn = TypedEmptyColumn< Date >
 
using DayEmptyColumn = TypedEmptyColumn< Day >
 
using BoolEmptyColumn = TypedEmptyColumn< bool >
 
using FloatEmptyColumn = TypedEmptyColumn< float >
 
using DoubleEmptyColumn = TypedEmptyColumn< double >
 
using StringEmptyColumn = TypedEmptyColumn< std::string_view >
 
using RecordViewEmptyColumn = TypedEmptyColumn< RecordView >
 
using BoolColumn = TypedColumn< bool >
 
using IntColumn = TypedColumn< int32_t >
 
using UIntColumn = TypedColumn< uint32_t >
 
using LongColumn = TypedColumn< int64_t >
 
using ULongColumn = TypedColumn< uint64_t >
 
using DateColumn = TypedColumn< Date >
 
using DayColumn = TypedColumn< Day >
 
using DoubleColumn = TypedColumn< double >
 
using FloatColumn = TypedColumn< float >
 
using RecordViewColumn = TypedColumn< RecordView >
 
using StringColumn = TypedColumn< std::string_view >
 
using DefaultStringMapColumn = StringMapColumn< uint8_t >
 
using StatusCode = gs::flex::interactive::Code
 

Enumerations

enum  LoadingStatus { LoadingStatus::kLoading = 0, LoadingStatus::kLoaded = 1, LoadingStatus::kCommited = 2, LoadingStatus::kUnknown = 3 }
 
enum  BulkLoadMethod { BulkLoadMethod::kInit = 0, BulkLoadMethod::kOverwrite = 1 }
 
enum  EdgeStrategy { EdgeStrategy::kNone, EdgeStrategy::kSingle, EdgeStrategy::kMultiple }
 
enum  MemoryStrategy { MemoryStrategy::kSyncToFile, MemoryStrategy::kMemoryOnly, MemoryStrategy::kHugepagePrefered }
 
enum  StorageStrategy { StorageStrategy::kNone, StorageStrategy::kMem, StorageStrategy::kDisk }
 

Functions

void read_file (const std::string &filename, void *buffer, size_t size, size_t num)
 
void write_file (const std::string &filename, const void *buffer, size_t size, size_t num)
 
template<>
struct __attribute__ ((packed)) ImmutableNbr< Date >
 
void copy_file (const std::string &src, const std::string &dst)
 
std::string schema_path (const std::string &work_dir)
 
std::string snapshots_dir (const std::string &work_dir)
 
std::string snapshot_version_path (const std::string &work_dir)
 
std::string get_latest_snapshot (const std::string &work_dir)
 
uint32_t get_snapshot_version (const std::string &work_dir)
 
void set_snapshot_version (const std::string &work_dir, uint32_t version)
 
std::string snapshot_dir (const std::string &work_dir, uint32_t version)
 
std::string wal_dir (const std::string &work_dir)
 
std::string runtime_dir (const std::string &work_dir)
 
std::string update_txn_dir (const std::string &work_dir, uint32_t version)
 
std::string allocator_dir (const std::string &work_dir)
 
std::string tmp_dir (const std::string &work_dir)
 
std::string bulk_load_progress_file (const std::string &work_dir)
 
void clear_tmp (const std::string &work_dir)
 
std::string vertex_map_prefix (const std::string &label)
 
std::string ie_prefix (const std::string &src_label, const std::string &dst_label, const std::string edge_label)
 
std::string oe_prefix (const std::string &src_label, const std::string &dst_label, const std::string edge_label)
 
std::string edata_prefix (const std::string &src_label, const std::string &dst_label, const std::string &edge_label)
 
std::string vertex_table_prefix (const std::string &label)
 
std::string thread_local_allocator_prefix (const std::string &work_dir, int thread_id)
 
void printDiskRemaining (const std::string &path)
 
bool check_primary_key_type (std::shared_ptr< arrow::DataType > data_type)
 
void set_column_from_string_array (gs::ColumnBase *col, std::shared_ptr< arrow::ChunkedArray > array, const std::vector< size_t > &offset)
 
void set_properties_column (gs::ColumnBase *col, std::shared_ptr< arrow::ChunkedArray > array, const std::vector< size_t > &offset)
 
void set_column_from_timestamp_array (gs::ColumnBase *col, std::shared_ptr< arrow::ChunkedArray > array, const std::vector< size_t > &offset)
 
void set_column_from_timestamp_array_to_day (gs::ColumnBase *col, std::shared_ptr< arrow::ChunkedArray > array, const std::vector< size_t > &offset)
 
void check_edge_invariant (const Schema &schema, const std::vector< std::tuple< size_t, std::string, std::string >> &column_mappings, size_t src_col_ind, size_t dst_col_ind, label_t src_label_i, label_t dst_label_i, label_t edge_label_i)
 
template<typename COL_T >
void set_column (gs::ColumnBase *col, std::shared_ptr< arrow::ChunkedArray > array, const std::vector< size_t > &offset)
 
template<typename PK_T , typename EDATA_T , typename VECTOR_T >
void _append (bool is_dst, size_t cur_ind, std::shared_ptr< arrow::Array > col, const IndexerType &indexer, VECTOR_T &parsed_edges, std::vector< std::atomic< int32_t >> &degree)
 
template<typename SRC_PK_T , typename DST_PK_T , typename EDATA_T , typename VECTOR_T >
static void append_edges (std::shared_ptr< arrow::Array > src_col, std::shared_ptr< arrow::Array > dst_col, const IndexerType &src_indexer, const IndexerType &dst_indexer, std::shared_ptr< arrow::Array > &edata_cols, const PropertyType &edge_prop, VECTOR_T &parsed_edges, std::vector< std::atomic< int32_t >> &ie_degree, std::vector< std::atomic< int32_t >> &oe_degree, size_t offset=0)
 
std::ostream & operator<< (std::ostream &os, const LoadingStatus &status)
 
std::istream & operator>> (std::istream &is, LoadingStatus &status)
 
template<typename EDATA_T >
TypedMutableCsrBase< EDATA_T > * create_typed_csr (EdgeStrategy es, PropertyType edge_property)
 
static std::string process_header_row_token (const std::string &token, const LoadingConfig &config)
 
static std::vector< std::string > read_header (const std::string &file_name, char delimiter, const LoadingConfig &loading_config)
 
static void put_delimiter_option (const LoadingConfig &loading_config, arrow::csv::ParseOptions &parse_options)
 
static bool put_skip_rows_option (const LoadingConfig &loading_config, arrow::csv::ReadOptions &read_options)
 
static void put_escape_char_option (const LoadingConfig &loading_config, arrow::csv::ParseOptions &parse_options)
 
static void put_block_size_option (const LoadingConfig &loading_config, arrow::csv::ReadOptions &read_options)
 
static void put_quote_char_option (const LoadingConfig &loading_config, arrow::csv::ParseOptions &parse_options)
 
static void put_boolean_option (arrow::csv::ConvertOptions &convert_options)
 
static void put_column_names_option (const LoadingConfig &loading_config, bool header_row, const std::string &file_path, char delimiter, arrow::csv::ReadOptions &read_options, size_t len)
 
static void put_null_values (const LoadingConfig &loading_config, arrow::csv::ConvertOptions &convert_options)
 
DualCsrBasecreate_csr (EdgeStrategy oes, EdgeStrategy ies, const std::vector< PropertyType > &properties, bool oe_mutable, bool ie_mutable, const std::vector< std::string > &prop_names)
 
AppWrapper loadAdhocQuery (const std::string &input_lib_path, std::shared_ptr< SharedLibraryAppFactory > app_factory, const GraphDB &graph)
 
static uint32_t get_vertex_vid (const gs::ReadTransaction &txn, uint8_t label, int64_t id)
 
void generate_label_tuples (const std::string &src_label, const std::string &dst_label, const std::string &edge_label, const gs::Schema &schema, std::vector< std::tuple< uint8_t, uint8_t, uint8_t >> &output)
 
static void IngestWalRange (SessionLocalContext *contexts, MutablePropertyFragment &graph, const WalsParser &parser, uint32_t from, uint32_t to, int thread_num)
 
void serialize_field (grape::InArchive &arc, const Any &prop)
 
void deserialize_field (grape::OutArchive &arc, Any &prop)
 
label_t deserialize_oid (const MutablePropertyFragment &graph, grape::OutArchive &arc, Any &oid)
 
static size_t get_offset (const std::shared_ptr< CsrConstEdgeIterBase > &base, vid_t target)
 
static int64_t char_ptr_to_long (const char *data)
 
static int char_ptr_to_int (const char *data)
 
static double char_ptr_to_double (const char *data)
 
std::shared_ptr< arrow::DataType > PropertyTypeToArrowType (PropertyType type)
 
template<typename T >
void emplace_into_vector (const std::shared_ptr< arrow::ChunkedArray > &array, std::vector< Any > &vec)
 
template<typename KEY_T , typename INDEX_T >
void build_lf_indexer (const IdIndexer< KEY_T, INDEX_T > &input, const std::string &filename, LFIndexer< INDEX_T > &lf, const std::string &snapshot_dir, const std::string &work_dir, PropertyType type)
 
std::shared_ptr< ColumnBaseCreateColumn (PropertyType type, StorageStrategy strategy, const std::vector< PropertyType > &sub_types)
 
std::shared_ptr< RefColumnBaseCreateRefColumn (std::shared_ptr< ColumnBase > column)
 
grape::InArchive & operator<< (grape::InArchive &in_archive, const PropertyType &value)
 
grape::OutArchive & operator>> (grape::OutArchive &out_archive, PropertyType &value)
 
grape::InArchive & operator<< (grape::InArchive &in_archive, const Any &value)
 
grape::OutArchive & operator>> (grape::OutArchive &out_archive, Any &value)
 
grape::InArchive & operator<< (grape::InArchive &in_archive, const std::string_view &str)
 
grape::OutArchive & operator>> (grape::OutArchive &out_archive, std::string_view &str)
 
grape::InArchive & operator<< (grape::InArchive &in_archive, const GlobalId &value)
 
grape::OutArchive & operator>> (grape::OutArchive &out_archive, GlobalId &value)
 
grape::InArchive & operator<< (grape::InArchive &in_archive, const LabelKey &value)
 
grape::OutArchive & operator>> (grape::OutArchive &out_archive, LabelKey &value)
 
Any ConvertStringToAny (const std::string &value, const gs::PropertyType &type)
 
bool operator== (const GlobalId &lhs, const GlobalId &rhs)
 
bool operator!= (const GlobalId &lhs, const GlobalId &rhs)
 
bool operator< (const GlobalId &lhs, const GlobalId &rhs)
 
bool operator> (const GlobalId &lhs, const GlobalId &rhs)
 
std::string get_current_dir ()
 
std::string find_codegen_bin ()
 
std::pair< uint64_t, uint64_t > get_total_physical_memory_usage ()
 
void init_cpu_usage_watch ()
 
std::pair< double, double > get_current_cpu_usage ()
 
std::string memory_to_mb_str (uint64_t mem_bytes)
 
int64_t GetCurrentTimeStamp ()
 Util functions. More...
 
std::string rapidjson_stringify (const rapidjson::Value &value, int indent=-1)
 
std::string toUpper (const std::string str)
 
bool to_json (rapidjson::Document &j, const PropertyType &p)
 
rapidjson::Document to_json (const PropertyType &p, rapidjson::Document::AllocatorType *allocator=nullptr)
 
bool from_json (const rapidjson::Value &j, PropertyType &p)
 
PropertyType from_json (const rapidjson::Value &j)
 
boost::filesystem::path get_current_binary_directory ()
 
std::string jsonToString (const rapidjson::Value &json)
 
std::vector< std::string > get_yaml_files (const std::string &plugin_dir)
 
void convert_yaml_node_to_json (const YAML::Node &node, rapidjson::Document::AllocatorType &allocator, rapidjson::Value &json)
 
Result< std::string > get_json_string_from_yaml (const std::string &file_path)
 
Result< std::string > get_json_string_from_yaml (const YAML::Node &node)
 
Result< std::string > get_yaml_string_from_yaml_node (const YAML::Node &node)
 
Status write_yaml_node_to_yaml_string (const YAML::Node &node, YAML::Emitter &emitter)
 

Variables

constexpr static uint32_t ring_buf_size = 1024 * 1024
 
constexpr static uint32_t ring_index_mask = ring_buf_size - 1
 
static constexpr size_t MAX_WALS_NUM = 134217728
 
static constexpr const char * DT_UNSIGNED_INT8 = "DT_UNSIGNED_INT8"
 
static constexpr const char * DT_UNSIGNED_INT16 = "DT_UNSIGNED_INT16"
 
static constexpr const char * DT_SIGNED_INT32 = "DT_SIGNED_INT32"
 
static constexpr const char * DT_UNSIGNED_INT32 = "DT_UNSIGNED_INT32"
 
static constexpr const char * DT_SIGNED_INT64 = "DT_SIGNED_INT64"
 
static constexpr const char * DT_UNSIGNED_INT64 = "DT_UNSIGNED_INT64"
 
static constexpr const char * DT_BOOL = "DT_BOOL"
 
static constexpr const char * DT_FLOAT = "DT_FLOAT"
 
static constexpr const char * DT_DOUBLE = "DT_DOUBLE"
 
static constexpr const char * DT_STRING = "DT_STRING"
 
static constexpr const char * DT_STRINGMAP = "DT_STRINGMAP"
 
static constexpr const char * DT_DATE = "DT_DATE32"
 
static constexpr const char * DT_DAY = "DT_DAY32"
 
static unsigned long long lastTotalUser
 
static unsigned long long lastTotalUserLow
 
static unsigned long long lastTotalSys
 
static unsigned long long lastTotalIdle
 
static constexpr const char * CODEGEN_BIN = "load_plan_and_gen.sh"
 

Detailed Description

Copyright 2020 Alibaba Group Holding Limited.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Typedef Documentation

◆ Allocator

using gs::Allocator = typedef ArenaAllocator

◆ BoolColumn

using gs::BoolColumn = typedef TypedColumn<bool>

◆ BoolEmptyColumn

using gs::BoolEmptyColumn = typedef TypedEmptyColumn<bool>

◆ DateColumn

using gs::DateColumn = typedef TypedColumn<Date>

◆ DateEmptyColumn

using gs::DateEmptyColumn = typedef TypedEmptyColumn<Date>

◆ DayColumn

using gs::DayColumn = typedef TypedColumn<Day>

◆ DayEmptyColumn

◆ DefaultStringMapColumn

using gs::DefaultStringMapColumn = typedef StringMapColumn<uint8_t>

◆ DoubleColumn

using gs::DoubleColumn = typedef TypedColumn<double>

◆ DoubleEmptyColumn

using gs::DoubleEmptyColumn = typedef TypedEmptyColumn<double>

◆ FloatColumn

using gs::FloatColumn = typedef TypedColumn<float>

◆ FloatEmptyColumn

using gs::FloatEmptyColumn = typedef TypedEmptyColumn<float>

◆ IndexerBuilderType

template<typename KEY_T >
using gs::IndexerBuilderType = typedef IdIndexer<KEY_T, vid_t>

◆ IndexerType

using gs::IndexerType = typedef LFIndexer<vid_t>

◆ IntColumn

using gs::IntColumn = typedef TypedColumn<int32_t>

◆ IntEmptyColumn

using gs::IntEmptyColumn = typedef TypedEmptyColumn<int32_t>

◆ label_t

using gs::label_t = typedef uint8_t

◆ LongColumn

using gs::LongColumn = typedef TypedColumn<int64_t>

◆ LongEmptyColumn

using gs::LongEmptyColumn = typedef TypedEmptyColumn<int64_t>

◆ RecordViewColumn

◆ RecordViewEmptyColumn

◆ StatusCode

using gs::StatusCode = typedef gs::flex::interactive::Code

◆ StringColumn

using gs::StringColumn = typedef TypedColumn<std::string_view>

◆ StringEmptyColumn

using gs::StringEmptyColumn = typedef TypedEmptyColumn<std::string_view>

◆ timestamp_t

using gs::timestamp_t = typedef uint32_t

◆ UIntColumn

using gs::UIntColumn = typedef TypedColumn<uint32_t>

◆ UIntEmptyColumn

using gs::UIntEmptyColumn = typedef TypedEmptyColumn<uint32_t>

◆ ULongColumn

using gs::ULongColumn = typedef TypedColumn<uint64_t>

◆ ULongEmptyColumn

using gs::ULongEmptyColumn = typedef TypedEmptyColumn<uint64_t>

◆ vid_t

using gs::vid_t = typedef uint32_t

Enumeration Type Documentation

◆ BulkLoadMethod

enum gs::BulkLoadMethod
strong
Enumerator
kInit 
kOverwrite 

◆ EdgeStrategy

enum gs::EdgeStrategy
strong
Enumerator
kNone 
kSingle 
kMultiple 

◆ LoadingStatus

enum gs::LoadingStatus
strong
Enumerator
kLoading 
kLoaded 
kCommited 
kUnknown 

◆ MemoryStrategy

enum gs::MemoryStrategy
strong
Enumerator
kSyncToFile 
kMemoryOnly 
kHugepagePrefered 

◆ StorageStrategy

enum gs::StorageStrategy
strong
Enumerator
kNone 
kMem 
kDisk 

Function Documentation

◆ __attribute__()

template<>
struct gs::__attribute__ ( (packed)  )

◆ _append()

template<typename PK_T , typename EDATA_T , typename VECTOR_T >
void gs::_append ( bool  is_dst,
size_t  cur_ind,
std::shared_ptr< arrow::Array >  col,
const IndexerType indexer,
VECTOR_T &  parsed_edges,
std::vector< std::atomic< int32_t >> &  degree 
)

◆ allocator_dir()

std::string gs::allocator_dir ( const std::string &  work_dir)
inline

◆ append_edges()

template<typename SRC_PK_T , typename DST_PK_T , typename EDATA_T , typename VECTOR_T >
static void gs::append_edges ( std::shared_ptr< arrow::Array >  src_col,
std::shared_ptr< arrow::Array >  dst_col,
const IndexerType src_indexer,
const IndexerType dst_indexer,
std::shared_ptr< arrow::Array > &  edata_cols,
const PropertyType edge_prop,
VECTOR_T &  parsed_edges,
std::vector< std::atomic< int32_t >> &  ie_degree,
std::vector< std::atomic< int32_t >> &  oe_degree,
size_t  offset = 0 
)
static

◆ build_lf_indexer()

template<typename KEY_T , typename INDEX_T >
void gs::build_lf_indexer ( const IdIndexer< KEY_T, INDEX_T > &  input,
const std::string &  filename,
LFIndexer< INDEX_T > &  lf,
const std::string &  snapshot_dir,
const std::string &  work_dir,
PropertyType  type 
)

◆ bulk_load_progress_file()

std::string gs::bulk_load_progress_file ( const std::string &  work_dir)
inline

◆ char_ptr_to_double()

static double gs::char_ptr_to_double ( const char *  data)
static

◆ char_ptr_to_int()

static int gs::char_ptr_to_int ( const char *  data)
static

◆ char_ptr_to_long()

static int64_t gs::char_ptr_to_long ( const char *  data)
static

◆ check_edge_invariant()

void gs::check_edge_invariant ( const Schema schema,
const std::vector< std::tuple< size_t, std::string, std::string >> &  column_mappings,
size_t  src_col_ind,
size_t  dst_col_ind,
label_t  src_label_i,
label_t  dst_label_i,
label_t  edge_label_i 
)

◆ check_primary_key_type()

bool gs::check_primary_key_type ( std::shared_ptr< arrow::DataType >  data_type)

◆ clear_tmp()

void gs::clear_tmp ( const std::string &  work_dir)
inline

◆ convert_yaml_node_to_json()

void gs::convert_yaml_node_to_json ( const YAML::Node &  node,
rapidjson::Document::AllocatorType &  allocator,
rapidjson::Value &  json 
)

◆ ConvertStringToAny()

Any gs::ConvertStringToAny ( const std::string &  value,
const gs::PropertyType type 
)

◆ copy_file()

void gs::copy_file ( const std::string &  src,
const std::string &  dst 
)
inline

◆ create_csr()

DualCsrBase* gs::create_csr ( EdgeStrategy  oes,
EdgeStrategy  ies,
const std::vector< PropertyType > &  properties,
bool  oe_mutable,
bool  ie_mutable,
const std::vector< std::string > &  prop_names 
)
inline

◆ create_typed_csr()

template<typename EDATA_T >
TypedMutableCsrBase<EDATA_T>* gs::create_typed_csr ( EdgeStrategy  es,
PropertyType  edge_property 
)

◆ CreateColumn()

std::shared_ptr< ColumnBase > gs::CreateColumn ( PropertyType  type,
StorageStrategy  strategy,
const std::vector< PropertyType > &  sub_types 
)

◆ CreateRefColumn()

std::shared_ptr< RefColumnBase > gs::CreateRefColumn ( std::shared_ptr< ColumnBase column)

◆ deserialize_field()

void gs::deserialize_field ( grape::OutArchive &  arc,
Any prop 
)
inline

◆ deserialize_oid()

label_t gs::deserialize_oid ( const MutablePropertyFragment graph,
grape::OutArchive &  arc,
Any oid 
)
inline

◆ edata_prefix()

std::string gs::edata_prefix ( const std::string &  src_label,
const std::string &  dst_label,
const std::string &  edge_label 
)
inline

◆ emplace_into_vector()

template<typename T >
void gs::emplace_into_vector ( const std::shared_ptr< arrow::ChunkedArray > &  array,
std::vector< Any > &  vec 
)

◆ find_codegen_bin()

std::string gs::find_codegen_bin ( )

◆ from_json() [1/2]

PropertyType gs::from_json ( const rapidjson::Value &  j)
inline

◆ from_json() [2/2]

bool gs::from_json ( const rapidjson::Value &  j,
PropertyType p 
)
inline

◆ generate_label_tuples()

void gs::generate_label_tuples ( const std::string &  src_label,
const std::string &  dst_label,
const std::string &  edge_label,
const gs::Schema schema,
std::vector< std::tuple< uint8_t, uint8_t, uint8_t >> &  output 
)

◆ get_current_binary_directory()

boost::filesystem::path gs::get_current_binary_directory ( )
inline

◆ get_current_cpu_usage()

std::pair< double, double > gs::get_current_cpu_usage ( )

◆ get_current_dir()

std::string gs::get_current_dir ( )

◆ get_json_string_from_yaml() [1/2]

Result< std::string > gs::get_json_string_from_yaml ( const std::string &  file_path)

◆ get_json_string_from_yaml() [2/2]

Result< std::string > gs::get_json_string_from_yaml ( const YAML::Node &  node)

◆ get_latest_snapshot()

std::string gs::get_latest_snapshot ( const std::string &  work_dir)
inline

◆ get_offset()

static size_t gs::get_offset ( const std::shared_ptr< CsrConstEdgeIterBase > &  base,
vid_t  target 
)
static

◆ get_snapshot_version()

uint32_t gs::get_snapshot_version ( const std::string &  work_dir)
inline

◆ get_total_physical_memory_usage()

std::pair< uint64_t, uint64_t > gs::get_total_physical_memory_usage ( )

◆ get_vertex_vid()

static uint32_t gs::get_vertex_vid ( const gs::ReadTransaction txn,
uint8_t  label,
int64_t  id 
)
static

◆ get_yaml_files()

std::vector< std::string > gs::get_yaml_files ( const std::string &  plugin_dir)

◆ get_yaml_string_from_yaml_node()

Result< std::string > gs::get_yaml_string_from_yaml_node ( const YAML::Node &  node)

◆ GetCurrentTimeStamp()

int64_t gs::GetCurrentTimeStamp ( )
inline

Util functions.

◆ ie_prefix()

std::string gs::ie_prefix ( const std::string &  src_label,
const std::string &  dst_label,
const std::string  edge_label 
)
inline

◆ IngestWalRange()

static void gs::IngestWalRange ( SessionLocalContext contexts,
MutablePropertyFragment graph,
const WalsParser parser,
uint32_t  from,
uint32_t  to,
int  thread_num 
)
static

◆ init_cpu_usage_watch()

void gs::init_cpu_usage_watch ( )

◆ jsonToString()

std::string gs::jsonToString ( const rapidjson::Value &  json)
inline

◆ loadAdhocQuery()

AppWrapper gs::loadAdhocQuery ( const std::string &  input_lib_path,
std::shared_ptr< SharedLibraryAppFactory app_factory,
const GraphDB graph 
)

◆ memory_to_mb_str()

std::string gs::memory_to_mb_str ( uint64_t  mem_bytes)

◆ oe_prefix()

std::string gs::oe_prefix ( const std::string &  src_label,
const std::string &  dst_label,
const std::string  edge_label 
)
inline

◆ operator!=()

bool gs::operator!= ( const GlobalId lhs,
const GlobalId rhs 
)
inline

◆ operator<()

bool gs::operator< ( const GlobalId lhs,
const GlobalId rhs 
)
inline

◆ operator<<() [1/6]

grape::InArchive & gs::operator<< ( grape::InArchive &  in_archive,
const Any value 
)

◆ operator<<() [2/6]

grape::InArchive & gs::operator<< ( grape::InArchive &  in_archive,
const GlobalId value 
)

◆ operator<<() [3/6]

grape::InArchive& gs::operator<< ( grape::InArchive &  in_archive,
const LabelKey value 
)

◆ operator<<() [4/6]

grape::InArchive & gs::operator<< ( grape::InArchive &  in_archive,
const PropertyType value 
)

◆ operator<<() [5/6]

grape::InArchive & gs::operator<< ( grape::InArchive &  in_archive,
const std::string_view &  str 
)

◆ operator<<() [6/6]

std::ostream & gs::operator<< ( std::ostream &  os,
const LoadingStatus status 
)

◆ operator==()

bool gs::operator== ( const GlobalId lhs,
const GlobalId rhs 
)
inline

◆ operator>()

bool gs::operator> ( const GlobalId lhs,
const GlobalId rhs 
)
inline

◆ operator>>() [1/6]

grape::OutArchive & gs::operator>> ( grape::OutArchive &  out_archive,
Any value 
)

◆ operator>>() [2/6]

grape::OutArchive & gs::operator>> ( grape::OutArchive &  out_archive,
GlobalId value 
)

◆ operator>>() [3/6]

grape::OutArchive& gs::operator>> ( grape::OutArchive &  out_archive,
LabelKey value 
)

◆ operator>>() [4/6]

grape::OutArchive & gs::operator>> ( grape::OutArchive &  out_archive,
PropertyType value 
)

◆ operator>>() [5/6]

grape::OutArchive & gs::operator>> ( grape::OutArchive &  out_archive,
std::string_view &  str 
)

◆ operator>>() [6/6]

std::istream & gs::operator>> ( std::istream &  is,
LoadingStatus status 
)

◆ printDiskRemaining()

void gs::printDiskRemaining ( const std::string &  path)

◆ process_header_row_token()

static std::string gs::process_header_row_token ( const std::string &  token,
const LoadingConfig config 
)
static

◆ PropertyTypeToArrowType()

std::shared_ptr< arrow::DataType > gs::PropertyTypeToArrowType ( PropertyType  type)

◆ put_block_size_option()

static void gs::put_block_size_option ( const LoadingConfig loading_config,
arrow::csv::ReadOptions &  read_options 
)
static

◆ put_boolean_option()

static void gs::put_boolean_option ( arrow::csv::ConvertOptions &  convert_options)
static

◆ put_column_names_option()

static void gs::put_column_names_option ( const LoadingConfig loading_config,
bool  header_row,
const std::string &  file_path,
char  delimiter,
arrow::csv::ReadOptions &  read_options,
size_t  len 
)
static

◆ put_delimiter_option()

static void gs::put_delimiter_option ( const LoadingConfig loading_config,
arrow::csv::ParseOptions &  parse_options 
)
static

◆ put_escape_char_option()

static void gs::put_escape_char_option ( const LoadingConfig loading_config,
arrow::csv::ParseOptions &  parse_options 
)
static

◆ put_null_values()

static void gs::put_null_values ( const LoadingConfig loading_config,
arrow::csv::ConvertOptions &  convert_options 
)
static

◆ put_quote_char_option()

static void gs::put_quote_char_option ( const LoadingConfig loading_config,
arrow::csv::ParseOptions &  parse_options 
)
static

◆ put_skip_rows_option()

static bool gs::put_skip_rows_option ( const LoadingConfig loading_config,
arrow::csv::ReadOptions &  read_options 
)
static

◆ rapidjson_stringify()

std::string gs::rapidjson_stringify ( const rapidjson::Value &  value,
int  indent = -1 
)
inline

◆ read_file()

void gs::read_file ( const std::string &  filename,
void *  buffer,
size_t  size,
size_t  num 
)

◆ read_header()

static std::vector<std::string> gs::read_header ( const std::string &  file_name,
char  delimiter,
const LoadingConfig loading_config 
)
static

◆ runtime_dir()

std::string gs::runtime_dir ( const std::string &  work_dir)
inline

◆ schema_path()

std::string gs::schema_path ( const std::string &  work_dir)
inline

◆ serialize_field()

void gs::serialize_field ( grape::InArchive &  arc,
const Any prop 
)
inline

◆ set_column()

template<typename COL_T >
void gs::set_column ( gs::ColumnBase col,
std::shared_ptr< arrow::ChunkedArray >  array,
const std::vector< size_t > &  offset 
)

◆ set_column_from_string_array()

void gs::set_column_from_string_array ( gs::ColumnBase col,
std::shared_ptr< arrow::ChunkedArray >  array,
const std::vector< size_t > &  offset 
)

◆ set_column_from_timestamp_array()

void gs::set_column_from_timestamp_array ( gs::ColumnBase col,
std::shared_ptr< arrow::ChunkedArray >  array,
const std::vector< size_t > &  offset 
)

◆ set_column_from_timestamp_array_to_day()

void gs::set_column_from_timestamp_array_to_day ( gs::ColumnBase col,
std::shared_ptr< arrow::ChunkedArray >  array,
const std::vector< size_t > &  offset 
)

◆ set_properties_column()

void gs::set_properties_column ( gs::ColumnBase col,
std::shared_ptr< arrow::ChunkedArray >  array,
const std::vector< size_t > &  offset 
)

◆ set_snapshot_version()

void gs::set_snapshot_version ( const std::string &  work_dir,
uint32_t  version 
)
inline

◆ snapshot_dir()

std::string gs::snapshot_dir ( const std::string &  work_dir,
uint32_t  version 
)
inline

◆ snapshot_version_path()

std::string gs::snapshot_version_path ( const std::string &  work_dir)
inline

◆ snapshots_dir()

std::string gs::snapshots_dir ( const std::string &  work_dir)
inline

◆ thread_local_allocator_prefix()

std::string gs::thread_local_allocator_prefix ( const std::string &  work_dir,
int  thread_id 
)
inline

◆ tmp_dir()

std::string gs::tmp_dir ( const std::string &  work_dir)
inline

◆ to_json() [1/2]

rapidjson::Document gs::to_json ( const PropertyType p,
rapidjson::Document::AllocatorType *  allocator = nullptr 
)
inline

◆ to_json() [2/2]

bool gs::to_json ( rapidjson::Document &  j,
const PropertyType p 
)
inline

◆ toUpper()

std::string gs::toUpper ( const std::string  str)
inline

◆ update_txn_dir()

std::string gs::update_txn_dir ( const std::string &  work_dir,
uint32_t  version 
)
inline

◆ vertex_map_prefix()

std::string gs::vertex_map_prefix ( const std::string &  label)
inline

◆ vertex_table_prefix()

std::string gs::vertex_table_prefix ( const std::string &  label)
inline

◆ wal_dir()

std::string gs::wal_dir ( const std::string &  work_dir)
inline

◆ write_file()

void gs::write_file ( const std::string &  filename,
const void *  buffer,
size_t  size,
size_t  num 
)

◆ write_yaml_node_to_yaml_string()

Status gs::write_yaml_node_to_yaml_string ( const YAML::Node &  node,
YAML::Emitter &  emitter 
)

Variable Documentation

◆ CODEGEN_BIN

constexpr const char* gs::CODEGEN_BIN = "load_plan_and_gen.sh"
staticconstexpr

◆ DT_BOOL

constexpr const char* gs::DT_BOOL = "DT_BOOL"
staticconstexpr

◆ DT_DATE

constexpr const char* gs::DT_DATE = "DT_DATE32"
staticconstexpr

◆ DT_DAY

constexpr const char* gs::DT_DAY = "DT_DAY32"
staticconstexpr

◆ DT_DOUBLE

constexpr const char* gs::DT_DOUBLE = "DT_DOUBLE"
staticconstexpr

◆ DT_FLOAT

constexpr const char* gs::DT_FLOAT = "DT_FLOAT"
staticconstexpr

◆ DT_SIGNED_INT32

constexpr const char* gs::DT_SIGNED_INT32 = "DT_SIGNED_INT32"
staticconstexpr

◆ DT_SIGNED_INT64

constexpr const char* gs::DT_SIGNED_INT64 = "DT_SIGNED_INT64"
staticconstexpr

◆ DT_STRING

constexpr const char* gs::DT_STRING = "DT_STRING"
staticconstexpr

◆ DT_STRINGMAP

constexpr const char* gs::DT_STRINGMAP = "DT_STRINGMAP"
staticconstexpr

◆ DT_UNSIGNED_INT16

constexpr const char* gs::DT_UNSIGNED_INT16 = "DT_UNSIGNED_INT16"
staticconstexpr

◆ DT_UNSIGNED_INT32

constexpr const char* gs::DT_UNSIGNED_INT32 = "DT_UNSIGNED_INT32"
staticconstexpr

◆ DT_UNSIGNED_INT64

constexpr const char* gs::DT_UNSIGNED_INT64 = "DT_UNSIGNED_INT64"
staticconstexpr

◆ DT_UNSIGNED_INT8

constexpr const char* gs::DT_UNSIGNED_INT8 = "DT_UNSIGNED_INT8"
staticconstexpr

◆ lastTotalIdle

unsigned long long gs::lastTotalIdle
static

◆ lastTotalSys

unsigned long long gs::lastTotalSys
static

◆ lastTotalUser

unsigned long long gs::lastTotalUser
static

◆ lastTotalUserLow

unsigned long long gs::lastTotalUserLow
static

◆ MAX_WALS_NUM

constexpr size_t gs::MAX_WALS_NUM = 134217728
staticconstexpr

◆ ring_buf_size

constexpr static uint32_t gs::ring_buf_size = 1024 * 1024
staticconstexpr

◆ ring_index_mask

constexpr static uint32_t gs::ring_index_mask = ring_buf_size - 1
staticconstexpr