This is an automated email from the ASF dual-hosted git repository. jcoglan pushed a commit to branch mango-match-failures in repository https://gitbox.apache.org/repos/asf/couchdb.git
commit 895da0873d0d01f7c3652a2bd81b570787f88740 Author: James Coglan <[email protected]> AuthorDate: Wed Apr 8 17:00:50 2026 +0100 fix: Mango VDUs should omit the `oldDoc` field from the matching struct if the doc is newly created --- src/mango/src/mango_native_proc.erl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/mango/src/mango_native_proc.erl b/src/mango/src/mango_native_proc.erl index d3a0078be..212c64682 100644 --- a/src/mango/src/mango_native_proc.erl +++ b/src/mango/src/mango_native_proc.erl @@ -113,7 +113,11 @@ handle_call({prompt, [<<"ddoc">>, DDocId, [<<"validate_doc_update">>], Args]}, _ {stop, {invalid_call, Msg}, {invalid_call, Msg}, St}; Selector -> [NewDoc, OldDoc, _Ctx, _SecObj] = Args, - Struct = {[{<<"newDoc">>, NewDoc}, {<<"oldDoc">>, OldDoc}]}, + Struct = + case OldDoc of + null -> {[{<<"newDoc">>, NewDoc}]}; + Doc -> {[{<<"newDoc">>, NewDoc}, {<<"oldDoc">>, Doc}]} + end, Reply = case mango_selector:match_failures(Selector, Struct) of [] ->
