diff mbox series

[ovs-dev,ovs] : lib/db-ctl-base.c: Check that --all or records argument provided

Message ID CAH0tAAb=d1RTynPk-A+HSYU34H9CLMwGHjMVNNQNNDGEkOzafg@mail.gmail.com
State Changes Requested
Headers show
Series [ovs-dev,ovs] : lib/db-ctl-base.c: Check that --all or records argument provided | expand

Commit Message

Alexey Roytman March 25, 2021, 7:18 p.m. UTC
From: Alexey Roytman <roytman@il.ibm.com>

ovn-nbctl and  ovn-sbctl CLI utilities allow destroying the entire
table or some records from the given table.
However, either the --all option or the deleted records should be provided.
This patch adds the test.

Signed-off-by: Alexey Roytman <roytman@il.ibm.com>
---
 lib/db-ctl-base.c | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Ben Pfaff March 26, 2021, 12:40 a.m. UTC | #1
On Thu, Mar 25, 2021 at 09:18:19PM +0200, Alexey Roytman wrote:
> From: Alexey Roytman <roytman@il.ibm.com>
> 
> ovn-nbctl and  ovn-sbctl CLI utilities allow destroying the entire
> table or some records from the given table.
> However, either the --all option or the deleted records should be provided.
> This patch adds the test.
> 
> Signed-off-by: Alexey Roytman <roytman@il.ibm.com>
>
> ---
>  lib/db-ctl-base.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/lib/db-ctl-base.c b/lib/db-ctl-base.c
> index e95c77da2..81ade7abc 100644
> --- a/lib/db-ctl-base.c
> +++ b/lib/db-ctl-base.c
> @@ -1823,6 +1823,11 @@ cmd_destroy(struct ctl_context *ctx)
>          return;
>      }
> 
> +    if (!delete_all && ctx->argc == 2) {
> +        ctl_error(ctx, "either --all or records argument should be specified");
> +        return;
> +    }

I can see why this is worth warning about, but a fatal error seems like
overkill.  I'd use VLOG_WARN here.

I'd also add a test.
diff mbox series

Patch

diff --git a/lib/db-ctl-base.c b/lib/db-ctl-base.c
index e95c77da2..81ade7abc 100644
--- a/lib/db-ctl-base.c
+++ b/lib/db-ctl-base.c
@@ -1823,6 +1823,11 @@  cmd_destroy(struct ctl_context *ctx)
         return;
     }

+    if (!delete_all && ctx->argc == 2) {
+        ctl_error(ctx, "either --all or records argument should be specified");
+        return;
+    }
+
     if (delete_all) {
         const struct ovsdb_idl_row *row;
         const struct ovsdb_idl_row *next_row;