Fix sqlite update return and order by type inference
Track empty/non-empty/unknown-emptiness of cursors as part of the state. That enables Rewind/Last operations to filter which branch path to take (instead of always assuming both paths are potentially valid). Also updates Move/Copy to handle the use use of those opcodes against a range of registers.
Fixes #1923 Fixes #1979
This should fix #1923, but I haven't yet checked against the original reproduction steps. Left as draft for now, as there are probably additional 'branching operations' which could select branch paths based on emptiness too.
Hopefully a rebase will fix the CI failures.
This would close #1923 right?
Unfortunately any change to null inference would be a breaking change so this will have to wait for 0.7.0. Fortunately we don't plan for the 0.6.x release cycle to be as long as 0.5.x, though I don't want to give a concrete timeline since things always change.
Yep, it fixes #1923 (which impacts the calculated nullability).
PR target changed to the 0.7 development branch.