diff --git a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/state/TxState.java b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/state/TxState.java index 83f1441ccb6d3..859511b575714 100644 --- a/community/kernel/src/main/java/org/neo4j/kernel/impl/api/state/TxState.java +++ b/community/kernel/src/main/java/org/neo4j/kernel/impl/api/state/TxState.java @@ -1052,17 +1052,7 @@ public PrimitiveLongReadableDiffSets indexUpdatesForRangeSeekByNumber( IndexDesc selectedIncludeUpper = includeUpper; } - PrimitiveLongDiffSets diffs = new PrimitiveLongDiffSets(); - - Collection inRange = - sortedUpdates.subMap( selectedLower, selectedIncludeLower, - selectedUpper, selectedIncludeUpper ).values(); - for ( PrimitiveLongDiffSets diffForSpecificValue : inRange ) - { - diffs.addAll( diffForSpecificValue.getAdded().iterator() ); - diffs.removeAll( diffForSpecificValue.getRemoved().iterator() ); - } - return diffs; + return indexUpdatesForRangeSeek( sortedUpdates, selectedLower, selectedIncludeLower, selectedUpper, selectedIncludeUpper ); } @Override @@ -1103,31 +1093,7 @@ public PrimitiveLongReadableDiffSets indexUpdatesForRangeSeekByGeometry( IndexDe selectedIncludeUpper = includeUpper; } -// TODO this is the old way, the new one doesn't use withinRange -// DiffSets diffs = new DiffSets<>(); -// -// Collection>> inRange = -// sortedUpdates.subMap( selectedLower, selectedIncludeLower, -// selectedUpper, selectedIncludeUpper ).entrySet(); -// for ( Map.Entry> entry : inRange ) -// { -// if(((PointValue)entry.getKey().valueAt( 0 )).withinRange(lower, includeLower, upper, includeUpper)){ -// DiffSets diffForSpecificValue = entry.getValue(); -// diffs.addAll( diffForSpecificValue.getAdded().iterator() ); -// diffs.removeAll( diffForSpecificValue.getRemoved().iterator() ); -// } -// } - PrimitiveLongDiffSets diffs = new PrimitiveLongDiffSets(); - - Collection inRange = - sortedUpdates.subMap( selectedLower, selectedIncludeLower, - selectedUpper, selectedIncludeUpper ).values(); - for ( PrimitiveLongDiffSets diffForSpecificValue : inRange ) - { - diffs.addAll( diffForSpecificValue.getAdded().iterator() ); - diffs.removeAll( diffForSpecificValue.getRemoved().iterator() ); - } - return diffs; + return indexUpdatesForRangeSeek( sortedUpdates, selectedLower, selectedIncludeLower, selectedUpper, selectedIncludeUpper ); } @Override @@ -1169,10 +1135,15 @@ public PrimitiveLongReadableDiffSets indexUpdatesForRangeSeekByString( IndexDesc selectedIncludeUpper = includeUpper; } + return indexUpdatesForRangeSeek( sortedUpdates, selectedLower, selectedIncludeLower, selectedUpper, selectedIncludeUpper ); + } + + private PrimitiveLongReadableDiffSets indexUpdatesForRangeSeek( TreeMap sortedUpdates, ValueTuple lower, + boolean includeLower, ValueTuple upper, boolean includeUpper ) + { PrimitiveLongDiffSets diffs = new PrimitiveLongDiffSets(); - Collection inRange = sortedUpdates.subMap( selectedLower, selectedIncludeLower, - selectedUpper, selectedIncludeUpper ) - .values(); + + Collection inRange = sortedUpdates.subMap( lower, includeLower, upper, includeUpper ).values(); for ( PrimitiveLongDiffSets diffForSpecificValue : inRange ) { diffs.addAll( diffForSpecificValue.getAdded().iterator() );