@@ -525,16 +525,18 @@ let rec next ~__context =
525
525
else
526
526
rpc_of_events relevant
527
527
528
- type entry = string * string * Xapi_database.Db_cache_types.Time .t
528
+ type time = Xapi_database.Db_cache_types.Time .t
529
+
530
+ type entry = {table : string ; obj : string ; time : time }
529
531
530
532
type acc = {
531
533
creates : entry list
532
534
; mods : entry list
533
535
; deletes : entry list
534
- ; last : Xapi_database.Db_cache_types.Time .t
536
+ ; last : time
535
537
}
536
538
537
- let collect_events subs tables last_generation acc table =
539
+ let collect_events ( subs , tables , last_generation ) acc table =
538
540
let open Xapi_database in
539
541
let open Db_cache_types in
540
542
let table_value = TableSet. find table tables in
@@ -544,13 +546,13 @@ let collect_events subs tables last_generation acc table =
544
546
let last = max last (max modified deleted) in
545
547
let creates =
546
548
if created > last_generation then
547
- ( table, obj, created) :: creates
549
+ { table; obj; time = created} :: creates
548
550
else
549
551
creates
550
552
in
551
553
let mods =
552
554
if modified > last_generation && not (created > last_generation) then
553
- ( table, obj, modified) :: mods
555
+ { table; obj; time = modified} :: mods
554
556
else
555
557
mods
556
558
in
@@ -564,7 +566,7 @@ let collect_events subs tables last_generation acc table =
564
566
let last = max last (max modified deleted) in
565
567
let deletes =
566
568
if created < = last_generation then
567
- ( table, obj, deleted) :: deletes
569
+ { table; obj; time = deleted} :: deletes
568
570
else
569
571
deletes
570
572
in
@@ -603,7 +605,7 @@ let from_inner __context session subs from from_t timer batching =
603
605
in
604
606
let events =
605
607
let initial = {creates= [] ; mods= [] ; deletes= [] ; last= since} in
606
- let folder = collect_events subs tableset since in
608
+ let folder = collect_events ( subs, tableset, since) in
607
609
List. fold_left folder initial tables
608
610
in
609
611
(msg_gen, messages, tableset, events)
@@ -641,18 +643,18 @@ let from_inner __context session subs from from_t timer batching =
641
643
)
642
644
in
643
645
let {creates; mods; deletes; last} = events in
644
- let event_of op ?snapshot ( table , objref , time ) =
646
+ let event_of op ?snapshot { table; obj; time} =
645
647
{
646
648
id= Int64. to_string time
647
649
; ts= " 0.0"
648
650
; ty= String. lowercase_ascii table
649
651
; op
650
- ; reference= objref
652
+ ; reference= obj
651
653
; snapshot
652
654
}
653
655
in
654
656
let events_of ~kind ?(with_snapshot = true ) entries acc =
655
- let rec go events (( table , obj , _time ) as entry ) =
657
+ let rec go events ({ table; obj; time = _ } as entry ) =
656
658
try
657
659
let snapshot =
658
660
let serialiser = Eventgen. find_get_record table in
@@ -696,13 +698,14 @@ let from_inner __context session subs from from_t timer batching =
696
698
List. fold_left
697
699
(fun acc mev ->
698
700
let event =
701
+ let table = " message" in
699
702
match mev with
700
703
| Message. Create (_ref , message ) ->
701
704
event_of `add
702
705
?snapshot:(Some (API. rpc_of_message_t message))
703
- ( " message " , Ref. string_of _ref, 0L )
706
+ {table; obj = Ref. string_of _ref; time = 0L }
704
707
| Message. Del _ref ->
705
- event_of `del ( " message " , Ref. string_of _ref, 0L )
708
+ event_of `del {table; obj = Ref. string_of _ref; time = 0L }
706
709
in
707
710
event :: acc
708
711
)
0 commit comments