code: func TryFastPlan(ctx sessionctx.Context, node ast.Node) Plan {
  	switch x := node.(type) {
  	case *ast.SelectStmt:
  		fp := tryPointGetPlan(ctx, x)
  		if fp != nil {
  			if checkFastPlanPrivilege(ctx, fp, mysql.SelectPriv) != nil {
  				return nil
  			}
  			return fp
  		}
  	case *ast.UpdateStmt:
  		return tryUpdatePointPlan(ctx, x)
  	case *ast.DeleteStmt:
  		return tryDeletePointPlan(ctx, x)
  	}
  	return nil
  }
docs: // TryFastPlan tries to use the PointGetPlan for the query.