MCPcopy Create free account
hub / github.com/LadybugDB/ladybug / getNbrNodeTableIDSet

Function getNbrNodeTableIDSet

src/planner/plan/append_extend.cpp:48–69  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

46}
47
48static std::unordered_set<table_id_t> getNbrNodeTableIDSet(const RelExpression& rel,
49 ExtendDirection extendDirection) {
50 std::unordered_set<table_id_t> result;
51 for (auto entry : rel.getEntries()) {
52 auto& groupEntry = entry->constCast<RelGroupCatalogEntry>();
53 switch (extendDirection) {
54 case ExtendDirection::FWD: {
55 result.merge(groupEntry.getNbrNodeTableIDSet(RelDataDirection::FWD));
56 } break;
57 case ExtendDirection::BWD: {
58 result.merge(groupEntry.getNbrNodeTableIDSet(RelDataDirection::BWD));
59 } break;
60 case ExtendDirection::BOTH: {
61 result.merge(groupEntry.getNbrNodeTableIDSet(RelDataDirection::FWD));
62 result.merge(groupEntry.getNbrNodeTableIDSet(RelDataDirection::BWD));
63 } break;
64 default:
65 UNREACHABLE_CODE;
66 }
67 }
68 return result;
69}
70
71void Planner::appendNonRecursiveExtend(const std::shared_ptr<NodeExpression>& boundNode,
72 const std::shared_ptr<NodeExpression>& nbrNode, const std::shared_ptr<RelExpression>& rel,

Callers 2

appendPackedExtendMethod · 0.70

Calls 2

getEntriesMethod · 0.45
mergeMethod · 0.45

Tested by

no test coverage detected