You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The document will be returned in the selection although it's out of selection
Actual behavior
The document should not be returned
Steps to reproduce
Create an index
In a transaction create a document in this index
iterateEntriesBetween so that the document will be out of the range. If ascending, it should be before the document, if descending it should be after the document
The problem happens in PureTxBetweenIndexForwardCursor and PureTxBetweenIndexBackwardCursor.
For PureTxBetweenIndexForwardCursor, lastKey will be null and firstKey after the toKey parameter. ODefaultComparator.INSTANCE.compare(nextKey, lastKey) > 0 will return 1 after this but the first item will be still returned.
For PureTxBetweenIndexBackwardCursor, it's even worse, as ODefaultComparator.INSTANCE.compare(nextKey, firstKey) < 0 return 1 and it will return all items from the transaction.
I think it's a critical problem.
The text was updated successfully, but these errors were encountered:
OrientDB Version: 2.2.30
Java Version: 1.8
OS: OS X
Expected behavior
The document will be returned in the selection although it's out of selection
Actual behavior
The document should not be returned
Steps to reproduce
Create an index
In a transaction create a document in this index
iterateEntriesBetween so that the document will be out of the range. If ascending, it should be before the document, if descending it should be after the document
The problem happens in PureTxBetweenIndexForwardCursor and PureTxBetweenIndexBackwardCursor.
For PureTxBetweenIndexForwardCursor, lastKey will be null and firstKey after the toKey parameter. ODefaultComparator.INSTANCE.compare(nextKey, lastKey) > 0 will return 1 after this but the first item will be still returned.
For PureTxBetweenIndexBackwardCursor, it's even worse, as ODefaultComparator.INSTANCE.compare(nextKey, firstKey) < 0 return 1 and it will return all items from the transaction.
I think it's a critical problem.
The text was updated successfully, but these errors were encountered: