InternalWorkingMemory wm,
LeftTupleSets srcLeftTuples,
LeftTupleSets trgLeftTuples,
LeftTupleSets stagedLeftTuples) {
RightTupleSets srcRightTuples = bm.getStagedRightTuples();
if (srcRightTuples.getDeleteFirst() != null) {
doRightDeletes(joinNode, bm, wm, srcRightTuples, trgLeftTuples, stagedLeftTuples);
}
if (srcLeftTuples.getDeleteFirst() != null) {
doLeftDeletes(joinNode, bm, wm, srcLeftTuples, trgLeftTuples, stagedLeftTuples);
}
if (srcLeftTuples.getUpdateFirst() != null || srcRightTuples.getUpdateFirst() != null) {
dpUpdatesReorderLeftMemory(bm, wm,
srcRightTuples, srcLeftTuples);
dpUpdatesReorderRightMemory(bm, wm,
srcRightTuples, srcLeftTuples);
}
if (srcRightTuples.getUpdateFirst() != null) {
doRightUpdates(joinNode, sink, bm, wm, srcRightTuples, trgLeftTuples, stagedLeftTuples);
}
if (srcLeftTuples.getUpdateFirst() != null) {
doLeftUpdates(joinNode, sink, bm, wm, srcLeftTuples, trgLeftTuples, stagedLeftTuples);
}
if (srcRightTuples.getInsertFirst() != null) {
doRightInserts(joinNode, sink, bm, wm, srcRightTuples, trgLeftTuples);
}
if (srcLeftTuples.getInsertFirst() != null) {
doLeftInserts(joinNode, sink, bm, wm, srcLeftTuples, trgLeftTuples);
}
srcRightTuples.resetAll();
srcLeftTuples.resetAll();
}