Skip to content

Commit 457180f

Browse files
authored
fix metadata insert/delete (#13196)
1 parent 79ed386 commit 457180f

File tree

4 files changed

+18
-4
lines changed

4 files changed

+18
-4
lines changed

lib/vector-core/src/event/vrl_target.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -310,7 +310,7 @@ impl MetadataTarget for VrlTarget {
310310
}
311311

312312
fn remove_metadata(&mut self, path: &LookupBuf) -> Result<(), String> {
313-
self.metadata_mut().value_mut().remove_by_path(path, true);
313+
self.metadata_mut().value_mut().remove_by_path(path, false);
314314
Ok(())
315315
}
316316
}

lib/vector-vrl-functions/src/set_metadata_field.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ fn set_metadata_field(
1414
Value::Null
1515
}
1616
MetadataKey::Query(query) => {
17-
ctx.target_mut().remove_metadata(query.path())?;
17+
ctx.target_mut().set_metadata(query.path(), value)?;
1818
Value::Null
1919
}
2020
})

lib/vrl/core/src/target.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ impl MetadataTarget for TargetValueRef<'_> {
112112
}
113113

114114
fn remove_metadata(&mut self, path: &LookupBuf) -> Result<(), String> {
115-
self.metadata.remove_by_path(path, true);
115+
self.metadata.remove_by_path(path, false);
116116
Ok(())
117117
}
118118
}
@@ -168,7 +168,7 @@ impl MetadataTarget for TargetValue {
168168
}
169169

170170
fn remove_metadata(&mut self, path: &LookupBuf) -> Result<(), String> {
171-
self.metadata.remove_by_path(path, true);
171+
self.metadata.remove_by_path(path, false);
172172
Ok(())
173173
}
174174
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# result:
2+
# {
3+
# "a": {"foo": {"a": 1, "b": 2}},
4+
# "b": {"foo": {"b": 2}},
5+
# "c": {"foo": {}}
6+
# }
7+
8+
set_metadata_field(.foo, {"a": 1, "b": 2})
9+
.a = get_metadata_field(.)
10+
remove_metadata_field(.foo.a)
11+
.b = get_metadata_field(.)
12+
remove_metadata_field(.foo.b)
13+
.c = get_metadata_field(.)
14+
.

0 commit comments

Comments
 (0)