You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
An OrElseCursor is built out of an "inner" cursor and and an "else" cursor. If the inner cursor is non-empty, it returns values from the inner cursor; otherwise, it returns the values from the else cursor.
Currently, the OrElseCursor uses pass-through style continuation handling. However, this loses information (specifically: which branch the cursor is using). As a result, if the cursor chooses the else branch, there is no way to continue the cursor's operation.
To resolve this, we probably need to give OrElseCursor a structured protobuf continuation, like FlatMapPipelinedCursor.
The text was updated successfully, but these errors were encountered:
…ations.
Use a new structured continuation object and protobuf serialization to
record the complete state of the OrElseCursor, including which branch
was chosen. Rewrite OrElseCursor's logic in a simpler state-machine
style, which makes it easy to resume the cursor before it has made a
decision about which branch to take.
To avoid problems like we saw with the FlatMapPipelinedCursor's
continuations, deprecate the RecordCursor.orElse() fluent method and
replace it with a static method that interprets the continuation.
Because this changes the continuation format, this is a breaking change.
An
OrElseCursor
is built out of an "inner" cursor and and an "else" cursor. If the inner cursor is non-empty, it returns values from the inner cursor; otherwise, it returns the values from the else cursor.Currently, the
OrElseCursor
uses pass-through style continuation handling. However, this loses information (specifically: which branch the cursor is using). As a result, if the cursor chooses the else branch, there is no way to continue the cursor's operation.To resolve this, we probably need to give
OrElseCursor
a structured protobuf continuation, likeFlatMapPipelinedCursor
.The text was updated successfully, but these errors were encountered: