code: func (p *Parser) parseGrantOnStatement() (*GrantStatement, error) {
  	stmt := &GrantStatement{}
  
  	// Parse the name of the database.
  	lit, err := p.ParseIdent()
  	if err != nil {
  		return nil, err
  	}
  	stmt.On = lit
  
  	// Parse TO clause.
  	tok, pos, lit := p.ScanIgnoreWhitespace()
  
  	// Check for required TO token.
  	if tok != TO {
  		return nil, newParseError(tokstr(tok, lit), []string{"TO"}, pos)
  	}
  
  	// Parse the name of the user.
  	lit, err = p.ParseIdent()
  	if err != nil {
  		return nil, err
  	}
  	stmt.User = lit
  
  	return stmt, nil
  }
docs: // parseGrantOnStatement parses a string and returns a grant statement.
  // This function assumes the [PRIVILEGE] ON tokens have already been consumed.