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

← cluster opportunity objects signal_portfolio_balance_decrease_mv explain
Overview Objects Graph History
materialized view · opportunity.signal_portfolio_balance_decrease_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
32 operators
Materialize · opportunity.signal_portfolio_balance_decrease_mv
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
SyncLogStore · Inner · 'GET_PORTFOLIO_BALANCE_PERCENT_DECREASE_1D':Varchar = oppor…
2 actors
HashJoin · Inner · 'GET_PORTFOLIO_BALANCE_PERCENT_DECREASE_1D':Varchar = oppor… Stateful hash join (4 state tables) — consider a temporal join for dimension lookups
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
LocalityProvider
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
StreamScan · opportunity_conditions_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
Union
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Filter · portfolio_balance_delta_mv_next
0% idle 2 actors
StreamScan · portfolio_balance_delta_mv_next
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project
2 actors
Merge
2 actors
Heat = the operator's output-buffer backpressure over the sampling window. Click a node to fold its subtree.
Materialize · opportunity.signal_portfolio_balance_decrease_mv Materialize opportunity.signal_port… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors SyncLogStore · Inner · 'GET_PORTFOLIO_BALANCE_PERCENT_DECREASE_1D':Varchar = oppor… SyncLogStore Inner · 'GET_PORTFOLIO_… — · 2 actors HashJoin · Inner · 'GET_PORTFOLIO_BALANCE_PERCENT_DECREASE_1D':Varchar = oppor… HashJoin Inner · 'GET_PORTFOLIO_… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors LocalityProvider LocalityProvider idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors StreamScan · opportunity_conditions_mv StreamScan opportunity_conditions_… 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 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 Filter · portfolio_balance_delta_mv_next Filter portfolio_balance_delta… idle · 2 actors StreamScan · portfolio_balance_delta_mv_next StreamScan portfolio_balance_delta… 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
Streaming operator plan from EXPLAIN ANALYZE. Node heat = backpressure. Drag to pan, scroll to zoom.
Fragments (DESCRIBE FRAGMENTS) — click to expand
Fragment 61954 (Actor 740499,740500)
StreamMaterialize
├─columns: [opportunity_id, activity_name, resource_id, fact_date, 'GET_PORTFOLIO_BALANCE_PERCENT_DECREASE_1D':Varchar(hidden), portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id(hidden), portfolio_balance_delta_mv_next.position_summary_mv_next.position_type(hidden), portfolio_balance_delta_mv_next.currency_code(hidden), portfolio_balance_delta_mv_next.$expr3(hidden), portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type(hidden), portfolio_balance_delta_mv_next.dim_balance_date(hidden), portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1(hidden), portfolio_balance_delta_mv_next.portfolio_id(hidden), portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src(hidden), $src(hidden), opportunity_conditions_mv._rw_projected_row_id(hidden), opportunity_conditions_mv._rw_projected_row_id#1(hidden)]
├─stream_key: ['GET_PORTFOLIO_BALANCE_PERCENT_DECREASE_1D':Varchar, portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src, $src, opportunity_id, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1]
├─pk_columns: ['GET_PORTFOLIO_BALANCE_PERCENT_DECREASE_1D':Varchar, portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src, $src, opportunity_id, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1]
└─pk_conflict: NoCheck
├── output: [ opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv.activity_name, portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.dim_balance_date, 'GET_PORTFOLIO_BALANCE_PERCENT_DECREASE_1D':Varchar, portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src, $src, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ]
├── stream key: [ 'GET_PORTFOLIO_BALANCE_PERCENT_DECREASE_1D':Varchar, portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src, $src, opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ]
└── MergeExecutor { output: [ opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv.activity_name, portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.dim_balance_date, 'GET_PORTFOLIO_BALANCE_PERCENT_DECREASE_1D':Varchar, portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src, $src, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ], stream key: [ 'GET_PORTFOLIO_BALANCE_PERCENT_DECREASE_1D':Varchar, portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src, $src, opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ] }

Fragment 61955 (Actor 740501,740502)
StreamSyncLogStore { output: [ opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv.activity_name, portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.dim_balance_date, 'GET_PORTFOLIO_BALANCE_PERCENT_DECREASE_1D':Varchar, portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src, $src, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ], stream key: [ 'GET_PORTFOLIO_BALANCE_PERCENT_DECREASE_1D':Varchar, portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src, $src, opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ] }
└── StreamHashJoin { type: Inner, predicate: 'GET_PORTFOLIO_BALANCE_PERCENT_DECREASE_1D':Varchar = opportunity_conditions_mv.activity_name AND Case((opportunity_conditions_mv.op = 'GTE':Varchar), ($expr1 >= opportunity_conditions_mv.threshold), (opportunity_conditions_mv.op = 'GT':Varchar), ($expr1 > opportunity_conditions_mv.threshold), (opportunity_conditions_mv.op = 'LTE':Varchar), ($expr1 <= opportunity_conditions_mv.threshold), (opportunity_conditions_mv.op = 'LT':Varchar), ($expr1 < opportunity_conditions_mv.threshold), (opportunity_conditions_mv.op = 'EQ':Varchar), ($expr1 = opportunity_conditions_mv.threshold), false:Boolean) } { output: [ opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv.activity_name, portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.dim_balance_date, 'GET_PORTFOLIO_BALANCE_PERCENT_DECREASE_1D':Varchar, portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src, $src, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ], stream key: [ 'GET_PORTFOLIO_BALANCE_PERCENT_DECREASE_1D':Varchar, portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src, $src, opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ] }
    ├── MergeExecutor { output: [ portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.dim_balance_date, 'GET_PORTFOLIO_BALANCE_PERCENT_DECREASE_1D':Varchar, $expr1, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src, portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_id, $src ], stream key: [ 'GET_PORTFOLIO_BALANCE_PERCENT_DECREASE_1D':Varchar, portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src, $src ] }
    └── MergeExecutor { output: [ opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.op, opportunity_conditions_mv.threshold, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ], stream key: [ opportunity_conditions_mv.activity_name, opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ] }

Fragment 61956 (Actor 740504,740503)
StreamLocalityProvider { locality_columns: ['GET_PORTFOLIO_BALANCE_PERCENT_DECREASE_1D':Varchar] } { output: [ portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.dim_balance_date, 'GET_PORTFOLIO_BALANCE_PERCENT_DECREASE_1D':Varchar, $expr1, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src, portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_id, $src ], stream key: [ 'GET_PORTFOLIO_BALANCE_PERCENT_DECREASE_1D':Varchar, portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src, $src ] }
└── MergeExecutor { output: [ portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.dim_balance_date, 'GET_PORTFOLIO_BALANCE_PERCENT_DECREASE_1D':Varchar, $expr1, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src, portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_id, $src ], stream key: [ portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src, $src ] }

Fragment 61957 (Actor 740609,740610)
StreamUnion { all: true } { output: [ portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.dim_balance_date, 'GET_PORTFOLIO_BALANCE_PERCENT_DECREASE_1D':Varchar, $expr1, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src, portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_id, $src ], stream key: [ portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src, $src ] }
├── MergeExecutor { output: [ portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.dim_balance_date, 'GET_PORTFOLIO_BALANCE_PERCENT_DECREASE_1D':Varchar, $expr1, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src, portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_id, 0:Int32 ], stream key: [ portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src ] }
└── MergeExecutor { output: [ portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.dim_balance_date, 'GET_PORTFOLIO_BALANCE_ABSOLUTE_DECREASE_1D':Varchar, $expr2, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src, portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_id, 1:Int32 ], stream key: [ portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src ] }

Fragment 61958 (Actor 740658,740657)
StreamProject { exprs: [portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.dim_balance_date, 'GET_PORTFOLIO_BALANCE_PERCENT_DECREASE_1D':Varchar, Case((portfolio_balance_delta_mv_next.market_value <> 0:Decimal), ((portfolio_balance_delta_mv_next.prev_market_value - portfolio_balance_delta_mv_next.market_value) / portfolio_balance_delta_mv_next.market_value), 1:Decimal) as $expr1, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src, portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_id, 0:Int32] } { output: [ portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.dim_balance_date, 'GET_PORTFOLIO_BALANCE_PERCENT_DECREASE_1D':Varchar, $expr1, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src, portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_id, 0:Int32 ], stream key: [ portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src ] }
└── MergeExecutor { output: [ portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.market_value, portfolio_balance_delta_mv_next.prev_market_value, portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src ], stream key: [ portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src ] }

Fragment 61959 (Actor 740656,740655)
StreamFilter { predicate: (portfolio_balance_delta_mv_next.market_value < portfolio_balance_delta_mv_next.prev_market_value) } { output: [ portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.market_value, portfolio_balance_delta_mv_next.prev_market_value, portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src ], stream key: [ portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src ] }
└── StreamTableScan { table: portfolio_balance_delta_mv_next, columns: [portfolio_id, dim_balance_date, market_value, prev_market_value, position_summary_mv_next.account_group_id, position_summary_mv_next.position_type, currency_code, $expr3, position_summary_mv_next.source_entity_type, position_summary_mv_next.source_entity_type#1, portfolio_to_account_groups_mv.$src] } { output: [ portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.market_value, portfolio_balance_delta_mv_next.prev_market_value, portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src ], stream key: [ portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src ] }
    ├── Upstream { output: [ portfolio_id, dim_balance_date, market_value, prev_market_value, position_summary_mv_next.account_group_id, position_summary_mv_next.position_type, currency_code, $expr3, position_summary_mv_next.source_entity_type, position_summary_mv_next.source_entity_type#1, portfolio_to_account_groups_mv.$src ], stream key: [] }
    └── BatchPlanNode { output: [ portfolio_id, dim_balance_date, market_value, prev_market_value, position_summary_mv_next.account_group_id, position_summary_mv_next.position_type, currency_code, $expr3, position_summary_mv_next.source_entity_type, position_summary_mv_next.source_entity_type#1, portfolio_to_account_groups_mv.$src ], stream key: [] }

Fragment 61960 (Actor 740660,740659)
StreamProject { exprs: [portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.dim_balance_date, 'GET_PORTFOLIO_BALANCE_ABSOLUTE_DECREASE_1D':Varchar, (portfolio_balance_delta_mv_next.prev_market_value - portfolio_balance_delta_mv_next.market_value) as $expr2, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src, portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_id, 1:Int32] } { output: [ portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.dim_balance_date, 'GET_PORTFOLIO_BALANCE_ABSOLUTE_DECREASE_1D':Varchar, $expr2, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src, portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_id, 1:Int32 ], stream key: [ portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src ] }
└── MergeExecutor { output: [ portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.market_value, portfolio_balance_delta_mv_next.prev_market_value, portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src ], stream key: [ portfolio_balance_delta_mv_next.position_summary_mv_next.account_group_id, portfolio_balance_delta_mv_next.position_summary_mv_next.position_type, portfolio_balance_delta_mv_next.currency_code, portfolio_balance_delta_mv_next.$expr3, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type, portfolio_balance_delta_mv_next.dim_balance_date, portfolio_balance_delta_mv_next.position_summary_mv_next.source_entity_type#1, portfolio_balance_delta_mv_next.portfolio_id, portfolio_balance_delta_mv_next.portfolio_to_account_groups_mv.$src ] }

Fragment 61961 (Actor 740619,740620)
StreamLocalityProvider { locality_columns: [opportunity_conditions_mv.activity_name] } { output: [ opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.op, opportunity_conditions_mv.threshold, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ], stream key: [ opportunity_conditions_mv.activity_name, opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ] }
└── MergeExecutor { output: [ opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.op, opportunity_conditions_mv.threshold, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ], stream key: [ opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ] }

Fragment 61962 (Actor 740622,740621)
StreamTableScan { table: opportunity_conditions_mv, columns: [opportunity_id, activity_name, op, threshold, _rw_projected_row_id, _rw_projected_row_id#1] } { output: [ opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.op, opportunity_conditions_mv.threshold, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ], stream key: [ opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ] }
├── Upstream { output: [ opportunity_id, activity_name, op, threshold, _rw_projected_row_id, _rw_projected_row_id#1 ], stream key: [] }
└── BatchPlanNode { output: [ opportunity_id, activity_name, op, threshold, _rw_projected_row_id, _rw_projected_row_id#1 ], stream key: [] }