Fragment 61624 (Actor 739664,739663)
StreamMaterialize { columns: [opportunity_id, resource_id, fact_date, activity_name, latest_date, interval_to_check_days, cash_ratio, idle_cash_amount, currency, portfolio_cash_ratio_mv_next.currency_code(hidden)], stream_key: [opportunity_id, resource_id, latest_date, fact_date, activity_name, interval_to_check_days, portfolio_cash_ratio_mv_next.currency_code], pk_columns: [opportunity_id, resource_id, latest_date, fact_date, activity_name, interval_to_check_days, portfolio_cash_ratio_mv_next.currency_code], pk_conflict: NoCheck }
├── output: [ opportunity_conditions_mv.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv.as_of_date, opportunity_conditions_mv.activity_name, max(portfolio_cash_ratio_mv_next.dim_value_date), opportunity_conditions_mv.interval_to_check_days, portfolio_cash_ratio_mv_next.cash_ratio, portfolio_cash_ratio_mv_next.cash_value, max(portfolio_cash_ratio_mv_next.currency_code), portfolio_cash_ratio_mv_next.currency_code ]
├── stream key: [ opportunity_conditions_mv.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, max(portfolio_cash_ratio_mv_next.dim_value_date), opportunity_conditions_mv.as_of_date, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.interval_to_check_days, portfolio_cash_ratio_mv_next.currency_code ]
└── StreamProject { exprs: [opportunity_conditions_mv.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv.as_of_date, opportunity_conditions_mv.activity_name, max(portfolio_cash_ratio_mv_next.dim_value_date), opportunity_conditions_mv.interval_to_check_days, portfolio_cash_ratio_mv_next.cash_ratio, portfolio_cash_ratio_mv_next.cash_value, max(portfolio_cash_ratio_mv_next.currency_code), portfolio_cash_ratio_mv_next.currency_code] }
├── output: [ opportunity_conditions_mv.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv.as_of_date, opportunity_conditions_mv.activity_name, max(portfolio_cash_ratio_mv_next.dim_value_date), opportunity_conditions_mv.interval_to_check_days, portfolio_cash_ratio_mv_next.cash_ratio, portfolio_cash_ratio_mv_next.cash_value, max(portfolio_cash_ratio_mv_next.currency_code), portfolio_cash_ratio_mv_next.currency_code ]
├── stream key: [ opportunity_conditions_mv.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, max(portfolio_cash_ratio_mv_next.dim_value_date), opportunity_conditions_mv.as_of_date, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.interval_to_check_days, portfolio_cash_ratio_mv_next.currency_code ]
└── StreamFilter { predicate: IsNull(account_to_portfolios_dm.portfolio_id) }
├── output:
│ ┌── opportunity_conditions_mv.opportunity_id
│ ├── portfolio_cash_ratio_mv_next.portfolio_id
│ ├── opportunity_conditions_mv.as_of_date
│ ├── opportunity_conditions_mv.activity_name
│ ├── opportunity_conditions_mv.interval_to_check_days
│ ├── max(portfolio_cash_ratio_mv_next.dim_value_date)
│ ├── max(portfolio_cash_ratio_mv_next.currency_code)
│ ├── portfolio_cash_ratio_mv_next.cash_value
│ ├── portfolio_cash_ratio_mv_next.cash_ratio
│ ├── account_to_portfolios_dm.portfolio_id
│ ├── portfolio_cash_ratio_mv_next.currency_code
│ └── opportunity_conditions_mv.opportunity_id
├── stream key: [ opportunity_conditions_mv.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, max(portfolio_cash_ratio_mv_next.dim_value_date), opportunity_conditions_mv.as_of_date, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.interval_to_check_days, portfolio_cash_ratio_mv_next.currency_code ]
└── MergeExecutor
├── output:
│ ┌── opportunity_conditions_mv.opportunity_id
│ ├── portfolio_cash_ratio_mv_next.portfolio_id
│ ├── opportunity_conditions_mv.as_of_date
│ ├── opportunity_conditions_mv.activity_name
│ ├── opportunity_conditions_mv.interval_to_check_days
│ ├── max(portfolio_cash_ratio_mv_next.dim_value_date)
│ ├── max(portfolio_cash_ratio_mv_next.currency_code)
│ ├── portfolio_cash_ratio_mv_next.cash_value
│ ├── portfolio_cash_ratio_mv_next.cash_ratio
│ ├── account_to_portfolios_dm.portfolio_id
│ ├── portfolio_cash_ratio_mv_next.currency_code
│ └── opportunity_conditions_mv.opportunity_id
└── stream key: [ opportunity_conditions_mv.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, max(portfolio_cash_ratio_mv_next.dim_value_date), opportunity_conditions_mv.as_of_date, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.interval_to_check_days, portfolio_cash_ratio_mv_next.currency_code ]
Fragment 61625 (Actor 739666,739665)
StreamSyncLogStore
├── output: [ opportunity_conditions_mv.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv.as_of_date, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.interval_to_check_days, max(portfolio_cash_ratio_mv_next.dim_value_date), max(portfolio_cash_ratio_mv_next.currency_code), portfolio_cash_ratio_mv_next.cash_value, portfolio_cash_ratio_mv_next.cash_ratio, account_to_portfolios_dm.portfolio_id, portfolio_cash_ratio_mv_next.currency_code, opportunity_conditions_mv.opportunity_id ]
├── stream key: [ opportunity_conditions_mv.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, max(portfolio_cash_ratio_mv_next.dim_value_date), opportunity_conditions_mv.as_of_date, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.interval_to_check_days, portfolio_cash_ratio_mv_next.currency_code ]
└── StreamHashJoin { type: LeftOuter, predicate: opportunity_conditions_mv.opportunity_id = opportunity_conditions_mv.opportunity_id AND portfolio_cash_ratio_mv_next.portfolio_id = account_to_portfolios_dm.portfolio_id }
├── output:
│ ┌── opportunity_conditions_mv.opportunity_id
│ ├── portfolio_cash_ratio_mv_next.portfolio_id
│ ├── opportunity_conditions_mv.as_of_date
│ ├── opportunity_conditions_mv.activity_name
│ ├── opportunity_conditions_mv.interval_to_check_days
│ ├── max(portfolio_cash_ratio_mv_next.dim_value_date)
│ ├── max(portfolio_cash_ratio_mv_next.currency_code)
│ ├── portfolio_cash_ratio_mv_next.cash_value
│ ├── portfolio_cash_ratio_mv_next.cash_ratio
│ ├── account_to_portfolios_dm.portfolio_id
│ ├── portfolio_cash_ratio_mv_next.currency_code
│ └── opportunity_conditions_mv.opportunity_id
├── stream key: [ opportunity_conditions_mv.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, max(portfolio_cash_ratio_mv_next.dim_value_date), opportunity_conditions_mv.as_of_date, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.interval_to_check_days, portfolio_cash_ratio_mv_next.currency_code ]
├── MergeExecutor
│ ├── output:
│ │ ┌── opportunity_conditions_mv.opportunity_id
│ │ ├── portfolio_cash_ratio_mv_next.portfolio_id
│ │ ├── opportunity_conditions_mv.as_of_date
│ │ ├── opportunity_conditions_mv.activity_name
│ │ ├── opportunity_conditions_mv.interval_to_check_days
│ │ ├── max(portfolio_cash_ratio_mv_next.dim_value_date)
│ │ ├── max(portfolio_cash_ratio_mv_next.currency_code)
│ │ ├── portfolio_cash_ratio_mv_next.cash_value
│ │ ├── portfolio_cash_ratio_mv_next.cash_ratio
│ │ ├── portfolio_cash_ratio_mv_next.portfolio_id
│ │ ├── portfolio_cash_ratio_mv_next.dim_value_date
│ │ └── portfolio_cash_ratio_mv_next.currency_code
│ └── stream key: [ opportunity_conditions_mv.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, max(portfolio_cash_ratio_mv_next.dim_value_date), opportunity_conditions_mv.as_of_date, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.interval_to_check_days, portfolio_cash_ratio_mv_next.currency_code ]
└── MergeExecutor { output: [ opportunity_conditions_mv.opportunity_id, account_to_portfolios_dm.portfolio_id ], stream key: [ opportunity_conditions_mv.opportunity_id, account_to_portfolios_dm.portfolio_id ] }
Fragment 61626 (Actor 739672,739671)
StreamLocalityProvider { locality_columns: [opportunity_conditions_mv.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id] }
├── output:
│ ┌── opportunity_conditions_mv.opportunity_id
│ ├── portfolio_cash_ratio_mv_next.portfolio_id
│ ├── opportunity_conditions_mv.as_of_date
│ ├── opportunity_conditions_mv.activity_name
│ ├── opportunity_conditions_mv.interval_to_check_days
│ ├── max(portfolio_cash_ratio_mv_next.dim_value_date)
│ ├── max(portfolio_cash_ratio_mv_next.currency_code)
│ ├── portfolio_cash_ratio_mv_next.cash_value
│ ├── portfolio_cash_ratio_mv_next.cash_ratio
│ ├── portfolio_cash_ratio_mv_next.portfolio_id
│ ├── portfolio_cash_ratio_mv_next.dim_value_date
│ └── portfolio_cash_ratio_mv_next.currency_code
├── stream key: [ opportunity_conditions_mv.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, max(portfolio_cash_ratio_mv_next.dim_value_date), opportunity_conditions_mv.as_of_date, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.interval_to_check_days, portfolio_cash_ratio_mv_next.currency_code ]
└── MergeExecutor
├── output:
│ ┌── opportunity_conditions_mv.opportunity_id
│ ├── portfolio_cash_ratio_mv_next.portfolio_id
│ ├── opportunity_conditions_mv.as_of_date
│ ├── opportunity_conditions_mv.activity_name
│ ├── opportunity_conditions_mv.interval_to_check_days
│ ├── max(portfolio_cash_ratio_mv_next.dim_value_date)
│ ├── max(portfolio_cash_ratio_mv_next.currency_code)
│ ├── portfolio_cash_ratio_mv_next.cash_value
│ ├── portfolio_cash_ratio_mv_next.cash_ratio
│ ├── portfolio_cash_ratio_mv_next.portfolio_id
│ ├── portfolio_cash_ratio_mv_next.dim_value_date
│ └── portfolio_cash_ratio_mv_next.currency_code
└── stream key: [ portfolio_cash_ratio_mv_next.portfolio_id, max(portfolio_cash_ratio_mv_next.dim_value_date), opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv.as_of_date, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.interval_to_check_days, portfolio_cash_ratio_mv_next.currency_code ]
Fragment 61627 (Actor 739690,739689)
StreamSyncLogStore
├── output:
│ ┌── opportunity_conditions_mv.opportunity_id
│ ├── portfolio_cash_ratio_mv_next.portfolio_id
│ ├── opportunity_conditions_mv.as_of_date
│ ├── opportunity_conditions_mv.activity_name
│ ├── opportunity_conditions_mv.interval_to_check_days
│ ├── max(portfolio_cash_ratio_mv_next.dim_value_date)
│ ├── max(portfolio_cash_ratio_mv_next.currency_code)
│ ├── portfolio_cash_ratio_mv_next.cash_value
│ ├── portfolio_cash_ratio_mv_next.cash_ratio
│ ├── portfolio_cash_ratio_mv_next.portfolio_id
│ ├── portfolio_cash_ratio_mv_next.dim_value_date
│ └── portfolio_cash_ratio_mv_next.currency_code
├── stream key: [ portfolio_cash_ratio_mv_next.portfolio_id, max(portfolio_cash_ratio_mv_next.dim_value_date), opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv.as_of_date, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.interval_to_check_days, portfolio_cash_ratio_mv_next.currency_code ]
└── StreamHashJoin { type: Inner, predicate: portfolio_cash_ratio_mv_next.portfolio_id = portfolio_cash_ratio_mv_next.portfolio_id AND max(portfolio_cash_ratio_mv_next.dim_value_date) = portfolio_cash_ratio_mv_next.dim_value_date }
├── output:
│ ┌── opportunity_conditions_mv.opportunity_id
│ ├── portfolio_cash_ratio_mv_next.portfolio_id
│ ├── opportunity_conditions_mv.as_of_date
│ ├── opportunity_conditions_mv.activity_name
│ ├── opportunity_conditions_mv.interval_to_check_days
│ ├── max(portfolio_cash_ratio_mv_next.dim_value_date)
│ ├── max(portfolio_cash_ratio_mv_next.currency_code)
│ ├── portfolio_cash_ratio_mv_next.cash_value
│ ├── portfolio_cash_ratio_mv_next.cash_ratio
│ ├── portfolio_cash_ratio_mv_next.portfolio_id
│ ├── portfolio_cash_ratio_mv_next.dim_value_date
│ └── portfolio_cash_ratio_mv_next.currency_code
├── stream key: [ portfolio_cash_ratio_mv_next.portfolio_id, max(portfolio_cash_ratio_mv_next.dim_value_date), opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv.as_of_date, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.interval_to_check_days, portfolio_cash_ratio_mv_next.currency_code ]
├── MergeExecutor
│ ├── output: [ opportunity_conditions_mv.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv.as_of_date, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.interval_to_check_days, max(portfolio_cash_ratio_mv_next.dim_value_date), max(portfolio_cash_ratio_mv_next.currency_code), count, max(opportunity_conditions_mv.interval_to_check_days) ]
│ └── stream key: [ portfolio_cash_ratio_mv_next.portfolio_id, max(portfolio_cash_ratio_mv_next.dim_value_date), opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv.as_of_date, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.interval_to_check_days ]
└── MergeExecutor { output: [ portfolio_cash_ratio_mv_next.portfolio_id, portfolio_cash_ratio_mv_next.dim_value_date, portfolio_cash_ratio_mv_next.cash_value, portfolio_cash_ratio_mv_next.cash_ratio, portfolio_cash_ratio_mv_next.currency_code ], stream key: [ portfolio_cash_ratio_mv_next.portfolio_id, portfolio_cash_ratio_mv_next.dim_value_date, portfolio_cash_ratio_mv_next.currency_code ] }
Fragment 61628 (Actor 739692,739691)
StreamLocalityProvider { locality_columns: [portfolio_cash_ratio_mv_next.portfolio_id, max(portfolio_cash_ratio_mv_next.dim_value_date)] }
├── output: [ opportunity_conditions_mv.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv.as_of_date, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.interval_to_check_days, max(portfolio_cash_ratio_mv_next.dim_value_date), max(portfolio_cash_ratio_mv_next.currency_code), count, max(opportunity_conditions_mv.interval_to_check_days) ]
├── stream key: [ portfolio_cash_ratio_mv_next.portfolio_id, max(portfolio_cash_ratio_mv_next.dim_value_date), opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv.as_of_date, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.interval_to_check_days ]
└── MergeExecutor
├── output: [ opportunity_conditions_mv.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv.as_of_date, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.interval_to_check_days, max(portfolio_cash_ratio_mv_next.dim_value_date), max(portfolio_cash_ratio_mv_next.currency_code), count, max(opportunity_conditions_mv.interval_to_check_days) ]
└── stream key: [ opportunity_conditions_mv.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv.as_of_date, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.interval_to_check_days ]
Fragment 61629 (Actor 739696,739695)
StreamFilter { predicate: (count = max(opportunity_conditions_mv.interval_to_check_days)) }
├── output: [ opportunity_conditions_mv.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv.as_of_date, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.interval_to_check_days, max(portfolio_cash_ratio_mv_next.dim_value_date), max(portfolio_cash_ratio_mv_next.currency_code), count, max(opportunity_conditions_mv.interval_to_check_days) ]
├── stream key: [ opportunity_conditions_mv.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv.as_of_date, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.interval_to_check_days ]
└── StreamHashAgg { group_key: [opportunity_conditions_mv.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv.as_of_date, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.interval_to_check_days], aggs: [max(portfolio_cash_ratio_mv_next.dim_value_date), max(portfolio_cash_ratio_mv_next.currency_code), count, max(opportunity_conditions_mv.interval_to_check_days)] }
├── output: [ opportunity_conditions_mv.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv.as_of_date, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.interval_to_check_days, max(portfolio_cash_ratio_mv_next.dim_value_date), max(portfolio_cash_ratio_mv_next.currency_code), count, max(opportunity_conditions_mv.interval_to_check_days) ]
├── stream key: [ opportunity_conditions_mv.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv.as_of_date, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.interval_to_check_days ]
└── StreamLocalityProvider { locality_columns: [opportunity_conditions_mv.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv.as_of_date, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.interval_to_check_days] }
├── output: [ opportunity_conditions_mv.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv.as_of_date, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.interval_to_check_days, portfolio_cash_ratio_mv_next.dim_value_date, portfolio_cash_ratio_mv_next.currency_code, portfolio_cash_ratio_mv_next.activity_name, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ]
├── stream key: [ opportunity_conditions_mv.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv.as_of_date, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.interval_to_check_days, portfolio_cash_ratio_mv_next.activity_name, portfolio_cash_ratio_mv_next.dim_value_date, portfolio_cash_ratio_mv_next.currency_code, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ]
└── MergeExecutor
├── output: [ opportunity_conditions_mv.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv.as_of_date, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.interval_to_check_days, portfolio_cash_ratio_mv_next.dim_value_date, portfolio_cash_ratio_mv_next.currency_code, portfolio_cash_ratio_mv_next.activity_name, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ]
└── stream key: [ portfolio_cash_ratio_mv_next.activity_name, portfolio_cash_ratio_mv_next.dim_value_date, portfolio_cash_ratio_mv_next.currency_code, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ]
Fragment 61630 (Actor 739698,739697)
StreamSyncLogStore { output: [ opportunity_conditions_mv.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv.as_of_date, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.interval_to_check_days, portfolio_cash_ratio_mv_next.dim_value_date, portfolio_cash_ratio_mv_next.currency_code, portfolio_cash_ratio_mv_next.activity_name, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ], stream key: [ portfolio_cash_ratio_mv_next.activity_name, portfolio_cash_ratio_mv_next.dim_value_date, portfolio_cash_ratio_mv_next.currency_code, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ] }
└── StreamHashJoin { type: Inner, predicate: portfolio_cash_ratio_mv_next.activity_name = opportunity_conditions_mv.activity_name AND (portfolio_cash_ratio_mv_next.dim_value_date <= opportunity_conditions_mv.as_of_date) AND (portfolio_cash_ratio_mv_next.dim_value_date > $expr1) AND Case((opportunity_conditions_mv.op = 'GTE':Varchar), (portfolio_cash_ratio_mv_next.cash_ratio >= opportunity_conditions_mv.threshold), (opportunity_conditions_mv.op = 'GT':Varchar), (portfolio_cash_ratio_mv_next.cash_ratio > opportunity_conditions_mv.threshold), (opportunity_conditions_mv.op = 'LTE':Varchar), (portfolio_cash_ratio_mv_next.cash_ratio <= opportunity_conditions_mv.threshold), (opportunity_conditions_mv.op = 'LT':Varchar), (portfolio_cash_ratio_mv_next.cash_ratio < opportunity_conditions_mv.threshold), (opportunity_conditions_mv.op = 'EQ':Varchar), (portfolio_cash_ratio_mv_next.cash_ratio = opportunity_conditions_mv.threshold), false:Boolean) }
├── output: [ opportunity_conditions_mv.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv.as_of_date, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.interval_to_check_days, portfolio_cash_ratio_mv_next.dim_value_date, portfolio_cash_ratio_mv_next.currency_code, portfolio_cash_ratio_mv_next.activity_name, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ]
├── stream key: [ portfolio_cash_ratio_mv_next.activity_name, portfolio_cash_ratio_mv_next.dim_value_date, portfolio_cash_ratio_mv_next.currency_code, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ]
├── MergeExecutor { output: [ portfolio_cash_ratio_mv_next.portfolio_id, portfolio_cash_ratio_mv_next.dim_value_date, portfolio_cash_ratio_mv_next.currency_code, portfolio_cash_ratio_mv_next.cash_ratio, portfolio_cash_ratio_mv_next.activity_name ], stream key: [ portfolio_cash_ratio_mv_next.activity_name, portfolio_cash_ratio_mv_next.dim_value_date, portfolio_cash_ratio_mv_next.currency_code, portfolio_cash_ratio_mv_next.portfolio_id ] }
└── MergeExecutor { output: [ opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.op, opportunity_conditions_mv.threshold, opportunity_conditions_mv.interval_to_check_days, opportunity_conditions_mv.as_of_date, $expr1, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ], stream key: [ opportunity_conditions_mv.activity_name, opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ] }
Fragment 61631 (Actor 739723,739724)
StreamLocalityProvider { locality_columns: [portfolio_cash_ratio_mv_next.activity_name] } { output: [ portfolio_cash_ratio_mv_next.portfolio_id, portfolio_cash_ratio_mv_next.dim_value_date, portfolio_cash_ratio_mv_next.currency_code, portfolio_cash_ratio_mv_next.cash_ratio, portfolio_cash_ratio_mv_next.activity_name ], stream key: [ portfolio_cash_ratio_mv_next.activity_name, portfolio_cash_ratio_mv_next.dim_value_date, portfolio_cash_ratio_mv_next.currency_code, portfolio_cash_ratio_mv_next.portfolio_id ] }
└── MergeExecutor { output: [ portfolio_cash_ratio_mv_next.portfolio_id, portfolio_cash_ratio_mv_next.dim_value_date, portfolio_cash_ratio_mv_next.currency_code, portfolio_cash_ratio_mv_next.cash_ratio, portfolio_cash_ratio_mv_next.activity_name ], stream key: [ portfolio_cash_ratio_mv_next.dim_value_date, portfolio_cash_ratio_mv_next.currency_code, portfolio_cash_ratio_mv_next.portfolio_id ] }
Fragment 61632 (Actor 739754,739755)
StreamTableScan { table: portfolio_cash_ratio_mv_next, columns: [portfolio_id, dim_value_date, currency_code, cash_ratio, activity_name] } { output: [ portfolio_cash_ratio_mv_next.portfolio_id, portfolio_cash_ratio_mv_next.dim_value_date, portfolio_cash_ratio_mv_next.currency_code, portfolio_cash_ratio_mv_next.cash_ratio, portfolio_cash_ratio_mv_next.activity_name ], stream key: [ portfolio_cash_ratio_mv_next.dim_value_date, portfolio_cash_ratio_mv_next.currency_code, portfolio_cash_ratio_mv_next.portfolio_id ] }
├── Upstream { output: [ portfolio_id, dim_value_date, currency_code, cash_ratio, activity_name ], stream key: [] }
└── BatchPlanNode { output: [ portfolio_id, dim_value_date, currency_code, cash_ratio, activity_name ], stream key: [] }
Fragment 61633 (Actor 739725,739726)
StreamLocalityProvider { locality_columns: [opportunity_conditions_mv.activity_name] } { output: [ opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.op, opportunity_conditions_mv.threshold, opportunity_conditions_mv.interval_to_check_days, opportunity_conditions_mv.as_of_date, $expr1, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ], stream key: [ opportunity_conditions_mv.activity_name, opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ] }
└── MergeExecutor { output: [ opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.op, opportunity_conditions_mv.threshold, opportunity_conditions_mv.interval_to_check_days, opportunity_conditions_mv.as_of_date, $expr1, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ], stream key: [ opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ] }
Fragment 61634 (Actor 739761,739760)
StreamProject { exprs: [opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.op, opportunity_conditions_mv.threshold, opportunity_conditions_mv.interval_to_check_days, opportunity_conditions_mv.as_of_date, (opportunity_conditions_mv.as_of_date - opportunity_conditions_mv.interval_to_check_days) as $expr1, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1] }
├── output: [ opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.op, opportunity_conditions_mv.threshold, opportunity_conditions_mv.interval_to_check_days, opportunity_conditions_mv.as_of_date, $expr1, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ]
├── stream key: [ opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ]
└── MergeExecutor { output: [ opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.op, opportunity_conditions_mv.threshold, opportunity_conditions_mv.interval_to_check_days, opportunity_conditions_mv.as_of_date, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ], stream key: [ opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ] }
Fragment 61635 (Actor 739756,739757)
StreamFilter { predicate: (opportunity_conditions_mv.activity_name = 'GET_PORTFOLIO_IDLE_CASH_PERCENTAGE':Varchar) AND Not(IsNull(opportunity_conditions_mv.as_of_date)) AND Not(IsNull(opportunity_conditions_mv.interval_to_check_days)) } { output: [ opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.op, opportunity_conditions_mv.threshold, opportunity_conditions_mv.interval_to_check_days, opportunity_conditions_mv.as_of_date, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ], stream key: [ opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ] }
└── StreamTableScan { table: opportunity_conditions_mv, columns: [opportunity_id, activity_name, op, threshold, interval_to_check_days, as_of_date, _rw_projected_row_id, _rw_projected_row_id#1] } { output: [ opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.op, opportunity_conditions_mv.threshold, opportunity_conditions_mv.interval_to_check_days, opportunity_conditions_mv.as_of_date, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ], stream key: [ opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ] }
├── Upstream { output: [ opportunity_id, activity_name, op, threshold, interval_to_check_days, as_of_date, _rw_projected_row_id, _rw_projected_row_id#1 ], stream key: [] }
└── BatchPlanNode { output: [ opportunity_id, activity_name, op, threshold, interval_to_check_days, as_of_date, _rw_projected_row_id, _rw_projected_row_id#1 ], stream key: [] }
Fragment 61636 (Actor 739730,739729)
StreamLocalityProvider { locality_columns: [portfolio_cash_ratio_mv_next.portfolio_id, portfolio_cash_ratio_mv_next.dim_value_date] } { output: [ portfolio_cash_ratio_mv_next.portfolio_id, portfolio_cash_ratio_mv_next.dim_value_date, portfolio_cash_ratio_mv_next.cash_value, portfolio_cash_ratio_mv_next.cash_ratio, portfolio_cash_ratio_mv_next.currency_code ], stream key: [ portfolio_cash_ratio_mv_next.portfolio_id, portfolio_cash_ratio_mv_next.dim_value_date, portfolio_cash_ratio_mv_next.currency_code ] }
└── MergeExecutor { output: [ portfolio_cash_ratio_mv_next.portfolio_id, portfolio_cash_ratio_mv_next.dim_value_date, portfolio_cash_ratio_mv_next.cash_value, portfolio_cash_ratio_mv_next.cash_ratio, portfolio_cash_ratio_mv_next.currency_code ], stream key: [ portfolio_cash_ratio_mv_next.dim_value_date, portfolio_cash_ratio_mv_next.currency_code, portfolio_cash_ratio_mv_next.portfolio_id ] }
Fragment 61637 (Actor 739763,739762)
StreamTableScan { table: portfolio_cash_ratio_mv_next, columns: [portfolio_id, dim_value_date, cash_value, cash_ratio, currency_code] } { output: [ portfolio_cash_ratio_mv_next.portfolio_id, portfolio_cash_ratio_mv_next.dim_value_date, portfolio_cash_ratio_mv_next.cash_value, portfolio_cash_ratio_mv_next.cash_ratio, portfolio_cash_ratio_mv_next.currency_code ], stream key: [ portfolio_cash_ratio_mv_next.dim_value_date, portfolio_cash_ratio_mv_next.currency_code, portfolio_cash_ratio_mv_next.portfolio_id ] }
├── Upstream { output: [ portfolio_id, dim_value_date, cash_value, cash_ratio, currency_code ], stream key: [] }
└── BatchPlanNode { output: [ portfolio_id, dim_value_date, cash_value, cash_ratio, currency_code ], stream key: [] }
Fragment 61638 (Actor 739733,739734)
StreamLocalityProvider { locality_columns: [opportunity_conditions_mv.opportunity_id, account_to_portfolios_dm.portfolio_id] } { output: [ opportunity_conditions_mv.opportunity_id, account_to_portfolios_dm.portfolio_id ], stream key: [ opportunity_conditions_mv.opportunity_id, account_to_portfolios_dm.portfolio_id ] }
└── MergeExecutor { output: [ opportunity_conditions_mv.opportunity_id, account_to_portfolios_dm.portfolio_id ], stream key: [ account_to_portfolios_dm.portfolio_id, opportunity_conditions_mv.opportunity_id ] }
Fragment 61639 (Actor 739732,739731)
StreamProject { exprs: [opportunity_conditions_mv.opportunity_id, account_to_portfolios_dm.portfolio_id] } { output: [ opportunity_conditions_mv.opportunity_id, account_to_portfolios_dm.portfolio_id ], stream key: [ account_to_portfolios_dm.portfolio_id, opportunity_conditions_mv.opportunity_id ] }
└── StreamHashAgg { group_key: [account_to_portfolios_dm.portfolio_id, opportunity_conditions_mv.opportunity_id], aggs: [count] } { output: [ account_to_portfolios_dm.portfolio_id, opportunity_conditions_mv.opportunity_id, count ], stream key: [ account_to_portfolios_dm.portfolio_id, opportunity_conditions_mv.opportunity_id ] }
└── StreamLocalityProvider { locality_columns: [account_to_portfolios_dm.portfolio_id, opportunity_conditions_mv.opportunity_id] } { output: [ account_to_portfolios_dm.portfolio_id, opportunity_conditions_mv.opportunity_id, 'GET_PORTFOLIO_IDLE_CASH_PERCENTAGE':Varchar, transactions_dm.transaction_valuation_date, opportunity_conditions_mv.activity_name, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ], stream key: [ account_to_portfolios_dm.portfolio_id, opportunity_conditions_mv.opportunity_id, 'GET_PORTFOLIO_IDLE_CASH_PERCENTAGE':Varchar, transactions_dm.transaction_valuation_date, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ] }
└── MergeExecutor { output: [ account_to_portfolios_dm.portfolio_id, opportunity_conditions_mv.opportunity_id, 'GET_PORTFOLIO_IDLE_CASH_PERCENTAGE':Varchar, transactions_dm.transaction_valuation_date, opportunity_conditions_mv.activity_name, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ], stream key: [ 'GET_PORTFOLIO_IDLE_CASH_PERCENTAGE':Varchar, account_to_portfolios_dm.portfolio_id, transactions_dm.transaction_valuation_date, opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ] }
Fragment 61640 (Actor 739736,739735)
StreamSyncLogStore { output: [ account_to_portfolios_dm.portfolio_id, opportunity_conditions_mv.opportunity_id, 'GET_PORTFOLIO_IDLE_CASH_PERCENTAGE':Varchar, transactions_dm.transaction_valuation_date, opportunity_conditions_mv.activity_name, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ], stream key: [ 'GET_PORTFOLIO_IDLE_CASH_PERCENTAGE':Varchar, account_to_portfolios_dm.portfolio_id, transactions_dm.transaction_valuation_date, opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ] }
└── StreamHashJoin { type: Inner, predicate: 'GET_PORTFOLIO_IDLE_CASH_PERCENTAGE':Varchar = opportunity_conditions_mv.activity_name AND (transactions_dm.transaction_valuation_date <= opportunity_conditions_mv.as_of_date) AND (transactions_dm.transaction_valuation_date > $expr4) } { output: [ account_to_portfolios_dm.portfolio_id, opportunity_conditions_mv.opportunity_id, 'GET_PORTFOLIO_IDLE_CASH_PERCENTAGE':Varchar, transactions_dm.transaction_valuation_date, opportunity_conditions_mv.activity_name, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ], stream key: [ 'GET_PORTFOLIO_IDLE_CASH_PERCENTAGE':Varchar, account_to_portfolios_dm.portfolio_id, transactions_dm.transaction_valuation_date, opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ] }
├── MergeExecutor { output: [ account_to_portfolios_dm.portfolio_id, transactions_dm.transaction_valuation_date, 'GET_PORTFOLIO_IDLE_CASH_PERCENTAGE':Varchar ], stream key: [ 'GET_PORTFOLIO_IDLE_CASH_PERCENTAGE':Varchar, account_to_portfolios_dm.portfolio_id, transactions_dm.transaction_valuation_date ] }
└── MergeExecutor { output: [ opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.as_of_date, $expr4, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ], stream key: [ opportunity_conditions_mv.activity_name, opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ] }
Fragment 61641 (Actor 739737,739738)
StreamLocalityProvider { locality_columns: ['GET_PORTFOLIO_IDLE_CASH_PERCENTAGE':Varchar] } { output: [ account_to_portfolios_dm.portfolio_id, transactions_dm.transaction_valuation_date, 'GET_PORTFOLIO_IDLE_CASH_PERCENTAGE':Varchar ], stream key: [ 'GET_PORTFOLIO_IDLE_CASH_PERCENTAGE':Varchar, account_to_portfolios_dm.portfolio_id, transactions_dm.transaction_valuation_date ] }
└── MergeExecutor { output: [ account_to_portfolios_dm.portfolio_id, transactions_dm.transaction_valuation_date, 'GET_PORTFOLIO_IDLE_CASH_PERCENTAGE':Varchar ], stream key: [ account_to_portfolios_dm.portfolio_id, transactions_dm.transaction_valuation_date ] }
Fragment 61642 (Actor 739740,739739)
StreamProject { exprs: [account_to_portfolios_dm.portfolio_id, transactions_dm.transaction_valuation_date, 'GET_PORTFOLIO_IDLE_CASH_PERCENTAGE':Varchar] } { output: [ account_to_portfolios_dm.portfolio_id, transactions_dm.transaction_valuation_date, 'GET_PORTFOLIO_IDLE_CASH_PERCENTAGE':Varchar ], stream key: [ account_to_portfolios_dm.portfolio_id, transactions_dm.transaction_valuation_date ] }
└── StreamHashAgg { group_key: [account_to_portfolios_dm.portfolio_id, transactions_dm.transaction_valuation_date], aggs: [count] } { output: [ account_to_portfolios_dm.portfolio_id, transactions_dm.transaction_valuation_date, count ], stream key: [ account_to_portfolios_dm.portfolio_id, transactions_dm.transaction_valuation_date ] }
└── StreamLocalityProvider { locality_columns: [account_to_portfolios_dm.portfolio_id, transactions_dm.transaction_valuation_date] } { output: [ account_to_portfolios_dm.portfolio_id, transactions_dm.transaction_valuation_date, transactions_dm.account_id, account_to_portfolios_dm.account_id, account_to_portfolios_dm.effective_start_date ], stream key: [ account_to_portfolios_dm.portfolio_id, transactions_dm.transaction_valuation_date, transactions_dm.account_id, account_to_portfolios_dm.effective_start_date ] }
└── MergeExecutor { output: [ account_to_portfolios_dm.portfolio_id, transactions_dm.transaction_valuation_date, transactions_dm.account_id, account_to_portfolios_dm.account_id, account_to_portfolios_dm.effective_start_date ], stream key: [ transactions_dm.account_id, transactions_dm.transaction_valuation_date, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date ] }
Fragment 61643 (Actor 739742,739741)
StreamSyncLogStore { output: [ account_to_portfolios_dm.portfolio_id, transactions_dm.transaction_valuation_date, transactions_dm.account_id, account_to_portfolios_dm.account_id, account_to_portfolios_dm.effective_start_date ], stream key: [ transactions_dm.account_id, transactions_dm.transaction_valuation_date, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date ] }
└── StreamHashJoin { type: Inner, predicate: transactions_dm.account_id = account_to_portfolios_dm.account_id } { output: [ account_to_portfolios_dm.portfolio_id, transactions_dm.transaction_valuation_date, transactions_dm.account_id, account_to_portfolios_dm.account_id, account_to_portfolios_dm.effective_start_date ], stream key: [ transactions_dm.account_id, transactions_dm.transaction_valuation_date, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date ] }
├── MergeExecutor { output: [ transactions_dm.account_id, transactions_dm.transaction_valuation_date ], stream key: [ transactions_dm.account_id, transactions_dm.transaction_valuation_date ] }
└── MergeExecutor { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date ], stream key: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date ] }
Fragment 61644 (Actor 739743,739744)
StreamProject { exprs: [transactions_dm.account_id, transactions_dm.transaction_valuation_date] } { output: [ transactions_dm.account_id, transactions_dm.transaction_valuation_date ], stream key: [ transactions_dm.account_id, transactions_dm.transaction_valuation_date ] }
└── StreamHashAgg { group_key: [transactions_dm.account_id, transactions_dm.transaction_valuation_date], aggs: [count] } { output: [ transactions_dm.account_id, transactions_dm.transaction_valuation_date, count ], stream key: [ transactions_dm.account_id, transactions_dm.transaction_valuation_date ] }
└── StreamLocalityProvider { locality_columns: [transactions_dm.account_id, transactions_dm.transaction_valuation_date] } { output: [ transactions_dm.account_id, transactions_dm.transaction_valuation_date, transactions_dm.transaction_id ], stream key: [ transactions_dm.account_id, transactions_dm.transaction_valuation_date, transactions_dm.transaction_id ] }
└── MergeExecutor { output: [ transactions_dm.account_id, transactions_dm.transaction_valuation_date, transactions_dm.transaction_id ], stream key: [ transactions_dm.transaction_id ] }
Fragment 61645 (Actor 739774,739775)
StreamProject { exprs: [transactions_dm.account_id, transactions_dm.transaction_valuation_date, transactions_dm.transaction_id] } { output: [ transactions_dm.account_id, transactions_dm.transaction_valuation_date, transactions_dm.transaction_id ], stream key: [ transactions_dm.transaction_id ] }
└── StreamDynamicFilter { predicate: ($expr2 >= $expr3), output_watermarks: [[$expr2]], output: [transactions_dm.account_id, transactions_dm.transaction_valuation_date, $expr2, transactions_dm.transaction_id], cleaned_by_watermark: true } { output: [ transactions_dm.account_id, transactions_dm.transaction_valuation_date, $expr2, transactions_dm.transaction_id ], stream key: [ transactions_dm.transaction_id ] }
├── StreamProject { exprs: [transactions_dm.account_id, transactions_dm.transaction_valuation_date, AtTimeZone(transactions_dm.transaction_valuation_date::Timestamp, 'UTC':Varchar) as $expr2, transactions_dm.transaction_id] } { output: [ transactions_dm.account_id, transactions_dm.transaction_valuation_date, $expr2, transactions_dm.transaction_id ], stream key: [ transactions_dm.transaction_id ] }
│ └── StreamFilter { predicate: IsNull(transactions_dm.disabled_at) } { output: [ transactions_dm.account_id, transactions_dm.transaction_valuation_date, transactions_dm.transaction_id, transactions_dm.disabled_at ], stream key: [ transactions_dm.transaction_id ] }
│ └── StreamTableScan { table: transactions_dm, columns: [account_id, transaction_valuation_date, transaction_id, disabled_at] } { output: [ transactions_dm.account_id, transactions_dm.transaction_valuation_date, transactions_dm.transaction_id, transactions_dm.disabled_at ], stream key: [ transactions_dm.transaction_id ] }
│ ├── Upstream { output: [ account_id, transaction_valuation_date, transaction_id, disabled_at ], stream key: [] }
│ └── BatchPlanNode { output: [ account_id, transaction_valuation_date, transaction_id, disabled_at ], stream key: [] }
└── MergeExecutor { output: [ $expr3 ], stream key: [] }
Fragment 61646 (Actor 739745)
StreamProject { exprs: [SubtractWithTimeZone(now, '30 days':Interval, 'UTC':Varchar) as $expr3], output_watermarks: [[$expr3]] } { output: [ $expr3 ], stream key: [] }
└── StreamNow { output: [ now ], stream key: [] }
Fragment 61647 (Actor 739746,739747)
StreamLocalityProvider { locality_columns: [account_to_portfolios_dm.account_id] } { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date ], stream key: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date ] }
└── MergeExecutor { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date ], stream key: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date ] }
Fragment 61648 (Actor 739751,739750)
StreamProject { exprs: [account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date] } { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date ], stream key: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date ] }
└── StreamFilter { predicate: IsNull(account_to_portfolios_dm.disabled_at) AND IsNull(account_to_portfolios_dm.effective_end_date) } { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_end_date ], stream key: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date ] }
└── StreamTableScan { table: account_to_portfolios_dm, columns: [account_id, portfolio_id, effective_start_date, disabled_at, effective_end_date] } { output: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date, account_to_portfolios_dm.disabled_at, account_to_portfolios_dm.effective_end_date ], stream key: [ account_to_portfolios_dm.account_id, account_to_portfolios_dm.portfolio_id, account_to_portfolios_dm.effective_start_date ] }
├── Upstream { output: [ account_id, portfolio_id, effective_start_date, disabled_at, effective_end_date ], stream key: [] }
└── BatchPlanNode { output: [ account_id, portfolio_id, effective_start_date, disabled_at, effective_end_date ], stream key: [] }
Fragment 61649 (Actor 739748,739749)
StreamLocalityProvider { locality_columns: [opportunity_conditions_mv.activity_name] } { output: [ opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.as_of_date, $expr4, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ], stream key: [ opportunity_conditions_mv.activity_name, opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ] }
└── MergeExecutor { output: [ opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.as_of_date, $expr4, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ], stream key: [ opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ] }
Fragment 61650 (Actor 739758,739759)
StreamProject { exprs: [opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.as_of_date, (opportunity_conditions_mv.as_of_date - opportunity_conditions_mv.interval_to_check_days) as $expr4, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1] } { output: [ opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.as_of_date, $expr4, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ], stream key: [ opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ] }
└── MergeExecutor { output: [ opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv.activity_name, opportunity_conditions_mv.op, opportunity_conditions_mv.threshold, opportunity_conditions_mv.interval_to_check_days, opportunity_conditions_mv.as_of_date, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ], stream key: [ opportunity_conditions_mv.opportunity_id, opportunity_conditions_mv._rw_projected_row_id, opportunity_conditions_mv._rw_projected_row_id#1 ] }