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

Function initMask

src/processor/map/map_semi_masker.cpp:20–28  ·  view source on GitHub ↗

masksPerTable is collected from semiMasker. maskPerTable is collected from target operator, i.e. GDS, scan, ... Normally the two maps should have the same tableIDs. An exception is in GDS with filtered projected graph, multiple semiMasker will work on the same target GDS operator so masksPerTable may have fewer tableIDs.

Source from the content-addressed store, hash-verified

18// An exception is in GDS with filtered projected graph, multiple semiMasker will work on
19// the same target GDS operator so masksPerTable may have fewer tableIDs.
20static void initMask(table_id_map_t<std::vector<SemiMask*>>& masksPerTable,
21 const table_id_map_t<SemiMask*>& maskPerTable) {
22 for (auto& [tableID, masks] : masksPerTable) {
23 DASSERT(maskPerTable.contains(tableID));
24 auto mask = maskPerTable.at(tableID);
25 mask->enable();
26 masks.emplace_back(mask);
27 }
28}
29
30std::unique_ptr<PhysicalOperator> PlanMapper::mapSemiMasker(
31 const LogicalOperator* logicalOperator) {

Callers 1

mapSemiMaskerMethod · 0.85

Calls 3

enableMethod · 0.80
emplace_backMethod · 0.80
containsMethod · 0.45

Tested by

no test coverage detected