summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGarren Smith <garren.smith@gmail.com>2020-03-19 17:05:54 +0200
committerGarren Smith <garren.smith@gmail.com>2020-04-02 12:50:27 +0200
commitbd192ea49c7ea6e1f46888c6b8f8fc2039009748 (patch)
treee885086deb5e8b08dfcfe6eaea690c98f698f24b
parentec50197a79b445249f2bc41793d001ff78c3ac9e (diff)
downloadcouchdb-bd192ea49c7ea6e1f46888c6b8f8fc2039009748.tar.gz
add fabric2 after_doc_write plugin
-rw-r--r--src/fabric/src/fabric2_db_plugin.erl5
-rw-r--r--src/fabric/src/fabric2_fdb.erl3
2 files changed, 8 insertions, 0 deletions
diff --git a/src/fabric/src/fabric2_db_plugin.erl b/src/fabric/src/fabric2_db_plugin.erl
index fb83ed407..1d923dd96 100644
--- a/src/fabric/src/fabric2_db_plugin.erl
+++ b/src/fabric/src/fabric2_db_plugin.erl
@@ -15,6 +15,7 @@
-export([
validate_dbname/3,
before_doc_update/3,
+ after_doc_write/6,
after_doc_read/2,
validate_docid/1,
check_is_admin/1,
@@ -49,6 +50,10 @@ before_doc_update(Db, Doc0, UpdateType) ->
end.
+after_doc_write(Db, Doc, NewWinner, OldWinner, NewRevId, Seq)->
+ with_pipe(after_doc_write, [Db, Doc, NewWinner, OldWinner, NewRevId, Seq]).
+
+
after_doc_read(Db, Doc0) ->
Fun = fabric2_db:get_after_doc_read_fun(Db),
case with_pipe(after_doc_read, [Doc0, Db]) of
diff --git a/src/fabric/src/fabric2_fdb.erl b/src/fabric/src/fabric2_fdb.erl
index 22ccc993d..912d4dfa8 100644
--- a/src/fabric/src/fabric2_fdb.erl
+++ b/src/fabric/src/fabric2_fdb.erl
@@ -832,6 +832,9 @@ write_doc(#{} = Db0, Doc, NewWinner0, OldWinner, ToUpdate, ToRemove) ->
ok
end,
+ fabric2_db_plugin:after_doc_write(Db, Doc, NewWinner, OldWinner,
+ NewRevId, WinnerVS),
+
% Update database size
AddSize = sum_add_rev_sizes([NewWinner | ToUpdate]),
RemSize = sum_rem_rev_sizes(ToRemove),