spillHashMapBatch(batch, (VectorMapJoinHashTableResult[]) hashMapResults, spills, spillHashMapResultIndices, spillCount); int nonSpillCount = subtractFromInputSelected( inputSelectedInUse, inputLogicalSize, spills, spillCount, nonSpills); " nonSpills " + intArrayToRangesString(nonSpills, nonSpillCount)); doValueExpr(batch, nonSpills, nonSpillCount); noMatchCount = subtract(nonSpills, nonSpillCount, allMatchs, allMatchCount, noMatchs); " noMatchs " + intArrayToRangesString(noMatchs, noMatchCount)); doValueExprOnInputSelected(batch, inputSelectedInUse, inputLogicalSize); noMatchCount = subtractFromInputSelected( inputSelectedInUse, inputLogicalSize, allMatchs, allMatchCount, noMatchs); " noMatchs " + intArrayToRangesString(noMatchs, noMatchCount)); numSel = generateHashMapResultSingleValue( batch, hashMapResult, allMatchs, allMatchesIndex, duplicateCount, numSel); } else { generateHashMapResultMultiValue( batch, hashMapResult, allMatchs, allMatchesIndex, duplicateCount); " batch.selected " + intArrayToRangesString(batch.selected, batch.size));
doValueExprOnInputSelected(batch, inputSelectedInUse, inputLogicalSize); int noMatchCount = subtractFromInputSelected( inputSelectedInUse, inputLogicalSize, batch.selected, batch.size, noMatchs); generateOuterNulls(batch, noMatchs, noMatchCount); generateHashMapResultRepeatedAll(batch, hashMapResult); int mergeCount = sortMerge( noMatchs, noMatchCount, batch.selected, batch.size, merged); generateHashMapResultRepeatedAll(batch, hashMapResult); spillBatchRepeated(batch, (VectorMapJoinHashTableResult) hashMapResult); int noMatchCount = subtractFromInputSelected( inputSelectedInUse, inputLogicalSize, batch.selected, batch.size, noMatchs); batch.selectedInUse = true; generateOuterNullsRepeatedAll(batch); } else { batch.size = 0; generateOuterNullsRepeatedAll(batch); break;
spillHashMapBatch(batch, (VectorMapJoinHashTableResult[]) hashMapResults, spills, spillHashMapResultIndices, spillCount); int nonSpillCount = subtractFromInputSelected( inputSelectedInUse, inputLogicalSize, spills, spillCount, nonSpills); " nonSpills " + intArrayToRangesString(nonSpills, nonSpillCount)); doValueExpr(batch, nonSpills, nonSpillCount); noMatchCount = subtract(nonSpills, nonSpillCount, allMatchs, allMatchCount, noMatchs); " noMatchs " + intArrayToRangesString(noMatchs, noMatchCount)); doValueExprOnInputSelected(batch, inputSelectedInUse, inputLogicalSize); noMatchCount = subtractFromInputSelected( inputSelectedInUse, inputLogicalSize, allMatchs, allMatchCount, noMatchs); " noMatchs " + intArrayToRangesString(noMatchs, noMatchCount)); numSel = generateHashMapResultSingleValue( batch, hashMapResult, allMatchs, allMatchesIndex, duplicateCount, numSel); } else { generateHashMapResultMultiValue( batch, hashMapResult, allMatchs, allMatchesIndex, duplicateCount); " batch.selected " + intArrayToRangesString(batch.selected, batch.size));
doValueExprOnInputSelected(batch, inputSelectedInUse, inputLogicalSize); int noMatchCount = subtractFromInputSelected( inputSelectedInUse, inputLogicalSize, batch.selected, batch.size, noMatchs); generateOuterNulls(batch, noMatchs, noMatchCount); generateHashMapResultRepeatedAll(batch, hashMapResult); int mergeCount = sortMerge( noMatchs, noMatchCount, batch.selected, batch.size, merged); generateHashMapResultRepeatedAll(batch, hashMapResult); spillBatchRepeated(batch, (VectorMapJoinHashTableResult) hashMapResult); int noMatchCount = subtractFromInputSelected( inputSelectedInUse, inputLogicalSize, batch.selected, batch.size, noMatchs); batch.selectedInUse = true; generateOuterNullsRepeatedAll(batch); } else { batch.size = 0; generateOuterNullsRepeatedAll(batch); break;
spillHashMapBatch(batch, (VectorMapJoinHashTableResult[]) hashMapResults, spills, spillHashMapResultIndices, spillCount); int nonSpillCount = subtractFromInputSelected( inputSelectedInUse, inputLogicalSize, spills, spillCount, nonSpills); " nonSpills " + intArrayToRangesString(nonSpills, nonSpillCount)); doValueExpr(batch, nonSpills, nonSpillCount); noMatchCount = subtract(nonSpills, nonSpillCount, allMatchs, allMatchCount, noMatchs); " noMatchs " + intArrayToRangesString(noMatchs, noMatchCount)); doValueExprOnInputSelected(batch, inputSelectedInUse, inputLogicalSize); noMatchCount = subtractFromInputSelected( inputSelectedInUse, inputLogicalSize, allMatchs, allMatchCount, noMatchs); " noMatchs " + intArrayToRangesString(noMatchs, noMatchCount)); numSel = generateHashMapResultSingleValue( batch, hashMapResult, allMatchs, allMatchesIndex, duplicateCount, numSel); } else { generateHashMapResultMultiValue( batch, hashMapResult, allMatchs, allMatchesIndex, duplicateCount); " batch.selected " + intArrayToRangesString(batch.selected, batch.size));
doValueExprOnInputSelected(batch, inputSelectedInUse, inputLogicalSize); int noMatchCount = subtractFromInputSelected( inputSelectedInUse, inputLogicalSize, batch.selected, batch.size, noMatchs); generateOuterNulls(batch, noMatchs, noMatchCount); generateHashMapResultRepeatedAll(batch, hashMapResult); int mergeCount = sortMerge( noMatchs, noMatchCount, batch.selected, batch.size, merged); generateHashMapResultRepeatedAll(batch, hashMapResult); spillBatchRepeated(batch, (VectorMapJoinHashTableResult) hashMapResult); int noMatchCount = subtractFromInputSelected( inputSelectedInUse, inputLogicalSize, batch.selected, batch.size, noMatchs); batch.selectedInUse = true; generateOuterNullsRepeatedAll(batch); } else { batch.size = 0; generateOuterNullsRepeatedAll(batch); break;