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

← cluster insights objects accruals_agg_mv explain
Overview Objects Graph History
materialized view · insights.accruals_agg_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
48 operators
Materialize · insights.accruals_agg_mv
0% idle 2 actors
Project
2 actors
HashAgg Aggregation state — unbounded unless keyed or temporally filtered
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project · (Not(IsNull(foreign_exchange_rates_eod_ft.rate)) OR (accrua…
2 actors
Filter · (Not(IsNull(foreign_exchange_rates_eod_ft.rate)) OR (accrua…
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
SyncLogStore · LeftOuter · accruals_ft.currency = foreign_exchange_rates_eod_ft.source…
2 actors
HashJoin · LeftOuter · accruals_ft.currency = foreign_exchange_rates_eod_ft.source… Stateful hash join (4 state tables) — consider a temporal join for dimension lookups
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Filter · foreign_exchange_rates_eod_ft
0% idle 2 actors
StreamScan · foreign_exchange_rates_eod_ft
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Filter · (Not(IsNull(foreign_exchange_rates_eod_ft.rate)) OR (accrua…
0% idle 2 actors
Merge
2 actors
Exchange
0% idle 0 actors
SyncLogStore · LeftOuter · accruals_ft.currency = foreign_exchange_rates_eod_ft.source…
2 actors
HashJoin · LeftOuter · accruals_ft.currency = foreign_exchange_rates_eod_ft.source… 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 · foreign_exchange_rates_eod_ft
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
SyncLogStore · LeftOuter · accruals_ft.account_id = holding_values_raw_mv_next.account…
2 actors
HashJoin · LeftOuter · accruals_ft.account_id = holding_values_raw_mv_next.account… 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 · holding_values_raw_mv_next
0% idle 2 actors
BatchPlan
2 actors
Merge
2 actors
Merge
2 actors
Exchange
0% idle 0 actors
Project · accruals_ft
2 actors
Filter · accruals_ft
0% idle 2 actors
StreamScan · accruals_ft
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.accruals_agg_mv Materialize insights.accruals_agg_mv idle · 2 actors Project Project — · 2 actors HashAgg HashAgg idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project · (Not(IsNull(foreign_exchange_rates_eod_ft.rate)) OR (accrua… Project (Not(IsNull(foreign_exc… — · 2 actors Filter · (Not(IsNull(foreign_exchange_rates_eod_ft.rate)) OR (accrua… Filter (Not(IsNull(foreign_exc… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors SyncLogStore · LeftOuter · accruals_ft.currency = foreign_exchange_rates_eod_ft.source… SyncLogStore LeftOuter · accruals_ft… — · 2 actors HashJoin · LeftOuter · accruals_ft.currency = foreign_exchange_rates_eod_ft.source… HashJoin LeftOuter · accruals_ft… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Filter · foreign_exchange_rates_eod_ft Filter foreign_exchange_rates_… idle · 2 actors StreamScan · foreign_exchange_rates_eod_ft StreamScan foreign_exchange_rates_… idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Filter · (Not(IsNull(foreign_exchange_rates_eod_ft.rate)) OR (accrua… Filter (Not(IsNull(foreign_exc… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors SyncLogStore · LeftOuter · accruals_ft.currency = foreign_exchange_rates_eod_ft.source… SyncLogStore LeftOuter · accruals_ft… — · 2 actors HashJoin · LeftOuter · accruals_ft.currency = foreign_exchange_rates_eod_ft.source… HashJoin LeftOuter · accruals_ft… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors StreamScan · foreign_exchange_rates_eod_ft StreamScan foreign_exchange_rates_… idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project Project — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors SyncLogStore · LeftOuter · accruals_ft.account_id = holding_values_raw_mv_next.account… SyncLogStore LeftOuter · accruals_ft… — · 2 actors HashJoin · LeftOuter · accruals_ft.account_id = holding_values_raw_mv_next.account… HashJoin LeftOuter · accruals_ft… idle · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors StreamScan · holding_values_raw_mv_next StreamScan holding_values_raw_mv_n… idle · 2 actors BatchPlan BatchPlan — · 2 actors Merge Merge — · 2 actors Merge Merge — · 2 actors Exchange Exchange idle · 0 actors Project · accruals_ft Project accruals_ft — · 2 actors Filter · accruals_ft Filter accruals_ft idle · 2 actors StreamScan · accruals_ft StreamScan accruals_ft 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 23667 (Actor 105053,105052)
StreamMaterialize { columns: [account_id, asset_id, dim_value_date, currency_code, type, accrued_amount, accrued_value_system_currency], stream_key: [account_id, asset_id, dim_value_date, currency_code, type], pk_columns: [account_id, asset_id, dim_value_date, currency_code, type], pk_conflict: NoCheck }
├── output: [ accruals_ft.account_id, accruals_ft.asset_id, accruals_ft.fact_date, $expr3, $expr4, sum($expr5), sum($expr6) ]
├── stream key: [ accruals_ft.account_id, accruals_ft.asset_id, accruals_ft.fact_date, $expr3, $expr4 ]
└── StreamProject { exprs: [accruals_ft.account_id, accruals_ft.asset_id, accruals_ft.fact_date, $expr3, $expr4, sum($expr5), sum($expr6)] }
    ├── output: [ accruals_ft.account_id, accruals_ft.asset_id, accruals_ft.fact_date, $expr3, $expr4, sum($expr5), sum($expr6) ]
    ├── stream key: [ accruals_ft.account_id, accruals_ft.asset_id, accruals_ft.fact_date, $expr3, $expr4 ]
    └── StreamHashAgg { group_key: [accruals_ft.account_id, accruals_ft.asset_id, accruals_ft.fact_date, $expr3, $expr4], aggs: [sum($expr5), sum($expr6), count] }
        ├── output: [ accruals_ft.account_id, accruals_ft.asset_id, accruals_ft.fact_date, $expr3, $expr4, sum($expr5), sum($expr6), count ]
        ├── stream key: [ accruals_ft.account_id, accruals_ft.asset_id, accruals_ft.fact_date, $expr3, $expr4 ]
        └── MergeExecutor
            ├── output:
            │   ┌── accruals_ft.account_id
            │   ├── accruals_ft.asset_id
            │   ├── accruals_ft.fact_date
            │   ├── $expr3
            │   ├── $expr4
            │   ├── $expr5
            │   ├── $expr6
            │   ├── accruals_ft.type
            │   ├── accruals_ft.accrual_id
            │   ├── holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id
            │   ├── holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id
            │   ├── holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code
            │   ├── holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date
            │   ├── holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2
            │   ├── holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date
            │   ├── holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from
            │   ├── holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum
            │   ├── holding_values_raw_mv_next.$src
            │   ├── $expr1
            │   ├── accruals_ft.currency
            │   ├── $expr2
            │   └── foreign_exchange_rates_eod_ft.target_currency_code
            └── stream key:
                ┌── accruals_ft.type
                ├── accruals_ft.fact_date
                ├── accruals_ft.asset_id
                ├── accruals_ft.account_id
                ├── accruals_ft.accrual_id
                ├── holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id
                ├── holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id
                ├── holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code
                ├── holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date
                ├── holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2
                ├── holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date
                ├── holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from
                ├── holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum
                ├── holding_values_raw_mv_next.$src
                ├── $expr1
                ├── accruals_ft.currency
                ├── $expr2
                └── foreign_exchange_rates_eod_ft.target_currency_code

Fragment 23668 (Actor 105056,105057)
StreamProject { exprs: [accruals_ft.account_id, accruals_ft.asset_id, accruals_ft.fact_date, Coalesce(holding_values_raw_mv_next.currency_code, accruals_ft.currency) as $expr3, Case((accruals_ft.type = 'EXPENSE':Varchar), 'LIABILITY':Varchar, 'ASSET':Varchar) as $expr4, (accruals_ft.amount * Coalesce(foreign_exchange_rates_eod_ft.rate, Case((accruals_ft.currency = Coalesce(holding_values_raw_mv_next.currency_code, accruals_ft.currency)), 1:Int32, null:Int32)::Decimal)) as $expr5, (accruals_ft.amount * Coalesce(foreign_exchange_rates_eod_ft.rate, Case((accruals_ft.currency = 'AED':Varchar), 1:Int32, null:Int32)::Decimal)) as $expr6, accruals_ft.type, accruals_ft.accrual_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src, $expr1, accruals_ft.currency, $expr2, foreign_exchange_rates_eod_ft.target_currency_code] }
├── output: [ accruals_ft.account_id, accruals_ft.asset_id, accruals_ft.fact_date, $expr3, $expr4, $expr5, $expr6, accruals_ft.type, accruals_ft.accrual_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src, $expr1, accruals_ft.currency, $expr2, foreign_exchange_rates_eod_ft.target_currency_code ]
├── stream key: [ accruals_ft.type, accruals_ft.fact_date, accruals_ft.asset_id, accruals_ft.account_id, accruals_ft.accrual_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src, $expr1, accruals_ft.currency, $expr2, foreign_exchange_rates_eod_ft.target_currency_code ]
└── StreamFilter { predicate: (Not(IsNull(foreign_exchange_rates_eod_ft.rate)) OR (accruals_ft.currency = 'AED':Varchar)) }
    ├── output: [ accruals_ft.account_id, accruals_ft.asset_id, accruals_ft.fact_date, accruals_ft.currency, accruals_ft.amount, accruals_ft.type, holding_values_raw_mv_next.currency_code, foreign_exchange_rates_eod_ft.rate, foreign_exchange_rates_eod_ft.rate, accruals_ft.accrual_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src, $expr1, $expr2, foreign_exchange_rates_eod_ft.source_currency_code, foreign_exchange_rates_eod_ft.target_currency_code, foreign_exchange_rates_eod_ft.date ]
    ├── stream key: [ accruals_ft.type, accruals_ft.fact_date, accruals_ft.asset_id, accruals_ft.account_id, accruals_ft.accrual_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src, $expr1, accruals_ft.currency, $expr2, foreign_exchange_rates_eod_ft.target_currency_code ]
    └── MergeExecutor
        ├── output: [ accruals_ft.account_id, accruals_ft.asset_id, accruals_ft.fact_date, accruals_ft.currency, accruals_ft.amount, accruals_ft.type, holding_values_raw_mv_next.currency_code, foreign_exchange_rates_eod_ft.rate, foreign_exchange_rates_eod_ft.rate, accruals_ft.accrual_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src, $expr1, $expr2, foreign_exchange_rates_eod_ft.source_currency_code, foreign_exchange_rates_eod_ft.target_currency_code, foreign_exchange_rates_eod_ft.date ]
        └── stream key: [ accruals_ft.type, accruals_ft.fact_date, accruals_ft.asset_id, accruals_ft.account_id, accruals_ft.accrual_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src, $expr1, accruals_ft.currency, $expr2, foreign_exchange_rates_eod_ft.target_currency_code ]

Fragment 23669 (Actor 105054,105055)
StreamSyncLogStore
├── output: [ accruals_ft.account_id, accruals_ft.asset_id, accruals_ft.fact_date, accruals_ft.currency, accruals_ft.amount, accruals_ft.type, holding_values_raw_mv_next.currency_code, foreign_exchange_rates_eod_ft.rate, foreign_exchange_rates_eod_ft.rate, accruals_ft.accrual_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src, $expr1, $expr2, foreign_exchange_rates_eod_ft.source_currency_code, foreign_exchange_rates_eod_ft.target_currency_code, foreign_exchange_rates_eod_ft.date ]
├── stream key: [ accruals_ft.type, accruals_ft.fact_date, accruals_ft.asset_id, accruals_ft.account_id, accruals_ft.accrual_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src, $expr1, accruals_ft.currency, $expr2, foreign_exchange_rates_eod_ft.target_currency_code ]
└── StreamHashJoin { type: LeftOuter, predicate: accruals_ft.currency = foreign_exchange_rates_eod_ft.source_currency_code AND accruals_ft.fact_date = foreign_exchange_rates_eod_ft.date }
    ├── output: [ accruals_ft.account_id, accruals_ft.asset_id, accruals_ft.fact_date, accruals_ft.currency, accruals_ft.amount, accruals_ft.type, holding_values_raw_mv_next.currency_code, foreign_exchange_rates_eod_ft.rate, foreign_exchange_rates_eod_ft.rate, accruals_ft.accrual_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src, $expr1, $expr2, foreign_exchange_rates_eod_ft.source_currency_code, foreign_exchange_rates_eod_ft.target_currency_code, foreign_exchange_rates_eod_ft.date ]
    ├── stream key: [ accruals_ft.type, accruals_ft.fact_date, accruals_ft.asset_id, accruals_ft.account_id, accruals_ft.accrual_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src, $expr1, accruals_ft.currency, $expr2, foreign_exchange_rates_eod_ft.target_currency_code ]
    ├── MergeExecutor
    │   ├── output: [ accruals_ft.account_id, accruals_ft.asset_id, accruals_ft.fact_date, accruals_ft.currency, accruals_ft.amount, accruals_ft.type, holding_values_raw_mv_next.currency_code, foreign_exchange_rates_eod_ft.rate, accruals_ft.accrual_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src, $expr1, $expr2, foreign_exchange_rates_eod_ft.source_currency_code, foreign_exchange_rates_eod_ft.target_currency_code, foreign_exchange_rates_eod_ft.date ]
    │   └── stream key: [ accruals_ft.type, accruals_ft.fact_date, accruals_ft.asset_id, accruals_ft.account_id, accruals_ft.accrual_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src, $expr1, accruals_ft.currency, $expr2 ]
    └── MergeExecutor { output: [ foreign_exchange_rates_eod_ft.source_currency_code, foreign_exchange_rates_eod_ft.date, foreign_exchange_rates_eod_ft.rate, foreign_exchange_rates_eod_ft.target_currency_code ], stream key: [ foreign_exchange_rates_eod_ft.source_currency_code, foreign_exchange_rates_eod_ft.target_currency_code, foreign_exchange_rates_eod_ft.date ] }

Fragment 23670 (Actor 105061,105060)
StreamFilter { predicate: (Not(IsNull(foreign_exchange_rates_eod_ft.rate)) OR (accruals_ft.currency = Coalesce(holding_values_raw_mv_next.currency_code, accruals_ft.currency))) }
├── output: [ accruals_ft.account_id, accruals_ft.asset_id, accruals_ft.fact_date, accruals_ft.currency, accruals_ft.amount, accruals_ft.type, holding_values_raw_mv_next.currency_code, foreign_exchange_rates_eod_ft.rate, accruals_ft.accrual_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src, $expr1, $expr2, foreign_exchange_rates_eod_ft.source_currency_code, foreign_exchange_rates_eod_ft.target_currency_code, foreign_exchange_rates_eod_ft.date ]
├── stream key: [ accruals_ft.type, accruals_ft.fact_date, accruals_ft.asset_id, accruals_ft.account_id, accruals_ft.accrual_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src, $expr1, accruals_ft.currency, $expr2 ]
└── MergeExecutor
    ├── output: [ accruals_ft.account_id, accruals_ft.asset_id, accruals_ft.fact_date, accruals_ft.currency, accruals_ft.amount, accruals_ft.type, holding_values_raw_mv_next.currency_code, foreign_exchange_rates_eod_ft.rate, accruals_ft.accrual_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src, $expr1, $expr2, foreign_exchange_rates_eod_ft.source_currency_code, foreign_exchange_rates_eod_ft.target_currency_code, foreign_exchange_rates_eod_ft.date ]
    └── stream key: [ accruals_ft.type, accruals_ft.fact_date, accruals_ft.asset_id, accruals_ft.account_id, accruals_ft.accrual_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src, $expr1, accruals_ft.currency, $expr2 ]

Fragment 23671 (Actor 105058,105059)
StreamSyncLogStore
├── output: [ accruals_ft.account_id, accruals_ft.asset_id, accruals_ft.fact_date, accruals_ft.currency, accruals_ft.amount, accruals_ft.type, holding_values_raw_mv_next.currency_code, foreign_exchange_rates_eod_ft.rate, accruals_ft.accrual_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src, $expr1, $expr2, foreign_exchange_rates_eod_ft.source_currency_code, foreign_exchange_rates_eod_ft.target_currency_code, foreign_exchange_rates_eod_ft.date ]
├── stream key: [ accruals_ft.type, accruals_ft.fact_date, accruals_ft.asset_id, accruals_ft.account_id, accruals_ft.accrual_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src, $expr1, accruals_ft.currency, $expr2 ]
└── StreamHashJoin { type: LeftOuter, predicate: accruals_ft.currency = foreign_exchange_rates_eod_ft.source_currency_code AND $expr2 = foreign_exchange_rates_eod_ft.target_currency_code AND accruals_ft.fact_date = foreign_exchange_rates_eod_ft.date }
    ├── output: [ accruals_ft.account_id, accruals_ft.asset_id, accruals_ft.fact_date, accruals_ft.currency, accruals_ft.amount, accruals_ft.type, holding_values_raw_mv_next.currency_code, foreign_exchange_rates_eod_ft.rate, accruals_ft.accrual_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src, $expr1, $expr2, foreign_exchange_rates_eod_ft.source_currency_code, foreign_exchange_rates_eod_ft.target_currency_code, foreign_exchange_rates_eod_ft.date ]
    ├── stream key: [ accruals_ft.type, accruals_ft.fact_date, accruals_ft.asset_id, accruals_ft.account_id, accruals_ft.accrual_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src, $expr1, accruals_ft.currency, $expr2 ]
    ├── MergeExecutor
    │   ├── output: [ accruals_ft.account_id, accruals_ft.asset_id, accruals_ft.fact_date, accruals_ft.currency, accruals_ft.amount, accruals_ft.type, holding_values_raw_mv_next.currency_code, $expr2, accruals_ft.accrual_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src, $expr1 ]
    │   └── stream key: [ accruals_ft.type, accruals_ft.fact_date, accruals_ft.asset_id, accruals_ft.account_id, accruals_ft.accrual_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src, $expr1 ]
    └── MergeExecutor { output: [ foreign_exchange_rates_eod_ft.source_currency_code, foreign_exchange_rates_eod_ft.target_currency_code, foreign_exchange_rates_eod_ft.date, foreign_exchange_rates_eod_ft.rate ], stream key: [ foreign_exchange_rates_eod_ft.source_currency_code, foreign_exchange_rates_eod_ft.target_currency_code, foreign_exchange_rates_eod_ft.date ] }

Fragment 23672 (Actor 105064,105065)
StreamProject { exprs: [accruals_ft.account_id, accruals_ft.asset_id, accruals_ft.fact_date, accruals_ft.currency, accruals_ft.amount, accruals_ft.type, holding_values_raw_mv_next.currency_code, Coalesce(holding_values_raw_mv_next.currency_code, accruals_ft.currency) as $expr2, accruals_ft.accrual_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src, $expr1] }
├── output: [ accruals_ft.account_id, accruals_ft.asset_id, accruals_ft.fact_date, accruals_ft.currency, accruals_ft.amount, accruals_ft.type, holding_values_raw_mv_next.currency_code, $expr2, accruals_ft.accrual_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src, $expr1 ]
├── stream key: [ accruals_ft.type, accruals_ft.fact_date, accruals_ft.asset_id, accruals_ft.account_id, accruals_ft.accrual_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src, $expr1 ]
└── MergeExecutor
    ├── output: [ accruals_ft.account_id, accruals_ft.asset_id, accruals_ft.fact_date, accruals_ft.currency, accruals_ft.amount, accruals_ft.type, holding_values_raw_mv_next.currency_code, accruals_ft.accrual_id, $expr1, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src ]
    └── stream key: [ accruals_ft.type, accruals_ft.fact_date, accruals_ft.asset_id, accruals_ft.account_id, accruals_ft.accrual_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src, $expr1 ]

Fragment 23673 (Actor 105062,105063)
StreamSyncLogStore
├── output: [ accruals_ft.account_id, accruals_ft.asset_id, accruals_ft.fact_date, accruals_ft.currency, accruals_ft.amount, accruals_ft.type, holding_values_raw_mv_next.currency_code, accruals_ft.accrual_id, $expr1, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src ]
├── stream key: [ accruals_ft.type, accruals_ft.fact_date, accruals_ft.asset_id, accruals_ft.account_id, accruals_ft.accrual_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src, $expr1 ]
└── StreamHashJoin { type: LeftOuter, predicate: accruals_ft.account_id = holding_values_raw_mv_next.account_id AND accruals_ft.asset_id = holding_values_raw_mv_next.asset_id AND accruals_ft.fact_date = holding_values_raw_mv_next.dim_value_date AND $expr1 = holding_values_raw_mv_next.type }
    ├── output: [ accruals_ft.account_id, accruals_ft.asset_id, accruals_ft.fact_date, accruals_ft.currency, accruals_ft.amount, accruals_ft.type, holding_values_raw_mv_next.currency_code, accruals_ft.accrual_id, $expr1, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src ]
    ├── stream key: [ accruals_ft.type, accruals_ft.fact_date, accruals_ft.asset_id, accruals_ft.account_id, accruals_ft.accrual_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src, $expr1 ]
    ├── MergeExecutor { output: [ accruals_ft.account_id, accruals_ft.asset_id, accruals_ft.fact_date, accruals_ft.currency, accruals_ft.amount, accruals_ft.type, $expr1, accruals_ft.accrual_id ], stream key: [ accruals_ft.type, accruals_ft.fact_date, accruals_ft.asset_id, accruals_ft.account_id, accruals_ft.accrual_id ] }
    └── MergeExecutor
        ├── output: [ holding_values_raw_mv_next.account_id, holding_values_raw_mv_next.asset_id, holding_values_raw_mv_next.dim_value_date, holding_values_raw_mv_next.type, holding_values_raw_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src ]
        └── stream key: [ holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src ]

Fragment 23674 (Actor 105050,105051)
StreamProject { exprs: [accruals_ft.account_id, accruals_ft.asset_id, accruals_ft.fact_date, accruals_ft.currency, accruals_ft.amount, accruals_ft.type, Case((accruals_ft.type = 'EXPENSE':Varchar), 'LIABILITY':Varchar, 'ASSET':Varchar) as $expr1, accruals_ft.accrual_id], output_watermarks: [[accruals_ft.fact_date]] } { output: [ accruals_ft.account_id, accruals_ft.asset_id, accruals_ft.fact_date, accruals_ft.currency, accruals_ft.amount, accruals_ft.type, $expr1, accruals_ft.accrual_id ], stream key: [ accruals_ft.type, accruals_ft.fact_date, accruals_ft.asset_id, accruals_ft.account_id, accruals_ft.accrual_id ] }
└── StreamFilter { predicate: Not(accruals_ft.is_included) } { output: [ accruals_ft.account_id, accruals_ft.asset_id, accruals_ft.fact_date, accruals_ft.currency, accruals_ft.amount, accruals_ft.type, accruals_ft.accrual_id, accruals_ft.is_included ], stream key: [ accruals_ft.type, accruals_ft.fact_date, accruals_ft.asset_id, accruals_ft.account_id, accruals_ft.accrual_id ] }
    └── StreamTableScan { table: accruals_ft, columns: [account_id, asset_id, fact_date, currency, amount, type, accrual_id, is_included] } { output: [ accruals_ft.account_id, accruals_ft.asset_id, accruals_ft.fact_date, accruals_ft.currency, accruals_ft.amount, accruals_ft.type, accruals_ft.accrual_id, accruals_ft.is_included ], stream key: [ accruals_ft.type, accruals_ft.fact_date, accruals_ft.asset_id, accruals_ft.account_id, accruals_ft.accrual_id ] }
        ├── Upstream { output: [ account_id, asset_id, fact_date, currency, amount, type, accrual_id, is_included ], stream key: [] }
        └── BatchPlanNode { output: [ account_id, asset_id, fact_date, currency, amount, type, accrual_id, is_included ], stream key: [] }

Fragment 23675 (Actor 105068,105069)
StreamTableScan { table: holding_values_raw_mv_next, columns: [account_id, asset_id, dim_value_date, type, currency_code, holding_values_journal_density_mv_next.account_id, holding_values_journal_density_mv_next.asset_id, holding_values_journal_density_mv_next.currency_code, holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_journal_density_mv_next.$expr2, holding_values_journal_density_mv_next.dim_value_date, holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, $src] }
├── output: [ holding_values_raw_mv_next.account_id, holding_values_raw_mv_next.asset_id, holding_values_raw_mv_next.dim_value_date, holding_values_raw_mv_next.type, holding_values_raw_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src ]
├── stream key: [ holding_values_raw_mv_next.holding_values_journal_density_mv_next.account_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.asset_id, holding_values_raw_mv_next.holding_values_journal_density_mv_next.currency_code, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.$expr2, holding_values_raw_mv_next.holding_values_journal_density_mv_next.dim_value_date, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_raw_mv_next.holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, holding_values_raw_mv_next.$src ]
├── Upstream { output: [ account_id, asset_id, dim_value_date, type, currency_code, holding_values_journal_density_mv_next.account_id, holding_values_journal_density_mv_next.asset_id, holding_values_journal_density_mv_next.currency_code, holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_journal_density_mv_next.$expr2, holding_values_journal_density_mv_next.dim_value_date, holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, $src ], stream key: [] }
└── BatchPlanNode { output: [ account_id, asset_id, dim_value_date, type, currency_code, holding_values_journal_density_mv_next.account_id, holding_values_journal_density_mv_next.asset_id, holding_values_journal_density_mv_next.currency_code, holding_values_journal_density_mv_next.settled_position_series_mv_next.dim_settlement_date, holding_values_journal_density_mv_next.$expr2, holding_values_journal_density_mv_next.dim_value_date, holding_values_journal_density_mv_next.settled_cost_basis_series_mv.effective_from, holding_values_journal_density_mv_next.settled_cost_basis_series_mv.settled_cost_basis_carried_mv_next.sum, $src ], stream key: [] }

Fragment 23676 (Actor 105070,105071)
StreamTableScan { table: foreign_exchange_rates_eod_ft, columns: [source_currency_code, target_currency_code, date, rate] } { output: [ foreign_exchange_rates_eod_ft.source_currency_code, foreign_exchange_rates_eod_ft.target_currency_code, foreign_exchange_rates_eod_ft.date, foreign_exchange_rates_eod_ft.rate ], stream key: [ foreign_exchange_rates_eod_ft.source_currency_code, foreign_exchange_rates_eod_ft.target_currency_code, foreign_exchange_rates_eod_ft.date ] }
├── Upstream { output: [ source_currency_code, target_currency_code, date, rate ], stream key: [] }
└── BatchPlanNode { output: [ source_currency_code, target_currency_code, date, rate ], stream key: [] }

Fragment 23677 (Actor 105067,105066)
StreamFilter { predicate: (foreign_exchange_rates_eod_ft.target_currency_code = 'AED':Varchar) } { output: [ foreign_exchange_rates_eod_ft.source_currency_code, foreign_exchange_rates_eod_ft.date, foreign_exchange_rates_eod_ft.rate, foreign_exchange_rates_eod_ft.target_currency_code ], stream key: [ foreign_exchange_rates_eod_ft.source_currency_code, foreign_exchange_rates_eod_ft.target_currency_code, foreign_exchange_rates_eod_ft.date ] }
└── StreamTableScan { table: foreign_exchange_rates_eod_ft, columns: [source_currency_code, date, rate, target_currency_code] } { output: [ foreign_exchange_rates_eod_ft.source_currency_code, foreign_exchange_rates_eod_ft.date, foreign_exchange_rates_eod_ft.rate, foreign_exchange_rates_eod_ft.target_currency_code ], stream key: [ foreign_exchange_rates_eod_ft.source_currency_code, foreign_exchange_rates_eod_ft.target_currency_code, foreign_exchange_rates_eod_ft.date ] }
    ├── Upstream { output: [ source_currency_code, date, rate, target_currency_code ], stream key: [] }
    └── BatchPlanNode { output: [ source_currency_code, date, rate, target_currency_code ], stream key: [] }