Fragment 24785 (Actor 117656,117655)
StreamMaterialize { columns: [party_id, portfolio_id], stream_key: [party_id, portfolio_id], pk_columns: [party_id, portfolio_id], pk_conflict: NoCheck }
├── output: [ party_involvements_dm.party_id, party_involvements_dm.entity_id ]
├── stream key: [ party_involvements_dm.party_id, party_involvements_dm.entity_id ]
└── StreamProject { exprs: [party_involvements_dm.party_id, party_involvements_dm.entity_id] }
├── output: [ party_involvements_dm.party_id, party_involvements_dm.entity_id ]
├── stream key: [ party_involvements_dm.party_id, party_involvements_dm.entity_id ]
└── StreamHashAgg { group_key: [party_involvements_dm.party_id, party_involvements_dm.entity_id], aggs: [count] }
├── output: [ party_involvements_dm.party_id, party_involvements_dm.entity_id, count ]
├── stream key: [ party_involvements_dm.party_id, party_involvements_dm.entity_id ]
└── MergeExecutor
├── output:
│ ┌── party_involvements_dm.party_id
│ ├── party_involvements_dm.entity_id
│ ├── party_involvements_dm.id
│ ├── $src
│ ├── party_involvements_dm.customer_relationship_id
│ └── customer_relationships.id
└── stream key: [ party_involvements_dm.id, $src, party_involvements_dm.customer_relationship_id ]
Fragment 24786 (Actor 117658,117657)
StreamSyncLogStore
├── output:
│ ┌── party_involvements_dm.party_id
│ ├── party_involvements_dm.entity_id
│ ├── party_involvements_dm.id
│ ├── $src
│ ├── party_involvements_dm.customer_relationship_id
│ └── customer_relationships.id
├── stream key: [ party_involvements_dm.id, $src, party_involvements_dm.customer_relationship_id ]
└── StreamHashJoin { type: Inner, predicate: party_involvements_dm.customer_relationship_id = customer_relationships.id }
├── output:
│ ┌── party_involvements_dm.party_id
│ ├── party_involvements_dm.entity_id
│ ├── party_involvements_dm.id
│ ├── $src
│ ├── party_involvements_dm.customer_relationship_id
│ └── customer_relationships.id
├── stream key: [ party_involvements_dm.id, $src, party_involvements_dm.customer_relationship_id ]
├── MergeExecutor
│ ├── output:
│ │ ┌── party_involvements_dm.party_id
│ │ ├── party_involvements_dm.customer_relationship_id
│ │ ├── party_involvements_dm.entity_id
│ │ ├── party_involvements_dm.id
│ │ └── $src
│ └── stream key: [ party_involvements_dm.id, $src ]
└── MergeExecutor { output: [ customer_relationships.id ], stream key: [ customer_relationships.id ] }
Fragment 24787 (Actor 117660,117659)
StreamUnion { all: true }
├── output:
│ ┌── party_involvements_dm.party_id
│ ├── party_involvements_dm.customer_relationship_id
│ ├── party_involvements_dm.entity_id
│ ├── party_involvements_dm.id
│ └── $src
├── stream key: [ party_involvements_dm.id, $src ]
├── MergeExecutor
│ ├── output:
│ │ ┌── party_involvements_dm.party_id
│ │ ├── party_involvements_dm.customer_relationship_id
│ │ ├── party_involvements_dm.entity_id
│ │ ├── party_involvements_dm.id
│ │ └── 0:Int32
│ └── stream key: [ party_involvements_dm.id ]
└── MergeExecutor
├── output:
│ ┌── party_involvements_dm.party_id
│ ├── party_involvements_dm.customer_relationship_id
│ ├── party_involvements_dm.entity_id
│ ├── party_involvements_dm.id
│ └── 1:Int32
└── stream key: [ party_involvements_dm.id ]
Fragment 24788 (Actor 117667,117668)
StreamProject { exprs: [party_involvements_dm.party_id, party_involvements_dm.customer_relationship_id, party_involvements_dm.entity_id, party_involvements_dm.id, 0:Int32] }
├── output: [ party_involvements_dm.party_id, party_involvements_dm.customer_relationship_id, party_involvements_dm.entity_id, party_involvements_dm.id, 0:Int32 ]
├── stream key: [ party_involvements_dm.id ]
└── StreamDynamicFilter { predicate: ($expr2 > now), output_watermarks: [[$expr2]], output: [party_involvements_dm.party_id, party_involvements_dm.customer_relationship_id, party_involvements_dm.entity_id, $expr2, party_involvements_dm.id], cleaned_by_watermark: true }
├── output: [ party_involvements_dm.party_id, party_involvements_dm.customer_relationship_id, party_involvements_dm.entity_id, $expr2, party_involvements_dm.id ]
├── stream key: [ party_involvements_dm.id ]
├── StreamProject { exprs: [party_involvements_dm.party_id, party_involvements_dm.customer_relationship_id, party_involvements_dm.entity_id, AtTimeZone(party_involvements_dm.effective_to::Timestamp, 'UTC':Varchar) as $expr2, party_involvements_dm.id] }
│ ├── output: [ party_involvements_dm.party_id, party_involvements_dm.customer_relationship_id, party_involvements_dm.entity_id, $expr2, party_involvements_dm.id ]
│ ├── stream key: [ party_involvements_dm.id ]
│ └── StreamFilter { predicate: IsNotTrue(IsNull(party_involvements_dm.effective_to)) }
│ ├── output: [ party_involvements_dm.party_id, party_involvements_dm.customer_relationship_id, party_involvements_dm.entity_id, party_involvements_dm.effective_to, party_involvements_dm.id ]
│ ├── stream key: [ party_involvements_dm.id ]
│ └── MergeExecutor { output: [ party_involvements_dm.party_id, party_involvements_dm.customer_relationship_id, party_involvements_dm.entity_id, party_involvements_dm.effective_to, party_involvements_dm.id ], stream key: [ party_involvements_dm.id ] }
└── MergeExecutor { output: [ now ], stream key: [] }
Fragment 24789 (Actor 117666,117665)
StreamProject { exprs: [party_involvements_dm.party_id, party_involvements_dm.customer_relationship_id, party_involvements_dm.entity_id, party_involvements_dm.effective_to, party_involvements_dm.id] }
├── output: [ party_involvements_dm.party_id, party_involvements_dm.customer_relationship_id, party_involvements_dm.entity_id, party_involvements_dm.effective_to, party_involvements_dm.id ]
├── stream key: [ party_involvements_dm.id ]
└── StreamDynamicFilter { predicate: ($expr1 <= now), output: [party_involvements_dm.party_id, party_involvements_dm.customer_relationship_id, party_involvements_dm.entity_id, party_involvements_dm.effective_to, $expr1, party_involvements_dm.id], cleaned_by_watermark: true }
├── output: [ party_involvements_dm.party_id, party_involvements_dm.customer_relationship_id, party_involvements_dm.entity_id, party_involvements_dm.effective_to, $expr1, party_involvements_dm.id ]
├── stream key: [ party_involvements_dm.id ]
├── StreamProject { exprs: [party_involvements_dm.party_id, party_involvements_dm.customer_relationship_id, party_involvements_dm.entity_id, party_involvements_dm.effective_to, AtTimeZone(party_involvements_dm.effective_from::Timestamp, 'UTC':Varchar) as $expr1, party_involvements_dm.id] }
│ ├── output: [ party_involvements_dm.party_id, party_involvements_dm.customer_relationship_id, party_involvements_dm.entity_id, party_involvements_dm.effective_to, $expr1, party_involvements_dm.id ]
│ ├── stream key: [ party_involvements_dm.id ]
│ └── StreamFilter { predicate: (IsNotTrue(IsNull(party_involvements_dm.effective_to)) OR IsNull(party_involvements_dm.effective_to)) AND (party_involvements_dm.entity_type = 'PORTFOLIO':Varchar) AND (party_involvements_dm.involvement_type = 'PORTFOLIO_HOLDER':Varchar) AND (party_involvements_dm.status = 'ACTIVE':Varchar) AND IsNull(party_involvements_dm.disabled_at) }
│ ├── output:
│ │ ┌── party_involvements_dm.party_id
│ │ ├── party_involvements_dm.customer_relationship_id
│ │ ├── party_involvements_dm.entity_id
│ │ ├── party_involvements_dm.effective_from
│ │ ├── party_involvements_dm.effective_to
│ │ ├── party_involvements_dm.id
│ │ ├── party_involvements_dm.involvement_type
│ │ ├── party_involvements_dm.entity_type
│ │ ├── party_involvements_dm.status
│ │ └── party_involvements_dm.disabled_at
│ ├── stream key: [ party_involvements_dm.id ]
│ └── StreamTableScan { table: party_involvements_dm, columns: [party_id, customer_relationship_id, entity_id, effective_from, effective_to, id, involvement_type, entity_type, status, disabled_at] }
│ ├── output:
│ │ ┌── party_involvements_dm.party_id
│ │ ├── party_involvements_dm.customer_relationship_id
│ │ ├── party_involvements_dm.entity_id
│ │ ├── party_involvements_dm.effective_from
│ │ ├── party_involvements_dm.effective_to
│ │ ├── party_involvements_dm.id
│ │ ├── party_involvements_dm.involvement_type
│ │ ├── party_involvements_dm.entity_type
│ │ ├── party_involvements_dm.status
│ │ └── party_involvements_dm.disabled_at
│ ├── stream key: [ party_involvements_dm.id ]
│ ├── Upstream { output: [ party_id, customer_relationship_id, entity_id, effective_from, effective_to, id, involvement_type, entity_type, status, disabled_at ], stream key: [] }
│ └── BatchPlanNode { output: [ party_id, customer_relationship_id, entity_id, effective_from, effective_to, id, involvement_type, entity_type, status, disabled_at ], stream key: [] }
└── MergeExecutor { output: [ now ], stream key: [] }
Fragment 24790 (Actor 117661)
StreamNow { output: [ now ], stream key: [] }
Fragment 24791 (Actor 117662)
StreamNow { output: [ now ], stream key: [] }
Fragment 24792 (Actor 117664,117663)
StreamProject { exprs: [party_involvements_dm.party_id, party_involvements_dm.customer_relationship_id, party_involvements_dm.entity_id, party_involvements_dm.id, 1:Int32] }
├── output: [ party_involvements_dm.party_id, party_involvements_dm.customer_relationship_id, party_involvements_dm.entity_id, party_involvements_dm.id, 1:Int32 ]
├── stream key: [ party_involvements_dm.id ]
└── StreamFilter { predicate: IsNull(party_involvements_dm.effective_to) } { output: [ party_involvements_dm.party_id, party_involvements_dm.customer_relationship_id, party_involvements_dm.entity_id, party_involvements_dm.effective_to, party_involvements_dm.id ], stream key: [ party_involvements_dm.id ] }
└── MergeExecutor { output: [ party_involvements_dm.party_id, party_involvements_dm.customer_relationship_id, party_involvements_dm.entity_id, party_involvements_dm.effective_to, party_involvements_dm.id ], stream key: [ party_involvements_dm.id ] }
Fragment 24793 (Actor 117670,117669)
StreamProject { exprs: [customer_relationships.id] } { output: [ customer_relationships.id ], stream key: [ customer_relationships.id ] }
└── StreamFilter { predicate: (customer_relationships.type = 'CUSTOMER':Varchar) AND (customer_relationships.status = 'ACTIVE':Varchar) AND IsNull(customer_relationships.disabled_at) } { output: [ customer_relationships.id, customer_relationships.type, customer_relationships.status, customer_relationships.disabled_at ], stream key: [ customer_relationships.id ] }
└── StreamTableScan { table: customer_relationships, columns: [id, type, status, disabled_at] } { output: [ customer_relationships.id, customer_relationships.type, customer_relationships.status, customer_relationships.disabled_at ], stream key: [ customer_relationships.id ] }
├── Upstream { output: [ id, type, status, disabled_at ], stream key: [] }
└── BatchPlanNode { output: [ id, type, status, disabled_at ], stream key: [] }