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

← cluster insights objects client_account_via_portfolio_mv explain
Overview Objects Graph History
materialized view · insights.client_account_via_portfolio_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
119 operators
Materialize · insights.client_account_via_portfolio_mv
0% idle 2 actors
Union
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
SyncLogStore · LeftAnti · account_to_portfolios_dm.account_id = accounts_to_clients_d…
2 actors
HashJoin · LeftAnti · account_to_portfolios_dm.account_id = accounts_to_clients_d… 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 · accounts_to_clients_dm
2 actors
Filter · accounts_to_clients_dm
0% idle 2 actors
StreamScan · accounts_to_clients_dm
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
Filter · (IsNull(Case((IsNull(account_to_portfolios_dm.effective_end…
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
SyncLogStore
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
SyncLogStore
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
SyncLogStore · Inner · account_to_portfolios_dm.account_id = open_accounts_mv.acco…
2 actors
HashJoin · Inner · account_to_portfolios_dm.account_id = open_accounts_mv.acco… 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 · open_accounts_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
SyncLogStore
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
SyncLogStore
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
SyncLogStore · Inner · account_to_portfolios_dm.portfolio_id = clients_portfolios_…
2 actors
HashJoin · Inner · account_to_portfolios_dm.portfolio_id = clients_portfolios_… 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
Filter · clients_portfolios_dm
0% idle 2 actors
StreamScan · clients_portfolios_dm
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
Filter · account_to_portfolios_dm
0% idle 2 actors
StreamScan · account_to_portfolios_dm
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
SyncLogStore · LeftAnti · account_to_portfolios_dm.account_id = accounts_to_clients_d…
2 actors
HashJoin · LeftAnti · account_to_portfolios_dm.account_id = accounts_to_clients_d… 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 · accounts_to_clients_dm
2 actors
Filter · accounts_to_clients_dm
0% idle 2 actors
StreamScan · accounts_to_clients_dm
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
Filter · (IsNull(Case((IsNull(account_to_portfolios_dm.effective_end…
0% idle 2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
SyncLogStore · LeftAnti · account_to_portfolios_dm.account_id = accounts_to_clients_d…
2 actors
HashJoin · LeftAnti · account_to_portfolios_dm.account_id = accounts_to_clients_d… 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 · accounts_to_clients_dm
2 actors
Filter · accounts_to_clients_dm
0% idle 2 actors
StreamScan · accounts_to_clients_dm
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
Filter · (IsNull(Case((IsNull(account_to_portfolios_dm.effective_end…
0% idle 2 actors
Merge
2 actors
Heat = the operator's output-buffer backpressure over the sampling window. Click a node to fold its subtree.
Materialize · insights.client_account_via_portfolio_mv Materialize insights.client_account… idle · 2 actors Union Union idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project Project — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors SyncLogStore · LeftAnti · account_to_portfolios_dm.account_id = accounts_to_clients_d… SyncLogStore LeftAnti · account_to_p… — · 2 actors HashJoin · LeftAnti · account_to_portfolios_dm.account_id = accounts_to_clients_d… HashJoin LeftAnti · account_to_p… 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 · accounts_to_clients_dm Project accounts_to_clients_dm — · 2 actors Filter · accounts_to_clients_dm Filter accounts_to_clients_dm idle · 2 actors StreamScan · accounts_to_clients_dm StreamScan accounts_to_clients_dm 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 Filter · (IsNull(Case((IsNull(account_to_portfolios_dm.effective_end… Filter (IsNull(Case((IsNull(ac… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors SyncLogStore SyncLogStore — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors SyncLogStore SyncLogStore — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors SyncLogStore · Inner · account_to_portfolios_dm.account_id = open_accounts_mv.acco… SyncLogStore Inner · account_to_port… — · 2 actors HashJoin · Inner · account_to_portfolios_dm.account_id = open_accounts_mv.acco… HashJoin Inner · account_to_port… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors StreamScan · open_accounts_mv StreamScan open_accounts_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 SyncLogStore SyncLogStore — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors SyncLogStore SyncLogStore — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors SyncLogStore · Inner · account_to_portfolios_dm.portfolio_id = clients_portfolios_… SyncLogStore Inner · account_to_port… — · 2 actors HashJoin · Inner · account_to_portfolios_dm.portfolio_id = clients_portfolios_… HashJoin Inner · account_to_port… 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 Filter · clients_portfolios_dm Filter clients_portfolios_dm idle · 2 actors StreamScan · clients_portfolios_dm StreamScan clients_portfolios_dm 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 Filter · account_to_portfolios_dm Filter account_to_portfolios_dm idle · 2 actors StreamScan · account_to_portfolios_dm StreamScan account_to_portfolios_dm idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project Project — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors SyncLogStore · LeftAnti · account_to_portfolios_dm.account_id = accounts_to_clients_d… SyncLogStore LeftAnti · account_to_p… — · 2 actors HashJoin · LeftAnti · account_to_portfolios_dm.account_id = accounts_to_clients_d… HashJoin LeftAnti · account_to_p… 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 · accounts_to_clients_dm Project accounts_to_clients_dm — · 2 actors Filter · accounts_to_clients_dm Filter accounts_to_clients_dm idle · 2 actors StreamScan · accounts_to_clients_dm StreamScan accounts_to_clients_dm 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 Filter · (IsNull(Case((IsNull(account_to_portfolios_dm.effective_end… Filter (IsNull(Case((IsNull(ac… idle · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project Project — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors SyncLogStore · LeftAnti · account_to_portfolios_dm.account_id = accounts_to_clients_d… SyncLogStore LeftAnti · account_to_p… — · 2 actors HashJoin · LeftAnti · account_to_portfolios_dm.account_id = accounts_to_clients_d… HashJoin LeftAnti · account_to_p… 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 · accounts_to_clients_dm Project accounts_to_clients_dm — · 2 actors Filter · accounts_to_clients_dm Filter accounts_to_clients_dm idle · 2 actors StreamScan · accounts_to_clients_dm StreamScan accounts_to_clients_dm 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 Filter · (IsNull(Case((IsNull(account_to_portfolios_dm.effective_end… Filter (IsNull(Case((IsNull(ac… idle · 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 51809 (Actor 736757,736756)
StreamMaterialize { columns: [client_id, account_id, effective_start_date, effective_end_date, type, account_to_portfolios_dm.account_id(hidden), clients_portfolios_dm.client_id(hidden), account_to_portfolios_dm.portfolio_id(hidden), account_to_portfolios_dm.effective_start_date(hidden), clients_portfolios_dm.effective_start_date(hidden), $src(hidden)], stream_key: [account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date, $src], pk_columns: [account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date, $src], pk_conflict: NoCheck }
├── output: [ clients_portfolios_dm.client_id, account_to_portfolios_dm.account_id, $expr1, $expr2, 'all':Varchar, account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date, $src ]
├── stream key: [ account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date, $src ]
└── StreamUnion { all: true } { output: [ clients_portfolios_dm.client_id, account_to_portfolios_dm.account_id, $expr1, $expr2, 'all':Varchar, account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date, $src ], stream key: [ account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date, $src ] }
    ├── MergeExecutor { output: [ clients_portfolios_dm.client_id, account_to_portfolios_dm.account_id, $expr1, $expr2, 'all':Varchar, account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date, 0:Int32 ], stream key: [ account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date ] }
    ├── MergeExecutor { output: [ clients_portfolios_dm.client_id, account_to_portfolios_dm.account_id, $expr3, $expr4, 'restricted':Varchar, account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date, 1:Int32 ], stream key: [ account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date ] }
    └── MergeExecutor { output: [ clients_portfolios_dm.client_id, account_to_portfolios_dm.account_id, $expr5, $expr6, 'un_restricted':Varchar, account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date, 2:Int32 ], stream key: [ account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date ] }

Fragment 51810 (Actor 736761,736760)
StreamProject { exprs: [clients_portfolios_dm.client_id, account_to_portfolios_dm.account_id, Greatest(account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date) as $expr1, Case((IsNull(account_to_portfolios_dm.effective_end_date) AND IsNull(clients_portfolios_dm.effective_end_date)), null:Date, IsNull(account_to_portfolios_dm.effective_end_date), clients_portfolios_dm.effective_end_date, IsNull(clients_portfolios_dm.effective_end_date), account_to_portfolios_dm.effective_end_date, Least(account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.effective_end_date)) as $expr2, 'all':Varchar, account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date, 0:Int32] }
├── output: [ clients_portfolios_dm.client_id, account_to_portfolios_dm.account_id, $expr1, $expr2, 'all':Varchar, account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date, 0:Int32 ]
├── stream key: [ account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date ]
└── MergeExecutor { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, account_to_portfolios_dm.portfolio_id ], stream key: [ account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date ] }

Fragment 51811 (Actor 736759,736758)
StreamSyncLogStore { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, account_to_portfolios_dm.portfolio_id ], stream key: [ account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date ] }
└── StreamHashJoin { type: LeftAnti, predicate: account_to_portfolios_dm.account_id = accounts_to_clients_dm.account_id AND clients_portfolios_dm.client_id = accounts_to_clients_dm.client_id } { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, account_to_portfolios_dm.portfolio_id ], stream key: [ account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date ] }
    ├── MergeExecutor { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, open_accounts_mv.is_restricted, account_to_portfolios_dm.portfolio_id, open_accounts_mv.account_id ], stream key: [ account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date ] }
    └── MergeExecutor { output: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date ], stream key: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date ] }

Fragment 51812 (Actor 736762,736763)
StreamLocalityProvider { locality_columns: [account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id] } { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, open_accounts_mv.is_restricted, account_to_portfolios_dm.portfolio_id, open_accounts_mv.account_id ], stream key: [ account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date ] }
└── MergeExecutor { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, open_accounts_mv.is_restricted, account_to_portfolios_dm.portfolio_id, open_accounts_mv.account_id ], stream key: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date ] }

Fragment 51813 (Actor 736765,736764)
StreamFilter { predicate: (IsNull(Case((IsNull(account_to_portfolios_dm.effective_end_date) AND IsNull(clients_portfolios_dm.effective_end_date)), null:Date, IsNull(account_to_portfolios_dm.effective_end_date), clients_portfolios_dm.effective_end_date, IsNull(clients_portfolios_dm.effective_end_date), account_to_portfolios_dm.effective_end_date, Least(account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.effective_end_date))) OR (Greatest(account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date) < Case((IsNull(account_to_portfolios_dm.effective_end_date) AND IsNull(clients_portfolios_dm.effective_end_date)), null:Date, IsNull(account_to_portfolios_dm.effective_end_date), clients_portfolios_dm.effective_end_date, IsNull(clients_portfolios_dm.effective_end_date), account_to_portfolios_dm.effective_end_date, Least(account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.effective_end_date)))) AND IsNull(account_to_portfolios_dm.disabled_at) AND IsNull(clients_portfolios_dm.disabled_at) AND (IsNull(account_to_portfolios_dm.effective_end_date) OR (account_to_portfolios_dm.effective_end_date > account_to_portfolios_dm.effective_start_date)) }
├── output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, open_accounts_mv.is_restricted, account_to_portfolios_dm.portfolio_id, open_accounts_mv.account_id ]
├── stream key: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date ]
└── MergeExecutor { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, open_accounts_mv.is_restricted, account_to_portfolios_dm.portfolio_id, open_accounts_mv.account_id ], stream key: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date ] }

Fragment 51814 (Actor 736770,736771)
StreamSyncLogStore { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, open_accounts_mv.is_restricted, account_to_portfolios_dm.portfolio_id, open_accounts_mv.account_id ], stream key: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date ] }
└── MergeExecutor { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, open_accounts_mv.is_restricted, account_to_portfolios_dm.portfolio_id, open_accounts_mv.account_id ], stream key: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date ] }

Fragment 51815 (Actor 736766,736767)
StreamSyncLogStore { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, open_accounts_mv.is_restricted, account_to_portfolios_dm.portfolio_id, open_accounts_mv.account_id ], stream key: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date ] }
└── MergeExecutor { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, open_accounts_mv.is_restricted, account_to_portfolios_dm.portfolio_id, open_accounts_mv.account_id ], stream key: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date ] }

Fragment 51816 (Actor 736769,736768)
StreamSyncLogStore { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, open_accounts_mv.is_restricted, account_to_portfolios_dm.portfolio_id, open_accounts_mv.account_id ], stream key: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date ] }
└── StreamHashJoin { type: Inner, predicate: account_to_portfolios_dm.account_id = open_accounts_mv.account_id } { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, open_accounts_mv.is_restricted, account_to_portfolios_dm.portfolio_id, open_accounts_mv.account_id ], stream key: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date ] }
    ├── MergeExecutor { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, account_to_portfolios_dm.portfolio_id, clients_portfolios_dm.portfolio_id ], stream key: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date ] }
    └── MergeExecutor { output: [ open_accounts_mv.account_id, open_accounts_mv.is_restricted ], stream key: [ open_accounts_mv.account_id ] }

Fragment 51817 (Actor 736776,736777)
StreamLocalityProvider { locality_columns: [account_to_portfolios_dm.account_id] } { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, account_to_portfolios_dm.portfolio_id, clients_portfolios_dm.portfolio_id ], stream key: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date ] }
└── MergeExecutor { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, account_to_portfolios_dm.portfolio_id, clients_portfolios_dm.portfolio_id ], stream key: [ account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.account_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date ] }

Fragment 51818 (Actor 736782,736783)
StreamSyncLogStore { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, account_to_portfolios_dm.portfolio_id, clients_portfolios_dm.portfolio_id ], stream key: [ account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.account_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date ] }
└── MergeExecutor { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, account_to_portfolios_dm.portfolio_id, clients_portfolios_dm.portfolio_id ], stream key: [ account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.account_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date ] }

Fragment 51819 (Actor 736781,736780)
StreamSyncLogStore { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, account_to_portfolios_dm.portfolio_id, clients_portfolios_dm.portfolio_id ], stream key: [ account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.account_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date ] }
└── MergeExecutor { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, account_to_portfolios_dm.portfolio_id, clients_portfolios_dm.portfolio_id ], stream key: [ account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.account_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date ] }

Fragment 51820 (Actor 736778,736779)
StreamSyncLogStore { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, account_to_portfolios_dm.portfolio_id, clients_portfolios_dm.portfolio_id ], stream key: [ account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.account_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date ] }
└── StreamHashJoin { type: Inner, predicate: account_to_portfolios_dm.portfolio_id = clients_portfolios_dm.portfolio_id AND (IsNull(Case((IsNull(account_to_portfolios_dm.effective_end_date) AND IsNull(clients_portfolios_dm.effective_end_date)), null:Date, IsNull(account_to_portfolios_dm.effective_end_date), clients_portfolios_dm.effective_end_date, IsNull(clients_portfolios_dm.effective_end_date), account_to_portfolios_dm.effective_end_date, Least(account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.effective_end_date))) OR (Greatest(account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date) < Case((IsNull(account_to_portfolios_dm.effective_end_date) AND IsNull(clients_portfolios_dm.effective_end_date)), null:Date, IsNull(account_to_portfolios_dm.effective_end_date), clients_portfolios_dm.effective_end_date, IsNull(clients_portfolios_dm.effective_end_date), account_to_portfolios_dm.effective_end_date, Least(account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.effective_end_date)))) }
    ├── output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, account_to_portfolios_dm.portfolio_id, clients_portfolios_dm.portfolio_id ]
    ├── stream key: [ account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.account_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date ]
    ├── MergeExecutor { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date ], stream key: [ account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.account_id, account_to_portfolios_dm.effective_start_date ] }
    └── MergeExecutor { output: [ clients_portfolios_dm.client_id, clients_portfolios_dm.portfolio_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date ], stream key: [ clients_portfolios_dm.portfolio_id, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date ] }

Fragment 51821 (Actor 736784,736785)
StreamLocalityProvider { locality_columns: [account_to_portfolios_dm.portfolio_id] } { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date ], stream key: [ account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.account_id, account_to_portfolios_dm.effective_start_date ] }
└── MergeExecutor { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date ], stream key: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date ] }

Fragment 51822 (Actor 736811,736810)
StreamFilter { predicate: IsNull(account_to_portfolios_dm.disabled_at) AND (IsNull(account_to_portfolios_dm.effective_end_date) OR (account_to_portfolios_dm.effective_end_date > account_to_portfolios_dm.effective_start_date)) } { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date ], stream key: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date ] }
└── StreamTableScan { table: account_to_portfolios_dm, columns: [account_id, portfolio_id, disabled_at, effective_start_date, effective_end_date] } { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date ], stream key: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date ] }
    ├── Upstream { output: [ account_id, portfolio_id, disabled_at, effective_start_date, effective_end_date ], stream key: [] }
    └── BatchPlanNode { output: [ account_id, portfolio_id, disabled_at, effective_start_date, effective_end_date ], stream key: [] }

Fragment 51823 (Actor 736787,736786)
StreamLocalityProvider { locality_columns: [clients_portfolios_dm.portfolio_id] } { output: [ clients_portfolios_dm.client_id, clients_portfolios_dm.portfolio_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date ], stream key: [ clients_portfolios_dm.portfolio_id, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date ] }
└── MergeExecutor { output: [ clients_portfolios_dm.client_id, clients_portfolios_dm.portfolio_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date ], stream key: [ clients_portfolios_dm.client_id, clients_portfolios_dm.portfolio_id, clients_portfolios_dm.effective_start_date ] }

Fragment 51824 (Actor 736812,736813)
StreamFilter { predicate: IsNull(clients_portfolios_dm.disabled_at) } { output: [ clients_portfolios_dm.client_id, clients_portfolios_dm.portfolio_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date ], stream key: [ clients_portfolios_dm.client_id, clients_portfolios_dm.portfolio_id, clients_portfolios_dm.effective_start_date ] }
└── StreamTableScan { table: clients_portfolios_dm, columns: [client_id, portfolio_id, disabled_at, effective_start_date, effective_end_date] } { output: [ clients_portfolios_dm.client_id, clients_portfolios_dm.portfolio_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date ], stream key: [ clients_portfolios_dm.client_id, clients_portfolios_dm.portfolio_id, clients_portfolios_dm.effective_start_date ] }
    ├── Upstream { output: [ client_id, portfolio_id, disabled_at, effective_start_date, effective_end_date ], stream key: [] }
    └── BatchPlanNode { output: [ client_id, portfolio_id, disabled_at, effective_start_date, effective_end_date ], stream key: [] }

Fragment 51825 (Actor 736815,736814)
StreamTableScan { table: open_accounts_mv, columns: [account_id, is_restricted] } { output: [ open_accounts_mv.account_id, open_accounts_mv.is_restricted ], stream key: [ open_accounts_mv.account_id ] }
├── Upstream { output: [ account_id, is_restricted ], stream key: [] }
└── BatchPlanNode { output: [ account_id, is_restricted ], stream key: [] }

Fragment 51826 (Actor 736788,736789)
StreamLocalityProvider { locality_columns: [accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id] } { output: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date ], stream key: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date ] }
└── MergeExecutor { output: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date ], stream key: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date ] }

Fragment 51827 (Actor 736816,736817)
StreamProject { exprs: [accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date] } { output: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date ], stream key: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date ] }
└── StreamFilter { predicate: IsNull(accounts_to_clients_dm.disabled_at) AND (IsNull(accounts_to_clients_dm.effective_end_date) OR (accounts_to_clients_dm.effective_end_date > accounts_to_clients_dm.effective_start_date)) } { output: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date, accounts_to_clients_dm.disabled_at, accounts_to_clients_dm.effective_end_date ], stream key: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date ] }
    └── StreamTableScan { table: accounts_to_clients_dm, columns: [account_id, client_id, effective_start_date, disabled_at, effective_end_date] } { output: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date, accounts_to_clients_dm.disabled_at, accounts_to_clients_dm.effective_end_date ], stream key: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date ] }
        ├── Upstream { output: [ account_id, client_id, effective_start_date, disabled_at, effective_end_date ], stream key: [] }
        └── BatchPlanNode { output: [ account_id, client_id, effective_start_date, disabled_at, effective_end_date ], stream key: [] }

Fragment 51828 (Actor 736793,736792)
StreamProject { exprs: [clients_portfolios_dm.client_id, account_to_portfolios_dm.account_id, Greatest(account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date) as $expr3, Case((IsNull(account_to_portfolios_dm.effective_end_date) AND IsNull(clients_portfolios_dm.effective_end_date)), null:Date, IsNull(account_to_portfolios_dm.effective_end_date), clients_portfolios_dm.effective_end_date, IsNull(clients_portfolios_dm.effective_end_date), account_to_portfolios_dm.effective_end_date, Least(account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.effective_end_date)) as $expr4, 'restricted':Varchar, account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date, 1:Int32] }
├── output: [ clients_portfolios_dm.client_id, account_to_portfolios_dm.account_id, $expr3, $expr4, 'restricted':Varchar, account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date, 1:Int32 ]
├── stream key: [ account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date ]
└── MergeExecutor { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, account_to_portfolios_dm.portfolio_id ], stream key: [ account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date ] }

Fragment 51829 (Actor 736795,736794)
StreamSyncLogStore { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, account_to_portfolios_dm.portfolio_id ], stream key: [ account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date ] }
└── StreamHashJoin { type: LeftAnti, predicate: account_to_portfolios_dm.account_id = accounts_to_clients_dm.account_id AND clients_portfolios_dm.client_id = accounts_to_clients_dm.client_id } { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, account_to_portfolios_dm.portfolio_id ], stream key: [ account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date ] }
    ├── MergeExecutor { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, open_accounts_mv.is_restricted, account_to_portfolios_dm.portfolio_id, open_accounts_mv.account_id ], stream key: [ account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date ] }
    └── MergeExecutor { output: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date ], stream key: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date ] }

Fragment 51830 (Actor 736796,736797)
StreamLocalityProvider { locality_columns: [account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id] } { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, open_accounts_mv.is_restricted, account_to_portfolios_dm.portfolio_id, open_accounts_mv.account_id ], stream key: [ account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date ] }
└── MergeExecutor { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, open_accounts_mv.is_restricted, account_to_portfolios_dm.portfolio_id, open_accounts_mv.account_id ], stream key: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date ] }

Fragment 51831 (Actor 736772,736773)
StreamFilter { predicate: (IsNull(Case((IsNull(account_to_portfolios_dm.effective_end_date) AND IsNull(clients_portfolios_dm.effective_end_date)), null:Date, IsNull(account_to_portfolios_dm.effective_end_date), clients_portfolios_dm.effective_end_date, IsNull(clients_portfolios_dm.effective_end_date), account_to_portfolios_dm.effective_end_date, Least(account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.effective_end_date))) OR (Greatest(account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date) < Case((IsNull(account_to_portfolios_dm.effective_end_date) AND IsNull(clients_portfolios_dm.effective_end_date)), null:Date, IsNull(account_to_portfolios_dm.effective_end_date), clients_portfolios_dm.effective_end_date, IsNull(clients_portfolios_dm.effective_end_date), account_to_portfolios_dm.effective_end_date, Least(account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.effective_end_date)))) AND IsNull(account_to_portfolios_dm.disabled_at) AND IsNull(clients_portfolios_dm.disabled_at) AND (IsNull(account_to_portfolios_dm.effective_end_date) OR (account_to_portfolios_dm.effective_end_date > account_to_portfolios_dm.effective_start_date)) AND (open_accounts_mv.is_restricted = true:Boolean) }
├── output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, open_accounts_mv.is_restricted, account_to_portfolios_dm.portfolio_id, open_accounts_mv.account_id ]
├── stream key: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date ]
└── MergeExecutor { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, open_accounts_mv.is_restricted, account_to_portfolios_dm.portfolio_id, open_accounts_mv.account_id ], stream key: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date ] }

Fragment 51832 (Actor 736799,736798)
StreamLocalityProvider { locality_columns: [accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id] } { output: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date ], stream key: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date ] }
└── MergeExecutor { output: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date ], stream key: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date ] }

Fragment 51833 (Actor 736819,736818)
StreamProject { exprs: [accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date] } { output: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date ], stream key: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date ] }
└── StreamFilter { predicate: IsNull(accounts_to_clients_dm.disabled_at) AND (IsNull(accounts_to_clients_dm.effective_end_date) OR (accounts_to_clients_dm.effective_end_date > accounts_to_clients_dm.effective_start_date)) } { output: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date, accounts_to_clients_dm.disabled_at, accounts_to_clients_dm.effective_end_date ], stream key: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date ] }
    └── StreamTableScan { table: accounts_to_clients_dm, columns: [account_id, client_id, effective_start_date, disabled_at, effective_end_date] } { output: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date, accounts_to_clients_dm.disabled_at, accounts_to_clients_dm.effective_end_date ], stream key: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date ] }
        ├── Upstream { output: [ account_id, client_id, effective_start_date, disabled_at, effective_end_date ], stream key: [] }
        └── BatchPlanNode { output: [ account_id, client_id, effective_start_date, disabled_at, effective_end_date ], stream key: [] }

Fragment 51834 (Actor 736803,736802)
StreamProject { exprs: [clients_portfolios_dm.client_id, account_to_portfolios_dm.account_id, Greatest(account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date) as $expr5, Case((IsNull(account_to_portfolios_dm.effective_end_date) AND IsNull(clients_portfolios_dm.effective_end_date)), null:Date, IsNull(account_to_portfolios_dm.effective_end_date), clients_portfolios_dm.effective_end_date, IsNull(clients_portfolios_dm.effective_end_date), account_to_portfolios_dm.effective_end_date, Least(account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.effective_end_date)) as $expr6, 'un_restricted':Varchar, account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date, 2:Int32] }
├── output: [ clients_portfolios_dm.client_id, account_to_portfolios_dm.account_id, $expr5, $expr6, 'un_restricted':Varchar, account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date, 2:Int32 ]
├── stream key: [ account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date ]
└── MergeExecutor { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, account_to_portfolios_dm.portfolio_id ], stream key: [ account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date ] }

Fragment 51835 (Actor 736800,736801)
StreamSyncLogStore { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, account_to_portfolios_dm.portfolio_id ], stream key: [ account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date ] }
└── StreamHashJoin { type: LeftAnti, predicate: account_to_portfolios_dm.account_id = accounts_to_clients_dm.account_id AND clients_portfolios_dm.client_id = accounts_to_clients_dm.client_id } { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, account_to_portfolios_dm.portfolio_id ], stream key: [ account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date ] }
    ├── MergeExecutor { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, open_accounts_mv.is_restricted, account_to_portfolios_dm.portfolio_id, open_accounts_mv.account_id ], stream key: [ account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date ] }
    └── MergeExecutor { output: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date ], stream key: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date ] }

Fragment 51836 (Actor 736804,736805)
StreamLocalityProvider { locality_columns: [account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id] } { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, open_accounts_mv.is_restricted, account_to_portfolios_dm.portfolio_id, open_accounts_mv.account_id ], stream key: [ account_to_portfolios_dm.account_id, clients_portfolios_dm.client_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date ] }
└── MergeExecutor { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, open_accounts_mv.is_restricted, account_to_portfolios_dm.portfolio_id, open_accounts_mv.account_id ], stream key: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date ] }

Fragment 51837 (Actor 736774,736775)
StreamFilter { predicate: (IsNull(Case((IsNull(account_to_portfolios_dm.effective_end_date) AND IsNull(clients_portfolios_dm.effective_end_date)), null:Date, IsNull(account_to_portfolios_dm.effective_end_date), clients_portfolios_dm.effective_end_date, IsNull(clients_portfolios_dm.effective_end_date), account_to_portfolios_dm.effective_end_date, Least(account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.effective_end_date))) OR (Greatest(account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_start_date) < Case((IsNull(account_to_portfolios_dm.effective_end_date) AND IsNull(clients_portfolios_dm.effective_end_date)), null:Date, IsNull(account_to_portfolios_dm.effective_end_date), clients_portfolios_dm.effective_end_date, IsNull(clients_portfolios_dm.effective_end_date), account_to_portfolios_dm.effective_end_date, Least(account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.effective_end_date)))) AND IsNull(account_to_portfolios_dm.disabled_at) AND IsNull(clients_portfolios_dm.disabled_at) AND (IsNull(account_to_portfolios_dm.effective_end_date) OR (account_to_portfolios_dm.effective_end_date > account_to_portfolios_dm.effective_start_date)) AND Not(IsTrue(open_accounts_mv.is_restricted)) }
├── output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, open_accounts_mv.is_restricted, account_to_portfolios_dm.portfolio_id, open_accounts_mv.account_id ]
├── stream key: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date ]
└── MergeExecutor { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.effective_end_date, clients_portfolios_dm.client_id, clients_portfolios_dm.disabled_at, clients_portfolios_dm.effective_start_date, clients_portfolios_dm.effective_end_date, open_accounts_mv.is_restricted, account_to_portfolios_dm.portfolio_id, open_accounts_mv.account_id ], stream key: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, clients_portfolios_dm.client_id, clients_portfolios_dm.effective_start_date ] }

Fragment 51838 (Actor 736806,736807)
StreamLocalityProvider { locality_columns: [accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id] } { output: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date ], stream key: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date ] }
└── MergeExecutor { output: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date ], stream key: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date ] }

Fragment 51839 (Actor 736809,736808)
StreamProject { exprs: [accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date] } { output: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date ], stream key: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date ] }
└── StreamFilter { predicate: IsNull(accounts_to_clients_dm.disabled_at) AND (IsNull(accounts_to_clients_dm.effective_end_date) OR (accounts_to_clients_dm.effective_end_date > accounts_to_clients_dm.effective_start_date)) } { output: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date, accounts_to_clients_dm.disabled_at, accounts_to_clients_dm.effective_end_date ], stream key: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date ] }
    └── StreamTableScan { table: accounts_to_clients_dm, columns: [account_id, client_id, effective_start_date, disabled_at, effective_end_date] } { output: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date, accounts_to_clients_dm.disabled_at, accounts_to_clients_dm.effective_end_date ], stream key: [ accounts_to_clients_dm.account_id, accounts_to_clients_dm.client_id, accounts_to_clients_dm.effective_start_date ] }
        ├── Upstream { output: [ account_id, client_id, effective_start_date, disabled_at, effective_end_date ], stream key: [] }
        └── BatchPlanNode { output: [ account_id, client_id, effective_start_date, disabled_at, effective_end_date ], stream key: [] }