Fragment 64154 (Actor 747135,747136)
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_next.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next.activity_name, max(portfolio_cash_ratio_mv_next.dim_value_date), opportunity_conditions_mv_next.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_next.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, max(portfolio_cash_ratio_mv_next.dim_value_date), opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.interval_to_check_days, portfolio_cash_ratio_mv_next.currency_code ]
└── StreamProject { exprs: [opportunity_conditions_mv_next.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next.activity_name, max(portfolio_cash_ratio_mv_next.dim_value_date), opportunity_conditions_mv_next.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_next.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next.activity_name, max(portfolio_cash_ratio_mv_next.dim_value_date), opportunity_conditions_mv_next.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_next.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, max(portfolio_cash_ratio_mv_next.dim_value_date), opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.interval_to_check_days, portfolio_cash_ratio_mv_next.currency_code ]
└── StreamFilter { predicate: IsNull(account_to_portfolios_dm.portfolio_id) }
├── output:
│ ┌── opportunity_conditions_mv_next.opportunity_id
│ ├── portfolio_cash_ratio_mv_next.portfolio_id
│ ├── opportunity_conditions_mv_next.as_of_date
│ ├── opportunity_conditions_mv_next.activity_name
│ ├── opportunity_conditions_mv_next.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_next.opportunity_id
├── stream key: [ opportunity_conditions_mv_next.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, max(portfolio_cash_ratio_mv_next.dim_value_date), opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.interval_to_check_days, portfolio_cash_ratio_mv_next.currency_code ]
└── MergeExecutor
├── output:
│ ┌── opportunity_conditions_mv_next.opportunity_id
│ ├── portfolio_cash_ratio_mv_next.portfolio_id
│ ├── opportunity_conditions_mv_next.as_of_date
│ ├── opportunity_conditions_mv_next.activity_name
│ ├── opportunity_conditions_mv_next.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_next.opportunity_id
└── stream key: [ opportunity_conditions_mv_next.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, max(portfolio_cash_ratio_mv_next.dim_value_date), opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.interval_to_check_days, portfolio_cash_ratio_mv_next.currency_code ]
Fragment 64155 (Actor 747137,747138)
StreamSyncLogStore
├── output:
│ ┌── opportunity_conditions_mv_next.opportunity_id
│ ├── portfolio_cash_ratio_mv_next.portfolio_id
│ ├── opportunity_conditions_mv_next.as_of_date
│ ├── opportunity_conditions_mv_next.activity_name
│ ├── opportunity_conditions_mv_next.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_next.opportunity_id
├── stream key: [ opportunity_conditions_mv_next.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, max(portfolio_cash_ratio_mv_next.dim_value_date), opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.interval_to_check_days, portfolio_cash_ratio_mv_next.currency_code ]
└── StreamHashJoin { type: LeftOuter, predicate: opportunity_conditions_mv_next.opportunity_id = opportunity_conditions_mv_next.opportunity_id AND portfolio_cash_ratio_mv_next.portfolio_id = account_to_portfolios_dm.portfolio_id }
├── output:
│ ┌── opportunity_conditions_mv_next.opportunity_id
│ ├── portfolio_cash_ratio_mv_next.portfolio_id
│ ├── opportunity_conditions_mv_next.as_of_date
│ ├── opportunity_conditions_mv_next.activity_name
│ ├── opportunity_conditions_mv_next.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_next.opportunity_id
├── stream key: [ opportunity_conditions_mv_next.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, max(portfolio_cash_ratio_mv_next.dim_value_date), opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.interval_to_check_days, portfolio_cash_ratio_mv_next.currency_code ]
├── MergeExecutor
│ ├── output:
│ │ ┌── opportunity_conditions_mv_next.opportunity_id
│ │ ├── portfolio_cash_ratio_mv_next.portfolio_id
│ │ ├── opportunity_conditions_mv_next.as_of_date
│ │ ├── opportunity_conditions_mv_next.activity_name
│ │ ├── opportunity_conditions_mv_next.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_next.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, max(portfolio_cash_ratio_mv_next.dim_value_date), opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.interval_to_check_days, portfolio_cash_ratio_mv_next.currency_code ]
└── MergeExecutor { output: [ opportunity_conditions_mv_next.opportunity_id, account_to_portfolios_dm.portfolio_id ], stream key: [ opportunity_conditions_mv_next.opportunity_id, account_to_portfolios_dm.portfolio_id ] }
Fragment 64156 (Actor 745365,745364)
StreamLocalityProvider { locality_columns: [opportunity_conditions_mv_next.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id] }
├── output:
│ ┌── opportunity_conditions_mv_next.opportunity_id
│ ├── portfolio_cash_ratio_mv_next.portfolio_id
│ ├── opportunity_conditions_mv_next.as_of_date
│ ├── opportunity_conditions_mv_next.activity_name
│ ├── opportunity_conditions_mv_next.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_next.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, max(portfolio_cash_ratio_mv_next.dim_value_date), opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.interval_to_check_days, portfolio_cash_ratio_mv_next.currency_code ]
└── MergeExecutor
├── output:
│ ┌── opportunity_conditions_mv_next.opportunity_id
│ ├── portfolio_cash_ratio_mv_next.portfolio_id
│ ├── opportunity_conditions_mv_next.as_of_date
│ ├── opportunity_conditions_mv_next.activity_name
│ ├── opportunity_conditions_mv_next.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_next.opportunity_id, opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.interval_to_check_days, portfolio_cash_ratio_mv_next.currency_code ]
Fragment 64157 (Actor 747140,747139)
StreamSyncLogStore
├── output:
│ ┌── opportunity_conditions_mv_next.opportunity_id
│ ├── portfolio_cash_ratio_mv_next.portfolio_id
│ ├── opportunity_conditions_mv_next.as_of_date
│ ├── opportunity_conditions_mv_next.activity_name
│ ├── opportunity_conditions_mv_next.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_next.opportunity_id, opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.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_next.opportunity_id
│ ├── portfolio_cash_ratio_mv_next.portfolio_id
│ ├── opportunity_conditions_mv_next.as_of_date
│ ├── opportunity_conditions_mv_next.activity_name
│ ├── opportunity_conditions_mv_next.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_next.opportunity_id, opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.interval_to_check_days, portfolio_cash_ratio_mv_next.currency_code ]
├── MergeExecutor
│ ├── output: [ opportunity_conditions_mv_next.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.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_next.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_next.opportunity_id, opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.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 64158 (Actor 747142,747141)
StreamLocalityProvider { locality_columns: [portfolio_cash_ratio_mv_next.portfolio_id, max(portfolio_cash_ratio_mv_next.dim_value_date)] }
├── output: [ opportunity_conditions_mv_next.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.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_next.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_next.opportunity_id, opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.interval_to_check_days ]
└── MergeExecutor
├── output: [ opportunity_conditions_mv_next.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.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_next.interval_to_check_days) ]
└── stream key: [ opportunity_conditions_mv_next.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.interval_to_check_days ]
Fragment 64159 (Actor 747143,747144)
StreamFilter { predicate: (count = max(opportunity_conditions_mv_next.interval_to_check_days)) }
├── output: [ opportunity_conditions_mv_next.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.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_next.interval_to_check_days) ]
├── stream key: [ opportunity_conditions_mv_next.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.interval_to_check_days ]
└── StreamHashAgg { group_key: [opportunity_conditions_mv_next.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.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_next.interval_to_check_days)] }
├── output: [ opportunity_conditions_mv_next.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.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_next.interval_to_check_days) ]
├── stream key: [ opportunity_conditions_mv_next.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.interval_to_check_days ]
└── StreamLocalityProvider { locality_columns: [opportunity_conditions_mv_next.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.interval_to_check_days] }
├── output: [ opportunity_conditions_mv_next.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.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_next._rw_projected_row_id, opportunity_conditions_mv_next._rw_projected_row_id#1 ]
├── stream key: [ opportunity_conditions_mv_next.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.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_next._rw_projected_row_id, opportunity_conditions_mv_next._rw_projected_row_id#1 ]
└── MergeExecutor
├── output: [ opportunity_conditions_mv_next.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.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_next._rw_projected_row_id, opportunity_conditions_mv_next._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_next.opportunity_id, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._rw_projected_row_id#1 ]
Fragment 64160 (Actor 747145,747146)
StreamSyncLogStore { output: [ opportunity_conditions_mv_next.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.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_next._rw_projected_row_id, opportunity_conditions_mv_next._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_next.opportunity_id, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._rw_projected_row_id#1 ] }
└── StreamHashJoin { type: Inner, predicate: portfolio_cash_ratio_mv_next.activity_name = opportunity_conditions_mv_next.activity_name AND (portfolio_cash_ratio_mv_next.dim_value_date <= opportunity_conditions_mv_next.as_of_date) AND (portfolio_cash_ratio_mv_next.dim_value_date > $expr1) AND Case((opportunity_conditions_mv_next.op = 'GTE':Varchar), (portfolio_cash_ratio_mv_next.cash_ratio >= opportunity_conditions_mv_next.threshold), (opportunity_conditions_mv_next.op = 'GT':Varchar), (portfolio_cash_ratio_mv_next.cash_ratio > opportunity_conditions_mv_next.threshold), (opportunity_conditions_mv_next.op = 'LTE':Varchar), (portfolio_cash_ratio_mv_next.cash_ratio <= opportunity_conditions_mv_next.threshold), (opportunity_conditions_mv_next.op = 'LT':Varchar), (portfolio_cash_ratio_mv_next.cash_ratio < opportunity_conditions_mv_next.threshold), (opportunity_conditions_mv_next.op = 'EQ':Varchar), (portfolio_cash_ratio_mv_next.cash_ratio = opportunity_conditions_mv_next.threshold), false:Boolean) }
├── output: [ opportunity_conditions_mv_next.opportunity_id, portfolio_cash_ratio_mv_next.portfolio_id, opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.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_next._rw_projected_row_id, opportunity_conditions_mv_next._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_next.opportunity_id, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._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_next.opportunity_id, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.op, opportunity_conditions_mv_next.threshold, opportunity_conditions_mv_next.interval_to_check_days, opportunity_conditions_mv_next.as_of_date, $expr1, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._rw_projected_row_id#1 ], stream key: [ opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.opportunity_id, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._rw_projected_row_id#1 ] }
Fragment 64161 (Actor 747149,747150)
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 64162 (Actor 747168,747169)
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 64163 (Actor 747152,747151)
StreamLocalityProvider { locality_columns: [opportunity_conditions_mv_next.activity_name] } { output: [ opportunity_conditions_mv_next.opportunity_id, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.op, opportunity_conditions_mv_next.threshold, opportunity_conditions_mv_next.interval_to_check_days, opportunity_conditions_mv_next.as_of_date, $expr1, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._rw_projected_row_id#1 ], stream key: [ opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.opportunity_id, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._rw_projected_row_id#1 ] }
└── MergeExecutor { output: [ opportunity_conditions_mv_next.opportunity_id, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.op, opportunity_conditions_mv_next.threshold, opportunity_conditions_mv_next.interval_to_check_days, opportunity_conditions_mv_next.as_of_date, $expr1, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._rw_projected_row_id#1 ], stream key: [ opportunity_conditions_mv_next.opportunity_id, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._rw_projected_row_id#1 ] }
Fragment 64164 (Actor 747175,747174)
StreamProject { exprs: [opportunity_conditions_mv_next.opportunity_id, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.op, opportunity_conditions_mv_next.threshold, opportunity_conditions_mv_next.interval_to_check_days, opportunity_conditions_mv_next.as_of_date, (opportunity_conditions_mv_next.as_of_date - opportunity_conditions_mv_next.interval_to_check_days) as $expr1, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._rw_projected_row_id#1] }
├── output: [ opportunity_conditions_mv_next.opportunity_id, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.op, opportunity_conditions_mv_next.threshold, opportunity_conditions_mv_next.interval_to_check_days, opportunity_conditions_mv_next.as_of_date, $expr1, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._rw_projected_row_id#1 ]
├── stream key: [ opportunity_conditions_mv_next.opportunity_id, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._rw_projected_row_id#1 ]
└── MergeExecutor { output: [ opportunity_conditions_mv_next.opportunity_id, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.op, opportunity_conditions_mv_next.threshold, opportunity_conditions_mv_next.interval_to_check_days, opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._rw_projected_row_id#1 ], stream key: [ opportunity_conditions_mv_next.opportunity_id, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._rw_projected_row_id#1 ] }
Fragment 64165 (Actor 747173,747172)
StreamFilter { predicate: (opportunity_conditions_mv_next.activity_name = 'GET_PORTFOLIO_IDLE_CASH_PERCENTAGE':Varchar) AND Not(IsNull(opportunity_conditions_mv_next.as_of_date)) AND Not(IsNull(opportunity_conditions_mv_next.interval_to_check_days)) } { output: [ opportunity_conditions_mv_next.opportunity_id, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.op, opportunity_conditions_mv_next.threshold, opportunity_conditions_mv_next.interval_to_check_days, opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._rw_projected_row_id#1 ], stream key: [ opportunity_conditions_mv_next.opportunity_id, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._rw_projected_row_id#1 ] }
└── StreamTableScan { table: opportunity_conditions_mv_next, 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_next.opportunity_id, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.op, opportunity_conditions_mv_next.threshold, opportunity_conditions_mv_next.interval_to_check_days, opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._rw_projected_row_id#1 ], stream key: [ opportunity_conditions_mv_next.opportunity_id, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._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 64166 (Actor 747153,747154)
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 64167 (Actor 747176,747177)
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 64168 (Actor 747155,747156)
StreamLocalityProvider { locality_columns: [opportunity_conditions_mv_next.opportunity_id, account_to_portfolios_dm.portfolio_id] } { output: [ opportunity_conditions_mv_next.opportunity_id, account_to_portfolios_dm.portfolio_id ], stream key: [ opportunity_conditions_mv_next.opportunity_id, account_to_portfolios_dm.portfolio_id ] }
└── MergeExecutor { output: [ opportunity_conditions_mv_next.opportunity_id, account_to_portfolios_dm.portfolio_id ], stream key: [ account_to_portfolios_dm.portfolio_id, opportunity_conditions_mv_next.opportunity_id ] }
Fragment 64169 (Actor 747157,747158)
StreamProject { exprs: [opportunity_conditions_mv_next.opportunity_id, account_to_portfolios_dm.portfolio_id] } { output: [ opportunity_conditions_mv_next.opportunity_id, account_to_portfolios_dm.portfolio_id ], stream key: [ account_to_portfolios_dm.portfolio_id, opportunity_conditions_mv_next.opportunity_id ] }
└── StreamHashAgg { group_key: [account_to_portfolios_dm.portfolio_id, opportunity_conditions_mv_next.opportunity_id], aggs: [count] } { output: [ account_to_portfolios_dm.portfolio_id, opportunity_conditions_mv_next.opportunity_id, count ], stream key: [ account_to_portfolios_dm.portfolio_id, opportunity_conditions_mv_next.opportunity_id ] }
└── StreamLocalityProvider { locality_columns: [account_to_portfolios_dm.portfolio_id, opportunity_conditions_mv_next.opportunity_id] } { output: [ account_to_portfolios_dm.portfolio_id, opportunity_conditions_mv_next.opportunity_id, 'GET_PORTFOLIO_IDLE_CASH_PERCENTAGE':Varchar, transactions_dm.transaction_valuation_date, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._rw_projected_row_id#1 ], stream key: [ account_to_portfolios_dm.portfolio_id, opportunity_conditions_mv_next.opportunity_id, 'GET_PORTFOLIO_IDLE_CASH_PERCENTAGE':Varchar, transactions_dm.transaction_valuation_date, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._rw_projected_row_id#1 ] }
└── MergeExecutor { output: [ account_to_portfolios_dm.portfolio_id, opportunity_conditions_mv_next.opportunity_id, 'GET_PORTFOLIO_IDLE_CASH_PERCENTAGE':Varchar, transactions_dm.transaction_valuation_date, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._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_next.opportunity_id, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._rw_projected_row_id#1 ] }
Fragment 64170 (Actor 747160,747159)
StreamSyncLogStore { output: [ account_to_portfolios_dm.portfolio_id, opportunity_conditions_mv_next.opportunity_id, 'GET_PORTFOLIO_IDLE_CASH_PERCENTAGE':Varchar, transactions_dm.transaction_valuation_date, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._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_next.opportunity_id, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._rw_projected_row_id#1 ] }
└── StreamHashJoin { type: Inner, predicate: 'GET_PORTFOLIO_IDLE_CASH_PERCENTAGE':Varchar = opportunity_conditions_mv_next.activity_name AND (transactions_dm.transaction_valuation_date <= opportunity_conditions_mv_next.as_of_date) AND (transactions_dm.transaction_valuation_date > $expr4) } { output: [ account_to_portfolios_dm.portfolio_id, opportunity_conditions_mv_next.opportunity_id, 'GET_PORTFOLIO_IDLE_CASH_PERCENTAGE':Varchar, transactions_dm.transaction_valuation_date, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._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_next.opportunity_id, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._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_next.opportunity_id, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.as_of_date, $expr4, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._rw_projected_row_id#1 ], stream key: [ opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.opportunity_id, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._rw_projected_row_id#1 ] }
Fragment 64171 (Actor 746222,746221)
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 64172 (Actor 746233,746234)
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 64173 (Actor 746305,746306)
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 64174 (Actor 746307,746308)
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 64175 (Actor 747178,747179)
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 64176 (Actor 747161)
StreamProject { exprs: [SubtractWithTimeZone(now, '30 days':Interval, 'UTC':Varchar) as $expr3], output_watermarks: [[$expr3]] } { output: [ $expr3 ], stream key: [] }
└── StreamNow { output: [ now ], stream key: [] }
Fragment 64177 (Actor 747163,747162)
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 64178 (Actor 747181,747180)
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 64179 (Actor 747165,747164)
StreamLocalityProvider { locality_columns: [opportunity_conditions_mv_next.activity_name] } { output: [ opportunity_conditions_mv_next.opportunity_id, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.as_of_date, $expr4, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._rw_projected_row_id#1 ], stream key: [ opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.opportunity_id, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._rw_projected_row_id#1 ] }
└── MergeExecutor { output: [ opportunity_conditions_mv_next.opportunity_id, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.as_of_date, $expr4, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._rw_projected_row_id#1 ], stream key: [ opportunity_conditions_mv_next.opportunity_id, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._rw_projected_row_id#1 ] }
Fragment 64180 (Actor 747171,747170)
StreamProject { exprs: [opportunity_conditions_mv_next.opportunity_id, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.as_of_date, (opportunity_conditions_mv_next.as_of_date - opportunity_conditions_mv_next.interval_to_check_days) as $expr4, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._rw_projected_row_id#1] } { output: [ opportunity_conditions_mv_next.opportunity_id, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.as_of_date, $expr4, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._rw_projected_row_id#1 ], stream key: [ opportunity_conditions_mv_next.opportunity_id, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._rw_projected_row_id#1 ] }
└── MergeExecutor { output: [ opportunity_conditions_mv_next.opportunity_id, opportunity_conditions_mv_next.activity_name, opportunity_conditions_mv_next.op, opportunity_conditions_mv_next.threshold, opportunity_conditions_mv_next.interval_to_check_days, opportunity_conditions_mv_next.as_of_date, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._rw_projected_row_id#1 ], stream key: [ opportunity_conditions_mv_next.opportunity_id, opportunity_conditions_mv_next._rw_projected_row_id, opportunity_conditions_mv_next._rw_projected_row_id#1 ] }