Fully clear queued updates before adding a new computed column #961
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.
When a computed column is added, a new
Table
is created with the computed column, and Perspective internally invalidates and cleans up the oldTable
.However, if updates were queued on the old
Table
and then called for process, the state between the oldTable
and the newTable
(both of which have the computed column) may fall out of sync and cause errors at random.This PR adds a call to
call_process
before creating the computed column, ensuring that all queued updates are processed before the oldTable
is invalidated.It also reverses a change on the
streaming.html
example, by reducing the tick rate to something approaching sanity and adding adate
column for full type coverage.