Skip to content

Commit

Permalink
Adapt to latest vineyard: the Create() API has changed. (#713)
Browse files Browse the repository at this point in the history
* Adapt to latest vineyard: the `Create()` API has changed.

Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>
  • Loading branch information
sighingnow committed Aug 19, 2021
1 parent 9405412 commit fe4837b
Show file tree
Hide file tree
Showing 3 changed files with 43 additions and 0 deletions.
11 changes: 11 additions & 0 deletions analytical_engine/core/fragment/append_only_arrow_fragment.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
#include "arrow/util/config.h"

#include "grape/grape.h"
#include "vineyard/common/util/version.h"
#include "vineyard/graph/fragment/arrow_fragment.h"
#include "vineyard/graph/vertex_map/arrow_vertex_map.h"

Expand Down Expand Up @@ -293,10 +294,20 @@ class AppendOnlyArrowFragment
template <typename DATA_T>
using vertex_array_t = grape::VertexArray<DATA_T, vid_t>;

#if defined(VINEYARD_VERSION) && defined(VINEYARD_VERSION_MAJOR)
#if VINEYARD_VERSION >= 2007
static std::unique_ptr<vineyard::Object> Create() __attribute__((used)) {
return std::static_pointer_cast<vineyard::Object>(
std::unique_ptr<AppendOnlyArrowFragment<oid_t, vid_t>>{
new AppendOnlyArrowFragment<oid_t, vid_t>()});
}
#endif
#else
static std::shared_ptr<vineyard::Object> Create() __attribute__((used)) {
return std::static_pointer_cast<vineyard::Object>(
std::make_shared<AppendOnlyArrowFragment<oid_t, vid_t>>());
}
#endif

public:
void Construct(const vineyard::ObjectMeta& meta) override {
Expand Down
11 changes: 11 additions & 0 deletions analytical_engine/core/fragment/arrow_projected_fragment.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@
#include "boost/lexical_cast.hpp"

#include "vineyard/basic/ds/arrow_utils.h"
#include "vineyard/common/util/version.h"
#include "vineyard/graph/fragment/arrow_fragment.h"
#include "vineyard/graph/vertex_map/arrow_vertex_map.h"

Expand Down Expand Up @@ -366,11 +367,21 @@ class ArrowProjectedFragment
static constexpr grape::LoadStrategy load_strategy =
grape::LoadStrategy::kBothOutIn;

#if defined(VINEYARD_VERSION) && defined(VINEYARD_VERSION_MAJOR)
#if VINEYARD_VERSION >= 2007
static std::unique_ptr<vineyard::Object> Create() __attribute__((used)) {
return std::static_pointer_cast<vineyard::Object>(
std::unique_ptr<ArrowProjectedFragment<oid_t, vid_t, vdata_t, edata_t>>{
new ArrowProjectedFragment<oid_t, vid_t, vdata_t, edata_t>()});
}
#endif
#else
static std::shared_ptr<vineyard::Object> Create() __attribute__((used)) {
return std::static_pointer_cast<vineyard::Object>(
std::make_shared<
ArrowProjectedFragment<oid_t, vid_t, vdata_t, edata_t>>());
}
#endif

~ArrowProjectedFragment() {}

Expand Down
21 changes: 21 additions & 0 deletions analytical_engine/core/vertex_map/arrow_projected_vertex_map.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
#include <memory>
#include <vector>

#include "vineyard/common/util/version.h"
#include "vineyard/graph/fragment/property_graph_types.h"
#include "vineyard/graph/vertex_map/arrow_vertex_map.h"

Expand All @@ -39,10 +40,20 @@ class ArrowProjectedVertexMap
using oid_array_t = typename vineyard::ConvertToArrowType<oid_t>::ArrayType;

public:
#if defined(VINEYARD_VERSION) && defined(VINEYARD_VERSION_MAJOR)
#if VINEYARD_VERSION >= 2007
static std::unique_ptr<vineyard::Object> Create() __attribute__((used)) {
return std::static_pointer_cast<vineyard::Object>(
std::unique_ptr<ArrowProjectedVertexMap<oid_t, vid_t>>{
new ArrowProjectedVertexMap<oid_t, vid_t>()});
}
#endif
#else
static std::shared_ptr<vineyard::Object> Create() __attribute__((used)) {
return std::static_pointer_cast<vineyard::Object>(
std::make_shared<ArrowProjectedVertexMap<oid_t, vid_t>>());
}
#endif

static std::shared_ptr<ArrowProjectedVertexMap<OID_T, VID_T>> Project(
std::shared_ptr<vineyard::ArrowVertexMap<OID_T, VID_T>> vm,
Expand Down Expand Up @@ -149,10 +160,20 @@ class ArrowProjectedVertexMap<arrow::util::string_view, VID_T>
using oid_array_t = arrow::LargeStringArray;

public:
#if defined(VINEYARD_VERSION) && defined(VINEYARD_VERSION_MAJOR)
#if VINEYARD_VERSION >= 2007
static std::unique_ptr<vineyard::Object> Create() __attribute__((used)) {
return std::static_pointer_cast<vineyard::Object>(
std::unique_ptr<ArrowProjectedVertexMap<oid_t, vid_t>>{
new ArrowProjectedVertexMap<oid_t, vid_t>()});
}
#endif
#else
static std::shared_ptr<vineyard::Object> Create() __attribute__((used)) {
return std::static_pointer_cast<vineyard::Object>(
std::make_shared<ArrowProjectedVertexMap<oid_t, vid_t>>());
}
#endif

static std::shared_ptr<ArrowProjectedVertexMap<oid_t, VID_T>> Project(
std::shared_ptr<vineyard::ArrowVertexMap<oid_t, VID_T>> vm,
Expand Down

0 comments on commit fe4837b

Please sign in to comment.