This is an automated email from the ASF dual-hosted git repository.

rnewson pushed a commit to branch nouveau-update-bundle
in repository https://gitbox.apache.org/repos/asf/couchdb.git


The following commit(s) were added to refs/heads/nouveau-update-bundle by this 
push:
     new 78d6f92eb commit purge seq update before returning
78d6f92eb is described below

commit 78d6f92eb69ccfeb29e1c4eb1697b2e590ff4096
Author: Robert Newson <[email protected]>
AuthorDate: Tue Mar 24 21:34:23 2026 +0000

    commit purge seq update before returning
---
 .../main/java/org/apache/couchdb/nouveau/api/IndexInfoRequest.java   | 5 ++++-
 .../java/org/apache/couchdb/nouveau/resources/IndexResource.java     | 3 +++
 src/nouveau/src/nouveau_api.erl                                      | 3 ++-
 3 files changed, 9 insertions(+), 2 deletions(-)

diff --git 
a/extra/nouveau/src/main/java/org/apache/couchdb/nouveau/api/IndexInfoRequest.java
 
b/extra/nouveau/src/main/java/org/apache/couchdb/nouveau/api/IndexInfoRequest.java
index bc2f016f8..5e584a005 100644
--- 
a/extra/nouveau/src/main/java/org/apache/couchdb/nouveau/api/IndexInfoRequest.java
+++ 
b/extra/nouveau/src/main/java/org/apache/couchdb/nouveau/api/IndexInfoRequest.java
@@ -15,7 +15,9 @@ package org.apache.couchdb.nouveau.api;
 
 import com.fasterxml.jackson.databind.PropertyNamingStrategies;
 import com.fasterxml.jackson.databind.annotation.JsonNaming;
+import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.PositiveOrZero;
+import java.util.Optional;
 import java.util.OptionalLong;
 
 @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
@@ -23,4 +25,5 @@ public record IndexInfoRequest(
         @PositiveOrZero OptionalLong matchUpdateSeq,
         @PositiveOrZero OptionalLong updateSeq,
         @PositiveOrZero OptionalLong matchPurgeSeq,
-        @PositiveOrZero OptionalLong purgeSeq) {}
+        @PositiveOrZero OptionalLong purgeSeq,
+        @NotNull Optional<Boolean> commit) {}
diff --git 
a/extra/nouveau/src/main/java/org/apache/couchdb/nouveau/resources/IndexResource.java
 
b/extra/nouveau/src/main/java/org/apache/couchdb/nouveau/resources/IndexResource.java
index 18539fbed..ac73054af 100644
--- 
a/extra/nouveau/src/main/java/org/apache/couchdb/nouveau/resources/IndexResource.java
+++ 
b/extra/nouveau/src/main/java/org/apache/couchdb/nouveau/resources/IndexResource.java
@@ -108,6 +108,9 @@ public final class IndexResource {
                 index.setPurgeSeq(
                         request.matchPurgeSeq().getAsLong(), 
request.purgeSeq().getAsLong());
             }
+            if (request.commit().orElse(false)) {
+                index.commit();
+            }
             return Ok.INSTANCE;
         });
     }
diff --git a/src/nouveau/src/nouveau_api.erl b/src/nouveau/src/nouveau_api.erl
index 8c85ec910..2e8b1c37d 100644
--- a/src/nouveau/src/nouveau_api.erl
+++ b/src/nouveau/src/nouveau_api.erl
@@ -284,7 +284,8 @@ set_update_seq(#index{} = Index, MatchSeq, UpdateSeq) ->
 set_purge_seq(#index{} = Index, MatchSeq, PurgeSeq) ->
     ReqBody = #{
         match_purge_seq => MatchSeq,
-        purge_seq => PurgeSeq
+        purge_seq => PurgeSeq,
+        commit => true
     },
     set_seq(Index, ReqBody).
 

Reply via email to