Job is idle — throughput ~0; structure shown.
Fragment 25120 (Actor 120973,120974)
StreamMaterialize { columns: [account_id, fact_date, purchasing_power, purchasing_power_system_currency, disabled_at, fx_rates_snapshot_mv_next.target_currency_code(hidden), accounts_dm.base_currency_code(hidden)], stream_key: [account_id, fact_date, fx_rates_snapshot_mv_next.target_currency_code, accounts_dm.base_currency_code], pk_columns: [account_id, fact_date, fx_rates_snapshot_mv_next.target_currency_code, accounts_dm.base_currency_code], pk_conflict: NoCheck }
├── output: [ investment_accounts_ft.account_id, investment_accounts_ft.fact_date, investment_accounts_ft.purchasing_power, $expr1, investment_accounts_ft.disabled_at, fx_rates_snapshot_mv_next.target_currency_code, accounts_dm.base_currency_code ]
├── stream key: [ investment_accounts_ft.account_id, investment_accounts_ft.fact_date, fx_rates_snapshot_mv_next.target_currency_code, accounts_dm.base_currency_code ]
└── StreamProject { exprs: [investment_accounts_ft.account_id, investment_accounts_ft.fact_date, investment_accounts_ft.purchasing_power, (investment_accounts_ft.purchasing_power * Coalesce(fx_rates_snapshot_mv_next.rate, Case((accounts_dm.base_currency_code = 'AED':Varchar), 1:Int32, null:Int32)::Decimal)) as $expr1, investment_accounts_ft.disabled_at, fx_rates_snapshot_mv_next.target_currency_code, accounts_dm.base_currency_code] }
├── output: [ investment_accounts_ft.account_id, investment_accounts_ft.fact_date, investment_accounts_ft.purchasing_power, $expr1, investment_accounts_ft.disabled_at, fx_rates_snapshot_mv_next.target_currency_code, accounts_dm.base_currency_code ]
├── stream key: [ investment_accounts_ft.account_id, investment_accounts_ft.fact_date, fx_rates_snapshot_mv_next.target_currency_code, accounts_dm.base_currency_code ]
└── MergeExecutor
├── output: [ investment_accounts_ft.account_id, investment_accounts_ft.fact_date, investment_accounts_ft.purchasing_power, investment_accounts_ft.disabled_at, accounts_dm.base_currency_code, fx_rates_snapshot_mv_next.rate, fx_rates_snapshot_mv_next.source_currency_code, fx_rates_snapshot_mv_next.target_currency_code ]
└── stream key: [ investment_accounts_ft.account_id, investment_accounts_ft.fact_date, fx_rates_snapshot_mv_next.target_currency_code, accounts_dm.base_currency_code ]
Fragment 25121 (Actor 120971,120972)
StreamSyncLogStore
├── output: [ investment_accounts_ft.account_id, investment_accounts_ft.fact_date, investment_accounts_ft.purchasing_power, investment_accounts_ft.disabled_at, accounts_dm.base_currency_code, fx_rates_snapshot_mv_next.rate, fx_rates_snapshot_mv_next.source_currency_code, fx_rates_snapshot_mv_next.target_currency_code ]
├── stream key: [ investment_accounts_ft.account_id, investment_accounts_ft.fact_date, fx_rates_snapshot_mv_next.target_currency_code, accounts_dm.base_currency_code ]
└── StreamHashJoin { type: LeftOuter, predicate: accounts_dm.base_currency_code = fx_rates_snapshot_mv_next.source_currency_code }
├── output: [ investment_accounts_ft.account_id, investment_accounts_ft.fact_date, investment_accounts_ft.purchasing_power, investment_accounts_ft.disabled_at, accounts_dm.base_currency_code, fx_rates_snapshot_mv_next.rate, fx_rates_snapshot_mv_next.source_currency_code, fx_rates_snapshot_mv_next.target_currency_code ]
├── stream key: [ investment_accounts_ft.account_id, investment_accounts_ft.fact_date, fx_rates_snapshot_mv_next.target_currency_code, accounts_dm.base_currency_code ]
├── MergeExecutor { output: [ investment_accounts_ft.account_id, investment_accounts_ft.fact_date, investment_accounts_ft.purchasing_power, investment_accounts_ft.disabled_at, accounts_dm.base_currency_code, accounts_dm.account_id ], stream key: [ investment_accounts_ft.account_id, investment_accounts_ft.fact_date ] }
└── MergeExecutor { output: [ fx_rates_snapshot_mv_next.source_currency_code, fx_rates_snapshot_mv_next.rate, fx_rates_snapshot_mv_next.target_currency_code ], stream key: [ fx_rates_snapshot_mv_next.source_currency_code, fx_rates_snapshot_mv_next.target_currency_code ] }
Fragment 25122 (Actor 120975,120976)
StreamSyncLogStore { output: [ investment_accounts_ft.account_id, investment_accounts_ft.fact_date, investment_accounts_ft.purchasing_power, investment_accounts_ft.disabled_at, accounts_dm.base_currency_code, accounts_dm.account_id ], stream key: [ investment_accounts_ft.account_id, investment_accounts_ft.fact_date ] }
└── StreamHashJoin { type: LeftOuter, predicate: investment_accounts_ft.account_id = accounts_dm.account_id } { output: [ investment_accounts_ft.account_id, investment_accounts_ft.fact_date, investment_accounts_ft.purchasing_power, investment_accounts_ft.disabled_at, accounts_dm.base_currency_code, accounts_dm.account_id ], stream key: [ investment_accounts_ft.account_id, investment_accounts_ft.fact_date ] }
├── MergeExecutor { output: [ investment_accounts_ft.account_id, investment_accounts_ft.fact_date, investment_accounts_ft.purchasing_power, investment_accounts_ft.disabled_at ], stream key: [ investment_accounts_ft.account_id, investment_accounts_ft.fact_date ] }
└── MergeExecutor { output: [ accounts_dm.account_id, accounts_dm.base_currency_code ], stream key: [ accounts_dm.account_id ] }
Fragment 25123 (Actor 120977,120978)
StreamFilter { predicate: IsNull(investment_accounts_ft.disabled_at) } { output: [ investment_accounts_ft.account_id, investment_accounts_ft.fact_date, investment_accounts_ft.purchasing_power, investment_accounts_ft.disabled_at ], stream key: [ investment_accounts_ft.account_id, investment_accounts_ft.fact_date ] }
└── StreamTableScan { table: investment_accounts_ft, columns: [account_id, fact_date, purchasing_power, disabled_at] } { output: [ investment_accounts_ft.account_id, investment_accounts_ft.fact_date, investment_accounts_ft.purchasing_power, investment_accounts_ft.disabled_at ], stream key: [ investment_accounts_ft.account_id, investment_accounts_ft.fact_date ] }
├── Upstream { output: [ account_id, fact_date, purchasing_power, disabled_at ], stream key: [] }
└── BatchPlanNode { output: [ account_id, fact_date, purchasing_power, disabled_at ], stream key: [] }
Fragment 25124 (Actor 120979,120980)
StreamTableScan { table: accounts_dm, columns: [account_id, base_currency_code] } { output: [ accounts_dm.account_id, accounts_dm.base_currency_code ], stream key: [ accounts_dm.account_id ] }
├── Upstream { output: [ account_id, base_currency_code ], stream key: [] }
└── BatchPlanNode { output: [ account_id, base_currency_code ], stream key: [] }
Fragment 25125 (Actor 120982,120981)
StreamFilter { predicate: (fx_rates_snapshot_mv_next.target_currency_code = 'AED':Varchar) } { output: [ fx_rates_snapshot_mv_next.source_currency_code, fx_rates_snapshot_mv_next.rate, fx_rates_snapshot_mv_next.target_currency_code ], stream key: [ fx_rates_snapshot_mv_next.source_currency_code, fx_rates_snapshot_mv_next.target_currency_code ] }
└── StreamTableScan { table: fx_rates_snapshot_mv_next, columns: [source_currency_code, rate, target_currency_code] } { output: [ fx_rates_snapshot_mv_next.source_currency_code, fx_rates_snapshot_mv_next.rate, fx_rates_snapshot_mv_next.target_currency_code ], stream key: [ fx_rates_snapshot_mv_next.source_currency_code, fx_rates_snapshot_mv_next.target_currency_code ] }
├── Upstream { output: [ source_currency_code, rate, target_currency_code ], stream key: [] }
└── BatchPlanNode { output: [ source_currency_code, rate, target_currency_code ], stream key: [] }