code: func (o *outerJoinEliminator) isParentColsAllFromOuterTable(outerPlan LogicalPlan, parentSchema *expression.Schema) (bool, error) {
  	if parentSchema == nil {
  		return false, nil
  	}
  	for _, col := range parentSchema.Columns {
  		columnName := &ast.ColumnName{Schema: col.DBName, Table: col.TblName, Name: col.ColName}
  		c, err := outerPlan.Schema().FindColumn(columnName)
  		if err != nil || c == nil {
  			return false, err
  		}
  	}
  	return true, nil
  }
docs: // check whether schema cols of join's parent plan are all from outer join table