RX0103

Domain: Execution

Error message

%s keeps no past to travel to: %s

In the message, %s marks a value that the engine fills in when it raises the error.

The story

You tried to look at the past of something that has no past. Let me explain the idea. In rush, you can read a holder as it was at a given moment, using asof and a timestamp. It is a kind of time travel. But time travel needs a record, and records are kept by places that store versions. Sulfur is such a place: every write there is kept as a version, without you asking. Now, a holder in ram, declared without a where, lives in the native heap and dies with the process. It keeps only its present. There is no stored past to visit. The engine could have answered with the current value, pretending it was the past, but that would be dressing the present up in an old costume, and it could mislead you badly. So it refuses, by name. The message gives the holder and the fix: declare the holder with where sulfur. From then on, every version is kept, and you can travel back to any stamp. If you want history, choose a home that remembers.

Text from the Rush engine's error catalogue.