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

← cluster insights objects twrr_by_currency_mv explain
Overview Objects Graph History
materialized view · insights.twrr_by_currency_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 lookupsWindow state — add a WHERE rank <= N to bound it
30 operators
Materialize · insights.twrr_by_currency_mv
0% idle 2 actors
Project
2 actors
Project
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
SyncLogStore · LeftOuter · position_by_currency_mv_next.account_group_id = flow_by_cur…
2 actors
HashJoin · LeftOuter · position_by_currency_mv_next.account_group_id = flow_by_cur… 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 · flow_by_currency_mv_next
0% idle 2 actors
StreamScan · flow_by_currency_mv_next
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
LocalityProvider
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Filter · Not(IsNull(first_value))
0% idle 2 actors
OverWindow · Not(IsNull(first_value)) Window state — add a WHERE rank <= N to bound it
0% idle 2 actors
LocalityProvider · Not(IsNull(first_value))
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Filter · position_by_currency_mv_next
0% idle 2 actors
StreamScan · position_by_currency_mv_next
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Heat = the operator's output-buffer backpressure over the sampling window. Click a node to fold its subtree.
Materialize · insights.twrr_by_currency_mv Materialize insights.twrr_by_curren… idle · 2 actors Project Project — · 2 actors Project Project — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors SyncLogStore · LeftOuter · position_by_currency_mv_next.account_group_id = flow_by_cur… SyncLogStore LeftOuter · position_by… — · 2 actors HashJoin · LeftOuter · position_by_currency_mv_next.account_group_id = flow_by_cur… HashJoin LeftOuter · position_by… 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 · flow_by_currency_mv_next Filter flow_by_currency_mv_next idle · 2 actors StreamScan · flow_by_currency_mv_next StreamScan flow_by_currency_mv_next 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 · Not(IsNull(first_value)) Filter Not(IsNull(first_value)) idle · 2 actors OverWindow · Not(IsNull(first_value)) OverWindow Not(IsNull(first_value)) idle · 2 actors LocalityProvider · Not(IsNull(first_value)) LocalityProvider Not(IsNull(first_value)) idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Filter · position_by_currency_mv_next Filter position_by_currency_mv… idle · 2 actors StreamScan · position_by_currency_mv_next StreamScan position_by_currency_mv… idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors
Streaming operator plan from EXPLAIN ANALYZE. Node heat = backpressure. Drag to pan, scroll to zoom.
Fragments (DESCRIBE FRAGMENTS) — click to expand
Fragment 64463 (Actor 747666,747665)
StreamMaterialize { columns: [account_group_id, dim_balance_date, holding_currency_code, currency_code, market_value, prev_market_value, net_flow, daily_subperiod_return, daily_subperiod_fair_value_return, daily_subperiod_return_system_currency, daily_subperiod_fair_value_return_system_currency, position_by_currency_mv_next.position_type(hidden), position_by_currency_mv_next.source_entity_type(hidden), position_by_currency_mv_next.position_values_mv_next.position_type_expanded(hidden), position_by_currency_mv_next.flag(hidden), position_by_currency_mv_next.position_summary_mv_next.source_entity_type(hidden), flow_by_currency_mv_next.position_type(hidden), flow_by_currency_mv_next.flow_values_mv_next.position_type_expanded(hidden), flow_by_currency_mv_next.currency_code(hidden), flow_by_currency_mv_next.flag(hidden)], stream_key: [account_group_id, dim_balance_date, holding_currency_code, position_by_currency_mv_next.position_type, currency_code, position_by_currency_mv_next.source_entity_type, position_by_currency_mv_next.position_values_mv_next.position_type_expanded, position_by_currency_mv_next.flag, position_by_currency_mv_next.position_summary_mv_next.source_entity_type, flow_by_currency_mv_next.position_type, flow_by_currency_mv_next.flow_values_mv_next.position_type_expanded, flow_by_currency_mv_next.currency_code, flow_by_currency_mv_next.flag], pk_columns: [account_group_id, dim_balance_date, holding_currency_code, position_by_currency_mv_next.position_type, currency_code, position_by_currency_mv_next.source_entity_type, position_by_currency_mv_next.position_values_mv_next.position_type_expanded, position_by_currency_mv_next.flag, position_by_currency_mv_next.position_summary_mv_next.source_entity_type, flow_by_currency_mv_next.position_type, flow_by_currency_mv_next.flow_values_mv_next.position_type_expanded, flow_by_currency_mv_next.currency_code, flow_by_currency_mv_next.flag], pk_conflict: NoCheck }
├── output: [ position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.dim_balance_date, position_by_currency_mv_next.item_id, position_by_currency_mv_next.currency_code, position_by_currency_mv_next.market_value, first_value, $expr1, $expr3, $expr4, $expr5, $expr6, position_by_currency_mv_next.position_type, position_by_currency_mv_next.source_entity_type, position_by_currency_mv_next.position_values_mv_next.position_type_expanded, position_by_currency_mv_next.flag, position_by_currency_mv_next.position_summary_mv_next.source_entity_type, flow_by_currency_mv_next.position_type, flow_by_currency_mv_next.flow_values_mv_next.position_type_expanded, flow_by_currency_mv_next.currency_code, flow_by_currency_mv_next.flag ]
├── stream key: [ position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.dim_balance_date, position_by_currency_mv_next.item_id, position_by_currency_mv_next.position_type, position_by_currency_mv_next.currency_code, position_by_currency_mv_next.source_entity_type, position_by_currency_mv_next.position_values_mv_next.position_type_expanded, position_by_currency_mv_next.flag, position_by_currency_mv_next.position_summary_mv_next.source_entity_type, flow_by_currency_mv_next.position_type, flow_by_currency_mv_next.flow_values_mv_next.position_type_expanded, flow_by_currency_mv_next.currency_code, flow_by_currency_mv_next.flag ]
└── StreamProject
└─exprs:
  ┌─position_by_currency_mv_next.account_group_id
  ├─position_by_currency_mv_next.dim_balance_date
  ├─position_by_currency_mv_next.item_id
  ├─position_by_currency_mv_next.currency_code
  ├─position_by_currency_mv_next.market_value
  ├─first_value
  ├─$expr1
  ├─Case((IsNull(first_value) OR (first_value = 0:Decimal)), 0:Decimal, (position_by_currency_mv_next.market_value = 0:Decimal), 0:Decimal, (((position_by_currency_mv_next.market_value - $expr1) < 0:Decimal) AND ((first_value + $expr1) > 0:Decimal)), Greatest(((position_by_currency_mv_next.market_value / (first_value + $expr1)) - 1:Decimal), -0.999999999999999999:Decimal), Greatest((((position_by_currency_mv_next.market_value - $expr1) / first_value) - 1:Decimal), -0.999999999999999999:Decimal)) as $expr3
  ├─Case((IsNull(first_value) OR (first_value = 0:Decimal)), 0:Decimal, (position_by_currency_mv_next.fair_value = 0:Decimal), 0:Decimal, (((position_by_currency_mv_next.fair_value - $expr1) < 0:Decimal) AND ((first_value + $expr1) > 0:Decimal)), Greatest(((position_by_currency_mv_next.fair_value / (first_value + $expr1)) - 1:Decimal), -0.999999999999999999:Decimal), Greatest((((position_by_currency_mv_next.fair_value - $expr1) / first_value) - 1:Decimal), -0.999999999999999999:Decimal)) as $expr4
  ├─Case((IsNull(first_value) OR (first_value = 0:Decimal)), 0:Decimal, (position_by_currency_mv_next.market_value_system_currency = 0:Decimal), 0:Decimal, (((position_by_currency_mv_next.market_value_system_currency - $expr2) < 0:Decimal) AND ((first_value + $expr2) > 0:Decimal)), Greatest(((position_by_currency_mv_next.market_value_system_currency / (first_value + $expr2)) - 1:Decimal), -0.999999999999999999:Decimal), Greatest((((position_by_currency_mv_next.market_value_system_currency - $expr2) / first_value) - 1:Decimal), -0.999999999999999999:Decimal)) as $expr5
  ├─Case((IsNull(first_value) OR (first_value = 0:Decimal)), 0:Decimal, (position_by_currency_mv_next.fair_value_system_currency = 0:Decimal), 0:Decimal, (((position_by_currency_mv_next.fair_value_system_currency - $expr2) < 0:Decimal) AND ((first_value + $expr2) > 0:Decimal)), Greatest(((position_by_currency_mv_next.fair_value_system_currency / (first_value + $expr2)) - 1:Decimal), -0.999999999999999999:Decimal), Greatest((((position_by_currency_mv_next.fair_value_system_currency - $expr2) / first_value) - 1:Decimal), -0.999999999999999999:Decimal)) as $expr6
  ├─position_by_currency_mv_next.position_type
  ├─position_by_currency_mv_next.source_entity_type
  ├─position_by_currency_mv_next.position_values_mv_next.position_type_expanded
  ├─position_by_currency_mv_next.flag
  ├─position_by_currency_mv_next.position_summary_mv_next.source_entity_type
  ├─flow_by_currency_mv_next.position_type
  ├─flow_by_currency_mv_next.flow_values_mv_next.position_type_expanded
  ├─flow_by_currency_mv_next.currency_code
  └─flow_by_currency_mv_next.flag
    ├── output: [ position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.dim_balance_date, position_by_currency_mv_next.item_id, position_by_currency_mv_next.currency_code, position_by_currency_mv_next.market_value, first_value, $expr1, $expr3, $expr4, $expr5, $expr6, position_by_currency_mv_next.position_type, position_by_currency_mv_next.source_entity_type, position_by_currency_mv_next.position_values_mv_next.position_type_expanded, position_by_currency_mv_next.flag, position_by_currency_mv_next.position_summary_mv_next.source_entity_type, flow_by_currency_mv_next.position_type, flow_by_currency_mv_next.flow_values_mv_next.position_type_expanded, flow_by_currency_mv_next.currency_code, flow_by_currency_mv_next.flag ]
    ├── stream key: [ position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.dim_balance_date, position_by_currency_mv_next.item_id, position_by_currency_mv_next.position_type, position_by_currency_mv_next.currency_code, position_by_currency_mv_next.source_entity_type, position_by_currency_mv_next.position_values_mv_next.position_type_expanded, position_by_currency_mv_next.flag, position_by_currency_mv_next.position_summary_mv_next.source_entity_type, flow_by_currency_mv_next.position_type, flow_by_currency_mv_next.flow_values_mv_next.position_type_expanded, flow_by_currency_mv_next.currency_code, flow_by_currency_mv_next.flag ]
    └── StreamProject { exprs: [position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.dim_balance_date, position_by_currency_mv_next.item_id, position_by_currency_mv_next.currency_code, position_by_currency_mv_next.market_value, first_value, position_by_currency_mv_next.fair_value, first_value, position_by_currency_mv_next.market_value_system_currency, first_value, position_by_currency_mv_next.fair_value_system_currency, first_value, Coalesce(flow_by_currency_mv_next.adjusted_net_flow, 0:Decimal) as $expr1, Coalesce(flow_by_currency_mv_next.adjusted_net_flow_system_currency, 0:Decimal) as $expr2, position_by_currency_mv_next.position_type, position_by_currency_mv_next.source_entity_type, position_by_currency_mv_next.position_values_mv_next.position_type_expanded, position_by_currency_mv_next.flag, position_by_currency_mv_next.position_summary_mv_next.source_entity_type, flow_by_currency_mv_next.position_type, flow_by_currency_mv_next.flow_values_mv_next.position_type_expanded, flow_by_currency_mv_next.currency_code, flow_by_currency_mv_next.flag] } { output: [ position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.dim_balance_date, position_by_currency_mv_next.item_id, position_by_currency_mv_next.currency_code, position_by_currency_mv_next.market_value, first_value, position_by_currency_mv_next.fair_value, first_value, position_by_currency_mv_next.market_value_system_currency, first_value, position_by_currency_mv_next.fair_value_system_currency, first_value, $expr1, $expr2, position_by_currency_mv_next.position_type, position_by_currency_mv_next.source_entity_type, position_by_currency_mv_next.position_values_mv_next.position_type_expanded, position_by_currency_mv_next.flag, position_by_currency_mv_next.position_summary_mv_next.source_entity_type, flow_by_currency_mv_next.position_type, flow_by_currency_mv_next.flow_values_mv_next.position_type_expanded, flow_by_currency_mv_next.currency_code, flow_by_currency_mv_next.flag ], stream key: [ position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.dim_balance_date, position_by_currency_mv_next.item_id, position_by_currency_mv_next.position_type, position_by_currency_mv_next.currency_code, position_by_currency_mv_next.source_entity_type, position_by_currency_mv_next.position_values_mv_next.position_type_expanded, position_by_currency_mv_next.flag, position_by_currency_mv_next.position_summary_mv_next.source_entity_type, flow_by_currency_mv_next.position_type, flow_by_currency_mv_next.flow_values_mv_next.position_type_expanded, flow_by_currency_mv_next.currency_code, flow_by_currency_mv_next.flag ] }
        └── MergeExecutor { output: [ position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.dim_balance_date, position_by_currency_mv_next.item_id, position_by_currency_mv_next.currency_code, position_by_currency_mv_next.market_value, position_by_currency_mv_next.fair_value, position_by_currency_mv_next.market_value_system_currency, position_by_currency_mv_next.fair_value_system_currency, first_value, first_value, first_value, first_value, flow_by_currency_mv_next.adjusted_net_flow, flow_by_currency_mv_next.adjusted_net_flow_system_currency, position_by_currency_mv_next.position_type, position_by_currency_mv_next.source_entity_type, position_by_currency_mv_next.position_values_mv_next.position_type_expanded, position_by_currency_mv_next.flag, position_by_currency_mv_next.position_summary_mv_next.source_entity_type, flow_by_currency_mv_next.account_group_id, flow_by_currency_mv_next.dim_transaction_date, flow_by_currency_mv_next.holding_currency_code, flow_by_currency_mv_next.position_type, flow_by_currency_mv_next.flow_values_mv_next.position_type_expanded, flow_by_currency_mv_next.currency_code, flow_by_currency_mv_next.flag ], stream key: [ position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.dim_balance_date, position_by_currency_mv_next.item_id, position_by_currency_mv_next.position_type, position_by_currency_mv_next.currency_code, position_by_currency_mv_next.source_entity_type, position_by_currency_mv_next.position_values_mv_next.position_type_expanded, position_by_currency_mv_next.flag, position_by_currency_mv_next.position_summary_mv_next.source_entity_type, flow_by_currency_mv_next.position_type, flow_by_currency_mv_next.flow_values_mv_next.position_type_expanded, flow_by_currency_mv_next.currency_code, flow_by_currency_mv_next.flag ] }

Fragment 64464 (Actor 747670,747669)
StreamSyncLogStore { output: [ position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.dim_balance_date, position_by_currency_mv_next.item_id, position_by_currency_mv_next.currency_code, position_by_currency_mv_next.market_value, position_by_currency_mv_next.fair_value, position_by_currency_mv_next.market_value_system_currency, position_by_currency_mv_next.fair_value_system_currency, first_value, first_value, first_value, first_value, flow_by_currency_mv_next.adjusted_net_flow, flow_by_currency_mv_next.adjusted_net_flow_system_currency, position_by_currency_mv_next.position_type, position_by_currency_mv_next.source_entity_type, position_by_currency_mv_next.position_values_mv_next.position_type_expanded, position_by_currency_mv_next.flag, position_by_currency_mv_next.position_summary_mv_next.source_entity_type, flow_by_currency_mv_next.account_group_id, flow_by_currency_mv_next.dim_transaction_date, flow_by_currency_mv_next.holding_currency_code, flow_by_currency_mv_next.position_type, flow_by_currency_mv_next.flow_values_mv_next.position_type_expanded, flow_by_currency_mv_next.currency_code, flow_by_currency_mv_next.flag ], stream key: [ position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.dim_balance_date, position_by_currency_mv_next.item_id, position_by_currency_mv_next.position_type, position_by_currency_mv_next.currency_code, position_by_currency_mv_next.source_entity_type, position_by_currency_mv_next.position_values_mv_next.position_type_expanded, position_by_currency_mv_next.flag, position_by_currency_mv_next.position_summary_mv_next.source_entity_type, flow_by_currency_mv_next.position_type, flow_by_currency_mv_next.flow_values_mv_next.position_type_expanded, flow_by_currency_mv_next.currency_code, flow_by_currency_mv_next.flag ] }
└── StreamHashJoin { type: LeftOuter, predicate: position_by_currency_mv_next.account_group_id = flow_by_currency_mv_next.account_group_id AND position_by_currency_mv_next.dim_balance_date = flow_by_currency_mv_next.dim_transaction_date AND position_by_currency_mv_next.item_id = flow_by_currency_mv_next.holding_currency_code } { output: [ position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.dim_balance_date, position_by_currency_mv_next.item_id, position_by_currency_mv_next.currency_code, position_by_currency_mv_next.market_value, position_by_currency_mv_next.fair_value, position_by_currency_mv_next.market_value_system_currency, position_by_currency_mv_next.fair_value_system_currency, first_value, first_value, first_value, first_value, flow_by_currency_mv_next.adjusted_net_flow, flow_by_currency_mv_next.adjusted_net_flow_system_currency, position_by_currency_mv_next.position_type, position_by_currency_mv_next.source_entity_type, position_by_currency_mv_next.position_values_mv_next.position_type_expanded, position_by_currency_mv_next.flag, position_by_currency_mv_next.position_summary_mv_next.source_entity_type, flow_by_currency_mv_next.account_group_id, flow_by_currency_mv_next.dim_transaction_date, flow_by_currency_mv_next.holding_currency_code, flow_by_currency_mv_next.position_type, flow_by_currency_mv_next.flow_values_mv_next.position_type_expanded, flow_by_currency_mv_next.currency_code, flow_by_currency_mv_next.flag ], stream key: [ position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.dim_balance_date, position_by_currency_mv_next.item_id, position_by_currency_mv_next.position_type, position_by_currency_mv_next.currency_code, position_by_currency_mv_next.source_entity_type, position_by_currency_mv_next.position_values_mv_next.position_type_expanded, position_by_currency_mv_next.flag, position_by_currency_mv_next.position_summary_mv_next.source_entity_type, flow_by_currency_mv_next.position_type, flow_by_currency_mv_next.flow_values_mv_next.position_type_expanded, flow_by_currency_mv_next.currency_code, flow_by_currency_mv_next.flag ] }
    ├── MergeExecutor { output: [ position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.dim_balance_date, position_by_currency_mv_next.position_type, position_by_currency_mv_next.item_id, position_by_currency_mv_next.currency_code, position_by_currency_mv_next.market_value, position_by_currency_mv_next.fair_value, position_by_currency_mv_next.market_value_system_currency, position_by_currency_mv_next.fair_value_system_currency, position_by_currency_mv_next.source_entity_type, position_by_currency_mv_next.position_values_mv_next.position_type_expanded, position_by_currency_mv_next.flag, position_by_currency_mv_next.position_summary_mv_next.source_entity_type, first_value, first_value, first_value, first_value ], stream key: [ position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.dim_balance_date, position_by_currency_mv_next.item_id, position_by_currency_mv_next.position_type, position_by_currency_mv_next.currency_code, position_by_currency_mv_next.source_entity_type, position_by_currency_mv_next.position_values_mv_next.position_type_expanded, position_by_currency_mv_next.flag, position_by_currency_mv_next.position_summary_mv_next.source_entity_type ] }
    └── MergeExecutor { output: [ flow_by_currency_mv_next.account_group_id, flow_by_currency_mv_next.dim_transaction_date, flow_by_currency_mv_next.holding_currency_code, flow_by_currency_mv_next.adjusted_net_flow, flow_by_currency_mv_next.adjusted_net_flow_system_currency, flow_by_currency_mv_next.position_type, flow_by_currency_mv_next.flow_values_mv_next.position_type_expanded, flow_by_currency_mv_next.currency_code, flow_by_currency_mv_next.flag ], stream key: [ flow_by_currency_mv_next.account_group_id, flow_by_currency_mv_next.dim_transaction_date, flow_by_currency_mv_next.holding_currency_code, flow_by_currency_mv_next.position_type, flow_by_currency_mv_next.flow_values_mv_next.position_type_expanded, flow_by_currency_mv_next.currency_code, flow_by_currency_mv_next.flag ] }

Fragment 64465 (Actor 747672,747671)
StreamLocalityProvider { locality_columns: [position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.dim_balance_date, position_by_currency_mv_next.item_id] } { output: [ position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.dim_balance_date, position_by_currency_mv_next.position_type, position_by_currency_mv_next.item_id, position_by_currency_mv_next.currency_code, position_by_currency_mv_next.market_value, position_by_currency_mv_next.fair_value, position_by_currency_mv_next.market_value_system_currency, position_by_currency_mv_next.fair_value_system_currency, position_by_currency_mv_next.source_entity_type, position_by_currency_mv_next.position_values_mv_next.position_type_expanded, position_by_currency_mv_next.flag, position_by_currency_mv_next.position_summary_mv_next.source_entity_type, first_value, first_value, first_value, first_value ], stream key: [ position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.dim_balance_date, position_by_currency_mv_next.item_id, position_by_currency_mv_next.position_type, position_by_currency_mv_next.currency_code, position_by_currency_mv_next.source_entity_type, position_by_currency_mv_next.position_values_mv_next.position_type_expanded, position_by_currency_mv_next.flag, position_by_currency_mv_next.position_summary_mv_next.source_entity_type ] }
└── MergeExecutor { output: [ position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.dim_balance_date, position_by_currency_mv_next.position_type, position_by_currency_mv_next.item_id, position_by_currency_mv_next.currency_code, position_by_currency_mv_next.market_value, position_by_currency_mv_next.fair_value, position_by_currency_mv_next.market_value_system_currency, position_by_currency_mv_next.fair_value_system_currency, position_by_currency_mv_next.source_entity_type, position_by_currency_mv_next.position_values_mv_next.position_type_expanded, position_by_currency_mv_next.flag, position_by_currency_mv_next.position_summary_mv_next.source_entity_type, first_value, first_value, first_value, first_value ], stream key: [ position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.position_type, position_by_currency_mv_next.item_id, position_by_currency_mv_next.dim_balance_date, position_by_currency_mv_next.currency_code, position_by_currency_mv_next.source_entity_type, position_by_currency_mv_next.position_values_mv_next.position_type_expanded, position_by_currency_mv_next.flag, position_by_currency_mv_next.position_summary_mv_next.source_entity_type ] }

Fragment 64466 (Actor 747673,747674)
StreamFilter { predicate: Not(IsNull(first_value)) } { output: [ position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.dim_balance_date, position_by_currency_mv_next.position_type, position_by_currency_mv_next.item_id, position_by_currency_mv_next.currency_code, position_by_currency_mv_next.market_value, position_by_currency_mv_next.fair_value, position_by_currency_mv_next.market_value_system_currency, position_by_currency_mv_next.fair_value_system_currency, position_by_currency_mv_next.source_entity_type, position_by_currency_mv_next.position_values_mv_next.position_type_expanded, position_by_currency_mv_next.flag, position_by_currency_mv_next.position_summary_mv_next.source_entity_type, first_value, first_value, first_value, first_value ], stream key: [ position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.position_type, position_by_currency_mv_next.item_id, position_by_currency_mv_next.dim_balance_date, position_by_currency_mv_next.currency_code, position_by_currency_mv_next.source_entity_type, position_by_currency_mv_next.position_values_mv_next.position_type_expanded, position_by_currency_mv_next.flag, position_by_currency_mv_next.position_summary_mv_next.source_entity_type ] }
└── StreamOverWindow { window_functions: [first_value(position_by_currency_mv_next.market_value) OVER(PARTITION BY position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.position_type, position_by_currency_mv_next.item_id ORDER BY position_by_currency_mv_next.dim_balance_date ASC ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING), first_value(position_by_currency_mv_next.fair_value) OVER(PARTITION BY position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.position_type, position_by_currency_mv_next.item_id ORDER BY position_by_currency_mv_next.dim_balance_date ASC ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING), first_value(position_by_currency_mv_next.market_value_system_currency) OVER(PARTITION BY position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.position_type, position_by_currency_mv_next.item_id ORDER BY position_by_currency_mv_next.dim_balance_date ASC ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING), first_value(position_by_currency_mv_next.fair_value_system_currency) OVER(PARTITION BY position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.position_type, position_by_currency_mv_next.item_id ORDER BY position_by_currency_mv_next.dim_balance_date ASC ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING)] } { output: [ position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.dim_balance_date, position_by_currency_mv_next.position_type, position_by_currency_mv_next.item_id, position_by_currency_mv_next.currency_code, position_by_currency_mv_next.market_value, position_by_currency_mv_next.fair_value, position_by_currency_mv_next.market_value_system_currency, position_by_currency_mv_next.fair_value_system_currency, position_by_currency_mv_next.source_entity_type, position_by_currency_mv_next.position_values_mv_next.position_type_expanded, position_by_currency_mv_next.flag, position_by_currency_mv_next.position_summary_mv_next.source_entity_type, first_value, first_value, first_value, first_value ], stream key: [ position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.position_type, position_by_currency_mv_next.item_id, position_by_currency_mv_next.dim_balance_date, position_by_currency_mv_next.currency_code, position_by_currency_mv_next.source_entity_type, position_by_currency_mv_next.position_values_mv_next.position_type_expanded, position_by_currency_mv_next.flag, position_by_currency_mv_next.position_summary_mv_next.source_entity_type ] }
    └── StreamLocalityProvider { locality_columns: [position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.position_type, position_by_currency_mv_next.item_id] } { output: [ position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.dim_balance_date, position_by_currency_mv_next.position_type, position_by_currency_mv_next.item_id, position_by_currency_mv_next.currency_code, position_by_currency_mv_next.market_value, position_by_currency_mv_next.fair_value, position_by_currency_mv_next.market_value_system_currency, position_by_currency_mv_next.fair_value_system_currency, position_by_currency_mv_next.source_entity_type, position_by_currency_mv_next.position_values_mv_next.position_type_expanded, position_by_currency_mv_next.flag, position_by_currency_mv_next.position_summary_mv_next.source_entity_type ], stream key: [ position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.position_type, position_by_currency_mv_next.item_id, position_by_currency_mv_next.dim_balance_date, position_by_currency_mv_next.currency_code, position_by_currency_mv_next.source_entity_type, position_by_currency_mv_next.position_values_mv_next.position_type_expanded, position_by_currency_mv_next.flag, position_by_currency_mv_next.position_summary_mv_next.source_entity_type ] }
        └── MergeExecutor { output: [ position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.dim_balance_date, position_by_currency_mv_next.position_type, position_by_currency_mv_next.item_id, position_by_currency_mv_next.currency_code, position_by_currency_mv_next.market_value, position_by_currency_mv_next.fair_value, position_by_currency_mv_next.market_value_system_currency, position_by_currency_mv_next.fair_value_system_currency, position_by_currency_mv_next.source_entity_type, position_by_currency_mv_next.position_values_mv_next.position_type_expanded, position_by_currency_mv_next.flag, position_by_currency_mv_next.position_summary_mv_next.source_entity_type ], stream key: [ position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.dim_balance_date, position_by_currency_mv_next.position_type, position_by_currency_mv_next.currency_code, position_by_currency_mv_next.source_entity_type, position_by_currency_mv_next.position_values_mv_next.position_type_expanded, position_by_currency_mv_next.item_id, position_by_currency_mv_next.flag, position_by_currency_mv_next.position_summary_mv_next.source_entity_type ] }

Fragment 64467 (Actor 747581,747582)
StreamFilter { predicate: (position_by_currency_mv_next.position_type = 'POSITION':Varchar) AND (position_by_currency_mv_next.source_entity_type = 'portfolio':Varchar) } { output: [ position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.dim_balance_date, position_by_currency_mv_next.position_type, position_by_currency_mv_next.item_id, position_by_currency_mv_next.currency_code, position_by_currency_mv_next.market_value, position_by_currency_mv_next.fair_value, position_by_currency_mv_next.market_value_system_currency, position_by_currency_mv_next.fair_value_system_currency, position_by_currency_mv_next.source_entity_type, position_by_currency_mv_next.position_values_mv_next.position_type_expanded, position_by_currency_mv_next.flag, position_by_currency_mv_next.position_summary_mv_next.source_entity_type ], stream key: [ position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.dim_balance_date, position_by_currency_mv_next.position_type, position_by_currency_mv_next.currency_code, position_by_currency_mv_next.source_entity_type, position_by_currency_mv_next.position_values_mv_next.position_type_expanded, position_by_currency_mv_next.item_id, position_by_currency_mv_next.flag, position_by_currency_mv_next.position_summary_mv_next.source_entity_type ] }
└── StreamTableScan { table: position_by_currency_mv_next, columns: [account_group_id, dim_balance_date, position_type, item_id, currency_code, market_value, fair_value, market_value_system_currency, fair_value_system_currency, source_entity_type, position_values_mv_next.position_type_expanded, flag, position_summary_mv_next.source_entity_type] } { output: [ position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.dim_balance_date, position_by_currency_mv_next.position_type, position_by_currency_mv_next.item_id, position_by_currency_mv_next.currency_code, position_by_currency_mv_next.market_value, position_by_currency_mv_next.fair_value, position_by_currency_mv_next.market_value_system_currency, position_by_currency_mv_next.fair_value_system_currency, position_by_currency_mv_next.source_entity_type, position_by_currency_mv_next.position_values_mv_next.position_type_expanded, position_by_currency_mv_next.flag, position_by_currency_mv_next.position_summary_mv_next.source_entity_type ], stream key: [ position_by_currency_mv_next.account_group_id, position_by_currency_mv_next.dim_balance_date, position_by_currency_mv_next.position_type, position_by_currency_mv_next.currency_code, position_by_currency_mv_next.source_entity_type, position_by_currency_mv_next.position_values_mv_next.position_type_expanded, position_by_currency_mv_next.item_id, position_by_currency_mv_next.flag, position_by_currency_mv_next.position_summary_mv_next.source_entity_type ] }
    ├── Upstream { output: [ account_group_id, dim_balance_date, position_type, item_id, currency_code, market_value, fair_value, market_value_system_currency, fair_value_system_currency, source_entity_type, position_values_mv_next.position_type_expanded, flag, position_summary_mv_next.source_entity_type ], stream key: [] }
    └── BatchPlanNode { output: [ account_group_id, dim_balance_date, position_type, item_id, currency_code, market_value, fair_value, market_value_system_currency, fair_value_system_currency, source_entity_type, position_values_mv_next.position_type_expanded, flag, position_summary_mv_next.source_entity_type ], stream key: [] }

Fragment 64468 (Actor 742032,742031)
StreamLocalityProvider { locality_columns: [flow_by_currency_mv_next.account_group_id, flow_by_currency_mv_next.dim_transaction_date, flow_by_currency_mv_next.holding_currency_code] } { output: [ flow_by_currency_mv_next.account_group_id, flow_by_currency_mv_next.dim_transaction_date, flow_by_currency_mv_next.holding_currency_code, flow_by_currency_mv_next.adjusted_net_flow, flow_by_currency_mv_next.adjusted_net_flow_system_currency, flow_by_currency_mv_next.position_type, flow_by_currency_mv_next.flow_values_mv_next.position_type_expanded, flow_by_currency_mv_next.currency_code, flow_by_currency_mv_next.flag ], stream key: [ flow_by_currency_mv_next.account_group_id, flow_by_currency_mv_next.dim_transaction_date, flow_by_currency_mv_next.holding_currency_code, flow_by_currency_mv_next.position_type, flow_by_currency_mv_next.flow_values_mv_next.position_type_expanded, flow_by_currency_mv_next.currency_code, flow_by_currency_mv_next.flag ] }
└── MergeExecutor { output: [ flow_by_currency_mv_next.account_group_id, flow_by_currency_mv_next.dim_transaction_date, flow_by_currency_mv_next.holding_currency_code, flow_by_currency_mv_next.adjusted_net_flow, flow_by_currency_mv_next.adjusted_net_flow_system_currency, flow_by_currency_mv_next.position_type, flow_by_currency_mv_next.flow_values_mv_next.position_type_expanded, flow_by_currency_mv_next.currency_code, flow_by_currency_mv_next.flag ], stream key: [ flow_by_currency_mv_next.account_group_id, flow_by_currency_mv_next.holding_currency_code, flow_by_currency_mv_next.position_type, flow_by_currency_mv_next.dim_transaction_date, flow_by_currency_mv_next.flow_values_mv_next.position_type_expanded, flow_by_currency_mv_next.currency_code, flow_by_currency_mv_next.flag ] }

Fragment 64469 (Actor 747715,747714)
StreamFilter { predicate: (flow_by_currency_mv_next.position_type = 'POSITION':Varchar) } { output: [ flow_by_currency_mv_next.account_group_id, flow_by_currency_mv_next.dim_transaction_date, flow_by_currency_mv_next.holding_currency_code, flow_by_currency_mv_next.adjusted_net_flow, flow_by_currency_mv_next.adjusted_net_flow_system_currency, flow_by_currency_mv_next.position_type, flow_by_currency_mv_next.flow_values_mv_next.position_type_expanded, flow_by_currency_mv_next.currency_code, flow_by_currency_mv_next.flag ], stream key: [ flow_by_currency_mv_next.account_group_id, flow_by_currency_mv_next.holding_currency_code, flow_by_currency_mv_next.position_type, flow_by_currency_mv_next.dim_transaction_date, flow_by_currency_mv_next.flow_values_mv_next.position_type_expanded, flow_by_currency_mv_next.currency_code, flow_by_currency_mv_next.flag ] }
└── StreamTableScan { table: flow_by_currency_mv_next, columns: [account_group_id, dim_transaction_date, holding_currency_code, adjusted_net_flow, adjusted_net_flow_system_currency, position_type, flow_values_mv_next.position_type_expanded, currency_code, flag] } { output: [ flow_by_currency_mv_next.account_group_id, flow_by_currency_mv_next.dim_transaction_date, flow_by_currency_mv_next.holding_currency_code, flow_by_currency_mv_next.adjusted_net_flow, flow_by_currency_mv_next.adjusted_net_flow_system_currency, flow_by_currency_mv_next.position_type, flow_by_currency_mv_next.flow_values_mv_next.position_type_expanded, flow_by_currency_mv_next.currency_code, flow_by_currency_mv_next.flag ], stream key: [ flow_by_currency_mv_next.account_group_id, flow_by_currency_mv_next.holding_currency_code, flow_by_currency_mv_next.position_type, flow_by_currency_mv_next.dim_transaction_date, flow_by_currency_mv_next.flow_values_mv_next.position_type_expanded, flow_by_currency_mv_next.currency_code, flow_by_currency_mv_next.flag ] }
    ├── Upstream { output: [ account_group_id, dim_transaction_date, holding_currency_code, adjusted_net_flow, adjusted_net_flow_system_currency, position_type, flow_values_mv_next.position_type_expanded, currency_code, flag ], stream key: [] }
    └── BatchPlanNode { output: [ account_group_id, dim_transaction_date, holding_currency_code, adjusted_net_flow, adjusted_net_flow_system_currency, position_type, flow_values_mv_next.position_type_expanded, currency_code, flag ], stream key: [] }