MCPcopy
hub / github.com/pathwaycom/pathway / fill_peer

Method fill_peer

python/pathway/stdlib/temporal/_asof_join.py:338–362  ·  view source on GitHub ↗
(m_self: pw.Table, side: bool)

Source from the content-addressed store, hash-verified

336 }
337
338 def fill_peer(m_self: pw.Table, side: bool):
339 reqs = [req for req in self._all_cols if req.side != side]
340
341 reqs_with_default = [req for req in reqs if req.default is not None]
342 reqs_wo_default = [req for req in reqs if req.default is None]
343 m_with_peer = m_self.filter(m_self.peer_elem.is_not_none())
344
345 res_default = m_self.select(
346 **{req.output_name: req.default for req in reqs_with_default}
347 )
348 res_default <<= m_with_peer.select(
349 **{
350 req.output_name: m.ix(m_with_peer.peer_elem)[req.internal_name]
351 for req in reqs_with_default
352 }
353 )
354
355 res = {
356 req.output_name: m.ix(m_self.peer_elem, optional=True)[
357 req.internal_name
358 ]
359 for req in reqs_wo_default
360 }
361 res.update(dict(res_default))
362 return res
363
364 if self._mode in [pw.JoinMode.LEFT, pw.JoinMode.OUTER]:
365 m0 = m.filter(~m.side)

Callers

nothing calls this directly

Calls 5

is_not_noneMethod · 0.80
filterMethod · 0.45
selectMethod · 0.45
ixMethod · 0.45
updateMethod · 0.45

Tested by

no test coverage detected