src/backend/executor/abstract_join_executor.cpp
/**
 * 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
 */
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
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;
  }
}
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 ; } }
Update join row sets depending on types of join.
Update join row sets depending on types of join .