From 8c640a262969ef44cd8bc0e0abe95e2a54f4c3f5 Mon Sep 17 00:00:00 2001 From: Marcos Magueta Date: Thu, 5 Mar 2026 23:42:15 -0300 Subject: ocaml re-migration --- docs/reactive-queries.puml | 51 ---------------------------------------------- 1 file changed, 51 deletions(-) delete mode 100644 docs/reactive-queries.puml (limited to 'docs/reactive-queries.puml') diff --git a/docs/reactive-queries.puml b/docs/reactive-queries.puml deleted file mode 100644 index bcba5d5..0000000 --- a/docs/reactive-queries.puml +++ /dev/null @@ -1,51 +0,0 @@ -@startuml reactive-queries -!theme plain -title Reactive Queries (Live Subscriptions) - -participant "Client" as C -participant "Subscription Manager" as SM -participant "Domino" as D -database "employee relation" as E - -C -> SM: subscribe(query: "age > 30") -activate SM -SM -> D: register_subscription(employee, predicate) -activate D -D -> E: initial query -E --> D: [{name: "Alice", age: 35}] -D --> SM: initial results -SM --> C: [{name: "Alice", age: 35}] -deactivate D -deactivate SM - -... time passes ... - -C -> D: insert(employee, {name: "Bob", age: 32}) -activate D -D -> D: check affected subscriptions -D -> D: evaluate predicate on new tuple\n(32 > 30? yes) -D -> SM: notify(subscription_id, {inserted: "Bob"}) -activate SM -SM -> C: delta: {inserted: {name: "Bob", age: 32}} -deactivate SM -deactivate D - -C -> D: insert(employee, {name: "Charlie", age: 25}) -activate D -D -> D: evaluate predicate\n(25 > 30? no) -D -> D: no notification needed -deactivate D - -note right of SM - Subscription tracks: - - Relation(s) to watch - - Filter predicate - - Client callback - - On mutation: - 1. Check which subscriptions affected - 2. Evaluate predicate on changed tuples - 3. Send delta (not full re-query) -end note - -@enduml -- cgit v1.2.3