The scan node currently assigned "unordered" to its output. This is the correct ordering when the scan is done in parallel and there is no attempt at sequencing the output.
However, the scanner is capable of sequencing its output. When this is done we should assign the implicit ordering.
In addition, users should be able to assert that their data is ordered according to some ordering. For example, if a user knows their data is ordered on disk by column "x" then they should be able to assert that in the scan options. The scan node should verify this as it is scanning and report an error if it encounters unsorted data.
This later task (asserting an ordering) could also be implemented in a follow-up task if that makes things easier (there's a bit of complexity associated with verifying data is ordered as the user states).
Describe the enhancement requested
The scan node currently assigned "unordered" to its output. This is the correct ordering when the scan is done in parallel and there is no attempt at sequencing the output.
However, the scanner is capable of sequencing its output. When this is done we should assign the implicit ordering.
In addition, users should be able to assert that their data is ordered according to some ordering. For example, if a user knows their data is ordered on disk by column "x" then they should be able to assert that in the scan options. The scan node should verify this as it is scanning and report an error if it encounters unsorted data.
This later task (asserting an ordering) could also be implemented in a follow-up task if that makes things easier (there's a bit of complexity associated with verifying data is ordered as the user states).
Component(s)
C++