Azure / Azure/elastic-db-tools
Return quickly from ExecuteReader and stream child readers back
- Dominant language
- C#
- Stars
- 147
- Forks
- 108
- PR merge metrics
- No merged PRs in 30d
Description
Currently MultiShardCommand.ExecuteReader waits until all child readers are competed. We can optimize by returning more quickly:
PartialResults: return from ExecuteReader when the first reader is received, or throw if all readers return an exception
CompleteResults: need to consider this further, but the simplest option is to return from ExecuteReader when the first reader is received, or throw when the first exception is received (whichever happens first)
Contributor guide
No contributing guide indexed for this repository
Research direction
Start at MultiShardCommand.ExecuteReader and trace how child readers and exceptions are collected for PartialResults and CompleteResults. Compare the current wait-for-all behavior with the requested first-reader and exception paths. Done means the return and throw timing is defined and implemented for both result modes, with coverage for the specified reader and exception cases.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100