diff options
| author | Marcos Magueta <maguetamarcos@gmail.com> | 2026-03-05 23:42:15 -0300 |
|---|---|---|
| committer | Marcos Magueta <maguetamarcos@gmail.com> | 2026-03-05 23:42:15 -0300 |
| commit | 8c640a262969ef44cd8bc0e0abe95e2a54f4c3f5 (patch) | |
| tree | 84f9ddd9e41236fb7a6f540aab07e65db9bc93cb /docs/reactive-queries.puml | |
| parent | 295c6a5a1f2b0db9d756ffe7bf413553a0c02737 (diff) | |
| download | Sakura-8c640a262969ef44cd8bc0e0abe95e2a54f4c3f5.tar.gz Sakura-8c640a262969ef44cd8bc0e0abe95e2a54f4c3f5.zip | |
ocaml re-migration
Diffstat (limited to '')
| -rw-r--r-- | docs/reactive-queries.puml | 51 |
1 files changed, 0 insertions, 51 deletions
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 |
