code: func (s Schema) FindColumn(astCol *ast.ColumnName) (*Column, error) {
  	dbName, tblName, colName := astCol.Schema, astCol.Table, astCol.Name
  	idx := -1
  	for i, col := range s.Columns {
  		if (dbName.L == "" || dbName.L == col.DBName.L) &&
  			(tblName.L == "" || tblName.L == col.TblName.L) &&
  			(colName.L == col.ColName.L) {
  			if idx == -1 {
  				idx = i
  			} else {
  				return nil, errors.Errorf("Column %s is ambiguous", col.String())
  			}
  		}
  	}
  	if idx == -1 {
  		return nil, nil
  	}
  	return s.Columns[idx], nil
  }
docs: // FindColumn finds an Column from schema for a ast.ColumnName. It compares the db/table/column names.
  // If there are more than one result, it will raise ambiguous error.