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

Function getBoundNodeTableIDSet

src/planner/plan/append_extend.cpp:25–46  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

23namespace planner {
24
25static std::unordered_set<table_id_t> getBoundNodeTableIDSet(const RelExpression& rel,
26 ExtendDirection extendDirection) {
27 std::unordered_set<table_id_t> result;
28 for (auto entry : rel.getEntries()) {
29 auto& groupEntry = entry->constCast<RelGroupCatalogEntry>();
30 switch (extendDirection) {
31 case ExtendDirection::FWD: {
32 result.merge(groupEntry.getBoundNodeTableIDSet(RelDataDirection::FWD));
33 } break;
34 case ExtendDirection::BWD: {
35 result.merge(groupEntry.getBoundNodeTableIDSet(RelDataDirection::BWD));
36 } break;
37 case ExtendDirection::BOTH: {
38 result.merge(groupEntry.getBoundNodeTableIDSet(RelDataDirection::FWD));
39 result.merge(groupEntry.getBoundNodeTableIDSet(RelDataDirection::BWD));
40 } break;
41 default:
42 UNREACHABLE_CODE;
43 }
44 }
45 return result;
46}
47
48static std::unordered_set<table_id_t> getNbrNodeTableIDSet(const RelExpression& rel,
49 ExtendDirection extendDirection) {

Callers 2

appendPackedExtendMethod · 0.70

Calls 2

getEntriesMethod · 0.45
mergeMethod · 0.45

Tested by

no test coverage detected