Skip to content

Commit

Permalink
rewrite/rename: use positiona parameters
Browse files Browse the repository at this point in the history
Instead of providing source/destination options, simply use the first
string as source and the second string as destination.

```
rewrite {
  rename("old_key" "new_key")
};
```

Signed-off-by: Kokan <kokaipeter@gmail.com>
  • Loading branch information
Kokan committed Nov 24, 2021
1 parent 0f18dfa commit d3af25a
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 37 deletions.
15 changes: 9 additions & 6 deletions lib/rewrite/rewrite-expr-grammar.ym
Expand Up @@ -110,11 +110,16 @@ rewrite_expr
last_rewrite = log_rewrite_unset_new(configuration);
}
'(' rewrite_set_opts ')' { $$ = last_rewrite; }
| KW_RENAME
| KW_RENAME '(' string string
{
last_rewrite = log_rewrite_rename_new(configuration);
NVHandle from = log_msg_get_value_handle($3);
NVHandle to = log_msg_get_value_handle($4);
free($3);
free($4);

last_rewrite = log_rewrite_rename_new(configuration, from, to);
}
'(' rewrite_rename_opts ')' { $$ = last_rewrite; }
rewrite_rename_opts ')' { $$ = last_rewrite; }
| KW_SET_TAG '(' string
{
last_rewrite = log_rewrite_set_tag_new($3, TRUE, configuration);
Expand Down Expand Up @@ -209,9 +214,7 @@ rewrite_rename_opts
;

rewrite_rename_opt
: KW_SOURCE '(' string ')' { log_rewrite_rename_set_source(last_rewrite, $3); free($3); }
| KW_DESTINATION '(' string ')' { log_rewrite_rename_set_destination(last_rewrite, $3); free($3); }
| rewrite_condition_opt
: rewrite_condition_opt
;

rewrite_set_opts
Expand Down
25 changes: 5 additions & 20 deletions lib/rewrite/rewrite-rename.c
Expand Up @@ -33,22 +33,6 @@ struct _LogRewriteRename
NVHandle destination_handle;
};

void
log_rewrite_rename_set_source(LogRewrite *s, const gchar *source)
{
LogRewriteRename *self = (LogRewriteRename *) s;

self->source_handle = log_msg_get_value_handle(source);
}

void
log_rewrite_rename_set_destination(LogRewrite *s, const gchar *destination)
{
LogRewriteRename *self = (LogRewriteRename *) s;

self->destination_handle = log_msg_get_value_handle(destination);
}

static void
log_rewrite_rename_process(LogRewrite *s, LogMessage **pmsg, const LogPathOptions *path_options)
{
Expand All @@ -68,9 +52,7 @@ log_rewrite_rename_clone(LogPipe *s)
LogRewriteRename *self = (LogRewriteRename *) s;
LogRewriteRename *cloned;

cloned = (LogRewriteRename *) log_rewrite_rename_new(s->cfg);
cloned->source_handle = self->source_handle;
cloned->destination_handle = self->destination_handle;
cloned = (LogRewriteRename *) log_rewrite_rename_new(s->cfg, self->source_handle, self->destination_handle);

if (self->super.condition)
cloned->super.condition = filter_expr_clone(self->super.condition);
Expand Down Expand Up @@ -98,10 +80,13 @@ log_rewrite_rename_init(LogPipe *s)
}

LogRewrite *
log_rewrite_rename_new(GlobalConfig *cfg)
log_rewrite_rename_new(GlobalConfig *cfg, NVHandle source, NVHandle destination)
{
LogRewriteRename *self = g_new0(LogRewriteRename, 1);

self->source_handle = source;
self->destination_handle = destination;

log_rewrite_init_instance(&self->super, cfg);
self->super.super.init = log_rewrite_rename_init;
self->super.super.clone = log_rewrite_rename_clone;
Expand Down
5 changes: 1 addition & 4 deletions lib/rewrite/rewrite-rename.h
Expand Up @@ -27,9 +27,6 @@

#include "rewrite/rewrite-expr.h"

LogRewrite *log_rewrite_rename_new(GlobalConfig *cfg);

void log_rewrite_rename_set_source(LogRewrite *s, const gchar *source);
void log_rewrite_rename_set_destination(LogRewrite *s, const gchar *destination);
LogRewrite *log_rewrite_rename_new(GlobalConfig *cfg, NVHandle source, NVHandle destination);

#endif
10 changes: 3 additions & 7 deletions lib/rewrite/tests/test_rename.c
Expand Up @@ -48,9 +48,7 @@ _perform_rewrite(LogRewrite *rewrite, LogMessage *msg_)
static void
_perform_rename(const gchar *from, const char *to, LogMessage *msg_)
{
LogRewrite *rename = log_rewrite_rename_new(cfg);
log_rewrite_rename_set_source(rename, from);
log_rewrite_rename_set_destination(rename, to);
LogRewrite *rename = log_rewrite_rename_new(cfg, log_msg_get_value_handle(from), log_msg_get_value_handle(to));

_perform_rewrite(rename, msg_);
}
Expand Down Expand Up @@ -98,8 +96,7 @@ Test(rename, rename_not_existing)

Test(rename, source_option_mandatory)
{
LogRewrite *rename = log_rewrite_rename_new(cfg);
log_rewrite_rename_set_destination(rename, "A");
LogRewrite *rename = log_rewrite_rename_new(cfg, 0, LM_V_MESSAGE);

cr_assert_not(log_pipe_init(&rename->super));

Expand All @@ -108,8 +105,7 @@ Test(rename, source_option_mandatory)

Test(rename, destination_option_mandatory)
{
LogRewrite *rename = log_rewrite_rename_new(cfg);
log_rewrite_rename_set_source(rename, "A");
LogRewrite *rename = log_rewrite_rename_new(cfg, LM_V_MESSAGE, 0);

cr_assert_not(log_pipe_init(&rename->super));

Expand Down

0 comments on commit d3af25a

Please sign in to comment.