RWM Console cluster: risingwave-adib.adib-rw.svc.cluster.local

← cluster adib_rm objects sdk_home_overview_mv explain
Overview Objects Graph History
materialized view · adib_rm.sdk_home_overview_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 lookups
99 operators
Materialize · adib_rm.sdk_home_overview_mv
0% idle 2 actors
Project
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
SyncLogStore · LeftOuter · clients_dm.id = client_top_allocations_by_sector_mv_next.cl…
2 actors
HashJoin · LeftOuter · clients_dm.id = client_top_allocations_by_sector_mv_next.cl… 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
Filter · client_top_allocations_by_sector_mv_next
0% idle 2 actors
StreamScan · client_top_allocations_by_sector_mv_next
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
SyncLogStore · LeftOuter · clients_dm.id = client_top_allocations_by_asset_type_mv_nex…
2 actors
HashJoin · LeftOuter · clients_dm.id = client_top_allocations_by_asset_type_mv_nex… 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
Filter · client_top_allocations_by_asset_type_mv_next
0% idle 2 actors
StreamScan · client_top_allocations_by_asset_type_mv_next
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
SyncLogStore · LeftOuter · clients_dm.id = client_top_allocations_mv_next.client_id
2 actors
HashJoin · LeftOuter · clients_dm.id = client_top_allocations_mv_next.client_id 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
Filter · client_top_allocations_mv_next
0% idle 2 actors
StreamScan · client_top_allocations_mv_next
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
SyncLogStore · LeftOuter · clients_dm.id = client_cash_tiles_mv_next.client_id
2 actors
HashJoin · LeftOuter · clients_dm.id = client_cash_tiles_mv_next.client_id 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 · client_cash_tiles_mv_next
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
SyncLogStore · LeftOuter · clients_dm.id = client_portfolios_mv_next.client_id
2 actors
HashJoin · LeftOuter · clients_dm.id = client_portfolios_mv_next.client_id 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 · client_portfolios_mv_next
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
SyncLogStore · LeftOuter · client_to_account_groups_mv.account_group_id = intraday_pos…
2 actors
HashJoin · LeftOuter · client_to_account_groups_mv.account_group_id = intraday_pos… 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
Filter · intraday_position_summary_mv_next
0% idle 2 actors
StreamScan · intraday_position_summary_mv_next
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
SyncLogStore · LeftOuter · client_to_account_groups_mv.account_group_id = pnl_snapshot…
2 actors
HashJoin · LeftOuter · client_to_account_groups_mv.account_group_id = pnl_snapshot… 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
Filter · pnl_snapshot_mv_next
0% idle 2 actors
StreamScan · pnl_snapshot_mv_next
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
SyncLogStore · LeftOuter · client_to_account_groups_mv.account_group_id = position_sna…
2 actors
HashJoin · LeftOuter · client_to_account_groups_mv.account_group_id = position_sna… 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
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
SyncLogStore · LeftOuter · clients_dm.id = client_to_account_groups_mv.client_id
2 actors
HashJoin · LeftOuter · clients_dm.id = client_to_account_groups_mv.client_id 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
Project · client_to_account_groups_mv
2 actors
Filter · client_to_account_groups_mv
0% idle 2 actors
StreamScan · client_to_account_groups_mv
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project · clients_dm
2 actors
Filter · clients_dm
0% idle 2 actors
StreamScan · clients_dm
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 · adib_rm.sdk_home_overview_mv Materialize adib_rm.sdk_home_overvi… idle · 2 actors Project Project — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors SyncLogStore · LeftOuter · clients_dm.id = client_top_allocations_by_sector_mv_next.cl… SyncLogStore LeftOuter · clients_dm.… — · 2 actors HashJoin · LeftOuter · clients_dm.id = client_top_allocations_by_sector_mv_next.cl… HashJoin LeftOuter · clients_dm.… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Filter · client_top_allocations_by_sector_mv_next Filter client_top_allocations_… idle · 2 actors StreamScan · client_top_allocations_by_sector_mv_next StreamScan client_top_allocations_… idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors SyncLogStore · LeftOuter · clients_dm.id = client_top_allocations_by_asset_type_mv_nex… SyncLogStore LeftOuter · clients_dm.… — · 2 actors HashJoin · LeftOuter · clients_dm.id = client_top_allocations_by_asset_type_mv_nex… HashJoin LeftOuter · clients_dm.… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Filter · client_top_allocations_by_asset_type_mv_next Filter client_top_allocations_… idle · 2 actors StreamScan · client_top_allocations_by_asset_type_mv_next StreamScan client_top_allocations_… idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors SyncLogStore · LeftOuter · clients_dm.id = client_top_allocations_mv_next.client_id SyncLogStore LeftOuter · clients_dm.… — · 2 actors HashJoin · LeftOuter · clients_dm.id = client_top_allocations_mv_next.client_id HashJoin LeftOuter · clients_dm.… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Filter · client_top_allocations_mv_next Filter client_top_allocations_… idle · 2 actors StreamScan · client_top_allocations_mv_next StreamScan client_top_allocations_… idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors SyncLogStore · LeftOuter · clients_dm.id = client_cash_tiles_mv_next.client_id SyncLogStore LeftOuter · clients_dm.… — · 2 actors HashJoin · LeftOuter · clients_dm.id = client_cash_tiles_mv_next.client_id HashJoin LeftOuter · clients_dm.… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors StreamScan · client_cash_tiles_mv_next StreamScan client_cash_tiles_mv_ne… idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors SyncLogStore · LeftOuter · clients_dm.id = client_portfolios_mv_next.client_id SyncLogStore LeftOuter · clients_dm.… — · 2 actors HashJoin · LeftOuter · clients_dm.id = client_portfolios_mv_next.client_id HashJoin LeftOuter · clients_dm.… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors StreamScan · client_portfolios_mv_next StreamScan client_portfolios_mv_ne… idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors SyncLogStore · LeftOuter · client_to_account_groups_mv.account_group_id = intraday_pos… SyncLogStore LeftOuter · client_to_a… — · 2 actors HashJoin · LeftOuter · client_to_account_groups_mv.account_group_id = intraday_pos… HashJoin LeftOuter · client_to_a… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Filter · intraday_position_summary_mv_next Filter intraday_position_summa… idle · 2 actors StreamScan · intraday_position_summary_mv_next StreamScan intraday_position_summa… idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors SyncLogStore · LeftOuter · client_to_account_groups_mv.account_group_id = pnl_snapshot… SyncLogStore LeftOuter · client_to_a… — · 2 actors HashJoin · LeftOuter · client_to_account_groups_mv.account_group_id = pnl_snapshot… HashJoin LeftOuter · client_to_a… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Filter · pnl_snapshot_mv_next Filter pnl_snapshot_mv_next idle · 2 actors StreamScan · pnl_snapshot_mv_next StreamScan pnl_snapshot_mv_next idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors SyncLogStore · LeftOuter · client_to_account_groups_mv.account_group_id = position_sna… SyncLogStore LeftOuter · client_to_a… — · 2 actors HashJoin · LeftOuter · client_to_account_groups_mv.account_group_id = position_sna… HashJoin LeftOuter · client_to_a… 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 SyncLogStore · LeftOuter · clients_dm.id = client_to_account_groups_mv.client_id SyncLogStore LeftOuter · clients_dm.… — · 2 actors HashJoin · LeftOuter · clients_dm.id = client_to_account_groups_mv.client_id HashJoin LeftOuter · clients_dm.… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project · client_to_account_groups_mv Project client_to_account_group… — · 2 actors Filter · client_to_account_groups_mv Filter client_to_account_group… idle · 2 actors StreamScan · client_to_account_groups_mv StreamScan client_to_account_group… idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project · clients_dm Project clients_dm — · 2 actors Filter · clients_dm Filter clients_dm idle · 2 actors StreamScan · clients_dm StreamScan clients_dm 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 26133 (Actor 133434,133435)
StreamMaterialize { columns: [client_id, base_currency_code, total_market_value, total_market_value_system_currency, unrealized_gain_loss, portfolios, cash_tiles, favourites, top_allocations, top_allocations_asset_type, top_allocations_sector, client_to_account_groups_mv.$src(hidden), position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded(hidden), position_snapshot_mv_next.flag(hidden), client_to_account_groups_mv.account_group_id(hidden), pnl_snapshot_mv_next.position_type(hidden), intraday_position_summary_mv_next.position_type(hidden), client_top_allocations_mv_next.account_group_type(hidden), client_top_allocations_by_asset_type_mv_next.account_group_type(hidden), client_top_allocations_by_sector_mv_next.account_group_type(hidden)], stream_key: [client_id, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, base_currency_code, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type, client_top_allocations_mv_next.account_group_type, client_top_allocations_by_asset_type_mv_next.account_group_type, client_top_allocations_by_sector_mv_next.account_group_type], pk_columns: [client_id, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, base_currency_code, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type, client_top_allocations_mv_next.account_group_type, client_top_allocations_by_asset_type_mv_next.account_group_type, client_top_allocations_by_sector_mv_next.account_group_type], pk_conflict: NoCheck }
├── output: [ clients_dm.id, clients_dm.base_currency_code, $expr1, $expr2, $expr3, $expr4, $expr5, '[]':Jsonb, $expr6, $expr7, $expr8, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type, client_top_allocations_mv_next.account_group_type, client_top_allocations_by_asset_type_mv_next.account_group_type, client_top_allocations_by_sector_mv_next.account_group_type ]
├── stream key: [ clients_dm.id, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, clients_dm.base_currency_code, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type, client_top_allocations_mv_next.account_group_type, client_top_allocations_by_asset_type_mv_next.account_group_type, client_top_allocations_by_sector_mv_next.account_group_type ]
└── StreamProject
└─exprs:
  ┌─clients_dm.id
  ├─clients_dm.base_currency_code
  ├─Coalesce(intraday_position_summary_mv_next.market_value, position_snapshot_mv_next.market_value) as $expr1
  ├─Case(Not(IsNull(intraday_position_summary_mv_next.market_value)), intraday_position_summary_mv_next.market_value_system_currency, position_snapshot_mv_next.market_value_system_currency) as $expr2
  ├─JsonbBuildObject('value':Varchar, JsonbBuildObject('amount':Varchar, Case(Not(IsNull(intraday_position_summary_mv_next.market_value)), (intraday_position_summary_mv_next.market_value - intraday_position_summary_mv_next.total_average_cost)::Varchar, pnl_snapshot_mv_next.unrealized_gain_loss::Varchar), 'currencyCode':Varchar, clients_dm.base_currency_code), 'percentage':Varchar, Case(Not(IsNull(intraday_position_summary_mv_next.market_value)), Case((IsNull(intraday_position_summary_mv_next.total_average_cost) OR (intraday_position_summary_mv_next.total_average_cost = 0:Decimal)), null:Varchar, ((intraday_position_summary_mv_next.market_value - intraday_position_summary_mv_next.total_average_cost) / intraday_position_summary_mv_next.total_average_cost)::Varchar), Case((IsNull(pnl_snapshot_mv_next.total_average_cost) OR (pnl_snapshot_mv_next.total_average_cost = 0:Decimal)), null:Varchar, (pnl_snapshot_mv_next.unrealized_gain_loss / pnl_snapshot_mv_next.total_average_cost)::Varchar))) as $expr3
  ├─Coalesce(client_portfolios_mv_next.portfolios, '[]':Jsonb) as $expr4
  ├─Coalesce(client_cash_tiles_mv_next.cash_tiles, '[]':Jsonb) as $expr5
  ├─'[]':Jsonb
  ├─Coalesce(client_top_allocations_mv_next.top_allocations, '[]':Jsonb) as $expr6
  ├─Coalesce(client_top_allocations_by_asset_type_mv_next.top_allocations_asset_type, '[]':Jsonb) as $expr7
  ├─Coalesce(client_top_allocations_by_sector_mv_next.top_allocations_sector, '[]':Jsonb) as $expr8
  ├─client_to_account_groups_mv.$src
  ├─position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded
  ├─position_snapshot_mv_next.flag
  ├─client_to_account_groups_mv.account_group_id
  ├─pnl_snapshot_mv_next.position_type
  ├─intraday_position_summary_mv_next.position_type
  ├─client_top_allocations_mv_next.account_group_type
  ├─client_top_allocations_by_asset_type_mv_next.account_group_type
  └─client_top_allocations_by_sector_mv_next.account_group_type
    ├── output: [ clients_dm.id, clients_dm.base_currency_code, $expr1, $expr2, $expr3, $expr4, $expr5, '[]':Jsonb, $expr6, $expr7, $expr8, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type, client_top_allocations_mv_next.account_group_type, client_top_allocations_by_asset_type_mv_next.account_group_type, client_top_allocations_by_sector_mv_next.account_group_type ]
    ├── stream key: [ clients_dm.id, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, clients_dm.base_currency_code, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type, client_top_allocations_mv_next.account_group_type, client_top_allocations_by_asset_type_mv_next.account_group_type, client_top_allocations_by_sector_mv_next.account_group_type ]
    └── MergeExecutor { output: [ clients_dm.id, clients_dm.base_currency_code, position_snapshot_mv_next.market_value, position_snapshot_mv_next.market_value_system_currency, pnl_snapshot_mv_next.unrealized_gain_loss, pnl_snapshot_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value, intraday_position_summary_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value_system_currency, client_portfolios_mv_next.portfolios, client_cash_tiles_mv_next.cash_tiles, client_top_allocations_mv_next.top_allocations, client_top_allocations_by_asset_type_mv_next.top_allocations_asset_type, client_top_allocations_by_sector_mv_next.top_allocations_sector, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type, client_top_allocations_mv_next.account_group_type, client_top_allocations_by_asset_type_mv_next.account_group_type, client_top_allocations_by_sector_mv_next.client_id, client_top_allocations_by_sector_mv_next.account_group_type ], stream key: [ clients_dm.id, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, clients_dm.base_currency_code, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type, client_top_allocations_mv_next.account_group_type, client_top_allocations_by_asset_type_mv_next.account_group_type, client_top_allocations_by_sector_mv_next.account_group_type ] }

Fragment 26134 (Actor 133429,133428)
StreamSyncLogStore { output: [ clients_dm.id, clients_dm.base_currency_code, position_snapshot_mv_next.market_value, position_snapshot_mv_next.market_value_system_currency, pnl_snapshot_mv_next.unrealized_gain_loss, pnl_snapshot_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value, intraday_position_summary_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value_system_currency, client_portfolios_mv_next.portfolios, client_cash_tiles_mv_next.cash_tiles, client_top_allocations_mv_next.top_allocations, client_top_allocations_by_asset_type_mv_next.top_allocations_asset_type, client_top_allocations_by_sector_mv_next.top_allocations_sector, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type, client_top_allocations_mv_next.account_group_type, client_top_allocations_by_asset_type_mv_next.account_group_type, client_top_allocations_by_sector_mv_next.client_id, client_top_allocations_by_sector_mv_next.account_group_type ], stream key: [ clients_dm.id, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, clients_dm.base_currency_code, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type, client_top_allocations_mv_next.account_group_type, client_top_allocations_by_asset_type_mv_next.account_group_type, client_top_allocations_by_sector_mv_next.account_group_type ] }
└── StreamHashJoin { type: LeftOuter, predicate: clients_dm.id = client_top_allocations_by_sector_mv_next.client_id } { output: [ clients_dm.id, clients_dm.base_currency_code, position_snapshot_mv_next.market_value, position_snapshot_mv_next.market_value_system_currency, pnl_snapshot_mv_next.unrealized_gain_loss, pnl_snapshot_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value, intraday_position_summary_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value_system_currency, client_portfolios_mv_next.portfolios, client_cash_tiles_mv_next.cash_tiles, client_top_allocations_mv_next.top_allocations, client_top_allocations_by_asset_type_mv_next.top_allocations_asset_type, client_top_allocations_by_sector_mv_next.top_allocations_sector, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type, client_top_allocations_mv_next.account_group_type, client_top_allocations_by_asset_type_mv_next.account_group_type, client_top_allocations_by_sector_mv_next.client_id, client_top_allocations_by_sector_mv_next.account_group_type ], stream key: [ clients_dm.id, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, clients_dm.base_currency_code, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type, client_top_allocations_mv_next.account_group_type, client_top_allocations_by_asset_type_mv_next.account_group_type, client_top_allocations_by_sector_mv_next.account_group_type ] }
    ├── MergeExecutor { output: [ clients_dm.id, clients_dm.base_currency_code, position_snapshot_mv_next.market_value, position_snapshot_mv_next.market_value_system_currency, pnl_snapshot_mv_next.unrealized_gain_loss, pnl_snapshot_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value, intraday_position_summary_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value_system_currency, client_portfolios_mv_next.portfolios, client_cash_tiles_mv_next.cash_tiles, client_top_allocations_mv_next.top_allocations, client_top_allocations_by_asset_type_mv_next.top_allocations_asset_type, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type, client_top_allocations_mv_next.account_group_type, client_top_allocations_by_asset_type_mv_next.client_id, client_top_allocations_by_asset_type_mv_next.account_group_type ], stream key: [ clients_dm.id, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, clients_dm.base_currency_code, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type, client_top_allocations_mv_next.account_group_type, client_top_allocations_by_asset_type_mv_next.account_group_type ] }
    └── MergeExecutor { output: [ client_top_allocations_by_sector_mv_next.client_id, client_top_allocations_by_sector_mv_next.top_allocations_sector, client_top_allocations_by_sector_mv_next.account_group_type ], stream key: [ client_top_allocations_by_sector_mv_next.client_id, client_top_allocations_by_sector_mv_next.account_group_type ] }

Fragment 26135 (Actor 133431,133430)
StreamSyncLogStore { output: [ clients_dm.id, clients_dm.base_currency_code, position_snapshot_mv_next.market_value, position_snapshot_mv_next.market_value_system_currency, pnl_snapshot_mv_next.unrealized_gain_loss, pnl_snapshot_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value, intraday_position_summary_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value_system_currency, client_portfolios_mv_next.portfolios, client_cash_tiles_mv_next.cash_tiles, client_top_allocations_mv_next.top_allocations, client_top_allocations_by_asset_type_mv_next.top_allocations_asset_type, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type, client_top_allocations_mv_next.account_group_type, client_top_allocations_by_asset_type_mv_next.client_id, client_top_allocations_by_asset_type_mv_next.account_group_type ], stream key: [ clients_dm.id, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, clients_dm.base_currency_code, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type, client_top_allocations_mv_next.account_group_type, client_top_allocations_by_asset_type_mv_next.account_group_type ] }
└── StreamHashJoin { type: LeftOuter, predicate: clients_dm.id = client_top_allocations_by_asset_type_mv_next.client_id } { output: [ clients_dm.id, clients_dm.base_currency_code, position_snapshot_mv_next.market_value, position_snapshot_mv_next.market_value_system_currency, pnl_snapshot_mv_next.unrealized_gain_loss, pnl_snapshot_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value, intraday_position_summary_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value_system_currency, client_portfolios_mv_next.portfolios, client_cash_tiles_mv_next.cash_tiles, client_top_allocations_mv_next.top_allocations, client_top_allocations_by_asset_type_mv_next.top_allocations_asset_type, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type, client_top_allocations_mv_next.account_group_type, client_top_allocations_by_asset_type_mv_next.client_id, client_top_allocations_by_asset_type_mv_next.account_group_type ], stream key: [ clients_dm.id, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, clients_dm.base_currency_code, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type, client_top_allocations_mv_next.account_group_type, client_top_allocations_by_asset_type_mv_next.account_group_type ] }
    ├── MergeExecutor { output: [ clients_dm.id, clients_dm.base_currency_code, position_snapshot_mv_next.market_value, position_snapshot_mv_next.market_value_system_currency, pnl_snapshot_mv_next.unrealized_gain_loss, pnl_snapshot_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value, intraday_position_summary_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value_system_currency, client_portfolios_mv_next.portfolios, client_cash_tiles_mv_next.cash_tiles, client_top_allocations_mv_next.top_allocations, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type, client_top_allocations_mv_next.client_id, client_top_allocations_mv_next.account_group_type ], stream key: [ clients_dm.id, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, clients_dm.base_currency_code, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type, client_top_allocations_mv_next.account_group_type ] }
    └── MergeExecutor { output: [ client_top_allocations_by_asset_type_mv_next.client_id, client_top_allocations_by_asset_type_mv_next.top_allocations_asset_type, client_top_allocations_by_asset_type_mv_next.account_group_type ], stream key: [ client_top_allocations_by_asset_type_mv_next.client_id, client_top_allocations_by_asset_type_mv_next.account_group_type ] }

Fragment 26136 (Actor 133433,133432)
StreamSyncLogStore { output: [ clients_dm.id, clients_dm.base_currency_code, position_snapshot_mv_next.market_value, position_snapshot_mv_next.market_value_system_currency, pnl_snapshot_mv_next.unrealized_gain_loss, pnl_snapshot_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value, intraday_position_summary_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value_system_currency, client_portfolios_mv_next.portfolios, client_cash_tiles_mv_next.cash_tiles, client_top_allocations_mv_next.top_allocations, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type, client_top_allocations_mv_next.client_id, client_top_allocations_mv_next.account_group_type ], stream key: [ clients_dm.id, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, clients_dm.base_currency_code, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type, client_top_allocations_mv_next.account_group_type ] }
└── StreamHashJoin { type: LeftOuter, predicate: clients_dm.id = client_top_allocations_mv_next.client_id } { output: [ clients_dm.id, clients_dm.base_currency_code, position_snapshot_mv_next.market_value, position_snapshot_mv_next.market_value_system_currency, pnl_snapshot_mv_next.unrealized_gain_loss, pnl_snapshot_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value, intraday_position_summary_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value_system_currency, client_portfolios_mv_next.portfolios, client_cash_tiles_mv_next.cash_tiles, client_top_allocations_mv_next.top_allocations, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type, client_top_allocations_mv_next.client_id, client_top_allocations_mv_next.account_group_type ], stream key: [ clients_dm.id, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, clients_dm.base_currency_code, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type, client_top_allocations_mv_next.account_group_type ] }
    ├── MergeExecutor { output: [ clients_dm.id, clients_dm.base_currency_code, position_snapshot_mv_next.market_value, position_snapshot_mv_next.market_value_system_currency, pnl_snapshot_mv_next.unrealized_gain_loss, pnl_snapshot_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value, intraday_position_summary_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value_system_currency, client_portfolios_mv_next.portfolios, client_cash_tiles_mv_next.cash_tiles, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type, client_cash_tiles_mv_next.client_id ], stream key: [ clients_dm.id, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, clients_dm.base_currency_code, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type ] }
    └── MergeExecutor { output: [ client_top_allocations_mv_next.client_id, client_top_allocations_mv_next.top_allocations, client_top_allocations_mv_next.account_group_type ], stream key: [ client_top_allocations_mv_next.client_id, client_top_allocations_mv_next.account_group_type ] }

Fragment 26137 (Actor 133439,133438)
StreamSyncLogStore { output: [ clients_dm.id, clients_dm.base_currency_code, position_snapshot_mv_next.market_value, position_snapshot_mv_next.market_value_system_currency, pnl_snapshot_mv_next.unrealized_gain_loss, pnl_snapshot_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value, intraday_position_summary_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value_system_currency, client_portfolios_mv_next.portfolios, client_cash_tiles_mv_next.cash_tiles, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type, client_cash_tiles_mv_next.client_id ], stream key: [ clients_dm.id, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, clients_dm.base_currency_code, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type ] }
└── StreamHashJoin { type: LeftOuter, predicate: clients_dm.id = client_cash_tiles_mv_next.client_id } { output: [ clients_dm.id, clients_dm.base_currency_code, position_snapshot_mv_next.market_value, position_snapshot_mv_next.market_value_system_currency, pnl_snapshot_mv_next.unrealized_gain_loss, pnl_snapshot_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value, intraday_position_summary_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value_system_currency, client_portfolios_mv_next.portfolios, client_cash_tiles_mv_next.cash_tiles, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type, client_cash_tiles_mv_next.client_id ], stream key: [ clients_dm.id, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, clients_dm.base_currency_code, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type ] }
    ├── MergeExecutor { output: [ clients_dm.id, clients_dm.base_currency_code, position_snapshot_mv_next.market_value, position_snapshot_mv_next.market_value_system_currency, pnl_snapshot_mv_next.unrealized_gain_loss, pnl_snapshot_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value, intraday_position_summary_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value_system_currency, client_portfolios_mv_next.portfolios, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type, client_portfolios_mv_next.client_id ], stream key: [ clients_dm.id, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, clients_dm.base_currency_code, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type ] }
    └── MergeExecutor { output: [ client_cash_tiles_mv_next.client_id, client_cash_tiles_mv_next.cash_tiles ], stream key: [ client_cash_tiles_mv_next.client_id ] }

Fragment 26138 (Actor 133436,133437)
StreamSyncLogStore { output: [ clients_dm.id, clients_dm.base_currency_code, position_snapshot_mv_next.market_value, position_snapshot_mv_next.market_value_system_currency, pnl_snapshot_mv_next.unrealized_gain_loss, pnl_snapshot_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value, intraday_position_summary_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value_system_currency, client_portfolios_mv_next.portfolios, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type, client_portfolios_mv_next.client_id ], stream key: [ clients_dm.id, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, clients_dm.base_currency_code, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type ] }
└── StreamHashJoin { type: LeftOuter, predicate: clients_dm.id = client_portfolios_mv_next.client_id } { output: [ clients_dm.id, clients_dm.base_currency_code, position_snapshot_mv_next.market_value, position_snapshot_mv_next.market_value_system_currency, pnl_snapshot_mv_next.unrealized_gain_loss, pnl_snapshot_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value, intraday_position_summary_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value_system_currency, client_portfolios_mv_next.portfolios, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type, client_portfolios_mv_next.client_id ], stream key: [ clients_dm.id, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, clients_dm.base_currency_code, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type ] }
    ├── MergeExecutor { output: [ clients_dm.id, clients_dm.base_currency_code, position_snapshot_mv_next.market_value, position_snapshot_mv_next.market_value_system_currency, pnl_snapshot_mv_next.unrealized_gain_loss, pnl_snapshot_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value, intraday_position_summary_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value_system_currency, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.account_group_id, intraday_position_summary_mv_next.currency_code, intraday_position_summary_mv_next.position_type ], stream key: [ clients_dm.id, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, clients_dm.base_currency_code, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type ] }
    └── MergeExecutor { output: [ client_portfolios_mv_next.client_id, client_portfolios_mv_next.portfolios ], stream key: [ client_portfolios_mv_next.client_id ] }

Fragment 26139 (Actor 133445,133444)
StreamSyncLogStore { output: [ clients_dm.id, clients_dm.base_currency_code, position_snapshot_mv_next.market_value, position_snapshot_mv_next.market_value_system_currency, pnl_snapshot_mv_next.unrealized_gain_loss, pnl_snapshot_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value, intraday_position_summary_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value_system_currency, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.account_group_id, intraday_position_summary_mv_next.currency_code, intraday_position_summary_mv_next.position_type ], stream key: [ clients_dm.id, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, clients_dm.base_currency_code, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type ] }
└── StreamHashJoin { type: LeftOuter, predicate: client_to_account_groups_mv.account_group_id = intraday_position_summary_mv_next.account_group_id AND clients_dm.base_currency_code = intraday_position_summary_mv_next.currency_code } { output: [ clients_dm.id, clients_dm.base_currency_code, position_snapshot_mv_next.market_value, position_snapshot_mv_next.market_value_system_currency, pnl_snapshot_mv_next.unrealized_gain_loss, pnl_snapshot_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value, intraday_position_summary_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value_system_currency, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.account_group_id, intraday_position_summary_mv_next.currency_code, intraday_position_summary_mv_next.position_type ], stream key: [ clients_dm.id, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, clients_dm.base_currency_code, pnl_snapshot_mv_next.position_type, intraday_position_summary_mv_next.position_type ] }
    ├── MergeExecutor { output: [ clients_dm.id, clients_dm.base_currency_code, client_to_account_groups_mv.account_group_id, position_snapshot_mv_next.market_value, position_snapshot_mv_next.market_value_system_currency, pnl_snapshot_mv_next.unrealized_gain_loss, pnl_snapshot_mv_next.total_average_cost, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, pnl_snapshot_mv_next.account_group_id, pnl_snapshot_mv_next.position_type, pnl_snapshot_mv_next.currency_code ], stream key: [ clients_dm.id, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, clients_dm.base_currency_code, pnl_snapshot_mv_next.position_type ] }
    └── MergeExecutor { output: [ intraday_position_summary_mv_next.account_group_id, intraday_position_summary_mv_next.currency_code, intraday_position_summary_mv_next.market_value, intraday_position_summary_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value_system_currency, intraday_position_summary_mv_next.position_type ], stream key: [ intraday_position_summary_mv_next.account_group_id, intraday_position_summary_mv_next.currency_code, intraday_position_summary_mv_next.position_type ] }

Fragment 26140 (Actor 133442,133443)
StreamSyncLogStore { output: [ clients_dm.id, clients_dm.base_currency_code, client_to_account_groups_mv.account_group_id, position_snapshot_mv_next.market_value, position_snapshot_mv_next.market_value_system_currency, pnl_snapshot_mv_next.unrealized_gain_loss, pnl_snapshot_mv_next.total_average_cost, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, pnl_snapshot_mv_next.account_group_id, pnl_snapshot_mv_next.position_type, pnl_snapshot_mv_next.currency_code ], stream key: [ clients_dm.id, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, clients_dm.base_currency_code, pnl_snapshot_mv_next.position_type ] }
└── StreamHashJoin { type: LeftOuter, predicate: client_to_account_groups_mv.account_group_id = pnl_snapshot_mv_next.account_group_id AND clients_dm.base_currency_code = pnl_snapshot_mv_next.currency_code } { output: [ clients_dm.id, clients_dm.base_currency_code, client_to_account_groups_mv.account_group_id, position_snapshot_mv_next.market_value, position_snapshot_mv_next.market_value_system_currency, pnl_snapshot_mv_next.unrealized_gain_loss, pnl_snapshot_mv_next.total_average_cost, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, pnl_snapshot_mv_next.account_group_id, pnl_snapshot_mv_next.position_type, pnl_snapshot_mv_next.currency_code ], stream key: [ clients_dm.id, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, clients_dm.base_currency_code, pnl_snapshot_mv_next.position_type ] }
    ├── MergeExecutor { output: [ clients_dm.id, clients_dm.base_currency_code, client_to_account_groups_mv.account_group_id, position_snapshot_mv_next.market_value, position_snapshot_mv_next.market_value_system_currency, client_to_account_groups_mv.$src, 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: [ clients_dm.id, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, clients_dm.base_currency_code ] }
    └── MergeExecutor { output: [ pnl_snapshot_mv_next.account_group_id, pnl_snapshot_mv_next.currency_code, pnl_snapshot_mv_next.unrealized_gain_loss, pnl_snapshot_mv_next.total_average_cost, pnl_snapshot_mv_next.position_type ], stream key: [ pnl_snapshot_mv_next.account_group_id, pnl_snapshot_mv_next.position_type, pnl_snapshot_mv_next.currency_code ] }

Fragment 26141 (Actor 133440,133441)
StreamSyncLogStore { output: [ clients_dm.id, clients_dm.base_currency_code, client_to_account_groups_mv.account_group_id, position_snapshot_mv_next.market_value, position_snapshot_mv_next.market_value_system_currency, client_to_account_groups_mv.$src, 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: [ clients_dm.id, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, clients_dm.base_currency_code ] }
└── StreamHashJoin { type: LeftOuter, predicate: client_to_account_groups_mv.account_group_id = position_snapshot_mv_next.account_group_id AND clients_dm.base_currency_code = position_snapshot_mv_next.currency_code } { output: [ clients_dm.id, clients_dm.base_currency_code, client_to_account_groups_mv.account_group_id, position_snapshot_mv_next.market_value, position_snapshot_mv_next.market_value_system_currency, client_to_account_groups_mv.$src, 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: [ clients_dm.id, client_to_account_groups_mv.$src, position_snapshot_mv_next.holding_values_latest_mv_next.type_expanded, position_snapshot_mv_next.flag, client_to_account_groups_mv.account_group_id, clients_dm.base_currency_code ] }
    ├── MergeExecutor { output: [ clients_dm.id, clients_dm.base_currency_code, client_to_account_groups_mv.account_group_id, client_to_account_groups_mv.client_id, client_to_account_groups_mv.$src ], stream key: [ clients_dm.id, client_to_account_groups_mv.$src ] }
    └── MergeExecutor { output: [ position_snapshot_mv_next.account_group_id, position_snapshot_mv_next.currency_code, position_snapshot_mv_next.market_value, position_snapshot_mv_next.market_value_system_currency, 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 26142 (Actor 133447,133446)
StreamSyncLogStore { output: [ clients_dm.id, clients_dm.base_currency_code, client_to_account_groups_mv.account_group_id, client_to_account_groups_mv.client_id, client_to_account_groups_mv.$src ], stream key: [ clients_dm.id, client_to_account_groups_mv.$src ] }
└── StreamHashJoin { type: LeftOuter, predicate: clients_dm.id = client_to_account_groups_mv.client_id } { output: [ clients_dm.id, clients_dm.base_currency_code, client_to_account_groups_mv.account_group_id, client_to_account_groups_mv.client_id, client_to_account_groups_mv.$src ], stream key: [ clients_dm.id, client_to_account_groups_mv.$src ] }
    ├── MergeExecutor { output: [ clients_dm.id, clients_dm.base_currency_code ], stream key: [ clients_dm.id ] }
    └── MergeExecutor { output: [ client_to_account_groups_mv.client_id, client_to_account_groups_mv.account_group_id, client_to_account_groups_mv.$src ], stream key: [ client_to_account_groups_mv.client_id, client_to_account_groups_mv.$src ] }

Fragment 26143 (Actor 133427,133426)
StreamProject { exprs: [clients_dm.id, clients_dm.base_currency_code] } { output: [ clients_dm.id, clients_dm.base_currency_code ], stream key: [ clients_dm.id ] }
└── StreamFilter { predicate: IsNull(clients_dm.disabled_at) } { output: [ clients_dm.id, clients_dm.base_currency_code, clients_dm.disabled_at ], stream key: [ clients_dm.id ] }
    └── StreamTableScan { table: clients_dm, columns: [id, base_currency_code, disabled_at] } { output: [ clients_dm.id, clients_dm.base_currency_code, clients_dm.disabled_at ], stream key: [ clients_dm.id ] }
        ├── Upstream { output: [ id, base_currency_code, disabled_at ], stream key: [] }
        └── BatchPlanNode { output: [ id, base_currency_code, disabled_at ], stream key: [] }

Fragment 26144 (Actor 133453,133452)
StreamProject { exprs: [client_to_account_groups_mv.client_id, client_to_account_groups_mv.account_group_id, client_to_account_groups_mv.$src] } { output: [ client_to_account_groups_mv.client_id, client_to_account_groups_mv.account_group_id, client_to_account_groups_mv.$src ], stream key: [ client_to_account_groups_mv.client_id, client_to_account_groups_mv.$src ] }
└── StreamFilter { predicate: (client_to_account_groups_mv.type = 'all':Varchar) } { output: [ client_to_account_groups_mv.client_id, client_to_account_groups_mv.account_group_id, client_to_account_groups_mv.$src, client_to_account_groups_mv.type ], stream key: [ client_to_account_groups_mv.client_id, client_to_account_groups_mv.$src ] }
    └── StreamTableScan { table: client_to_account_groups_mv, columns: [client_id, account_group_id, $src, type] } { output: [ client_to_account_groups_mv.client_id, client_to_account_groups_mv.account_group_id, client_to_account_groups_mv.$src, client_to_account_groups_mv.type ], stream key: [ client_to_account_groups_mv.client_id, client_to_account_groups_mv.$src ] }
        ├── Upstream { output: [ client_id, account_group_id, $src, type ], stream key: [] }
        └── BatchPlanNode { output: [ client_id, account_group_id, $src, type ], stream key: [] }

Fragment 26145 (Actor 133454,133455)
StreamProject { exprs: [position_snapshot_mv_next.account_group_id, position_snapshot_mv_next.currency_code, position_snapshot_mv_next.market_value, position_snapshot_mv_next.market_value_system_currency, 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.market_value, position_snapshot_mv_next.market_value_system_currency, 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.market_value, position_snapshot_mv_next.market_value_system_currency, 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, market_value, market_value_system_currency, 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.market_value, position_snapshot_mv_next.market_value_system_currency, 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, market_value, market_value_system_currency, holding_values_latest_mv_next.type_expanded, flag, position_type ], stream key: [] }
        └── BatchPlanNode { output: [ account_group_id, currency_code, market_value, market_value_system_currency, holding_values_latest_mv_next.type_expanded, flag, position_type ], stream key: [] }

Fragment 26146 (Actor 133457,133456)
StreamFilter { predicate: (pnl_snapshot_mv_next.position_type = 'POSITION':Varchar) } { output: [ pnl_snapshot_mv_next.account_group_id, pnl_snapshot_mv_next.currency_code, pnl_snapshot_mv_next.unrealized_gain_loss, pnl_snapshot_mv_next.total_average_cost, pnl_snapshot_mv_next.position_type ], stream key: [ pnl_snapshot_mv_next.account_group_id, pnl_snapshot_mv_next.position_type, pnl_snapshot_mv_next.currency_code ] }
└── StreamTableScan { table: pnl_snapshot_mv_next, columns: [account_group_id, currency_code, unrealized_gain_loss, total_average_cost, position_type] } { output: [ pnl_snapshot_mv_next.account_group_id, pnl_snapshot_mv_next.currency_code, pnl_snapshot_mv_next.unrealized_gain_loss, pnl_snapshot_mv_next.total_average_cost, pnl_snapshot_mv_next.position_type ], stream key: [ pnl_snapshot_mv_next.account_group_id, pnl_snapshot_mv_next.position_type, pnl_snapshot_mv_next.currency_code ] }
    ├── Upstream { output: [ account_group_id, currency_code, unrealized_gain_loss, total_average_cost, position_type ], stream key: [] }
    └── BatchPlanNode { output: [ account_group_id, currency_code, unrealized_gain_loss, total_average_cost, position_type ], stream key: [] }

Fragment 26147 (Actor 133448,133449)
StreamFilter { predicate: (intraday_position_summary_mv_next.position_type = 'POSITION':Varchar) } { output: [ intraday_position_summary_mv_next.account_group_id, intraday_position_summary_mv_next.currency_code, intraday_position_summary_mv_next.market_value, intraday_position_summary_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value_system_currency, intraday_position_summary_mv_next.position_type ], stream key: [ intraday_position_summary_mv_next.account_group_id, intraday_position_summary_mv_next.currency_code, intraday_position_summary_mv_next.position_type ] }
└── StreamTableScan { table: intraday_position_summary_mv_next, columns: [account_group_id, currency_code, market_value, total_average_cost, market_value_system_currency, position_type] } { output: [ intraday_position_summary_mv_next.account_group_id, intraday_position_summary_mv_next.currency_code, intraday_position_summary_mv_next.market_value, intraday_position_summary_mv_next.total_average_cost, intraday_position_summary_mv_next.market_value_system_currency, intraday_position_summary_mv_next.position_type ], stream key: [ intraday_position_summary_mv_next.account_group_id, intraday_position_summary_mv_next.currency_code, intraday_position_summary_mv_next.position_type ] }
    ├── Upstream { output: [ account_group_id, currency_code, market_value, total_average_cost, market_value_system_currency, position_type ], stream key: [] }
    └── BatchPlanNode { output: [ account_group_id, currency_code, market_value, total_average_cost, market_value_system_currency, position_type ], stream key: [] }

Fragment 26148 (Actor 133459,133458)
StreamTableScan { table: client_portfolios_mv_next, columns: [client_id, portfolios] } { output: [ client_portfolios_mv_next.client_id, client_portfolios_mv_next.portfolios ], stream key: [ client_portfolios_mv_next.client_id ] }
├── Upstream { output: [ client_id, portfolios ], stream key: [] }
└── BatchPlanNode { output: [ client_id, portfolios ], stream key: [] }

Fragment 26149 (Actor 133461,133460)
StreamTableScan { table: client_cash_tiles_mv_next, columns: [client_id, cash_tiles] } { output: [ client_cash_tiles_mv_next.client_id, client_cash_tiles_mv_next.cash_tiles ], stream key: [ client_cash_tiles_mv_next.client_id ] }
├── Upstream { output: [ client_id, cash_tiles ], stream key: [] }
└── BatchPlanNode { output: [ client_id, cash_tiles ], stream key: [] }

Fragment 26150 (Actor 133463,133462)
StreamFilter { predicate: (client_top_allocations_mv_next.account_group_type = 'all':Varchar) } { output: [ client_top_allocations_mv_next.client_id, client_top_allocations_mv_next.top_allocations, client_top_allocations_mv_next.account_group_type ], stream key: [ client_top_allocations_mv_next.client_id, client_top_allocations_mv_next.account_group_type ] }
└── StreamTableScan { table: client_top_allocations_mv_next, columns: [client_id, top_allocations, account_group_type] } { output: [ client_top_allocations_mv_next.client_id, client_top_allocations_mv_next.top_allocations, client_top_allocations_mv_next.account_group_type ], stream key: [ client_top_allocations_mv_next.client_id, client_top_allocations_mv_next.account_group_type ] }
    ├── Upstream { output: [ client_id, top_allocations, account_group_type ], stream key: [] }
    └── BatchPlanNode { output: [ client_id, top_allocations, account_group_type ], stream key: [] }

Fragment 26151 (Actor 133464,133465)
StreamFilter { predicate: (client_top_allocations_by_asset_type_mv_next.account_group_type = 'all':Varchar) } { output: [ client_top_allocations_by_asset_type_mv_next.client_id, client_top_allocations_by_asset_type_mv_next.top_allocations_asset_type, client_top_allocations_by_asset_type_mv_next.account_group_type ], stream key: [ client_top_allocations_by_asset_type_mv_next.client_id, client_top_allocations_by_asset_type_mv_next.account_group_type ] }
└── StreamTableScan { table: client_top_allocations_by_asset_type_mv_next, columns: [client_id, top_allocations_asset_type, account_group_type] } { output: [ client_top_allocations_by_asset_type_mv_next.client_id, client_top_allocations_by_asset_type_mv_next.top_allocations_asset_type, client_top_allocations_by_asset_type_mv_next.account_group_type ], stream key: [ client_top_allocations_by_asset_type_mv_next.client_id, client_top_allocations_by_asset_type_mv_next.account_group_type ] }
    ├── Upstream { output: [ client_id, top_allocations_asset_type, account_group_type ], stream key: [] }
    └── BatchPlanNode { output: [ client_id, top_allocations_asset_type, account_group_type ], stream key: [] }

Fragment 26152 (Actor 133450,133451)
StreamFilter { predicate: (client_top_allocations_by_sector_mv_next.account_group_type = 'all':Varchar) } { output: [ client_top_allocations_by_sector_mv_next.client_id, client_top_allocations_by_sector_mv_next.top_allocations_sector, client_top_allocations_by_sector_mv_next.account_group_type ], stream key: [ client_top_allocations_by_sector_mv_next.client_id, client_top_allocations_by_sector_mv_next.account_group_type ] }
└── StreamTableScan { table: client_top_allocations_by_sector_mv_next, columns: [client_id, top_allocations_sector, account_group_type] } { output: [ client_top_allocations_by_sector_mv_next.client_id, client_top_allocations_by_sector_mv_next.top_allocations_sector, client_top_allocations_by_sector_mv_next.account_group_type ], stream key: [ client_top_allocations_by_sector_mv_next.client_id, client_top_allocations_by_sector_mv_next.account_group_type ] }
    ├── Upstream { output: [ client_id, top_allocations_sector, account_group_type ], stream key: [] }
    └── BatchPlanNode { output: [ client_id, top_allocations_sector, account_group_type ], stream key: [] }