Replies: 4 comments
-
marked this issue as related to #51 |
Beta Was this translation helpful? Give feedback.
0 replies
-
marked this issue as related to #83 |
Beta Was this translation helpful? Give feedback.
0 replies
-
removed the relation with #51 |
Beta Was this translation helpful? Give feedback.
0 replies
-
marked this issue as related to #54 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
This idea came from a discussion in #54: https://hpcgitlab.hpc.inl.gov/experiment_analysis/mcnpy/-/issues/54#note_480927
In relation database theory (aka SQL databases, but don't tell the mathmeticians), there is a concept called "ACID":
I think the last three doesn't really matter when you are talking about a single user scenario. However, the concept of atomicity is interesting. This is usually accomplished through transactions where everything goes through or nothing does.
Generally this is handled by the following workflow:
For MontePy I think this could look like:
Realistically it should be implemented such that the following works:
and the roll back and commits are silent.
How to implement this could be a lot harder. Simplest way would be to just do a deepcopy when
start_transaction()
is called. Whencommit()
is called that copy is discarded, but whenroll_back
is called that copy becomes the problem.To avoid performance issues I think #83 needs to be implemented first.
Beta Was this translation helpful? Give feedback.
All reactions