From c5be1bad17bc78a512781e9a8952b9bca2b604e4 Mon Sep 17 00:00:00 2001 From: Tim Gross Date: Fri, 4 Nov 2022 14:31:42 -0400 Subject: [PATCH] updated CLI to use Eval.Count --- command/eval_delete.go | 38 ++++++++++++++++++-------------------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/command/eval_delete.go b/command/eval_delete.go index f8d1da7bcf69..7007fb96dda4 100644 --- a/command/eval_delete.go +++ b/command/eval_delete.go @@ -294,28 +294,26 @@ func correctGrammar(word string, num int) string { func (e *EvalDeleteCommand) handleDeleteByFilter(filterExpr string) (int, error) { - // TODO: querying for millions of evals is very expensive... can we add a count RPC? - - // evals, _, err := e.client.Evaluations().List(&api.QueryOptions{ - // Filter: filterExpr, - // }) - // if err != nil { - // return 1, err - // } - // evals := []string{} - // If the user did not wish to bypass the confirmation step, ask this now // and handle the response. - // if !e.yes && !e.deleteByArg { - // code, deleteEvals := e.askQuestion(fmt.Sprintf( - // "Are you sure you want to delete %v evals? [y/N]", - // len(evals)), "Cancelling eval deletion") - // e.Ui.Output("") - - // if !deleteEvals { - // return code, nil - // } - // } + if !e.yes && !e.deleteByArg { + + resp, _, err := e.client.Evaluations().Count(&api.QueryOptions{ + Filter: filterExpr, + }) + if err != nil { + return 1, err + } + + code, deleteEvals := e.askQuestion(fmt.Sprintf( + "Are you sure you want to delete %d evals? [y/N]", + resp.Count), "Cancelling eval deletion") + e.Ui.Output("") + + if !deleteEvals { + return code, nil + } + } resp, _, err := e.client.Evaluations().DeleteOpts(&api.EvalDeleteRequest{ Filter: filterExpr,