Fix paging address with selected fields #601
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Fix a bug when requesting a chain to the DB with selected fields.
DB return transaction chain paginated by size of 10, if the chain has more than 10 transactions, DB return the paging address which is the transaction address of the last transaction read.
The problem is if we request specific fields without address, the transaction read have a nil address and so the paging address returned is nil. This beahavior leads to an infinite loop in some case.
Type of change
How Has This Been Tested?
Create a transaction chain with more than 10 transactions, request the chain with some specific fields without address (
TransactionChain.get(address, [data: [:content], validation_stamp: [:timestamp]])
) the return is{chain, true, paging_address}
with pagin address != nil
Checklist: