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
{{ message }}
Repository navigation
Commit b017161
Browse filesBrowse the repository at this point in the historyBrowse files
fix(managed): raise when a succeeded run saved no result
A run succeeds with no result id when its rows came back inline but the
result could not be saved for later retrieval. `fetch_table` answered
`None` for that, `fetch_table_rows` turns `None` into `[]`, and `[]` is
also the answer both give for a table that is not synced -- so the two
states were indistinguishable to a caller.
A read-modify-write load would therefore read no existing rows and write
only its new batch, dropping every row already in the table. Silent data
loss is the worst outcome on offer, and raising costs nothing if the
state never occurs. Terminal rather than transient: re-running the query
cannot save a result that was already discarded. The run's
`warning_message` goes into the error, since it is the only thing that
explains why.
The test this replaces asserted the old behaviour -- it pinned
`fetch_table` returning `None` for exactly this case, which committed the
data-loss path to the suite rather than catching it.
0 commit comments