RWM Console cluster: risingwave-ai-hub-int.ai-hub-rwm.svc.cluster.local

← cluster alpheya_experience_bff objects party_aum_mv explain
Overview Objects Graph History
materialized view · alpheya_experience_bff.party_aum_mv profiled over 5s
seconds (1–30)

Job is idle — throughput ~0; structure shown.

Stateful hash join (4 state tables) — consider a temporal join for dimension lookupsAggregation state — unbounded unless keyed or temporally filtered
111 operators
Materialize · alpheya_experience_bff.party_aum_mv
0% idle 2 actors
Project
2 actors
HashAgg Aggregation state — unbounded unless keyed or temporally filtered
0% idle 2 actors
LocalityProvider
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project · (Not(IsNull(fx_rates_snapshot_mv.rate)) OR (investment_hold…
2 actors
Project · (Not(IsNull(fx_rates_snapshot_mv.rate)) OR (investment_hold…
2 actors
Filter · (Not(IsNull(fx_rates_snapshot_mv.rate)) OR (investment_hold…
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
SyncLogStore · LeftOuter · investment_holdings_latest_mv_next.currency_code = fx_rates…
2 actors
HashJoin · LeftOuter · investment_holdings_latest_mv_next.currency_code = fx_rates… Stateful hash join (4 state tables) — consider a temporal join for dimension lookups
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
StreamScan · fx_rates_snapshot_mv
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
LocalityProvider
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project
2 actors
HashAgg Aggregation state — unbounded unless keyed or temporally filtered
0% idle 2 actors
LocalityProvider
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
SyncLogStore · Inner · account_to_account_groups_mv.account_group_id = party_to_ac…
2 actors
HashJoin · Inner · account_to_account_groups_mv.account_group_id = party_to_ac… Stateful hash join (4 state tables) — consider a temporal join for dimension lookups
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
LocalityProvider
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
SyncLogStore · Inner · position_snapshot_mv_next.account_group_id = party_to_accou…
2 actors
HashJoin · Inner · position_snapshot_mv_next.account_group_id = party_to_accou… Stateful hash join (4 state tables) — consider a temporal join for dimension lookups
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
LocalityProvider
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
SyncLogStore · Inner · party_active_customer_relationships_mv.party_id = party_to_…
2 actors
HashJoin · Inner · party_active_customer_relationships_mv.party_id = party_to_… Stateful hash join (4 state tables) — consider a temporal join for dimension lookups
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
LocalityProvider
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
StreamScan · party_to_account_groups_mv
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project
2 actors
HashAgg Aggregation state — unbounded unless keyed or temporally filtered
0% idle 2 actors
LocalityProvider
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
SyncLogStore · Inner · party_active_customer_relationships_mv.customer_relationshi…
2 actors
HashJoin · Inner · party_active_customer_relationships_mv.customer_relationshi… Stateful hash join (4 state tables) — consider a temporal join for dimension lookups
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
LocalityProvider
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project · lifecycle_profiles
2 actors
Filter · lifecycle_profiles
0% idle 2 actors
StreamScan · lifecycle_profiles
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
StreamScan · party_active_customer_relationships_mv
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
LocalityProvider
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project · position_snapshot_mv_next
2 actors
Filter · position_snapshot_mv_next
0% idle 2 actors
StreamScan · position_snapshot_mv_next
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
LocalityProvider
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
SyncLogStore · Inner · investment_holdings_latest_mv_next.account_id = account_to_…
2 actors
HashJoin · Inner · investment_holdings_latest_mv_next.account_id = account_to_… Stateful hash join (4 state tables) — consider a temporal join for dimension lookups
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
LocalityProvider
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project · account_to_account_groups_mv
2 actors
Filter · account_to_account_groups_mv
0% idle 2 actors
StreamScan · account_to_account_groups_mv
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
LocalityProvider
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
StreamScan · investment_holdings_latest_mv_next
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Heat = the operator's output-buffer backpressure over the sampling window. Click a node to fold its subtree.
Materialize · alpheya_experience_bff.party_aum_mv Materialize alpheya_experience_bff.… idle · 2 actors Project Project — · 2 actors HashAgg HashAgg idle · 2 actors LocalityProvider LocalityProvider idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project · (Not(IsNull(fx_rates_snapshot_mv.rate)) OR (investment_hold… Project (Not(IsNull(fx_rates_sn… — · 2 actors Project · (Not(IsNull(fx_rates_snapshot_mv.rate)) OR (investment_hold… Project (Not(IsNull(fx_rates_sn… — · 2 actors Filter · (Not(IsNull(fx_rates_snapshot_mv.rate)) OR (investment_hold… Filter (Not(IsNull(fx_rates_sn… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors SyncLogStore · LeftOuter · investment_holdings_latest_mv_next.currency_code = fx_rates… SyncLogStore LeftOuter · investment_… — · 2 actors HashJoin · LeftOuter · investment_holdings_latest_mv_next.currency_code = fx_rates… HashJoin LeftOuter · investment_… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors StreamScan · fx_rates_snapshot_mv StreamScan fx_rates_snapshot_mv idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors LocalityProvider LocalityProvider idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project Project — · 2 actors HashAgg HashAgg idle · 2 actors LocalityProvider LocalityProvider idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors SyncLogStore · Inner · account_to_account_groups_mv.account_group_id = party_to_ac… SyncLogStore Inner · account_to_acco… — · 2 actors HashJoin · Inner · account_to_account_groups_mv.account_group_id = party_to_ac… HashJoin Inner · account_to_acco… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors LocalityProvider LocalityProvider idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors SyncLogStore · Inner · position_snapshot_mv_next.account_group_id = party_to_accou… SyncLogStore Inner · position_snapsh… — · 2 actors HashJoin · Inner · position_snapshot_mv_next.account_group_id = party_to_accou… HashJoin Inner · position_snapsh… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors LocalityProvider LocalityProvider idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors SyncLogStore · Inner · party_active_customer_relationships_mv.party_id = party_to_… SyncLogStore Inner · party_active_cu… — · 2 actors HashJoin · Inner · party_active_customer_relationships_mv.party_id = party_to_… HashJoin Inner · party_active_cu… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors LocalityProvider LocalityProvider idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors StreamScan · party_to_account_groups_mv StreamScan party_to_account_groups… idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project Project — · 2 actors HashAgg HashAgg idle · 2 actors LocalityProvider LocalityProvider idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors SyncLogStore · Inner · party_active_customer_relationships_mv.customer_relationshi… SyncLogStore Inner · party_active_cu… — · 2 actors HashJoin · Inner · party_active_customer_relationships_mv.customer_relationshi… HashJoin Inner · party_active_cu… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors LocalityProvider LocalityProvider idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project · lifecycle_profiles Project lifecycle_profiles — · 2 actors Filter · lifecycle_profiles Filter lifecycle_profiles idle · 2 actors StreamScan · lifecycle_profiles StreamScan lifecycle_profiles idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors StreamScan · party_active_customer_relationships_mv StreamScan party_active_customer_r… idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors LocalityProvider LocalityProvider idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project · position_snapshot_mv_next Project position_snapshot_mv_ne… — · 2 actors Filter · position_snapshot_mv_next Filter position_snapshot_mv_ne… idle · 2 actors StreamScan · position_snapshot_mv_next StreamScan position_snapshot_mv_ne… idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors LocalityProvider LocalityProvider idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors SyncLogStore · Inner · investment_holdings_latest_mv_next.account_id = account_to_… SyncLogStore Inner · investment_hold… — · 2 actors HashJoin · Inner · investment_holdings_latest_mv_next.account_id = account_to_… HashJoin Inner · investment_hold… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors LocalityProvider LocalityProvider idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project · account_to_account_groups_mv Project account_to_account_grou… — · 2 actors Filter · account_to_account_groups_mv Filter account_to_account_grou… idle · 2 actors StreamScan · account_to_account_groups_mv StreamScan account_to_account_grou… idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors LocalityProvider LocalityProvider idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors StreamScan · investment_holdings_latest_mv_next StreamScan investment_holdings_lat… idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors
Streaming operator plan from EXPLAIN ANALYZE. Node heat = backpressure. Drag to pan, scroll to zoom.
Fragments (DESCRIBE FRAGMENTS) — click to expand
Fragment 19707 (Actor 165438,165439)
StreamMaterialize { columns: [party_id, account_group_type, aum_market_value, fair_aum_market_value, aum_market_value_system_currency, fair_aum_market_value_system_currency], stream_key: [party_id, account_group_type], pk_columns: [party_id, account_group_type], pk_conflict: NoCheck }
├── output: [ party_to_account_groups_mv.party_id, party_to_account_groups_mv.type, sum($expr2), sum($expr3), sum(sum(investment_holdings_latest_mv_next.market_value_system_currency)), sum(sum(investment_holdings_latest_mv_next.fair_value_system_currency)) ]
├── stream key: [ party_to_account_groups_mv.party_id, party_to_account_groups_mv.type ]
└── StreamProject { exprs: [party_to_account_groups_mv.party_id, party_to_account_groups_mv.type, sum($expr2), sum($expr3), sum(sum(investment_holdings_latest_mv_next.market_value_system_currency)), sum(sum(investment_holdings_latest_mv_next.fair_value_system_currency))] }
    ├── output: [ party_to_account_groups_mv.party_id, party_to_account_groups_mv.type, sum($expr2), sum($expr3), sum(sum(investment_holdings_latest_mv_next.market_value_system_currency)), sum(sum(investment_holdings_latest_mv_next.fair_value_system_currency)) ]
    ├── stream key: [ party_to_account_groups_mv.party_id, party_to_account_groups_mv.type ]
    └── StreamHashAgg { group_key: [party_to_account_groups_mv.party_id, party_to_account_groups_mv.type], aggs: [sum($expr2), sum($expr3), sum(sum(investment_holdings_latest_mv_next.market_value_system_currency)), sum(sum(investment_holdings_latest_mv_next.fair_value_system_currency)), count] }
        ├── output: [ party_to_account_groups_mv.party_id, party_to_account_groups_mv.type, sum($expr2), sum($expr3), sum(sum(investment_holdings_latest_mv_next.market_value_system_currency)), sum(sum(investment_holdings_latest_mv_next.fair_value_system_currency)), count ]
        ├── stream key: [ party_to_account_groups_mv.party_id, party_to_account_groups_mv.type ]
        └── StreamLocalityProvider { locality_columns: [party_to_account_groups_mv.party_id, party_to_account_groups_mv.type] }
            ├── output:
            │   ┌── party_to_account_groups_mv.party_id
            │   ├── party_to_account_groups_mv.type
            │   ├── $expr2
            │   ├── $expr3
            │   ├── sum(investment_holdings_latest_mv_next.market_value_system_currency)
            │   ├── sum(investment_holdings_latest_mv_next.fair_value_system_currency)
            │   ├── investment_holdings_latest_mv_next.currency_code
            │   └── min(lifecycle_profiles.base_currency_code)
            ├── stream key: [ party_to_account_groups_mv.party_id, party_to_account_groups_mv.type, investment_holdings_latest_mv_next.currency_code, min(lifecycle_profiles.base_currency_code) ]
            └── MergeExecutor
                ├── output:
                │   ┌── party_to_account_groups_mv.party_id
                │   ├── party_to_account_groups_mv.type
                │   ├── $expr2
                │   ├── $expr3
                │   ├── sum(investment_holdings_latest_mv_next.market_value_system_currency)
                │   ├── sum(investment_holdings_latest_mv_next.fair_value_system_currency)
                │   ├── investment_holdings_latest_mv_next.currency_code
                │   └── min(lifecycle_profiles.base_currency_code)
                └── stream key: [ investment_holdings_latest_mv_next.currency_code, min(lifecycle_profiles.base_currency_code), party_to_account_groups_mv.party_id, party_to_account_groups_mv.type ]

Fragment 19708 (Actor 165423,165422)
StreamProject { exprs: [party_to_account_groups_mv.party_id, party_to_account_groups_mv.type, (sum(investment_holdings_latest_mv_next.market_value) * $expr1) as $expr2, (sum(investment_holdings_latest_mv_next.fair_value) * $expr1) as $expr3, sum(investment_holdings_latest_mv_next.market_value_system_currency), sum(investment_holdings_latest_mv_next.fair_value_system_currency), investment_holdings_latest_mv_next.currency_code, min(lifecycle_profiles.base_currency_code)] }
├── output: [ party_to_account_groups_mv.party_id, party_to_account_groups_mv.type, $expr2, $expr3, sum(investment_holdings_latest_mv_next.market_value_system_currency), sum(investment_holdings_latest_mv_next.fair_value_system_currency), investment_holdings_latest_mv_next.currency_code, min(lifecycle_profiles.base_currency_code) ]
├── stream key: [ investment_holdings_latest_mv_next.currency_code, min(lifecycle_profiles.base_currency_code), party_to_account_groups_mv.party_id, party_to_account_groups_mv.type ]
└── StreamProject { exprs: [party_to_account_groups_mv.party_id, party_to_account_groups_mv.type, min(lifecycle_profiles.base_currency_code), investment_holdings_latest_mv_next.currency_code, sum(investment_holdings_latest_mv_next.market_value), sum(investment_holdings_latest_mv_next.fair_value), sum(investment_holdings_latest_mv_next.market_value_system_currency), sum(investment_holdings_latest_mv_next.fair_value_system_currency), fx_rates_snapshot_mv.rate, Coalesce(fx_rates_snapshot_mv.rate, Case((investment_holdings_latest_mv_next.currency_code = min(lifecycle_profiles.base_currency_code)), 1:Int32, null:Int32)::Decimal) as $expr1] }
    ├── output: [ party_to_account_groups_mv.party_id, party_to_account_groups_mv.type, min(lifecycle_profiles.base_currency_code), investment_holdings_latest_mv_next.currency_code, sum(investment_holdings_latest_mv_next.market_value), sum(investment_holdings_latest_mv_next.fair_value), sum(investment_holdings_latest_mv_next.market_value_system_currency), sum(investment_holdings_latest_mv_next.fair_value_system_currency), fx_rates_snapshot_mv.rate, $expr1 ]
    ├── stream key: [ investment_holdings_latest_mv_next.currency_code, min(lifecycle_profiles.base_currency_code), party_to_account_groups_mv.party_id, party_to_account_groups_mv.type ]
    └── StreamFilter { predicate: (Not(IsNull(fx_rates_snapshot_mv.rate)) OR (investment_holdings_latest_mv_next.currency_code = min(lifecycle_profiles.base_currency_code))) }
        ├── output: [ party_to_account_groups_mv.party_id, party_to_account_groups_mv.type, min(lifecycle_profiles.base_currency_code), investment_holdings_latest_mv_next.currency_code, sum(investment_holdings_latest_mv_next.market_value), sum(investment_holdings_latest_mv_next.fair_value), sum(investment_holdings_latest_mv_next.market_value_system_currency), sum(investment_holdings_latest_mv_next.fair_value_system_currency), fx_rates_snapshot_mv.rate, fx_rates_snapshot_mv.source_currency_code, fx_rates_snapshot_mv.target_currency_code ]
        ├── stream key: [ investment_holdings_latest_mv_next.currency_code, min(lifecycle_profiles.base_currency_code), party_to_account_groups_mv.party_id, party_to_account_groups_mv.type ]
        └── MergeExecutor
            ├── output: [ party_to_account_groups_mv.party_id, party_to_account_groups_mv.type, min(lifecycle_profiles.base_currency_code), investment_holdings_latest_mv_next.currency_code, sum(investment_holdings_latest_mv_next.market_value), sum(investment_holdings_latest_mv_next.fair_value), sum(investment_holdings_latest_mv_next.market_value_system_currency), sum(investment_holdings_latest_mv_next.fair_value_system_currency), fx_rates_snapshot_mv.rate, fx_rates_snapshot_mv.source_currency_code, fx_rates_snapshot_mv.target_currency_code ]
            └── stream key: [ investment_holdings_latest_mv_next.currency_code, min(lifecycle_profiles.base_currency_code), party_to_account_groups_mv.party_id, party_to_account_groups_mv.type ]

Fragment 19709 (Actor 165401,165400)
StreamSyncLogStore
├── output: [ party_to_account_groups_mv.party_id, party_to_account_groups_mv.type, min(lifecycle_profiles.base_currency_code), investment_holdings_latest_mv_next.currency_code, sum(investment_holdings_latest_mv_next.market_value), sum(investment_holdings_latest_mv_next.fair_value), sum(investment_holdings_latest_mv_next.market_value_system_currency), sum(investment_holdings_latest_mv_next.fair_value_system_currency), fx_rates_snapshot_mv.rate, fx_rates_snapshot_mv.source_currency_code, fx_rates_snapshot_mv.target_currency_code ]
├── stream key: [ investment_holdings_latest_mv_next.currency_code, min(lifecycle_profiles.base_currency_code), party_to_account_groups_mv.party_id, party_to_account_groups_mv.type ]
└── StreamHashJoin { type: LeftOuter, predicate: investment_holdings_latest_mv_next.currency_code = fx_rates_snapshot_mv.source_currency_code AND min(lifecycle_profiles.base_currency_code) = fx_rates_snapshot_mv.target_currency_code }
    ├── output: [ party_to_account_groups_mv.party_id, party_to_account_groups_mv.type, min(lifecycle_profiles.base_currency_code), investment_holdings_latest_mv_next.currency_code, sum(investment_holdings_latest_mv_next.market_value), sum(investment_holdings_latest_mv_next.fair_value), sum(investment_holdings_latest_mv_next.market_value_system_currency), sum(investment_holdings_latest_mv_next.fair_value_system_currency), fx_rates_snapshot_mv.rate, fx_rates_snapshot_mv.source_currency_code, fx_rates_snapshot_mv.target_currency_code ]
    ├── stream key: [ investment_holdings_latest_mv_next.currency_code, min(lifecycle_profiles.base_currency_code), party_to_account_groups_mv.party_id, party_to_account_groups_mv.type ]
    ├── MergeExecutor { output: [ party_to_account_groups_mv.party_id, party_to_account_groups_mv.type, min(lifecycle_profiles.base_currency_code), investment_holdings_latest_mv_next.currency_code, sum(investment_holdings_latest_mv_next.market_value), sum(investment_holdings_latest_mv_next.fair_value), sum(investment_holdings_latest_mv_next.market_value_system_currency), sum(investment_holdings_latest_mv_next.fair_value_system_currency) ], stream key: [ investment_holdings_latest_mv_next.currency_code, min(lifecycle_profiles.base_currency_code), party_to_account_groups_mv.party_id, party_to_account_groups_mv.type ] }
    └── MergeExecutor { output: [ fx_rates_snapshot_mv.source_currency_code, fx_rates_snapshot_mv.target_currency_code, fx_rates_snapshot_mv.rate ], stream key: [ fx_rates_snapshot_mv.source_currency_code, fx_rates_snapshot_mv.target_currency_code ] }

Fragment 19710 (Actor 165421,165420)
StreamLocalityProvider { locality_columns: [investment_holdings_latest_mv_next.currency_code, min(lifecycle_profiles.base_currency_code)] }
├── output: [ party_to_account_groups_mv.party_id, party_to_account_groups_mv.type, min(lifecycle_profiles.base_currency_code), investment_holdings_latest_mv_next.currency_code, sum(investment_holdings_latest_mv_next.market_value), sum(investment_holdings_latest_mv_next.fair_value), sum(investment_holdings_latest_mv_next.market_value_system_currency), sum(investment_holdings_latest_mv_next.fair_value_system_currency) ]
├── stream key: [ investment_holdings_latest_mv_next.currency_code, min(lifecycle_profiles.base_currency_code), party_to_account_groups_mv.party_id, party_to_account_groups_mv.type ]
└── MergeExecutor { output: [ party_to_account_groups_mv.party_id, party_to_account_groups_mv.type, min(lifecycle_profiles.base_currency_code), investment_holdings_latest_mv_next.currency_code, sum(investment_holdings_latest_mv_next.market_value), sum(investment_holdings_latest_mv_next.fair_value), sum(investment_holdings_latest_mv_next.market_value_system_currency), sum(investment_holdings_latest_mv_next.fair_value_system_currency) ], stream key: [ party_to_account_groups_mv.party_id, party_to_account_groups_mv.type, min(lifecycle_profiles.base_currency_code), investment_holdings_latest_mv_next.currency_code ] }

Fragment 19711 (Actor 165405,165404)
StreamProject { exprs: [party_to_account_groups_mv.party_id, party_to_account_groups_mv.type, min(lifecycle_profiles.base_currency_code), investment_holdings_latest_mv_next.currency_code, sum(investment_holdings_latest_mv_next.market_value), sum(investment_holdings_latest_mv_next.fair_value), sum(investment_holdings_latest_mv_next.market_value_system_currency), sum(investment_holdings_latest_mv_next.fair_value_system_currency)] }
├── output: [ party_to_account_groups_mv.party_id, party_to_account_groups_mv.type, min(lifecycle_profiles.base_currency_code), investment_holdings_latest_mv_next.currency_code, sum(investment_holdings_latest_mv_next.market_value), sum(investment_holdings_latest_mv_next.fair_value), sum(investment_holdings_latest_mv_next.market_value_system_currency), sum(investment_holdings_latest_mv_next.fair_value_system_currency) ]
├── stream key: [ party_to_account_groups_mv.party_id, party_to_account_groups_mv.type, min(lifecycle_profiles.base_currency_code), investment_holdings_latest_mv_next.currency_code ]
└── StreamHashAgg { group_key: [party_to_account_groups_mv.party_id, party_to_account_groups_mv.type, min(lifecycle_profiles.base_currency_code), investment_holdings_latest_mv_next.currency_code], aggs: [sum(investment_holdings_latest_mv_next.market_value), sum(investment_holdings_latest_mv_next.fair_value), sum(investment_holdings_latest_mv_next.market_value_system_currency), sum(investment_holdings_latest_mv_next.fair_value_system_currency), count] }
    ├── output: [ party_to_account_groups_mv.party_id, party_to_account_groups_mv.type, min(lifecycle_profiles.base_currency_code), investment_holdings_latest_mv_next.currency_code, sum(investment_holdings_latest_mv_next.market_value), sum(investment_holdings_latest_mv_next.fair_value), sum(investment_holdings_latest_mv_next.market_value_system_currency), sum(investment_holdings_latest_mv_next.fair_value_system_currency), count ]
    ├── stream key: [ party_to_account_groups_mv.party_id, party_to_account_groups_mv.type, min(lifecycle_profiles.base_currency_code), investment_holdings_latest_mv_next.currency_code ]
    └── StreamLocalityProvider { locality_columns: [party_to_account_groups_mv.party_id, party_to_account_groups_mv.type, min(lifecycle_profiles.base_currency_code), investment_holdings_latest_mv_next.currency_code] }
        ├── output:
        │   ┌── party_to_account_groups_mv.party_id
        │   ├── party_to_account_groups_mv.type
        │   ├── min(lifecycle_profiles.base_currency_code)
        │   ├── investment_holdings_latest_mv_next.currency_code
        │   ├── investment_holdings_latest_mv_next.market_value
        │   ├── investment_holdings_latest_mv_next.fair_value
        │   ├── investment_holdings_latest_mv_next.market_value_system_currency
        │   ├── investment_holdings_latest_mv_next.fair_value_system_currency
        │   ├── account_to_account_groups_mv.account_group_id
        │   ├── investment_holdings_latest_mv_next.account_id
        │   ├── investment_holdings_latest_mv_next.accounts_dm.product_type_id
        │   ├── investment_holdings_latest_mv_next.asset_id
        │   ├── investment_holdings_latest_mv_next.type
        │   ├── account_to_account_groups_mv.open_accounts_mv.account_id
        │   ├── account_to_account_groups_mv.null:Varchar
        │   ├── account_to_account_groups_mv.null:Date
        │   ├── account_to_account_groups_mv.null:Varchar#1
        │   ├── account_to_account_groups_mv.null:Date#1
        │   ├── account_to_account_groups_mv.null:Int32
        │   ├── account_to_account_groups_mv.null:Varchar#2
        │   ├── account_to_account_groups_mv.null:Varchar#3
        │   ├── account_to_account_groups_mv.null:Varchar#4
        │   ├── account_to_account_groups_mv.$src
        │   ├── account_to_account_groups_mv.account_groups_mv_next.open_accounts_mv.account_id
        │   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar
        │   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar#1
        │   ├── account_to_account_groups_mv.account_groups_mv_next.$src
        │   ├── party_to_account_groups_mv.account_group_id
        │   ├── position_snapshot_mv_next.account_group_id
        │   ├── position_snapshot_mv_next.currency_code
        │   ├── position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded
        │   ├── position_snapshot_mv_next.flag
        │   ├── party_active_customer_relationships_mv.party_id
        │   ├── party_to_account_groups_mv.parties.id
        │   ├── party_to_account_groups_mv.null:Varchar
        │   └── party_to_account_groups_mv.$src
        ├── stream key:
        │   ┌── party_to_account_groups_mv.party_id
        │   ├── party_to_account_groups_mv.type
        │   ├── min(lifecycle_profiles.base_currency_code)
        │   ├── investment_holdings_latest_mv_next.currency_code
        │   ├── account_to_account_groups_mv.account_group_id
        │   ├── investment_holdings_latest_mv_next.account_id
        │   ├── investment_holdings_latest_mv_next.accounts_dm.product_type_id
        │   ├── investment_holdings_latest_mv_next.asset_id
        │   ├── investment_holdings_latest_mv_next.type
        │   ├── account_to_account_groups_mv.open_accounts_mv.account_id
        │   ├── account_to_account_groups_mv.null:Varchar
        │   ├── account_to_account_groups_mv.null:Date
        │   ├── account_to_account_groups_mv.null:Varchar#1
        │   ├── account_to_account_groups_mv.null:Date#1
        │   ├── account_to_account_groups_mv.null:Int32
        │   ├── account_to_account_groups_mv.null:Varchar#2
        │   ├── account_to_account_groups_mv.null:Varchar#3
        │   ├── account_to_account_groups_mv.null:Varchar#4
        │   ├── account_to_account_groups_mv.$src
        │   ├── account_to_account_groups_mv.account_groups_mv_next.open_accounts_mv.account_id
        │   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar
        │   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar#1
        │   ├── account_to_account_groups_mv.account_groups_mv_next.$src
        │   ├── position_snapshot_mv_next.currency_code
        │   ├── position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded
        │   ├── position_snapshot_mv_next.flag
        │   ├── party_active_customer_relationships_mv.party_id
        │   ├── party_to_account_groups_mv.parties.id
        │   ├── party_to_account_groups_mv.null:Varchar
        │   └── party_to_account_groups_mv.$src
        └── MergeExecutor
            ├── output:
            │   ┌── party_to_account_groups_mv.party_id
            │   ├── party_to_account_groups_mv.type
            │   ├── min(lifecycle_profiles.base_currency_code)
            │   ├── investment_holdings_latest_mv_next.currency_code
            │   ├── investment_holdings_latest_mv_next.market_value
            │   ├── investment_holdings_latest_mv_next.fair_value
            │   ├── investment_holdings_latest_mv_next.market_value_system_currency
            │   ├── investment_holdings_latest_mv_next.fair_value_system_currency
            │   ├── account_to_account_groups_mv.account_group_id
            │   ├── investment_holdings_latest_mv_next.account_id
            │   ├── investment_holdings_latest_mv_next.accounts_dm.product_type_id
            │   ├── investment_holdings_latest_mv_next.asset_id
            │   ├── investment_holdings_latest_mv_next.type
            │   ├── account_to_account_groups_mv.open_accounts_mv.account_id
            │   ├── account_to_account_groups_mv.null:Varchar
            │   ├── account_to_account_groups_mv.null:Date
            │   ├── account_to_account_groups_mv.null:Varchar#1
            │   ├── account_to_account_groups_mv.null:Date#1
            │   ├── account_to_account_groups_mv.null:Int32
            │   ├── account_to_account_groups_mv.null:Varchar#2
            │   ├── account_to_account_groups_mv.null:Varchar#3
            │   ├── account_to_account_groups_mv.null:Varchar#4
            │   ├── account_to_account_groups_mv.$src
            │   ├── account_to_account_groups_mv.account_groups_mv_next.open_accounts_mv.account_id
            │   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar
            │   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar#1
            │   ├── account_to_account_groups_mv.account_groups_mv_next.$src
            │   ├── party_to_account_groups_mv.account_group_id
            │   ├── position_snapshot_mv_next.account_group_id
            │   ├── position_snapshot_mv_next.currency_code
            │   ├── position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded
            │   ├── position_snapshot_mv_next.flag
            │   ├── party_active_customer_relationships_mv.party_id
            │   ├── party_to_account_groups_mv.parties.id
            │   ├── party_to_account_groups_mv.null:Varchar
            │   └── party_to_account_groups_mv.$src
            └── stream key:
                ┌── account_to_account_groups_mv.account_group_id
                ├── account_to_account_groups_mv.account_group_id
                ├── investment_holdings_latest_mv_next.account_id
                ├── investment_holdings_latest_mv_next.accounts_dm.product_type_id
                ├── investment_holdings_latest_mv_next.asset_id
                ├── investment_holdings_latest_mv_next.type
                ├── account_to_account_groups_mv.open_accounts_mv.account_id
                ├── account_to_account_groups_mv.null:Varchar
                ├── account_to_account_groups_mv.null:Date
                ├── account_to_account_groups_mv.null:Varchar#1
                ├── account_to_account_groups_mv.null:Date#1
                ├── account_to_account_groups_mv.null:Int32
                ├── account_to_account_groups_mv.null:Varchar#2
                ├── account_to_account_groups_mv.null:Varchar#3
                ├── account_to_account_groups_mv.null:Varchar#4
                ├── account_to_account_groups_mv.$src
                ├── account_to_account_groups_mv.account_groups_mv_next.open_accounts_mv.account_id
                ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar
                ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar#1
                ├── account_to_account_groups_mv.account_groups_mv_next.$src
                ├── position_snapshot_mv_next.currency_code
                ├── position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded
                ├── position_snapshot_mv_next.flag
                ├── party_active_customer_relationships_mv.party_id
                ├── party_to_account_groups_mv.parties.id
                ├── party_to_account_groups_mv.null:Varchar
                └── party_to_account_groups_mv.$src

Fragment 19712 (Actor 165448,165449)
StreamSyncLogStore
├── output:
│   ┌── party_to_account_groups_mv.party_id
│   ├── party_to_account_groups_mv.type
│   ├── min(lifecycle_profiles.base_currency_code)
│   ├── investment_holdings_latest_mv_next.currency_code
│   ├── investment_holdings_latest_mv_next.market_value
│   ├── investment_holdings_latest_mv_next.fair_value
│   ├── investment_holdings_latest_mv_next.market_value_system_currency
│   ├── investment_holdings_latest_mv_next.fair_value_system_currency
│   ├── account_to_account_groups_mv.account_group_id
│   ├── investment_holdings_latest_mv_next.account_id
│   ├── investment_holdings_latest_mv_next.accounts_dm.product_type_id
│   ├── investment_holdings_latest_mv_next.asset_id
│   ├── investment_holdings_latest_mv_next.type
│   ├── account_to_account_groups_mv.open_accounts_mv.account_id
│   ├── account_to_account_groups_mv.null:Varchar
│   ├── account_to_account_groups_mv.null:Date
│   ├── account_to_account_groups_mv.null:Varchar#1
│   ├── account_to_account_groups_mv.null:Date#1
│   ├── account_to_account_groups_mv.null:Int32
│   ├── account_to_account_groups_mv.null:Varchar#2
│   ├── account_to_account_groups_mv.null:Varchar#3
│   ├── account_to_account_groups_mv.null:Varchar#4
│   ├── account_to_account_groups_mv.$src
│   ├── account_to_account_groups_mv.account_groups_mv_next.open_accounts_mv.account_id
│   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar
│   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar#1
│   ├── account_to_account_groups_mv.account_groups_mv_next.$src
│   ├── party_to_account_groups_mv.account_group_id
│   ├── position_snapshot_mv_next.account_group_id
│   ├── position_snapshot_mv_next.currency_code
│   ├── position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded
│   ├── position_snapshot_mv_next.flag
│   ├── party_active_customer_relationships_mv.party_id
│   ├── party_to_account_groups_mv.parties.id
│   ├── party_to_account_groups_mv.null:Varchar
│   └── party_to_account_groups_mv.$src
├── stream key:
│   ┌── account_to_account_groups_mv.account_group_id
│   ├── account_to_account_groups_mv.account_group_id
│   ├── investment_holdings_latest_mv_next.account_id
│   ├── investment_holdings_latest_mv_next.accounts_dm.product_type_id
│   ├── investment_holdings_latest_mv_next.asset_id
│   ├── investment_holdings_latest_mv_next.type
│   ├── account_to_account_groups_mv.open_accounts_mv.account_id
│   ├── account_to_account_groups_mv.null:Varchar
│   ├── account_to_account_groups_mv.null:Date
│   ├── account_to_account_groups_mv.null:Varchar#1
│   ├── account_to_account_groups_mv.null:Date#1
│   ├── account_to_account_groups_mv.null:Int32
│   ├── account_to_account_groups_mv.null:Varchar#2
│   ├── account_to_account_groups_mv.null:Varchar#3
│   ├── account_to_account_groups_mv.null:Varchar#4
│   ├── account_to_account_groups_mv.$src
│   ├── account_to_account_groups_mv.account_groups_mv_next.open_accounts_mv.account_id
│   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar
│   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar#1
│   ├── account_to_account_groups_mv.account_groups_mv_next.$src
│   ├── position_snapshot_mv_next.currency_code
│   ├── position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded
│   ├── position_snapshot_mv_next.flag
│   ├── party_active_customer_relationships_mv.party_id
│   ├── party_to_account_groups_mv.parties.id
│   ├── party_to_account_groups_mv.null:Varchar
│   └── party_to_account_groups_mv.$src
└── StreamHashJoin { type: Inner, predicate: account_to_account_groups_mv.account_group_id = party_to_account_groups_mv.account_group_id AND account_to_account_groups_mv.account_group_id = position_snapshot_mv_next.account_group_id }
    ├── output:
    │   ┌── party_to_account_groups_mv.party_id
    │   ├── party_to_account_groups_mv.type
    │   ├── min(lifecycle_profiles.base_currency_code)
    │   ├── investment_holdings_latest_mv_next.currency_code
    │   ├── investment_holdings_latest_mv_next.market_value
    │   ├── investment_holdings_latest_mv_next.fair_value
    │   ├── investment_holdings_latest_mv_next.market_value_system_currency
    │   ├── investment_holdings_latest_mv_next.fair_value_system_currency
    │   ├── account_to_account_groups_mv.account_group_id
    │   ├── investment_holdings_latest_mv_next.account_id
    │   ├── investment_holdings_latest_mv_next.accounts_dm.product_type_id
    │   ├── investment_holdings_latest_mv_next.asset_id
    │   ├── investment_holdings_latest_mv_next.type
    │   ├── account_to_account_groups_mv.open_accounts_mv.account_id
    │   ├── account_to_account_groups_mv.null:Varchar
    │   ├── account_to_account_groups_mv.null:Date
    │   ├── account_to_account_groups_mv.null:Varchar#1
    │   ├── account_to_account_groups_mv.null:Date#1
    │   ├── account_to_account_groups_mv.null:Int32
    │   ├── account_to_account_groups_mv.null:Varchar#2
    │   ├── account_to_account_groups_mv.null:Varchar#3
    │   ├── account_to_account_groups_mv.null:Varchar#4
    │   ├── account_to_account_groups_mv.$src
    │   ├── account_to_account_groups_mv.account_groups_mv_next.open_accounts_mv.account_id
    │   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar
    │   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar#1
    │   ├── account_to_account_groups_mv.account_groups_mv_next.$src
    │   ├── party_to_account_groups_mv.account_group_id
    │   ├── position_snapshot_mv_next.account_group_id
    │   ├── position_snapshot_mv_next.currency_code
    │   ├── position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded
    │   ├── position_snapshot_mv_next.flag
    │   ├── party_active_customer_relationships_mv.party_id
    │   ├── party_to_account_groups_mv.parties.id
    │   ├── party_to_account_groups_mv.null:Varchar
    │   └── party_to_account_groups_mv.$src
    ├── stream key:
    │   ┌── account_to_account_groups_mv.account_group_id
    │   ├── account_to_account_groups_mv.account_group_id
    │   ├── investment_holdings_latest_mv_next.account_id
    │   ├── investment_holdings_latest_mv_next.accounts_dm.product_type_id
    │   ├── investment_holdings_latest_mv_next.asset_id
    │   ├── investment_holdings_latest_mv_next.type
    │   ├── account_to_account_groups_mv.open_accounts_mv.account_id
    │   ├── account_to_account_groups_mv.null:Varchar
    │   ├── account_to_account_groups_mv.null:Date
    │   ├── account_to_account_groups_mv.null:Varchar#1
    │   ├── account_to_account_groups_mv.null:Date#1
    │   ├── account_to_account_groups_mv.null:Int32
    │   ├── account_to_account_groups_mv.null:Varchar#2
    │   ├── account_to_account_groups_mv.null:Varchar#3
    │   ├── account_to_account_groups_mv.null:Varchar#4
    │   ├── account_to_account_groups_mv.$src
    │   ├── account_to_account_groups_mv.account_groups_mv_next.open_accounts_mv.account_id
    │   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar
    │   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar#1
    │   ├── account_to_account_groups_mv.account_groups_mv_next.$src
    │   ├── position_snapshot_mv_next.currency_code
    │   ├── position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded
    │   ├── position_snapshot_mv_next.flag
    │   ├── party_active_customer_relationships_mv.party_id
    │   ├── party_to_account_groups_mv.parties.id
    │   ├── party_to_account_groups_mv.null:Varchar
    │   └── party_to_account_groups_mv.$src
    ├── MergeExecutor
    │   ├── output:
    │   │   ┌── investment_holdings_latest_mv_next.currency_code
    │   │   ├── investment_holdings_latest_mv_next.market_value
    │   │   ├── investment_holdings_latest_mv_next.fair_value
    │   │   ├── investment_holdings_latest_mv_next.market_value_system_currency
    │   │   ├── investment_holdings_latest_mv_next.fair_value_system_currency
    │   │   ├── account_to_account_groups_mv.account_group_id
    │   │   ├── investment_holdings_latest_mv_next.account_id
    │   │   ├── investment_holdings_latest_mv_next.accounts_dm.product_type_id
    │   │   ├── investment_holdings_latest_mv_next.asset_id
    │   │   ├── investment_holdings_latest_mv_next.type
    │   │   ├── account_to_account_groups_mv.account_id
    │   │   ├── account_to_account_groups_mv.open_accounts_mv.account_id
    │   │   ├── account_to_account_groups_mv.null:Varchar
    │   │   ├── account_to_account_groups_mv.null:Date
    │   │   ├── account_to_account_groups_mv.null:Varchar#1
    │   │   ├── account_to_account_groups_mv.null:Date#1
    │   │   ├── account_to_account_groups_mv.null:Int32
    │   │   ├── account_to_account_groups_mv.null:Varchar#2
    │   │   ├── account_to_account_groups_mv.null:Varchar#3
    │   │   ├── account_to_account_groups_mv.null:Varchar#4
    │   │   ├── account_to_account_groups_mv.$src
    │   │   ├── account_to_account_groups_mv.account_groups_mv_next.open_accounts_mv.account_id
    │   │   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar
    │   │   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar#1
    │   │   └── account_to_account_groups_mv.account_groups_mv_next.$src
    │   └── stream key:
    │       ┌── account_to_account_groups_mv.account_group_id
    │       ├── account_to_account_groups_mv.account_group_id
    │       ├── investment_holdings_latest_mv_next.account_id
    │       ├── investment_holdings_latest_mv_next.accounts_dm.product_type_id
    │       ├── investment_holdings_latest_mv_next.asset_id
    │       ├── investment_holdings_latest_mv_next.type
    │       ├── account_to_account_groups_mv.open_accounts_mv.account_id
    │       ├── account_to_account_groups_mv.null:Varchar
    │       ├── account_to_account_groups_mv.null:Date
    │       ├── account_to_account_groups_mv.null:Varchar#1
    │       ├── account_to_account_groups_mv.null:Date#1
    │       ├── account_to_account_groups_mv.null:Int32
    │       ├── account_to_account_groups_mv.null:Varchar#2
    │       ├── account_to_account_groups_mv.null:Varchar#3
    │       ├── account_to_account_groups_mv.null:Varchar#4
    │       ├── account_to_account_groups_mv.$src
    │       ├── account_to_account_groups_mv.account_groups_mv_next.open_accounts_mv.account_id
    │       ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar
    │       ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar#1
    │       └── account_to_account_groups_mv.account_groups_mv_next.$src
    └── MergeExecutor
        ├── output: [ position_snapshot_mv_next.account_group_id, min(lifecycle_profiles.base_currency_code), party_to_account_groups_mv.party_id, party_to_account_groups_mv.account_group_id, party_to_account_groups_mv.type, position_snapshot_mv_next.currency_code, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, party_active_customer_relationships_mv.party_id, party_to_account_groups_mv.parties.id, party_to_account_groups_mv.null:Varchar, party_to_account_groups_mv.$src ]
        └── stream key: [ party_to_account_groups_mv.account_group_id, position_snapshot_mv_next.account_group_id, position_snapshot_mv_next.currency_code, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, party_active_customer_relationships_mv.party_id, party_to_account_groups_mv.parties.id, party_to_account_groups_mv.null:Varchar, party_to_account_groups_mv.$src ]

Fragment 19713 (Actor 165399,165398)
StreamLocalityProvider { locality_columns: [account_to_account_groups_mv.account_group_id, account_to_account_groups_mv.account_group_id] }
├── output:
│   ┌── investment_holdings_latest_mv_next.currency_code
│   ├── investment_holdings_latest_mv_next.market_value
│   ├── investment_holdings_latest_mv_next.fair_value
│   ├── investment_holdings_latest_mv_next.market_value_system_currency
│   ├── investment_holdings_latest_mv_next.fair_value_system_currency
│   ├── account_to_account_groups_mv.account_group_id
│   ├── investment_holdings_latest_mv_next.account_id
│   ├── investment_holdings_latest_mv_next.accounts_dm.product_type_id
│   ├── investment_holdings_latest_mv_next.asset_id
│   ├── investment_holdings_latest_mv_next.type
│   ├── account_to_account_groups_mv.account_id
│   ├── account_to_account_groups_mv.open_accounts_mv.account_id
│   ├── account_to_account_groups_mv.null:Varchar
│   ├── account_to_account_groups_mv.null:Date
│   ├── account_to_account_groups_mv.null:Varchar#1
│   ├── account_to_account_groups_mv.null:Date#1
│   ├── account_to_account_groups_mv.null:Int32
│   ├── account_to_account_groups_mv.null:Varchar#2
│   ├── account_to_account_groups_mv.null:Varchar#3
│   ├── account_to_account_groups_mv.null:Varchar#4
│   ├── account_to_account_groups_mv.$src
│   ├── account_to_account_groups_mv.account_groups_mv_next.open_accounts_mv.account_id
│   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar
│   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar#1
│   └── account_to_account_groups_mv.account_groups_mv_next.$src
├── stream key:
│   ┌── account_to_account_groups_mv.account_group_id
│   ├── account_to_account_groups_mv.account_group_id
│   ├── investment_holdings_latest_mv_next.account_id
│   ├── investment_holdings_latest_mv_next.accounts_dm.product_type_id
│   ├── investment_holdings_latest_mv_next.asset_id
│   ├── investment_holdings_latest_mv_next.type
│   ├── account_to_account_groups_mv.open_accounts_mv.account_id
│   ├── account_to_account_groups_mv.null:Varchar
│   ├── account_to_account_groups_mv.null:Date
│   ├── account_to_account_groups_mv.null:Varchar#1
│   ├── account_to_account_groups_mv.null:Date#1
│   ├── account_to_account_groups_mv.null:Int32
│   ├── account_to_account_groups_mv.null:Varchar#2
│   ├── account_to_account_groups_mv.null:Varchar#3
│   ├── account_to_account_groups_mv.null:Varchar#4
│   ├── account_to_account_groups_mv.$src
│   ├── account_to_account_groups_mv.account_groups_mv_next.open_accounts_mv.account_id
│   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar
│   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar#1
│   └── account_to_account_groups_mv.account_groups_mv_next.$src
└── MergeExecutor
    ├── output:
    │   ┌── investment_holdings_latest_mv_next.currency_code
    │   ├── investment_holdings_latest_mv_next.market_value
    │   ├── investment_holdings_latest_mv_next.fair_value
    │   ├── investment_holdings_latest_mv_next.market_value_system_currency
    │   ├── investment_holdings_latest_mv_next.fair_value_system_currency
    │   ├── account_to_account_groups_mv.account_group_id
    │   ├── investment_holdings_latest_mv_next.account_id
    │   ├── investment_holdings_latest_mv_next.accounts_dm.product_type_id
    │   ├── investment_holdings_latest_mv_next.asset_id
    │   ├── investment_holdings_latest_mv_next.type
    │   ├── account_to_account_groups_mv.account_id
    │   ├── account_to_account_groups_mv.open_accounts_mv.account_id
    │   ├── account_to_account_groups_mv.null:Varchar
    │   ├── account_to_account_groups_mv.null:Date
    │   ├── account_to_account_groups_mv.null:Varchar#1
    │   ├── account_to_account_groups_mv.null:Date#1
    │   ├── account_to_account_groups_mv.null:Int32
    │   ├── account_to_account_groups_mv.null:Varchar#2
    │   ├── account_to_account_groups_mv.null:Varchar#3
    │   ├── account_to_account_groups_mv.null:Varchar#4
    │   ├── account_to_account_groups_mv.$src
    │   ├── account_to_account_groups_mv.account_groups_mv_next.open_accounts_mv.account_id
    │   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar
    │   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar#1
    │   └── account_to_account_groups_mv.account_groups_mv_next.$src
    └── stream key:
        ┌── investment_holdings_latest_mv_next.account_id
        ├── investment_holdings_latest_mv_next.accounts_dm.product_type_id
        ├── investment_holdings_latest_mv_next.asset_id
        ├── investment_holdings_latest_mv_next.type
        ├── account_to_account_groups_mv.account_group_id
        ├── account_to_account_groups_mv.open_accounts_mv.account_id
        ├── account_to_account_groups_mv.null:Varchar
        ├── account_to_account_groups_mv.null:Date
        ├── account_to_account_groups_mv.null:Varchar#1
        ├── account_to_account_groups_mv.null:Date#1
        ├── account_to_account_groups_mv.null:Int32
        ├── account_to_account_groups_mv.null:Varchar#2
        ├── account_to_account_groups_mv.null:Varchar#3
        ├── account_to_account_groups_mv.null:Varchar#4
        ├── account_to_account_groups_mv.$src
        ├── account_to_account_groups_mv.account_groups_mv_next.open_accounts_mv.account_id
        ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar
        ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar#1
        └── account_to_account_groups_mv.account_groups_mv_next.$src

Fragment 19714 (Actor 165424,165425)
StreamSyncLogStore
├── output:
│   ┌── investment_holdings_latest_mv_next.currency_code
│   ├── investment_holdings_latest_mv_next.market_value
│   ├── investment_holdings_latest_mv_next.fair_value
│   ├── investment_holdings_latest_mv_next.market_value_system_currency
│   ├── investment_holdings_latest_mv_next.fair_value_system_currency
│   ├── account_to_account_groups_mv.account_group_id
│   ├── investment_holdings_latest_mv_next.account_id
│   ├── investment_holdings_latest_mv_next.accounts_dm.product_type_id
│   ├── investment_holdings_latest_mv_next.asset_id
│   ├── investment_holdings_latest_mv_next.type
│   ├── account_to_account_groups_mv.account_id
│   ├── account_to_account_groups_mv.open_accounts_mv.account_id
│   ├── account_to_account_groups_mv.null:Varchar
│   ├── account_to_account_groups_mv.null:Date
│   ├── account_to_account_groups_mv.null:Varchar#1
│   ├── account_to_account_groups_mv.null:Date#1
│   ├── account_to_account_groups_mv.null:Int32
│   ├── account_to_account_groups_mv.null:Varchar#2
│   ├── account_to_account_groups_mv.null:Varchar#3
│   ├── account_to_account_groups_mv.null:Varchar#4
│   ├── account_to_account_groups_mv.$src
│   ├── account_to_account_groups_mv.account_groups_mv_next.open_accounts_mv.account_id
│   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar
│   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar#1
│   └── account_to_account_groups_mv.account_groups_mv_next.$src
├── stream key:
│   ┌── investment_holdings_latest_mv_next.account_id
│   ├── investment_holdings_latest_mv_next.accounts_dm.product_type_id
│   ├── investment_holdings_latest_mv_next.asset_id
│   ├── investment_holdings_latest_mv_next.type
│   ├── account_to_account_groups_mv.account_group_id
│   ├── account_to_account_groups_mv.open_accounts_mv.account_id
│   ├── account_to_account_groups_mv.null:Varchar
│   ├── account_to_account_groups_mv.null:Date
│   ├── account_to_account_groups_mv.null:Varchar#1
│   ├── account_to_account_groups_mv.null:Date#1
│   ├── account_to_account_groups_mv.null:Int32
│   ├── account_to_account_groups_mv.null:Varchar#2
│   ├── account_to_account_groups_mv.null:Varchar#3
│   ├── account_to_account_groups_mv.null:Varchar#4
│   ├── account_to_account_groups_mv.$src
│   ├── account_to_account_groups_mv.account_groups_mv_next.open_accounts_mv.account_id
│   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar
│   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar#1
│   └── account_to_account_groups_mv.account_groups_mv_next.$src
└── StreamHashJoin { type: Inner, predicate: investment_holdings_latest_mv_next.account_id = account_to_account_groups_mv.account_id }
    ├── output:
    │   ┌── investment_holdings_latest_mv_next.currency_code
    │   ├── investment_holdings_latest_mv_next.market_value
    │   ├── investment_holdings_latest_mv_next.fair_value
    │   ├── investment_holdings_latest_mv_next.market_value_system_currency
    │   ├── investment_holdings_latest_mv_next.fair_value_system_currency
    │   ├── account_to_account_groups_mv.account_group_id
    │   ├── investment_holdings_latest_mv_next.account_id
    │   ├── investment_holdings_latest_mv_next.accounts_dm.product_type_id
    │   ├── investment_holdings_latest_mv_next.asset_id
    │   ├── investment_holdings_latest_mv_next.type
    │   ├── account_to_account_groups_mv.account_id
    │   ├── account_to_account_groups_mv.open_accounts_mv.account_id
    │   ├── account_to_account_groups_mv.null:Varchar
    │   ├── account_to_account_groups_mv.null:Date
    │   ├── account_to_account_groups_mv.null:Varchar#1
    │   ├── account_to_account_groups_mv.null:Date#1
    │   ├── account_to_account_groups_mv.null:Int32
    │   ├── account_to_account_groups_mv.null:Varchar#2
    │   ├── account_to_account_groups_mv.null:Varchar#3
    │   ├── account_to_account_groups_mv.null:Varchar#4
    │   ├── account_to_account_groups_mv.$src
    │   ├── account_to_account_groups_mv.account_groups_mv_next.open_accounts_mv.account_id
    │   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar
    │   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar#1
    │   └── account_to_account_groups_mv.account_groups_mv_next.$src
    ├── stream key:
    │   ┌── investment_holdings_latest_mv_next.account_id
    │   ├── investment_holdings_latest_mv_next.accounts_dm.product_type_id
    │   ├── investment_holdings_latest_mv_next.asset_id
    │   ├── investment_holdings_latest_mv_next.type
    │   ├── account_to_account_groups_mv.account_group_id
    │   ├── account_to_account_groups_mv.open_accounts_mv.account_id
    │   ├── account_to_account_groups_mv.null:Varchar
    │   ├── account_to_account_groups_mv.null:Date
    │   ├── account_to_account_groups_mv.null:Varchar#1
    │   ├── account_to_account_groups_mv.null:Date#1
    │   ├── account_to_account_groups_mv.null:Int32
    │   ├── account_to_account_groups_mv.null:Varchar#2
    │   ├── account_to_account_groups_mv.null:Varchar#3
    │   ├── account_to_account_groups_mv.null:Varchar#4
    │   ├── account_to_account_groups_mv.$src
    │   ├── account_to_account_groups_mv.account_groups_mv_next.open_accounts_mv.account_id
    │   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar
    │   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar#1
    │   └── account_to_account_groups_mv.account_groups_mv_next.$src
    ├── MergeExecutor
    │   ├── output: [ investment_holdings_latest_mv_next.account_id, investment_holdings_latest_mv_next.currency_code, investment_holdings_latest_mv_next.market_value, investment_holdings_latest_mv_next.fair_value, investment_holdings_latest_mv_next.market_value_system_currency, investment_holdings_latest_mv_next.fair_value_system_currency, investment_holdings_latest_mv_next.accounts_dm.product_type_id, investment_holdings_latest_mv_next.asset_id, investment_holdings_latest_mv_next.type ]
    │   └── stream key: [ investment_holdings_latest_mv_next.account_id, investment_holdings_latest_mv_next.accounts_dm.product_type_id, investment_holdings_latest_mv_next.asset_id, investment_holdings_latest_mv_next.type ]
    └── MergeExecutor
        ├── output:
        │   ┌── account_to_account_groups_mv.account_id
        │   ├── account_to_account_groups_mv.account_group_id
        │   ├── account_to_account_groups_mv.open_accounts_mv.account_id
        │   ├── account_to_account_groups_mv.null:Varchar
        │   ├── account_to_account_groups_mv.null:Date
        │   ├── account_to_account_groups_mv.null:Varchar#1
        │   ├── account_to_account_groups_mv.null:Date#1
        │   ├── account_to_account_groups_mv.null:Int32
        │   ├── account_to_account_groups_mv.null:Varchar#2
        │   ├── account_to_account_groups_mv.null:Varchar#3
        │   ├── account_to_account_groups_mv.null:Varchar#4
        │   ├── account_to_account_groups_mv.$src
        │   ├── account_to_account_groups_mv.account_groups_mv_next.open_accounts_mv.account_id
        │   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar
        │   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar#1
        │   └── account_to_account_groups_mv.account_groups_mv_next.$src
        └── stream key:
            ┌── account_to_account_groups_mv.account_id
            ├── account_to_account_groups_mv.account_group_id
            ├── account_to_account_groups_mv.open_accounts_mv.account_id
            ├── account_to_account_groups_mv.null:Varchar
            ├── account_to_account_groups_mv.null:Date
            ├── account_to_account_groups_mv.null:Varchar#1
            ├── account_to_account_groups_mv.null:Date#1
            ├── account_to_account_groups_mv.null:Int32
            ├── account_to_account_groups_mv.null:Varchar#2
            ├── account_to_account_groups_mv.null:Varchar#3
            ├── account_to_account_groups_mv.null:Varchar#4
            ├── account_to_account_groups_mv.$src
            ├── account_to_account_groups_mv.account_groups_mv_next.open_accounts_mv.account_id
            ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar
            ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar#1
            └── account_to_account_groups_mv.account_groups_mv_next.$src

Fragment 19715 (Actor 165413,165412)
StreamLocalityProvider { locality_columns: [investment_holdings_latest_mv_next.account_id] }
├── output: [ investment_holdings_latest_mv_next.account_id, investment_holdings_latest_mv_next.currency_code, investment_holdings_latest_mv_next.market_value, investment_holdings_latest_mv_next.fair_value, investment_holdings_latest_mv_next.market_value_system_currency, investment_holdings_latest_mv_next.fair_value_system_currency, investment_holdings_latest_mv_next.accounts_dm.product_type_id, investment_holdings_latest_mv_next.asset_id, investment_holdings_latest_mv_next.type ]
├── stream key: [ investment_holdings_latest_mv_next.account_id, investment_holdings_latest_mv_next.accounts_dm.product_type_id, investment_holdings_latest_mv_next.asset_id, investment_holdings_latest_mv_next.type ]
└── MergeExecutor
    ├── output: [ investment_holdings_latest_mv_next.account_id, investment_holdings_latest_mv_next.currency_code, investment_holdings_latest_mv_next.market_value, investment_holdings_latest_mv_next.fair_value, investment_holdings_latest_mv_next.market_value_system_currency, investment_holdings_latest_mv_next.fair_value_system_currency, investment_holdings_latest_mv_next.accounts_dm.product_type_id, investment_holdings_latest_mv_next.asset_id, investment_holdings_latest_mv_next.type ]
    └── stream key: [ investment_holdings_latest_mv_next.accounts_dm.product_type_id, investment_holdings_latest_mv_next.account_id, investment_holdings_latest_mv_next.asset_id, investment_holdings_latest_mv_next.type ]

Fragment 19716 (Actor 165410,165411)
StreamTableScan { table: investment_holdings_latest_mv_next, columns: [account_id, currency_code, market_value, fair_value, market_value_system_currency, fair_value_system_currency, accounts_dm.product_type_id, asset_id, type] }
├── output: [ investment_holdings_latest_mv_next.account_id, investment_holdings_latest_mv_next.currency_code, investment_holdings_latest_mv_next.market_value, investment_holdings_latest_mv_next.fair_value, investment_holdings_latest_mv_next.market_value_system_currency, investment_holdings_latest_mv_next.fair_value_system_currency, investment_holdings_latest_mv_next.accounts_dm.product_type_id, investment_holdings_latest_mv_next.asset_id, investment_holdings_latest_mv_next.type ]
├── stream key: [ investment_holdings_latest_mv_next.accounts_dm.product_type_id, investment_holdings_latest_mv_next.account_id, investment_holdings_latest_mv_next.asset_id, investment_holdings_latest_mv_next.type ]
├── Upstream { output: [ account_id, currency_code, market_value, fair_value, market_value_system_currency, fair_value_system_currency, accounts_dm.product_type_id, asset_id, type ], stream key: [] }
└── BatchPlanNode { output: [ account_id, currency_code, market_value, fair_value, market_value_system_currency, fair_value_system_currency, accounts_dm.product_type_id, asset_id, type ], stream key: [] }

Fragment 19717 (Actor 165441,165440)
StreamLocalityProvider { locality_columns: [account_to_account_groups_mv.account_id] }
├── output:
│   ┌── account_to_account_groups_mv.account_id
│   ├── account_to_account_groups_mv.account_group_id
│   ├── account_to_account_groups_mv.open_accounts_mv.account_id
│   ├── account_to_account_groups_mv.null:Varchar
│   ├── account_to_account_groups_mv.null:Date
│   ├── account_to_account_groups_mv.null:Varchar#1
│   ├── account_to_account_groups_mv.null:Date#1
│   ├── account_to_account_groups_mv.null:Int32
│   ├── account_to_account_groups_mv.null:Varchar#2
│   ├── account_to_account_groups_mv.null:Varchar#3
│   ├── account_to_account_groups_mv.null:Varchar#4
│   ├── account_to_account_groups_mv.$src
│   ├── account_to_account_groups_mv.account_groups_mv_next.open_accounts_mv.account_id
│   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar
│   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar#1
│   └── account_to_account_groups_mv.account_groups_mv_next.$src
├── stream key:
│   ┌── account_to_account_groups_mv.account_id
│   ├── account_to_account_groups_mv.account_group_id
│   ├── account_to_account_groups_mv.open_accounts_mv.account_id
│   ├── account_to_account_groups_mv.null:Varchar
│   ├── account_to_account_groups_mv.null:Date
│   ├── account_to_account_groups_mv.null:Varchar#1
│   ├── account_to_account_groups_mv.null:Date#1
│   ├── account_to_account_groups_mv.null:Int32
│   ├── account_to_account_groups_mv.null:Varchar#2
│   ├── account_to_account_groups_mv.null:Varchar#3
│   ├── account_to_account_groups_mv.null:Varchar#4
│   ├── account_to_account_groups_mv.$src
│   ├── account_to_account_groups_mv.account_groups_mv_next.open_accounts_mv.account_id
│   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar
│   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar#1
│   └── account_to_account_groups_mv.account_groups_mv_next.$src
└── MergeExecutor
    ├── output:
    │   ┌── account_to_account_groups_mv.account_id
    │   ├── account_to_account_groups_mv.account_group_id
    │   ├── account_to_account_groups_mv.open_accounts_mv.account_id
    │   ├── account_to_account_groups_mv.null:Varchar
    │   ├── account_to_account_groups_mv.null:Date
    │   ├── account_to_account_groups_mv.null:Varchar#1
    │   ├── account_to_account_groups_mv.null:Date#1
    │   ├── account_to_account_groups_mv.null:Int32
    │   ├── account_to_account_groups_mv.null:Varchar#2
    │   ├── account_to_account_groups_mv.null:Varchar#3
    │   ├── account_to_account_groups_mv.null:Varchar#4
    │   ├── account_to_account_groups_mv.$src
    │   ├── account_to_account_groups_mv.account_groups_mv_next.open_accounts_mv.account_id
    │   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar
    │   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar#1
    │   └── account_to_account_groups_mv.account_groups_mv_next.$src
    └── stream key:
        ┌── account_to_account_groups_mv.account_group_id
        ├── account_to_account_groups_mv.account_id
        ├── account_to_account_groups_mv.open_accounts_mv.account_id
        ├── account_to_account_groups_mv.null:Varchar
        ├── account_to_account_groups_mv.null:Date
        ├── account_to_account_groups_mv.null:Varchar#1
        ├── account_to_account_groups_mv.null:Date#1
        ├── account_to_account_groups_mv.null:Int32
        ├── account_to_account_groups_mv.null:Varchar#2
        ├── account_to_account_groups_mv.null:Varchar#3
        ├── account_to_account_groups_mv.null:Varchar#4
        ├── account_to_account_groups_mv.$src
        ├── account_to_account_groups_mv.account_groups_mv_next.open_accounts_mv.account_id
        ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar
        ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar#1
        └── account_to_account_groups_mv.account_groups_mv_next.$src

Fragment 19718 (Actor 165407,165406)
StreamProject { exprs: [account_to_account_groups_mv.account_id, account_to_account_groups_mv.account_group_id, account_to_account_groups_mv.open_accounts_mv.account_id, account_to_account_groups_mv.null:Varchar, account_to_account_groups_mv.null:Date, account_to_account_groups_mv.null:Varchar#1, account_to_account_groups_mv.null:Date#1, account_to_account_groups_mv.null:Int32, account_to_account_groups_mv.null:Varchar#2, account_to_account_groups_mv.null:Varchar#3, account_to_account_groups_mv.null:Varchar#4, account_to_account_groups_mv.$src, account_to_account_groups_mv.account_groups_mv_next.open_accounts_mv.account_id, account_to_account_groups_mv.account_groups_mv_next.null:Varchar, account_to_account_groups_mv.account_groups_mv_next.null:Varchar#1, account_to_account_groups_mv.account_groups_mv_next.$src] }
├── output: [ account_to_account_groups_mv.account_id, account_to_account_groups_mv.account_group_id, account_to_account_groups_mv.open_accounts_mv.account_id, account_to_account_groups_mv.null:Varchar, account_to_account_groups_mv.null:Date, account_to_account_groups_mv.null:Varchar#1, account_to_account_groups_mv.null:Date#1, account_to_account_groups_mv.null:Int32, account_to_account_groups_mv.null:Varchar#2, account_to_account_groups_mv.null:Varchar#3, account_to_account_groups_mv.null:Varchar#4, account_to_account_groups_mv.$src, account_to_account_groups_mv.account_groups_mv_next.open_accounts_mv.account_id, account_to_account_groups_mv.account_groups_mv_next.null:Varchar, account_to_account_groups_mv.account_groups_mv_next.null:Varchar#1, account_to_account_groups_mv.account_groups_mv_next.$src ]
├── stream key: [ account_to_account_groups_mv.account_group_id, account_to_account_groups_mv.account_id, account_to_account_groups_mv.open_accounts_mv.account_id, account_to_account_groups_mv.null:Varchar, account_to_account_groups_mv.null:Date, account_to_account_groups_mv.null:Varchar#1, account_to_account_groups_mv.null:Date#1, account_to_account_groups_mv.null:Int32, account_to_account_groups_mv.null:Varchar#2, account_to_account_groups_mv.null:Varchar#3, account_to_account_groups_mv.null:Varchar#4, account_to_account_groups_mv.$src, account_to_account_groups_mv.account_groups_mv_next.open_accounts_mv.account_id, account_to_account_groups_mv.account_groups_mv_next.null:Varchar, account_to_account_groups_mv.account_groups_mv_next.null:Varchar#1, account_to_account_groups_mv.account_groups_mv_next.$src ]
└── StreamFilter { predicate: IsNotNull(account_to_account_groups_mv.account_group_id) AND IsNull(account_to_account_groups_mv.effective_end_date) }
    ├── output:
    │   ┌── account_to_account_groups_mv.account_id
    │   ├── account_to_account_groups_mv.account_group_id
    │   ├── account_to_account_groups_mv.open_accounts_mv.account_id
    │   ├── account_to_account_groups_mv.null:Varchar
    │   ├── account_to_account_groups_mv.null:Date
    │   ├── account_to_account_groups_mv.null:Varchar#1
    │   ├── account_to_account_groups_mv.null:Date#1
    │   ├── account_to_account_groups_mv.null:Int32
    │   ├── account_to_account_groups_mv.null:Varchar#2
    │   ├── account_to_account_groups_mv.null:Varchar#3
    │   ├── account_to_account_groups_mv.null:Varchar#4
    │   ├── account_to_account_groups_mv.$src
    │   ├── account_to_account_groups_mv.account_groups_mv_next.open_accounts_mv.account_id
    │   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar
    │   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar#1
    │   ├── account_to_account_groups_mv.account_groups_mv_next.$src
    │   └── account_to_account_groups_mv.effective_end_date
    ├── stream key: [ account_to_account_groups_mv.account_group_id, account_to_account_groups_mv.account_id, account_to_account_groups_mv.open_accounts_mv.account_id, account_to_account_groups_mv.null:Varchar, account_to_account_groups_mv.null:Date, account_to_account_groups_mv.null:Varchar#1, account_to_account_groups_mv.null:Date#1, account_to_account_groups_mv.null:Int32, account_to_account_groups_mv.null:Varchar#2, account_to_account_groups_mv.null:Varchar#3, account_to_account_groups_mv.null:Varchar#4, account_to_account_groups_mv.$src, account_to_account_groups_mv.account_groups_mv_next.open_accounts_mv.account_id, account_to_account_groups_mv.account_groups_mv_next.null:Varchar, account_to_account_groups_mv.account_groups_mv_next.null:Varchar#1, account_to_account_groups_mv.account_groups_mv_next.$src ]
    └── StreamTableScan { table: account_to_account_groups_mv, columns: [account_id, account_group_id, open_accounts_mv.account_id, null:Varchar, null:Date, null:Varchar#1, null:Date#1, null:Int32, null:Varchar#2, null:Varchar#3, null:Varchar#4, $src, account_groups_mv_next.open_accounts_mv.account_id, account_groups_mv_next.null:Varchar, account_groups_mv_next.null:Varchar#1, account_groups_mv_next.$src, effective_end_date] }
        ├── output:
        │   ┌── account_to_account_groups_mv.account_id
        │   ├── account_to_account_groups_mv.account_group_id
        │   ├── account_to_account_groups_mv.open_accounts_mv.account_id
        │   ├── account_to_account_groups_mv.null:Varchar
        │   ├── account_to_account_groups_mv.null:Date
        │   ├── account_to_account_groups_mv.null:Varchar#1
        │   ├── account_to_account_groups_mv.null:Date#1
        │   ├── account_to_account_groups_mv.null:Int32
        │   ├── account_to_account_groups_mv.null:Varchar#2
        │   ├── account_to_account_groups_mv.null:Varchar#3
        │   ├── account_to_account_groups_mv.null:Varchar#4
        │   ├── account_to_account_groups_mv.$src
        │   ├── account_to_account_groups_mv.account_groups_mv_next.open_accounts_mv.account_id
        │   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar
        │   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar#1
        │   ├── account_to_account_groups_mv.account_groups_mv_next.$src
        │   └── account_to_account_groups_mv.effective_end_date
        ├── stream key:
        │   ┌── account_to_account_groups_mv.account_group_id
        │   ├── account_to_account_groups_mv.account_id
        │   ├── account_to_account_groups_mv.open_accounts_mv.account_id
        │   ├── account_to_account_groups_mv.null:Varchar
        │   ├── account_to_account_groups_mv.null:Date
        │   ├── account_to_account_groups_mv.null:Varchar#1
        │   ├── account_to_account_groups_mv.null:Date#1
        │   ├── account_to_account_groups_mv.null:Int32
        │   ├── account_to_account_groups_mv.null:Varchar#2
        │   ├── account_to_account_groups_mv.null:Varchar#3
        │   ├── account_to_account_groups_mv.null:Varchar#4
        │   ├── account_to_account_groups_mv.$src
        │   ├── account_to_account_groups_mv.account_groups_mv_next.open_accounts_mv.account_id
        │   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar
        │   ├── account_to_account_groups_mv.account_groups_mv_next.null:Varchar#1
        │   └── account_to_account_groups_mv.account_groups_mv_next.$src
        ├── Upstream { output: [ account_id, account_group_id, open_accounts_mv.account_id, null:Varchar, null:Date, null:Varchar#1, null:Date#1, null:Int32, null:Varchar#2, null:Varchar#3, null:Varchar#4, $src, account_groups_mv_next.open_accounts_mv.account_id, account_groups_mv_next.null:Varchar, account_groups_mv_next.null:Varchar#1, account_groups_mv_next.$src, effective_end_date ], stream key: [] }
        └── BatchPlanNode { output: [ account_id, account_group_id, open_accounts_mv.account_id, null:Varchar, null:Date, null:Varchar#1, null:Date#1, null:Int32, null:Varchar#2, null:Varchar#3, null:Varchar#4, $src, account_groups_mv_next.open_accounts_mv.account_id, account_groups_mv_next.null:Varchar, account_groups_mv_next.null:Varchar#1, account_groups_mv_next.$src, effective_end_date ], stream key: [] }

Fragment 19719 (Actor 165402,165403)
StreamLocalityProvider { locality_columns: [party_to_account_groups_mv.account_group_id, position_snapshot_mv_next.account_group_id] }
├── output: [ position_snapshot_mv_next.account_group_id, min(lifecycle_profiles.base_currency_code), party_to_account_groups_mv.party_id, party_to_account_groups_mv.account_group_id, party_to_account_groups_mv.type, position_snapshot_mv_next.currency_code, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, party_active_customer_relationships_mv.party_id, party_to_account_groups_mv.parties.id, party_to_account_groups_mv.null:Varchar, party_to_account_groups_mv.$src ]
├── stream key: [ party_to_account_groups_mv.account_group_id, position_snapshot_mv_next.account_group_id, position_snapshot_mv_next.currency_code, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, party_active_customer_relationships_mv.party_id, party_to_account_groups_mv.parties.id, party_to_account_groups_mv.null:Varchar, party_to_account_groups_mv.$src ]
└── MergeExecutor
    ├── output: [ position_snapshot_mv_next.account_group_id, min(lifecycle_profiles.base_currency_code), party_to_account_groups_mv.party_id, party_to_account_groups_mv.account_group_id, party_to_account_groups_mv.type, position_snapshot_mv_next.currency_code, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, party_active_customer_relationships_mv.party_id, party_to_account_groups_mv.parties.id, party_to_account_groups_mv.null:Varchar, party_to_account_groups_mv.$src ]
    └── stream key: [ position_snapshot_mv_next.account_group_id, position_snapshot_mv_next.currency_code, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, party_active_customer_relationships_mv.party_id, party_to_account_groups_mv.parties.id, party_to_account_groups_mv.null:Varchar, party_to_account_groups_mv.$src ]

Fragment 19720 (Actor 165442,165443)
StreamSyncLogStore
├── output: [ position_snapshot_mv_next.account_group_id, min(lifecycle_profiles.base_currency_code), party_to_account_groups_mv.party_id, party_to_account_groups_mv.account_group_id, party_to_account_groups_mv.type, position_snapshot_mv_next.currency_code, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, party_active_customer_relationships_mv.party_id, party_to_account_groups_mv.parties.id, party_to_account_groups_mv.null:Varchar, party_to_account_groups_mv.$src ]
├── stream key: [ position_snapshot_mv_next.account_group_id, position_snapshot_mv_next.currency_code, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, party_active_customer_relationships_mv.party_id, party_to_account_groups_mv.parties.id, party_to_account_groups_mv.null:Varchar, party_to_account_groups_mv.$src ]
└── StreamHashJoin { type: Inner, predicate: position_snapshot_mv_next.account_group_id = party_to_account_groups_mv.account_group_id AND position_snapshot_mv_next.currency_code = min(lifecycle_profiles.base_currency_code) }
    ├── output: [ position_snapshot_mv_next.account_group_id, min(lifecycle_profiles.base_currency_code), party_to_account_groups_mv.party_id, party_to_account_groups_mv.account_group_id, party_to_account_groups_mv.type, position_snapshot_mv_next.currency_code, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, party_active_customer_relationships_mv.party_id, party_to_account_groups_mv.parties.id, party_to_account_groups_mv.null:Varchar, party_to_account_groups_mv.$src ]
    ├── stream key: [ position_snapshot_mv_next.account_group_id, position_snapshot_mv_next.currency_code, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, party_active_customer_relationships_mv.party_id, party_to_account_groups_mv.parties.id, party_to_account_groups_mv.null:Varchar, party_to_account_groups_mv.$src ]
    ├── MergeExecutor { output: [ position_snapshot_mv_next.account_group_id, position_snapshot_mv_next.currency_code, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag ], stream key: [ position_snapshot_mv_next.account_group_id, position_snapshot_mv_next.currency_code, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag ] }
    └── MergeExecutor { output: [ min(lifecycle_profiles.base_currency_code), party_to_account_groups_mv.party_id, party_to_account_groups_mv.account_group_id, party_to_account_groups_mv.type, party_active_customer_relationships_mv.party_id, party_to_account_groups_mv.parties.id, party_to_account_groups_mv.null:Varchar, party_to_account_groups_mv.$src ], stream key: [ party_to_account_groups_mv.account_group_id, min(lifecycle_profiles.base_currency_code), party_active_customer_relationships_mv.party_id, party_to_account_groups_mv.parties.id, party_to_account_groups_mv.null:Varchar, party_to_account_groups_mv.$src ] }

Fragment 19721 (Actor 165444,165445)
StreamLocalityProvider { locality_columns: [position_snapshot_mv_next.account_group_id, position_snapshot_mv_next.currency_code] } { output: [ position_snapshot_mv_next.account_group_id, position_snapshot_mv_next.currency_code, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag ], stream key: [ position_snapshot_mv_next.account_group_id, position_snapshot_mv_next.currency_code, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag ] }
└── MergeExecutor { output: [ position_snapshot_mv_next.account_group_id, position_snapshot_mv_next.currency_code, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag ], stream key: [ position_snapshot_mv_next.account_group_id, position_snapshot_mv_next.currency_code, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag ] }

Fragment 19722 (Actor 165436,165437)
StreamProject { exprs: [position_snapshot_mv_next.account_group_id, position_snapshot_mv_next.currency_code, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag] } { output: [ position_snapshot_mv_next.account_group_id, position_snapshot_mv_next.currency_code, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag ], stream key: [ position_snapshot_mv_next.account_group_id, position_snapshot_mv_next.currency_code, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag ] }
└── StreamFilter { predicate: (position_snapshot_mv_next.position_type = 'POSITION':Varchar) } { output: [ position_snapshot_mv_next.account_group_id, position_snapshot_mv_next.currency_code, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, position_snapshot_mv_next.position_type ], stream key: [ position_snapshot_mv_next.account_group_id, position_snapshot_mv_next.currency_code, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag ] }
    └── StreamTableScan { table: position_snapshot_mv_next, columns: [account_group_id, currency_code, holding_values_latest_mv_next.type_expanded, flag, position_type] } { output: [ position_snapshot_mv_next.account_group_id, position_snapshot_mv_next.currency_code, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, position_snapshot_mv_next.position_type ], stream key: [ position_snapshot_mv_next.account_group_id, position_snapshot_mv_next.currency_code, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag ] }
        ├── Upstream { output: [ account_group_id, currency_code, holding_values_latest_mv_next.type_expanded, flag, position_type ], stream key: [] }
        └── BatchPlanNode { output: [ account_group_id, currency_code, holding_values_latest_mv_next.type_expanded, flag, position_type ], stream key: [] }

Fragment 19723 (Actor 165433,165432)
StreamLocalityProvider { locality_columns: [party_to_account_groups_mv.account_group_id, min(lifecycle_profiles.base_currency_code)] } { output: [ min(lifecycle_profiles.base_currency_code), party_to_account_groups_mv.party_id, party_to_account_groups_mv.account_group_id, party_to_account_groups_mv.type, party_active_customer_relationships_mv.party_id, party_to_account_groups_mv.parties.id, party_to_account_groups_mv.null:Varchar, party_to_account_groups_mv.$src ], stream key: [ party_to_account_groups_mv.account_group_id, min(lifecycle_profiles.base_currency_code), party_active_customer_relationships_mv.party_id, party_to_account_groups_mv.parties.id, party_to_account_groups_mv.null:Varchar, party_to_account_groups_mv.$src ] }
└── MergeExecutor { output: [ min(lifecycle_profiles.base_currency_code), party_to_account_groups_mv.party_id, party_to_account_groups_mv.account_group_id, party_to_account_groups_mv.type, party_active_customer_relationships_mv.party_id, party_to_account_groups_mv.parties.id, party_to_account_groups_mv.null:Varchar, party_to_account_groups_mv.$src ], stream key: [ party_active_customer_relationships_mv.party_id, party_to_account_groups_mv.parties.id, party_to_account_groups_mv.null:Varchar, party_to_account_groups_mv.$src ] }

Fragment 19724 (Actor 165427,165426)
StreamSyncLogStore { output: [ min(lifecycle_profiles.base_currency_code), party_to_account_groups_mv.party_id, party_to_account_groups_mv.account_group_id, party_to_account_groups_mv.type, party_active_customer_relationships_mv.party_id, party_to_account_groups_mv.parties.id, party_to_account_groups_mv.null:Varchar, party_to_account_groups_mv.$src ], stream key: [ party_active_customer_relationships_mv.party_id, party_to_account_groups_mv.parties.id, party_to_account_groups_mv.null:Varchar, party_to_account_groups_mv.$src ] }
└── StreamHashJoin { type: Inner, predicate: party_active_customer_relationships_mv.party_id = party_to_account_groups_mv.party_id } { output: [ min(lifecycle_profiles.base_currency_code), party_to_account_groups_mv.party_id, party_to_account_groups_mv.account_group_id, party_to_account_groups_mv.type, party_active_customer_relationships_mv.party_id, party_to_account_groups_mv.parties.id, party_to_account_groups_mv.null:Varchar, party_to_account_groups_mv.$src ], stream key: [ party_active_customer_relationships_mv.party_id, party_to_account_groups_mv.parties.id, party_to_account_groups_mv.null:Varchar, party_to_account_groups_mv.$src ] }
    ├── MergeExecutor { output: [ party_active_customer_relationships_mv.party_id, min(lifecycle_profiles.base_currency_code) ], stream key: [ party_active_customer_relationships_mv.party_id ] }
    └── MergeExecutor { output: [ party_to_account_groups_mv.party_id, party_to_account_groups_mv.account_group_id, party_to_account_groups_mv.type, party_to_account_groups_mv.parties.id, party_to_account_groups_mv.null:Varchar, party_to_account_groups_mv.$src ], stream key: [ party_to_account_groups_mv.party_id, party_to_account_groups_mv.parties.id, party_to_account_groups_mv.null:Varchar, party_to_account_groups_mv.$src ] }

Fragment 19725 (Actor 165415,165414)
StreamProject { exprs: [party_active_customer_relationships_mv.party_id, min(lifecycle_profiles.base_currency_code)] } { output: [ party_active_customer_relationships_mv.party_id, min(lifecycle_profiles.base_currency_code) ], stream key: [ party_active_customer_relationships_mv.party_id ] }
└── StreamHashAgg { group_key: [party_active_customer_relationships_mv.party_id], aggs: [min(lifecycle_profiles.base_currency_code), count] } { output: [ party_active_customer_relationships_mv.party_id, min(lifecycle_profiles.base_currency_code), count ], stream key: [ party_active_customer_relationships_mv.party_id ] }
    └── StreamLocalityProvider { locality_columns: [party_active_customer_relationships_mv.party_id] } { output: [ party_active_customer_relationships_mv.party_id, lifecycle_profiles.base_currency_code, party_active_customer_relationships_mv.customer_relationship_id, lifecycle_profiles.customer_relationship_id, lifecycle_profiles.id ], stream key: [ party_active_customer_relationships_mv.party_id, party_active_customer_relationships_mv.customer_relationship_id, lifecycle_profiles.id ] }
        └── MergeExecutor { output: [ party_active_customer_relationships_mv.party_id, lifecycle_profiles.base_currency_code, party_active_customer_relationships_mv.customer_relationship_id, lifecycle_profiles.customer_relationship_id, lifecycle_profiles.id ], stream key: [ party_active_customer_relationships_mv.customer_relationship_id, lifecycle_profiles.id ] }

Fragment 19726 (Actor 165409,165408)
StreamSyncLogStore { output: [ party_active_customer_relationships_mv.party_id, lifecycle_profiles.base_currency_code, party_active_customer_relationships_mv.customer_relationship_id, lifecycle_profiles.customer_relationship_id, lifecycle_profiles.id ], stream key: [ party_active_customer_relationships_mv.customer_relationship_id, lifecycle_profiles.id ] }
└── StreamHashJoin { type: Inner, predicate: party_active_customer_relationships_mv.customer_relationship_id = lifecycle_profiles.customer_relationship_id } { output: [ party_active_customer_relationships_mv.party_id, lifecycle_profiles.base_currency_code, party_active_customer_relationships_mv.customer_relationship_id, lifecycle_profiles.customer_relationship_id, lifecycle_profiles.id ], stream key: [ party_active_customer_relationships_mv.customer_relationship_id, lifecycle_profiles.id ] }
    ├── MergeExecutor { output: [ party_active_customer_relationships_mv.party_id, party_active_customer_relationships_mv.customer_relationship_id ], stream key: [ party_active_customer_relationships_mv.customer_relationship_id ] }
    └── MergeExecutor { output: [ lifecycle_profiles.customer_relationship_id, lifecycle_profiles.base_currency_code, lifecycle_profiles.id ], stream key: [ lifecycle_profiles.customer_relationship_id, lifecycle_profiles.id ] }

Fragment 19727 (Actor 165416,165417)
StreamTableScan { table: party_active_customer_relationships_mv, columns: [party_id, customer_relationship_id] } { output: [ party_active_customer_relationships_mv.party_id, party_active_customer_relationships_mv.customer_relationship_id ], stream key: [ party_active_customer_relationships_mv.customer_relationship_id ] }
├── Upstream { output: [ party_id, customer_relationship_id ], stream key: [] }
└── BatchPlanNode { output: [ party_id, customer_relationship_id ], stream key: [] }

Fragment 19728 (Actor 165428,165429)
StreamLocalityProvider { locality_columns: [lifecycle_profiles.customer_relationship_id] } { output: [ lifecycle_profiles.customer_relationship_id, lifecycle_profiles.base_currency_code, lifecycle_profiles.id ], stream key: [ lifecycle_profiles.customer_relationship_id, lifecycle_profiles.id ] }
└── MergeExecutor { output: [ lifecycle_profiles.customer_relationship_id, lifecycle_profiles.base_currency_code, lifecycle_profiles.id ], stream key: [ lifecycle_profiles.id ] }

Fragment 19729 (Actor 165431,165430)
StreamProject { exprs: [lifecycle_profiles.customer_relationship_id, lifecycle_profiles.base_currency_code, lifecycle_profiles.id] } { output: [ lifecycle_profiles.customer_relationship_id, lifecycle_profiles.base_currency_code, lifecycle_profiles.id ], stream key: [ lifecycle_profiles.id ] }
└── StreamFilter { predicate: IsNull(lifecycle_profiles.disabled_at) } { output: [ lifecycle_profiles.customer_relationship_id, lifecycle_profiles.base_currency_code, lifecycle_profiles.id, lifecycle_profiles.disabled_at ], stream key: [ lifecycle_profiles.id ] }
    └── StreamTableScan { table: lifecycle_profiles, columns: [customer_relationship_id, base_currency_code, id, disabled_at] } { output: [ lifecycle_profiles.customer_relationship_id, lifecycle_profiles.base_currency_code, lifecycle_profiles.id, lifecycle_profiles.disabled_at ], stream key: [ lifecycle_profiles.id ] }
        ├── Upstream { output: [ customer_relationship_id, base_currency_code, id, disabled_at ], stream key: [] }
        └── BatchPlanNode { output: [ customer_relationship_id, base_currency_code, id, disabled_at ], stream key: [] }

Fragment 19730 (Actor 165434,165435)
StreamLocalityProvider { locality_columns: [party_to_account_groups_mv.party_id] } { output: [ party_to_account_groups_mv.party_id, party_to_account_groups_mv.account_group_id, party_to_account_groups_mv.type, party_to_account_groups_mv.parties.id, party_to_account_groups_mv.null:Varchar, party_to_account_groups_mv.$src ], stream key: [ party_to_account_groups_mv.party_id, party_to_account_groups_mv.parties.id, party_to_account_groups_mv.null:Varchar, party_to_account_groups_mv.$src ] }
└── MergeExecutor { output: [ party_to_account_groups_mv.party_id, party_to_account_groups_mv.account_group_id, party_to_account_groups_mv.type, party_to_account_groups_mv.parties.id, party_to_account_groups_mv.null:Varchar, party_to_account_groups_mv.$src ], stream key: [ party_to_account_groups_mv.parties.id, party_to_account_groups_mv.null:Varchar, party_to_account_groups_mv.$src ] }

Fragment 19731 (Actor 165446,165447)
StreamTableScan { table: party_to_account_groups_mv, columns: [party_id, account_group_id, type, parties.id, null:Varchar, $src] } { output: [ party_to_account_groups_mv.party_id, party_to_account_groups_mv.account_group_id, party_to_account_groups_mv.type, party_to_account_groups_mv.parties.id, party_to_account_groups_mv.null:Varchar, party_to_account_groups_mv.$src ], stream key: [ party_to_account_groups_mv.parties.id, party_to_account_groups_mv.null:Varchar, party_to_account_groups_mv.$src ] }
├── Upstream { output: [ party_id, account_group_id, type, parties.id, null:Varchar, $src ], stream key: [] }
└── BatchPlanNode { output: [ party_id, account_group_id, type, parties.id, null:Varchar, $src ], stream key: [] }

Fragment 19732 (Actor 165419,165418)
StreamTableScan { table: fx_rates_snapshot_mv, columns: [source_currency_code, target_currency_code, rate] } { output: [ fx_rates_snapshot_mv.source_currency_code, fx_rates_snapshot_mv.target_currency_code, fx_rates_snapshot_mv.rate ], stream key: [ fx_rates_snapshot_mv.source_currency_code, fx_rates_snapshot_mv.target_currency_code ] }
├── Upstream { output: [ source_currency_code, target_currency_code, rate ], stream key: [] }
└── BatchPlanNode { output: [ source_currency_code, target_currency_code, rate ], stream key: [] }