I have a number of actions such as AddRow / SetColVal that run in succession (3-4 tables usually) to create relations among various tables. It has never failed in my months of testing.
But is their a way for some operations to succeed but others fail do to system failure, etc leaving relationships “hanging”? This was brought up by an engineer I was talking to and figured I would ask this knowledge-base.
Normally when processes are writing to the database, programmers will wrap the entire thing in a “transaction”, so that if one part of the transaction fails, the process can be “rolled back”, and none of the actions will occur.
This is more desirable than the scenario you mention where only part of the changes/additions will happen. That is because in custom actions, one part of the change often relies on another part of the change being in place for everything to function as desired.
That being said, only Glide can answer the question as to whether their “Custom Actions” are wrapped in transactions. My guess would be ‘Yes, of course!’