This repository was archived by the owner on Jul 19, 2023. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +14
-4
lines changed
Expand file tree Collapse file tree 1 file changed +14
-4
lines changed Original file line number Diff line number Diff line change @@ -432,20 +432,30 @@ func (bj *BinaryJoinIterator) Next() bool {
432432 }
433433 resRight := bj .right .At ()
434434
435- if cmp := CompareRowNumbers (bj .definitionLevel , resLeft .RowNumber , resRight .RowNumber ); cmp == 0 {
436- // we have a found an element
435+ makeResult := func () {
437436 bj .res = iteratorResultPoolGet ()
438437 bj .res .RowNumber = resLeft .RowNumber
439438 bj .res .Append (resLeft )
440439 bj .res .Append (resRight )
441- // columnIteratorResultPoolPut(resLeft)
442- // columnIteratorResultPoolPut(resRight)
440+ iteratorResultPoolPut (resLeft )
441+ iteratorResultPoolPut (resRight )
442+ }
443+
444+ if cmp := CompareRowNumbers (bj .definitionLevel , resLeft .RowNumber , resRight .RowNumber ); cmp == 0 {
445+ // we have a found an element
446+ makeResult ()
443447 return true
444448 } else if cmp < 0 {
445449 if ! bj .left .Seek (RowNumberWithDefinitionLevel {resRight .RowNumber , bj .definitionLevel }) {
446450 bj .err = bj .left .Err ()
447451 return false
448452 }
453+ resLeft = bj .left .At ()
454+
455+ if cmp := CompareRowNumbers (bj .definitionLevel , resLeft .RowNumber , resRight .RowNumber ); cmp == 0 {
456+ makeResult ()
457+ return true
458+ }
449459
450460 } else {
451461 // the right value can't be smaller than the left one because we seeked beyond it
You can’t perform that action at this time.
0 commit comments