RWM Console cluster: risingwave.platform.svc.cluster.local

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

Job is idle — throughput ~0; structure shown.

Stateful hash join (4 state tables) — consider a temporal join for dimension lookupsAggregation state — unbounded unless keyed or temporally filtered
73 operators
Materialize · insights.transactions_merged_mv
0% idle 2 actors
Union
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project · LeftOuter · IsNull(transactions_dm.order_id)
2 actors
Filter · LeftOuter · IsNull(transactions_dm.order_id)
0% idle 2 actors
HashJoin · LeftOuter · IsNull(transactions_dm.order_id) Stateful hash join (4 state tables) — consider a temporal join for dimension lookups
0% idle 2 actors
Project · LeftOuter · IsNull(transactions_dm.order_id)
2 actors
HashAgg · LeftOuter · IsNull(transactions_dm.order_id) Aggregation state — unbounded unless keyed or temporally filtered
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Filter · transactions_dm
0% idle 2 actors
StreamScan · transactions_dm
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Filter · LeftOuter · IsNull(transactions_dm.transaction_id)
0% idle 2 actors
HashJoin · LeftOuter · IsNull(transactions_dm.transaction_id) Stateful hash join (4 state tables) — consider a temporal join for dimension lookups
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
StreamScan · transactions_dm
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Filter · LeftOuter · IsNull(transactions_dm.transaction_id)
0% idle 2 actors
Project · LeftOuter · IsNull(transactions_dm.transaction_id)
2 actors
HashJoin · LeftOuter · IsNull(transactions_dm.transaction_id) Stateful hash join (4 state tables) — consider a temporal join for dimension lookups
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project · LeftSemi · transactions_intraday_dm.status_label_id = active_transacti…
2 actors
HashJoin · LeftSemi · transactions_intraday_dm.status_label_id = active_transacti… 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 · active_transaction_status_id_mv
0% idle 1 actor
BatchPlan
1 actor
Merge
1 actor
Merge
2 actors
Exchange
0% idle 0 actors
Project · transactions_intraday_dm
2 actors
Filter · transactions_intraday_dm
0% idle 2 actors
StreamScan · transactions_intraday_dm
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project · transactions_intraday_dm
2 actors
Filter · transactions_intraday_dm
0% idle 2 actors
StreamScan · transactions_intraday_dm
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project · LeftOuter · IsNull(transactions_intraday_dm.transaction_id)
2 actors
Filter · LeftOuter · IsNull(transactions_intraday_dm.transaction_id)
0% idle 2 actors
HashJoin · LeftOuter · IsNull(transactions_intraday_dm.transaction_id) Stateful hash join (4 state tables) — consider a temporal join for dimension lookups
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project · transactions_dm
2 actors
Filter · transactions_dm
0% idle 2 actors
StreamScan · transactions_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
Heat = the operator's output-buffer backpressure over the sampling window. Click a node to fold its subtree.
Materialize · insights.transactions_merged_mv Materialize insights.transactions_m… idle · 2 actors Union Union idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project · LeftOuter · IsNull(transactions_dm.order_id) Project LeftOuter · IsNull(tran… — · 2 actors Filter · LeftOuter · IsNull(transactions_dm.order_id) Filter LeftOuter · IsNull(tran… idle · 2 actors HashJoin · LeftOuter · IsNull(transactions_dm.order_id) HashJoin LeftOuter · IsNull(tran… idle · 2 actors Project · LeftOuter · IsNull(transactions_dm.order_id) Project LeftOuter · IsNull(tran… — · 2 actors HashAgg · LeftOuter · IsNull(transactions_dm.order_id) HashAgg LeftOuter · IsNull(tran… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Filter · transactions_dm Filter transactions_dm idle · 2 actors StreamScan · transactions_dm StreamScan transactions_dm idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Filter · LeftOuter · IsNull(transactions_dm.transaction_id) Filter LeftOuter · IsNull(tran… idle · 2 actors HashJoin · LeftOuter · IsNull(transactions_dm.transaction_id) HashJoin LeftOuter · IsNull(tran… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors StreamScan · transactions_dm StreamScan transactions_dm idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Filter · LeftOuter · IsNull(transactions_dm.transaction_id) Filter LeftOuter · IsNull(tran… idle · 2 actors Project · LeftOuter · IsNull(transactions_dm.transaction_id) Project LeftOuter · IsNull(tran… — · 2 actors HashJoin · LeftOuter · IsNull(transactions_dm.transaction_id) HashJoin LeftOuter · IsNull(tran… 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 Project · LeftSemi · transactions_intraday_dm.status_label_id = active_transacti… Project LeftSemi · transactions… — · 2 actors HashJoin · LeftSemi · transactions_intraday_dm.status_label_id = active_transacti… HashJoin LeftSemi · transactions… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors StreamScan · active_transaction_status_id_mv StreamScan active_transaction_stat… idle · 1 actor BatchPlan BatchPlan — · 1 actor Merge Merge — · 1 actor Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project · transactions_intraday_dm Project transactions_intraday_dm — · 2 actors Filter · transactions_intraday_dm Filter transactions_intraday_dm idle · 2 actors StreamScan · transactions_intraday_dm StreamScan transactions_intraday_dm idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project · transactions_intraday_dm Project transactions_intraday_dm — · 2 actors Filter · transactions_intraday_dm Filter transactions_intraday_dm idle · 2 actors StreamScan · transactions_intraday_dm StreamScan transactions_intraday_dm idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project · LeftOuter · IsNull(transactions_intraday_dm.transaction_id) Project LeftOuter · IsNull(tran… — · 2 actors Filter · LeftOuter · IsNull(transactions_intraday_dm.transaction_id) Filter LeftOuter · IsNull(tran… idle · 2 actors HashJoin · LeftOuter · IsNull(transactions_intraday_dm.transaction_id) HashJoin LeftOuter · IsNull(tran… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project Project — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project · transactions_dm Project transactions_dm — · 2 actors Filter · transactions_dm Filter transactions_dm idle · 2 actors StreamScan · transactions_dm StreamScan transactions_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
Streaming operator plan from EXPLAIN ANALYZE. Node heat = backpressure. Drag to pan, scroll to zoom.
Fragments (DESCRIBE FRAGMENTS) — click to expand
Fragment 9796 (Actor 32912,32913)
StreamMaterialize { columns: [transaction_id, account_id, asset_id, transaction_valuation_date, transaction_valuation_timestamp, transaction_settlement_date, transaction_type_id, currency_code, net_value, quantity, transaction_source, transactions_intraday_dm.transaction_id(hidden), transactions_intraday_dm.status_label_id(hidden), null:Varchar(hidden), null:Varchar#1(hidden), null:Varchar#2(hidden), null:Varchar#3(hidden), $src(hidden)], stream_key: [transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id, null:Varchar, null:Varchar#1, null:Varchar#2, null:Varchar#3, $src], pk_columns: [transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id, null:Varchar, null:Varchar#1, null:Varchar#2, null:Varchar#3, $src], pk_conflict: NoCheck }
├── output: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_valuation_date, transactions_intraday_dm.transaction_valuation_timestamp, transactions_intraday_dm.transaction_settlement_date, transactions_intraday_dm.transaction_type_id, transactions_intraday_dm.currency_code, transactions_intraday_dm.net_value, transactions_intraday_dm.quantity, 'INTRADAY':Varchar, transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id, null:Varchar, null:Varchar, null:Varchar, null:Varchar, $src ]
├── stream key: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id, null:Varchar, null:Varchar, null:Varchar, null:Varchar, $src ]
└── StreamUnion { all: true }
    ├── output: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_valuation_date, transactions_intraday_dm.transaction_valuation_timestamp, transactions_intraday_dm.transaction_settlement_date, transactions_intraday_dm.transaction_type_id, transactions_intraday_dm.currency_code, transactions_intraday_dm.net_value, transactions_intraday_dm.quantity, 'INTRADAY':Varchar, transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id, null:Varchar, null:Varchar, null:Varchar, null:Varchar, $src ]
    ├── stream key: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id, null:Varchar, null:Varchar, null:Varchar, null:Varchar, $src ]
    ├── MergeExecutor { output: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_valuation_date, transactions_intraday_dm.transaction_valuation_timestamp, transactions_intraday_dm.transaction_settlement_date, transactions_intraday_dm.transaction_type_id, transactions_intraday_dm.currency_code, transactions_intraday_dm.net_value, transactions_intraday_dm.quantity, 'INTRADAY':Varchar, transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id, null:Varchar, null:Varchar, null:Varchar, null:Varchar, 0:Int32 ], stream key: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id ] }
    ├── MergeExecutor { output: [ transactions_dm.transaction_id, transactions_dm.account_id, transactions_dm.asset_id, transactions_dm.transaction_valuation_date, transactions_dm.transaction_valuation_timestamp, transactions_dm.transaction_settlement_date, transactions_dm.transaction_type_id, transactions_dm.currency_code, transactions_dm.net_value, transactions_dm.quantity, 'EOD':Varchar, transactions_dm.transaction_id, transactions_intraday_dm.status_label_id, null:Varchar, null:Varchar, null:Varchar, null:Varchar, 1:Int32 ], stream key: [ transactions_dm.transaction_id, transactions_intraday_dm.status_label_id ] }
    └── MergeExecutor
        ├── output: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_valuation_date, transactions_intraday_dm.transaction_valuation_timestamp, transactions_intraday_dm.transaction_settlement_date, transactions_intraday_dm.transaction_type_id, transactions_intraday_dm.currency_code, transactions_intraday_dm.net_value, transactions_intraday_dm.quantity, 'INTRADAY_SETTLING':Varchar, transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id, transactions_intraday_dm.order_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_type_id, 2:Int32 ]
        └── stream key: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id, transactions_intraday_dm.order_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_type_id ]

Fragment 9797 (Actor 33004,33005)
StreamProject { exprs: [transactions_intraday_dm.transaction_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_valuation_date, transactions_intraday_dm.transaction_valuation_timestamp, transactions_intraday_dm.transaction_settlement_date, transactions_intraday_dm.transaction_type_id, transactions_intraday_dm.currency_code, transactions_intraday_dm.net_value, transactions_intraday_dm.quantity, 'INTRADAY':Varchar, transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id, null:Varchar, null:Varchar, null:Varchar, null:Varchar, 0:Int32] }
├── output: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_valuation_date, transactions_intraday_dm.transaction_valuation_timestamp, transactions_intraday_dm.transaction_settlement_date, transactions_intraday_dm.transaction_type_id, transactions_intraday_dm.currency_code, transactions_intraday_dm.net_value, transactions_intraday_dm.quantity, 'INTRADAY':Varchar, transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id, null:Varchar, null:Varchar, null:Varchar, null:Varchar, 0:Int32 ]
├── stream key: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id ]
└── MergeExecutor { output: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_valuation_date, transactions_intraday_dm.transaction_valuation_timestamp, transactions_intraday_dm.transaction_settlement_date, transactions_intraday_dm.transaction_type_id, transactions_intraday_dm.currency_code, transactions_intraday_dm.net_value, transactions_intraday_dm.quantity, 'INTRADAY':Varchar, transactions_intraday_dm.status_label_id ], stream key: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id ] }

Fragment 9798 (Actor 33008,33009)
StreamProject { exprs: [transactions_intraday_dm.transaction_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_valuation_date, transactions_intraday_dm.transaction_valuation_timestamp, transactions_intraday_dm.transaction_settlement_date, transactions_intraday_dm.transaction_type_id, transactions_intraday_dm.currency_code, transactions_intraday_dm.net_value, transactions_intraday_dm.quantity, 'INTRADAY':Varchar, transactions_intraday_dm.status_label_id] }
├── output: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_valuation_date, transactions_intraday_dm.transaction_valuation_timestamp, transactions_intraday_dm.transaction_settlement_date, transactions_intraday_dm.transaction_type_id, transactions_intraday_dm.currency_code, transactions_intraday_dm.net_value, transactions_intraday_dm.quantity, 'INTRADAY':Varchar, transactions_intraday_dm.status_label_id ]
├── stream key: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id ]
└── StreamHashJoin { type: LeftSemi, predicate: transactions_intraday_dm.status_label_id = active_transaction_status_id_mv.status_label_id } { output: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_valuation_date, transactions_intraday_dm.transaction_valuation_timestamp, transactions_intraday_dm.transaction_settlement_date, transactions_intraday_dm.transaction_type_id, transactions_intraday_dm.currency_code, transactions_intraday_dm.net_value, transactions_intraday_dm.quantity, transactions_intraday_dm.status_label_id ], stream key: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id ] }
    ├── MergeExecutor { output: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_valuation_date, transactions_intraday_dm.transaction_valuation_timestamp, transactions_intraday_dm.transaction_settlement_date, transactions_intraday_dm.transaction_type_id, transactions_intraday_dm.currency_code, transactions_intraday_dm.net_value, transactions_intraday_dm.quantity, transactions_intraday_dm.status_label_id ], stream key: [ transactions_intraday_dm.transaction_id ] }
    └── MergeExecutor { output: [ active_transaction_status_id_mv.status_label_id, active_transaction_status_id_mv._row_id ], stream key: [ active_transaction_status_id_mv._row_id ] }

Fragment 9799 (Actor 32962,32961)
StreamProject { exprs: [transactions_intraday_dm.transaction_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_valuation_date, transactions_intraday_dm.transaction_valuation_timestamp, transactions_intraday_dm.transaction_settlement_date, transactions_intraday_dm.transaction_type_id, transactions_intraday_dm.currency_code, transactions_intraday_dm.net_value, transactions_intraday_dm.quantity, transactions_intraday_dm.status_label_id] }
├── output: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_valuation_date, transactions_intraday_dm.transaction_valuation_timestamp, transactions_intraday_dm.transaction_settlement_date, transactions_intraday_dm.transaction_type_id, transactions_intraday_dm.currency_code, transactions_intraday_dm.net_value, transactions_intraday_dm.quantity, transactions_intraday_dm.status_label_id ]
├── stream key: [ transactions_intraday_dm.transaction_id ]
└── StreamFilter { predicate: IsNull(transactions_intraday_dm.disabled_at) } { output: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_valuation_date, transactions_intraday_dm.transaction_valuation_timestamp, transactions_intraday_dm.transaction_settlement_date, transactions_intraday_dm.transaction_type_id, transactions_intraday_dm.currency_code, transactions_intraday_dm.net_value, transactions_intraday_dm.quantity, transactions_intraday_dm.status_label_id, transactions_intraday_dm.disabled_at ], stream key: [ transactions_intraday_dm.transaction_id ] }
    └── StreamTableScan { table: transactions_intraday_dm, columns: [transaction_id, account_id, asset_id, transaction_valuation_date, transaction_valuation_timestamp, transaction_settlement_date, transaction_type_id, currency_code, net_value, quantity, status_label_id, disabled_at] }
        ├── output: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_valuation_date, transactions_intraday_dm.transaction_valuation_timestamp, transactions_intraday_dm.transaction_settlement_date, transactions_intraday_dm.transaction_type_id, transactions_intraday_dm.currency_code, transactions_intraday_dm.net_value, transactions_intraday_dm.quantity, transactions_intraday_dm.status_label_id, transactions_intraday_dm.disabled_at ]
        ├── stream key: [ transactions_intraday_dm.transaction_id ]
        ├── Upstream { output: [ transaction_id, account_id, asset_id, transaction_valuation_date, transaction_valuation_timestamp, transaction_settlement_date, transaction_type_id, currency_code, net_value, quantity, status_label_id, disabled_at ], stream key: [] }
        └── BatchPlanNode { output: [ transaction_id, account_id, asset_id, transaction_valuation_date, transaction_valuation_timestamp, transaction_settlement_date, transaction_type_id, currency_code, net_value, quantity, status_label_id, disabled_at ], stream key: [] }

Fragment 9800 (Actor 32969)
StreamTableScan { table: active_transaction_status_id_mv, columns: [status_label_id, _row_id] } { output: [ active_transaction_status_id_mv.status_label_id, active_transaction_status_id_mv._row_id ], stream key: [ active_transaction_status_id_mv._row_id ] }
├── Upstream { output: [ status_label_id, _row_id ], stream key: [] }
└── BatchPlanNode { output: [ status_label_id, _row_id ], stream key: [] }

Fragment 9801 (Actor 33014,33015)
StreamProject { exprs: [transactions_dm.transaction_id, transactions_dm.account_id, transactions_dm.asset_id, transactions_dm.transaction_valuation_date, transactions_dm.transaction_valuation_timestamp, transactions_dm.transaction_settlement_date, transactions_dm.transaction_type_id, transactions_dm.currency_code, transactions_dm.net_value, transactions_dm.quantity, 'EOD':Varchar, transactions_dm.transaction_id, transactions_intraday_dm.status_label_id, null:Varchar, null:Varchar, null:Varchar, null:Varchar, 1:Int32] }
├── output: [ transactions_dm.transaction_id, transactions_dm.account_id, transactions_dm.asset_id, transactions_dm.transaction_valuation_date, transactions_dm.transaction_valuation_timestamp, transactions_dm.transaction_settlement_date, transactions_dm.transaction_type_id, transactions_dm.currency_code, transactions_dm.net_value, transactions_dm.quantity, 'EOD':Varchar, transactions_dm.transaction_id, transactions_intraday_dm.status_label_id, null:Varchar, null:Varchar, null:Varchar, null:Varchar, 1:Int32 ]
├── stream key: [ transactions_dm.transaction_id, transactions_intraday_dm.status_label_id ]
└── StreamFilter { predicate: IsNull(transactions_intraday_dm.transaction_id) } { output: [ transactions_dm.transaction_id, transactions_dm.account_id, transactions_dm.asset_id, transactions_dm.transaction_valuation_date, transactions_dm.transaction_valuation_timestamp, transactions_dm.transaction_settlement_date, transactions_dm.transaction_type_id, transactions_dm.currency_code, transactions_dm.net_value, transactions_dm.quantity, transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id ], stream key: [ transactions_dm.transaction_id, transactions_intraday_dm.status_label_id ] }
    └── StreamHashJoin { type: LeftOuter, predicate: transactions_dm.transaction_id = transactions_intraday_dm.transaction_id } { output: [ transactions_dm.transaction_id, transactions_dm.account_id, transactions_dm.asset_id, transactions_dm.transaction_valuation_date, transactions_dm.transaction_valuation_timestamp, transactions_dm.transaction_settlement_date, transactions_dm.transaction_type_id, transactions_dm.currency_code, transactions_dm.net_value, transactions_dm.quantity, transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id ], stream key: [ transactions_dm.transaction_id, transactions_intraday_dm.status_label_id ] }
        ├── MergeExecutor { output: [ transactions_dm.transaction_id, transactions_dm.account_id, transactions_dm.asset_id, transactions_dm.transaction_valuation_date, transactions_dm.transaction_valuation_timestamp, transactions_dm.transaction_settlement_date, transactions_dm.transaction_type_id, transactions_dm.currency_code, transactions_dm.net_value, transactions_dm.quantity ], stream key: [ transactions_dm.transaction_id ] }
        └── MergeExecutor { output: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id ], stream key: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id ] }

Fragment 9802 (Actor 33022,33023)
StreamProject { exprs: [transactions_dm.transaction_id, transactions_dm.account_id, transactions_dm.asset_id, transactions_dm.transaction_valuation_date, transactions_dm.transaction_valuation_timestamp, transactions_dm.transaction_settlement_date, transactions_dm.transaction_type_id, transactions_dm.currency_code, transactions_dm.net_value, transactions_dm.quantity] } { output: [ transactions_dm.transaction_id, transactions_dm.account_id, transactions_dm.asset_id, transactions_dm.transaction_valuation_date, transactions_dm.transaction_valuation_timestamp, transactions_dm.transaction_settlement_date, transactions_dm.transaction_type_id, transactions_dm.currency_code, transactions_dm.net_value, transactions_dm.quantity ], stream key: [ transactions_dm.transaction_id ] }
└── StreamFilter { predicate: IsNull(transactions_dm.disabled_at) } { output: [ transactions_dm.transaction_id, transactions_dm.account_id, transactions_dm.asset_id, transactions_dm.transaction_valuation_date, transactions_dm.transaction_valuation_timestamp, transactions_dm.transaction_settlement_date, transactions_dm.transaction_type_id, transactions_dm.currency_code, transactions_dm.net_value, transactions_dm.quantity, transactions_dm.disabled_at ], stream key: [ transactions_dm.transaction_id ] }
    └── StreamTableScan { table: transactions_dm, columns: [transaction_id, account_id, asset_id, transaction_valuation_date, transaction_valuation_timestamp, transaction_settlement_date, transaction_type_id, currency_code, net_value, quantity, disabled_at] } { output: [ transactions_dm.transaction_id, transactions_dm.account_id, transactions_dm.asset_id, transactions_dm.transaction_valuation_date, transactions_dm.transaction_valuation_timestamp, transactions_dm.transaction_settlement_date, transactions_dm.transaction_type_id, transactions_dm.currency_code, transactions_dm.net_value, transactions_dm.quantity, transactions_dm.disabled_at ], stream key: [ transactions_dm.transaction_id ] }
        ├── Upstream { output: [ transaction_id, account_id, asset_id, transaction_valuation_date, transaction_valuation_timestamp, transaction_settlement_date, transaction_type_id, currency_code, net_value, quantity, disabled_at ], stream key: [] }
        └── BatchPlanNode { output: [ transaction_id, account_id, asset_id, transaction_valuation_date, transaction_valuation_timestamp, transaction_settlement_date, transaction_type_id, currency_code, net_value, quantity, disabled_at ], stream key: [] }

Fragment 9803 (Actor 33011,33010)
StreamProject { exprs: [transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id] } { output: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id ], stream key: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id ] }
└── MergeExecutor { output: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_valuation_date, transactions_intraday_dm.transaction_valuation_timestamp, transactions_intraday_dm.transaction_settlement_date, transactions_intraday_dm.transaction_type_id, transactions_intraday_dm.currency_code, transactions_intraday_dm.net_value, transactions_intraday_dm.quantity, 'INTRADAY':Varchar, transactions_intraday_dm.status_label_id ], stream key: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id ] }

Fragment 9804 (Actor 33016,33017)
StreamProject { exprs: [transactions_intraday_dm.transaction_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_valuation_date, transactions_intraday_dm.transaction_valuation_timestamp, transactions_intraday_dm.transaction_settlement_date, transactions_intraday_dm.transaction_type_id, transactions_intraday_dm.currency_code, transactions_intraday_dm.net_value, transactions_intraday_dm.quantity, 'INTRADAY_SETTLING':Varchar, transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id, transactions_intraday_dm.order_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_type_id, 2:Int32] }
├── output: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_valuation_date, transactions_intraday_dm.transaction_valuation_timestamp, transactions_intraday_dm.transaction_settlement_date, transactions_intraday_dm.transaction_type_id, transactions_intraday_dm.currency_code, transactions_intraday_dm.net_value, transactions_intraday_dm.quantity, 'INTRADAY_SETTLING':Varchar, transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id, transactions_intraday_dm.order_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_type_id, 2:Int32 ]
├── stream key: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id, transactions_intraday_dm.order_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_type_id ]
└── StreamFilter { predicate: IsNull(transactions_dm.order_id) }
    ├── output: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_valuation_date, transactions_intraday_dm.transaction_valuation_timestamp, transactions_intraday_dm.transaction_settlement_date, transactions_intraday_dm.transaction_type_id, transactions_intraday_dm.currency_code, transactions_intraday_dm.net_value, transactions_intraday_dm.quantity, 'INTRADAY_SETTLING':Varchar, transactions_dm.order_id, transactions_intraday_dm.status_label_id, transactions_intraday_dm.order_id, transactions_dm.account_id, transactions_dm.asset_id, transactions_dm.transaction_type_id ]
    ├── stream key: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id, transactions_intraday_dm.order_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_type_id ]
    └── StreamHashJoin { type: LeftOuter, predicate: transactions_intraday_dm.order_id = transactions_dm.order_id AND transactions_intraday_dm.account_id = transactions_dm.account_id AND transactions_intraday_dm.asset_id = transactions_dm.asset_id AND transactions_intraday_dm.transaction_type_id = transactions_dm.transaction_type_id AND (transactions_intraday_dm.order_id <> '':Varchar) }
        ├── output: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_valuation_date, transactions_intraday_dm.transaction_valuation_timestamp, transactions_intraday_dm.transaction_settlement_date, transactions_intraday_dm.transaction_type_id, transactions_intraday_dm.currency_code, transactions_intraday_dm.net_value, transactions_intraday_dm.quantity, 'INTRADAY_SETTLING':Varchar, transactions_dm.order_id, transactions_intraday_dm.status_label_id, transactions_intraday_dm.order_id, transactions_dm.account_id, transactions_dm.asset_id, transactions_dm.transaction_type_id ]
        ├── stream key: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id, transactions_intraday_dm.order_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_type_id ]
        ├── MergeExecutor { output: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_valuation_date, transactions_intraday_dm.transaction_valuation_timestamp, transactions_intraday_dm.transaction_settlement_date, transactions_intraday_dm.transaction_type_id, transactions_intraday_dm.currency_code, transactions_intraday_dm.net_value, transactions_intraday_dm.quantity, transactions_intraday_dm.order_id, 'INTRADAY_SETTLING':Varchar, transactions_dm.transaction_id, transactions_intraday_dm.status_label_id ], stream key: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id ] }
        └── StreamProject { exprs: [transactions_dm.order_id, transactions_dm.account_id, transactions_dm.asset_id, transactions_dm.transaction_type_id] } { output: [ transactions_dm.order_id, transactions_dm.account_id, transactions_dm.asset_id, transactions_dm.transaction_type_id ], stream key: [ transactions_dm.account_id, transactions_dm.asset_id, transactions_dm.transaction_type_id, transactions_dm.order_id ] }
            └── StreamHashAgg { group_key: [transactions_dm.account_id, transactions_dm.asset_id, transactions_dm.transaction_type_id, transactions_dm.order_id], aggs: [count] } { output: [ transactions_dm.account_id, transactions_dm.asset_id, transactions_dm.transaction_type_id, transactions_dm.order_id, count ], stream key: [ transactions_dm.account_id, transactions_dm.asset_id, transactions_dm.transaction_type_id, transactions_dm.order_id ] }
                └── MergeExecutor { output: [ transactions_dm.account_id, transactions_dm.asset_id, transactions_dm.transaction_type_id, transactions_dm.order_id, transactions_dm.transaction_id ], stream key: [ transactions_dm.transaction_id ] }

Fragment 9805 (Actor 33019,33018)
StreamFilter { predicate: IsNull(transactions_dm.transaction_id) } { output: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_valuation_date, transactions_intraday_dm.transaction_valuation_timestamp, transactions_intraday_dm.transaction_settlement_date, transactions_intraday_dm.transaction_type_id, transactions_intraday_dm.currency_code, transactions_intraday_dm.net_value, transactions_intraday_dm.quantity, transactions_intraday_dm.order_id, 'INTRADAY_SETTLING':Varchar, transactions_dm.transaction_id, transactions_intraday_dm.status_label_id ], stream key: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id ] }
└── StreamHashJoin { type: LeftOuter, predicate: transactions_intraday_dm.transaction_id = transactions_dm.transaction_id }
    ├── output: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_valuation_date, transactions_intraday_dm.transaction_valuation_timestamp, transactions_intraday_dm.transaction_settlement_date, transactions_intraday_dm.transaction_type_id, transactions_intraday_dm.currency_code, transactions_intraday_dm.net_value, transactions_intraday_dm.quantity, transactions_intraday_dm.order_id, 'INTRADAY_SETTLING':Varchar, transactions_dm.transaction_id, transactions_intraday_dm.status_label_id ]
    ├── stream key: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id ]
    ├── StreamFilter { predicate: IsNull(transactions_intraday_dm.transaction_id) } { output: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_valuation_date, transactions_intraday_dm.transaction_valuation_timestamp, transactions_intraday_dm.transaction_settlement_date, transactions_intraday_dm.transaction_type_id, transactions_intraday_dm.currency_code, transactions_intraday_dm.net_value, transactions_intraday_dm.quantity, transactions_intraday_dm.order_id, 'INTRADAY_SETTLING':Varchar, transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id ], stream key: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id ] }
    │   └── StreamProject { exprs: [transactions_intraday_dm.transaction_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_valuation_date, transactions_intraday_dm.transaction_valuation_timestamp, transactions_intraday_dm.transaction_settlement_date, transactions_intraday_dm.transaction_type_id, transactions_intraday_dm.currency_code, transactions_intraday_dm.net_value, transactions_intraday_dm.quantity, transactions_intraday_dm.order_id, 'INTRADAY_SETTLING':Varchar, transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id] }
    │       ├── output: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_valuation_date, transactions_intraday_dm.transaction_valuation_timestamp, transactions_intraday_dm.transaction_settlement_date, transactions_intraday_dm.transaction_type_id, transactions_intraday_dm.currency_code, transactions_intraday_dm.net_value, transactions_intraday_dm.quantity, transactions_intraday_dm.order_id, 'INTRADAY_SETTLING':Varchar, transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id ]
    │       ├── stream key: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id ]
    │       └── StreamHashJoin { type: LeftOuter, predicate: transactions_intraday_dm.transaction_id = transactions_intraday_dm.transaction_id }
    │           ├── output: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_valuation_date, transactions_intraday_dm.transaction_valuation_timestamp, transactions_intraday_dm.transaction_settlement_date, transactions_intraday_dm.transaction_type_id, transactions_intraday_dm.currency_code, transactions_intraday_dm.net_value, transactions_intraday_dm.quantity, transactions_intraday_dm.order_id, transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id ]
    │           ├── stream key: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id ]
    │           ├── MergeExecutor { output: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_valuation_date, transactions_intraday_dm.transaction_valuation_timestamp, transactions_intraday_dm.transaction_settlement_date, transactions_intraday_dm.transaction_type_id, transactions_intraday_dm.currency_code, transactions_intraday_dm.net_value, transactions_intraday_dm.quantity, transactions_intraday_dm.order_id ], stream key: [ transactions_intraday_dm.transaction_id ] }
    │           └── MergeExecutor { output: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id ], stream key: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id ] }
    └── MergeExecutor { output: [ transactions_dm.transaction_id ], stream key: [ transactions_dm.transaction_id ] }

Fragment 9806 (Actor 33024,33025)
StreamProject { exprs: [transactions_intraday_dm.transaction_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_valuation_date, transactions_intraday_dm.transaction_valuation_timestamp, transactions_intraday_dm.transaction_settlement_date, transactions_intraday_dm.transaction_type_id, transactions_intraday_dm.currency_code, transactions_intraday_dm.net_value, transactions_intraday_dm.quantity, transactions_intraday_dm.order_id] }
├── output: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_valuation_date, transactions_intraday_dm.transaction_valuation_timestamp, transactions_intraday_dm.transaction_settlement_date, transactions_intraday_dm.transaction_type_id, transactions_intraday_dm.currency_code, transactions_intraday_dm.net_value, transactions_intraday_dm.quantity, transactions_intraday_dm.order_id ]
├── stream key: [ transactions_intraday_dm.transaction_id ]
└── StreamFilter { predicate: (transactions_intraday_dm.retire_reason = 'SETTLED':Varchar) } { output: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_valuation_date, transactions_intraday_dm.transaction_valuation_timestamp, transactions_intraday_dm.transaction_settlement_date, transactions_intraday_dm.transaction_type_id, transactions_intraday_dm.currency_code, transactions_intraday_dm.net_value, transactions_intraday_dm.quantity, transactions_intraday_dm.order_id, transactions_intraday_dm.retire_reason ], stream key: [ transactions_intraday_dm.transaction_id ] }
    └── StreamTableScan { table: transactions_intraday_dm, columns: [transaction_id, account_id, asset_id, transaction_valuation_date, transaction_valuation_timestamp, transaction_settlement_date, transaction_type_id, currency_code, net_value, quantity, order_id, retire_reason] }
        ├── output: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_valuation_date, transactions_intraday_dm.transaction_valuation_timestamp, transactions_intraday_dm.transaction_settlement_date, transactions_intraday_dm.transaction_type_id, transactions_intraday_dm.currency_code, transactions_intraday_dm.net_value, transactions_intraday_dm.quantity, transactions_intraday_dm.order_id, transactions_intraday_dm.retire_reason ]
        ├── stream key: [ transactions_intraday_dm.transaction_id ]
        ├── Upstream { output: [ transaction_id, account_id, asset_id, transaction_valuation_date, transaction_valuation_timestamp, transaction_settlement_date, transaction_type_id, currency_code, net_value, quantity, order_id, retire_reason ], stream key: [] }
        └── BatchPlanNode { output: [ transaction_id, account_id, asset_id, transaction_valuation_date, transaction_valuation_timestamp, transaction_settlement_date, transaction_type_id, currency_code, net_value, quantity, order_id, retire_reason ], stream key: [] }

Fragment 9807 (Actor 33007,33006)
StreamProject { exprs: [transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id] } { output: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id ], stream key: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id ] }
└── MergeExecutor { output: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.account_id, transactions_intraday_dm.asset_id, transactions_intraday_dm.transaction_valuation_date, transactions_intraday_dm.transaction_valuation_timestamp, transactions_intraday_dm.transaction_settlement_date, transactions_intraday_dm.transaction_type_id, transactions_intraday_dm.currency_code, transactions_intraday_dm.net_value, transactions_intraday_dm.quantity, 'INTRADAY':Varchar, transactions_intraday_dm.status_label_id ], stream key: [ transactions_intraday_dm.transaction_id, transactions_intraday_dm.status_label_id ] }

Fragment 9808 (Actor 33027,33026)
StreamTableScan { table: transactions_dm, columns: [transaction_id] } { output: [ transactions_dm.transaction_id ], stream key: [ transactions_dm.transaction_id ] }
├── Upstream { output: [ transaction_id ], stream key: [] }
└── BatchPlanNode { output: [ transaction_id ], stream key: [] }

Fragment 9809 (Actor 33028,33029)
StreamFilter { predicate: (transactions_dm.order_id <> '':Varchar) } { output: [ transactions_dm.account_id, transactions_dm.asset_id, transactions_dm.transaction_type_id, transactions_dm.order_id, transactions_dm.transaction_id ], stream key: [ transactions_dm.transaction_id ] }
└── StreamTableScan { table: transactions_dm, columns: [account_id, asset_id, transaction_type_id, order_id, transaction_id] } { output: [ transactions_dm.account_id, transactions_dm.asset_id, transactions_dm.transaction_type_id, transactions_dm.order_id, transactions_dm.transaction_id ], stream key: [ transactions_dm.transaction_id ] }
    ├── Upstream { output: [ account_id, asset_id, transaction_type_id, order_id, transaction_id ], stream key: [] }
    └── BatchPlanNode { output: [ account_id, asset_id, transaction_type_id, order_id, transaction_id ], stream key: [] }