@@ -40,20 +40,19 @@ public void mergeSMGetElements(final List<SMGetElement<T>> eachResult,
4040
4141 private void mergeSMGetElements (final List <SMGetElement <T >> eachResult ) {
4242 if (mergedResult .isEmpty ()) {
43- // merged result is empty, add all.
4443 mergedResult .addAll (eachResult );
4544
45+ // remove elements that exceed the count
4646 while (mergedResult .size () > count ) {
4747 mergedResult .remove (count );
4848 }
4949 return ;
5050 }
5151
5252 // do sort merge
53- boolean doInsert ; // Is current eachResult could be inserted?
5453 int comp , pos = 0 ;
5554 for (SMGetElement <T > result : eachResult ) {
56- doInsert = true ;
55+ boolean doInsert = true ;
5756 for (; pos < mergedResult .size (); pos ++) {
5857 comp = result .compareBkeyTo (mergedResult .get (pos ));
5958 if ((reverse ) ? (comp > 0 ) : (comp < 0 )) {
@@ -81,13 +80,9 @@ private void mergeSMGetElements(final List<SMGetElement<T>> eachResult) {
8180 continue ;
8281 }
8382 if (pos >= count ) {
84- // At this point, following conditions are met.
85- // - mergedResult.size() == totalResultElementCount &&
86- // - The current <bkey, key> of eachResult is
87- // behind of the last <bkey, key> of mergedResult.
88- // Then, all the next <bkey, key> elements of eachResult are
89- // definitely behind of the last <bkey, bkey> of mergedResult.
90- // So, stop the current sort-merge.
83+ // The next element of eachResult must be positioned behind
84+ // the elements of the mergedResult whose size is count.
85+ // So, stop the current sort-merge task.
9186 break ;
9287 }
9388 mergedResult .add (pos , result );
@@ -138,13 +133,11 @@ public void makeResultOperationStatus() {
138133 }
139134
140135 final OperationStatus status ;
141-
142136 if (!unique && hasDuplicatedBKeyResult ()) {
143137 status = new OperationStatus (true , "DUPLICATED" );
144138 } else {
145139 status = new OperationStatus (true , "END" );
146140 }
147-
148141 resultOperationStatus = new CollectionOperationStatus (status );
149142 }
150143}
0 commit comments