/** * Update join row sets depending on types of join. * When new result tile is buffered, matching status of the * rows in the new tile should be tracked. * This is called by BufferTile routines, as join row sets * should be updated when new result tile is buffered */ void AbstractJoinExecutor::UpdateJoinRowSets() { PL_ASSERT(join_type_ != JoinType::INVALID); switch (join_type_) { case JoinType::LEFT: UpdateLeftJoinRowSets(); break; case JoinType::RIGHT: UpdateRightJoinRowSets(); break; case JoinType::OUTER: UpdateFullJoinRowSets(); break; default: break; } }
/** * Update join row sets depending on types of join. * When new result tile is buffered, matching status of the * rows in the new tile should be tracked. * This is called by BufferTile routines, as join row sets * should be updated when new result tile is buffered */ void AbstractJoinExecutor::UpdateJoinRowSets() { assert(join_type_ != JOIN_TYPE_INVALID); switch (join_type_) { case JOIN_TYPE_LEFT: UpdateLeftJoinRowSets(); break; case JOIN_TYPE_RIGHT: UpdateRightJoinRowSets(); break; case JOIN_TYPE_OUTER: UpdateFullJoinRowSets(); break; default: break; } }